From dc0d4a7907f3affdbc116288cac24ad4ba05f319 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期五, 02 六月 2023 16:35:11 +0800 Subject: [PATCH] 1.初始化代码 --- src/main/java/com/lf/server/mapper/sys/BlacklistMapper.java | 105 src/main/resources/mapper/all/BaseQueryMapper.xml | 93 src/main/java/com/lf/server/entity/bd/Dlg25wbouacEntity.java | 65 src/main/java/com/lf/server/entity/bs/Dlghydlk2000Entity.java | 365 src/main/java/com/lf/server/service/sys/RoleResService.java | 69 src/main/java/com/lf/server/entity/bs/Dlgvegal5000Entity.java | 125 src/main/java/com/lf/server/mapper/md/MdupreventionandcontroldiagramofconstructionroadwayMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgctlan1000Entity.java | 185 src/main/java/com/lf/server/controller/sys/ArgsController.java | 263 src/main/java/com/lf/server/mapper/bs/Dlgresap5000Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/Bhy20wl72Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgboupt1000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgtrapt5000Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Brg20wd01jEntity.java | 55 src/main/java/com/lf/server/mapper/bs/Dlgteral500Mapper.java | 15 src/main/java/com/lf/server/interceptor/CrosFilter.java | 42 src/main/java/com/lf/server/mapper/md/MdggeologicalhazardsitephotosMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlg5wrfcpMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlg5wrespMapper.java | 15 src/main/java/com/lf/server/entity/bd/Bhy20ws15Entity.java | 85 src/main/java/com/lf/server/mapper/bd/Brg20wd07bMapper.java | 15 src/main/java/com/lf/server/entity/md/MdudynamicjointsurveysheetEntity.java | 195 src/main/java/com/lf/server/entity/md/MduspecialdesignreportEntity.java | 205 src/main/java/com/lf/server/mapper/bs/ThcountypointMapper.java | 15 src/main/resources/mybatis.xml | 37 src/main/java/com/lf/server/entity/bs/Dlg5wpiplEntity.java | 95 src/main/java/com/lf/server/mapper/bs/BsprojectMapper.java | 15 src/main/java/com/lf/server/entity/bd/Bhy20ws25Entity.java | 135 src/main/java/com/lf/server/entity/bs/Dlgteran5000Entity.java | 185 src/main/java/com/lf/server/entity/bd/Dlg100wbouaEntity.java | 65 src/main/java/com/lf/server/entity/bs/Dlgpipnt1000Entity.java | 125 src/main/resources/mapper/data/DomainMapper.xml | 91 src/main/java/com/lf/server/mapper/bs/Dlg1wlfcpMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgpipan1000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlghydnt500Entity.java | 365 src/main/java/com/lf/server/entity/bd/Brg20wl02hEntity.java | 65 src/main/java/com/lf/server/controller/data/WmtsController.java | 190 src/main/java/com/lf/server/mapper/bs/Dlgterpt2000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgdplpt2000Mapper.java | 15 src/main/java/com/lf/server/mapper/md/MdggeologichazardinformationMapper.java | 15 src/main/java/com/lf/server/entity/other/CheckOutLicense.java | 238 src/main/java/com/lf/server/service/all/ScheduleService.java | 249 src/main/java/com/lf/server/service/sys/ResOpService.java | 70 src/main/java/com/lf/server/entity/bd/Bhy20wd23Entity.java | 65 src/main/java/com/lf/server/entity/bs/Dlg5whydpEntity.java | 115 src/main/java/com/lf/server/mapper/bd/Dlg25wbouapMapper.java | 15 src/main/java/com/lf/server/entity/sys/RoleUserEntity.java | 95 src/main/java/com/lf/server/mapper/data/VerMapper.java | 99 src/main/java/com/lf/server/entity/md/MdcdocumentlistinformationEntity.java | 185 src/main/java/com/lf/server/entity/md/MdupreventiondiagramofsealingplugEntity.java | 235 src/main/java/com/lf/server/entity/bs/Dlg5wboupEntity.java | 65 src/main/resources/mapper/show/ModelMapper.xml | 78 src/main/java/com/lf/server/mapper/bs/Dlgctlal5000Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg100wvegpEntity.java | 45 src/main/java/com/lf/server/mapper/sys/RoleUserMapper.java | 96 src/main/java/com/lf/server/mapper/bd/Brg20wd13sMapper.java | 15 src/main/java/com/lf/server/mapper/md/MdsmeteorologicalinformationMapper.java | 15 src/main/resources/static/js/particles.min.js | 9 src/main/java/com/lf/server/mapper/md/MdcdocumentlistinformationMapper.java | 15 src/main/java/com/lf/server/mapper/md/MdushaftpreventionandcontroldiagramMapper.java | 15 src/main/java/com/lf/server/controller/sys/DepController.java | 207 src/main/java/com/lf/server/mapper/bd/Dlg100wlrrlMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgrespt1000Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg100whydaEntity.java | 85 src/main/java/com/lf/server/mapper/bs/Dlgresnt500Mapper.java | 15 src/main/java/com/lf/server/entity/data/StyleEntity.java | 234 src/main/java/com/lf/server/mapper/bs/Dlgpipal2000Mapper.java | 15 src/main/resources/mapper/data/DirMapper.xml | 108 src/main/java/com/lf/server/mapper/bd/Dlg100wlrdlMapper.java | 15 src/main/java/com/lf/server/mapper/bd/Bhy20ws18Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/Brg20wl05xMapper.java | 15 src/main/java/com/lf/server/mapper/data/StyleMapper.java | 89 src/main/java/com/lf/server/entity/bs/Dlgctlan500Entity.java | 185 src/main/java/com/lf/server/entity/bs/Dlgresap500Entity.java | 125 src/main/java/com/lf/server/mapper/bs/Dlg1whfclMapper.java | 15 src/main/java/com/lf/server/service/all/SysService.java | 25 src/main/java/com/lf/server/entity/bs/Dlgresap2000Entity.java | 125 src/main/java/com/lf/server/mapper/bd/Bhy20ws28Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlghydlk1000Entity.java | 365 src/main/java/com/lf/server/entity/bs/MscatterpointEntity.java | 155 src/main/java/com/lf/server/mapper/bd/Bhy20wt21Mapper.java | 15 src/main/java/com/lf/server/controller/sys/CtrlController.java | 94 src/main/java/com/lf/server/mapper/bd/Dlg100wteraMapper.java | 15 src/main/java/com/lf/server/mapper/bs/MdetactionpipelinepointMapper.java | 15 src/main/java/com/lf/server/mapper/data/PublishMapper.java | 141 src/main/java/com/lf/server/mapper/sys/ResOpMapper.java | 96 src/main/java/com/lf/server/entity/bd/Brg20wd12cEntity.java | 75 src/main/java/com/lf/server/entity/bs/Dlg1whfclEntity.java | 115 src/main/java/com/lf/server/entity/bs/Dlgpiplk5000Entity.java | 165 src/main/java/com/lf/server/entity/md/MduwatersealmonitoringdiagramEntity.java | 255 src/main/java/com/lf/server/service/all/UploadAttachService.java | 512 src/main/java/com/lf/server/mapper/md/MduasbuiltdrawingofundergroundworksMapper.java | 15 src/main/java/com/lf/server/entity/md/MdcprojectorganizationEntity.java | 155 src/main/java/com/lf/server/mapper/bs/Dlgrespt2000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgpipnt500Entity.java | 125 src/main/java/com/lf/server/entity/data/PublishEntity.java | 235 src/main/java/com/lf/server/entity/bs/Dlghydpt500Entity.java | 225 src/main/java/com/lf/server/entity/md/MdutechnicalsummaryreportEntity.java | 195 src/main/java/com/lf/server/mapper/bd/Dlg25wlrdlMapper.java | 15 src/main/java/com/lf/server/entity/bs/GlandslideEntity.java | 305 src/main/java/com/lf/server/entity/md/MdmtechnicalsummaryreportEntity.java | 225 src/main/java/com/lf/server/entity/bd/Dlg25waanpEntity.java | 75 src/main/java/com/lf/server/mapper/bd/BhydrogeologyattachMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgvegpt2000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgresnt5000Entity.java | 195 src/main/java/com/lf/server/entity/bs/Dlg5wrfcpEntity.java | 115 src/main/java/com/lf/server/mapper/bd/Brg20wd06sMapper.java | 15 src/main/java/com/lf/server/entity/md/MdcprojectwbsEntity.java | 75 src/main/java/com/lf/server/mapper/bs/Dlgpipal1000Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Bhy20wz21Entity.java | 125 src/main/java/com/lf/server/entity/bs/Dlgresan500Entity.java | 185 src/main/java/com/lf/server/service/data/DictService.java | 78 src/main/java/com/lf/server/entity/bs/MequipmentnameplateEntity.java | 175 src/main/java/com/lf/server/service/show/DataLibService.java | 346 src/main/java/com/lf/server/entity/bd/Brg20wd13qEntity.java | 75 src/main/java/com/lf/server/mapper/bs/Dlgresan5000Mapper.java | 15 src/main/java/com/lf/server/service/sys/MenuService.java | 64 src/main/java/com/lf/server/entity/bs/Dlg5wrespEntity.java | 115 src/main/java/com/lf/server/entity/bd/Brg20wd13tEntity.java | 105 src/main/java/com/lf/server/mapper/md/MdupreventionandcontroldiagramofconnectingroadwayMapper.java | 15 src/main/java/com/lf/server/entity/bd/Bhy20wl72Entity.java | 85 src/main/resources/static/images/NewGJXJlogin/1440/code.png | 0 src/main/java/com/lf/server/entity/bs/Dlgpippt500Entity.java | 165 src/main/java/com/lf/server/entity/bs/Dlgterpt1000Entity.java | 175 src/main/java/com/lf/server/entity/bs/Dlgbouan5000Entity.java | 185 src/main/java/com/lf/server/entity/bs/Dlgterlk500Entity.java | 185 src/main/java/com/lf/server/controller/data/ProjectController.java | 220 src/main/java/com/lf/server/entity/bs/Dlgbount5000Entity.java | 135 src/main/java/com/lf/server/entity/bd/Dlg25wbrgaEntity.java | 55 src/main/java/com/lf/server/controller/sys/OperateController.java | 236 src/main/java/com/lf/server/entity/bd/Dlg25wterlEntity.java | 55 src/main/java/com/lf/server/entity/bs/MgroundlineEntity.java | 165 src/main/java/com/lf/server/mapper/bd/Brg20wl06gMapper.java | 15 src/main/java/com/lf/server/controller/data/DataCountController.java | 133 src/main/java/com/lf/server/mapper/bs/Dlgbouan5000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgdplpt1000Entity.java | 205 src/main/java/com/lf/server/entity/bd/Dlg25whydaEntity.java | 65 src/main/java/com/lf/server/config/SwaggerConfig.java | 66 src/main/java/com/lf/server/mapper/bs/Dlgterpt1000Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg25wrfclEntity.java | 55 src/main/java/com/lf/server/entity/bs/Dlgctllk5000Entity.java | 165 src/main/java/com/lf/server/mapper/bd/Bhy20ws25Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgbouan500Entity.java | 185 src/main/java/com/lf/server/entity/bs/Dlg1wlfcpEntity.java | 155 src/main/java/com/lf/server/mapper/bd/Bhy20wd23Mapper.java | 15 src/main/java/com/lf/server/mapper/si/PlpipelinedMapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg100waanpEntity.java | 65 src/main/java/com/lf/server/entity/ctrl/FileInfoEntity.java | 58 src/main/java/com/lf/server/mapper/bd/Dlg25wlrrlMapper.java | 15 src/main/java/com/lf/server/controller/data/LayerController.java | 253 src/main/java/com/lf/server/mapper/bs/Dlgctlan2000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgvegan2000Entity.java | 185 src/main/java/com/lf/server/entity/bs/Dlg1wvegaEntity.java | 65 src/main/java/com/lf/server/mapper/bs/Dlgctlan1000Mapper.java | 15 src/main/java/com/lf/server/helper/LicHelper.java | 105 src/main/java/com/lf/server/entity/bd/Dlg100wrfclEntity.java | 55 src/main/resources/static/css/earth/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUJiZTaR.woff2 | 0 src/main/java/com/lf/server/entity/bd/Bhy20wl69Entity.java | 95 src/main/java/com/lf/server/entity/bs/MhydraulicprotectionattachEntity.java | 95 src/main/java/com/lf/server/entity/bd/BpacmeteorologicalEntity.java | 105 src/main/java/com/lf/server/entity/bs/Dlgdplpt2000Entity.java | 205 src/main/java/com/lf/server/entity/bs/SgeologicaldataEntity.java | 195 src/main/java/com/lf/server/mapper/bs/Dlg5whydpMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgbouan2000Entity.java | 185 src/main/java/com/lf/server/mapper/md/MdudynamicjointsurveysheetMapper.java | 15 src/main/java/com/lf/server/service/data/DomainService.java | 78 src/main/java/com/lf/server/entity/bs/SexplorationpointEntity.java | 215 src/main/java/com/lf/server/mapper/bd/Dlg25wteraMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgvegan500Entity.java | 185 src/main/java/com/lf/server/mapper/md/MdmterrainmodelMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgvegnt5000Entity.java | 195 src/main/java/com/lf/server/mapper/bs/MhydraulicprotectionattachMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlg5wcptlMapper.java | 15 src/main/resources/templates/login.html | 75 src/main/java/com/lf/server/mapper/bs/Dlgvegan5000Mapper.java | 15 src/main/java/com/lf/server/mapper/md/MduspecialdesignreportMapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg100wterlEntity.java | 55 src/main/java/com/lf/server/mapper/bd/Bhy20wl69Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/Bhy20ws21Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgresal5000Entity.java | 125 src/main/resources/static/images/NewGJXJlogin/1920/code.png | 0 src/main/java/com/lf/server/entity/bs/Dlgpipan1000Entity.java | 185 src/main/java/com/lf/server/mapper/bs/Dlg5wcptpMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgvegpt1000Mapper.java | 15 src/main/java/com/lf/server/mapper/show/OneMapMapper.java | 229 src/main/java/com/lf/server/entity/all/BaseEntity.java | 174 src/main/java/com/lf/server/entity/bs/MdetactionpipelinepointEntity.java | 325 src/main/java/com/lf/server/mapper/bs/MvalvehousepointMapper.java | 15 src/main/resources/static/images/login/pwd.png | 0 src/main/java/com/lf/server/service/sys/DownlogService.java | 98 src/main/java/com/lf/server/entity/bs/Dlg5wcptpEntity.java | 95 src/main/java/com/lf/server/controller/show/DataLibController.java | 265 src/main/java/com/lf/server/entity/bs/Dlgctlal1000Entity.java | 125 src/main/java/com/lf/server/mapper/bs/Dlg1wvegaMapper.java | 15 src/main/java/com/lf/server/mapper/md/MdutechnicalsummaryreportMapper.java | 15 src/main/java/com/lf/server/mapper/md/MdminsarMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgctlal2000Entity.java | 125 src/main/resources/mapper/sys/RoleUserMapper.xml | 74 src/main/java/com/lf/server/mapper/bd/Bhy20ws81Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgboupt2000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/MmarkerattachEntity.java | 95 src/main/resources/static/css/bootstrap/bootstrap.min.css | 7 src/main/java/com/lf/server/mapper/md/MdmtechnicalsummaryreportMapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg25wrfcaEntity.java | 45 src/main/java/com/lf/server/mapper/bd/Bhy20ws41Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/Bhy20ws61Mapper.java | 15 src/main/java/com/lf/server/mapper/md/MdsboreholeMapper.java | 15 src/main/java/com/lf/server/service/sys/LoginService.java | 96 src/main/java/com/lf/server/entity/bs/Dlgtraan500Entity.java | 185 src/main/java/com/lf/server/entity/bs/SsurveyinformationEntity.java | 685 src/main/java/com/lf/server/entity/bs/Thglobecountry01Entity.java | 85 src/main/java/com/lf/server/entity/sys/ResEntity.java | 210 src/main/java/com/lf/server/entity/bd/Brg20wd09gEntity.java | 115 src/main/java/com/lf/server/entity/bs/Dlgteran2000Entity.java | 185 src/main/java/com/lf/server/entity/ctrl/NameValueEntity.java | 35 src/main/java/com/lf/server/entity/ctrl/UserUpdateEntity.java | 46 src/main/java/com/lf/server/entity/bs/Dlgrespt2000Entity.java | 225 src/main/java/com/lf/server/entity/md/MdgtypicalgeologicalhazardmanagementcasesEntity.java | 235 src/main/java/com/lf/server/entity/bs/Dlg1wlrrlEntity.java | 85 src/main/resources/static/html/login.html | 79 src/main/resources/static/js/jquery-ui.min.js | 13 src/main/java/com/lf/server/entity/bd/Bhy20wt21Entity.java | 215 src/main/java/com/lf/server/entity/bs/Dlgtraan5000Entity.java | 185 src/main/java/com/lf/server/mapper/bs/ThprovinceareaMapper.java | 15 src/main/java/com/lf/server/controller/show/ComprehensiveController.java | 336 src/main/java/com/lf/server/entity/bd/Bhy20ws18Entity.java | 85 src/main/java/com/lf/server/entity/bd/Bhy20ws28Entity.java | 135 src/main/java/com/lf/server/entity/bd/BpacfrozensoilEntity.java | 105 src/main/java/com/lf/server/mapper/bd/Bhy20wz21Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgpiplk2000Entity.java | 165 src/main/java/com/lf/server/entity/bs/Dlgvegan1000Entity.java | 185 src/main/java/com/lf/server/entity/bs/Dlgctlal5000Entity.java | 125 src/main/java/com/lf/server/entity/bs/Dlgboupt2000Entity.java | 155 src/main/java/com/lf/server/mapper/bd/Dlg25whfclMapper.java | 15 src/main/java/com/lf/server/helper/ZipHelper.java | 149 src/main/java/com/lf/server/mapper/bs/Dlgbount500Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgresal5000Mapper.java | 15 mvnw.cmd | 188 src/main/java/com/lf/server/entity/bs/Dlgvegpt1000Entity.java | 145 src/main/java/com/lf/server/mapper/bs/Dlgtrapt500Mapper.java | 15 src/main/java/com/lf/server/config/WebSocketConfig.java | 21 src/main/java/com/lf/server/entity/ctrl/SdkSecretEntity.java | 43 src/main/java/com/lf/server/mapper/sys/MenuMapper.java | 77 src/main/java/com/lf/server/entity/bd/Dlg25wagnpEntity.java | 95 src/main/java/com/lf/server/mapper/bs/Dlg5wlfclMapper.java | 15 src/main/java/com/lf/server/extend/UpdateBatchMethod.java | 86 src/main/java/com/lf/server/mapper/bs/ThdistrictareaMapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg25wresaEntity.java | 45 src/main/java/com/lf/server/entity/bs/MplanindexfileEntity.java | 205 src/main/java/com/lf/server/mapper/bd/BpacmeteorologicalattachMapper.java | 15 src/main/resources/config/rsa_public_key.txt | 1 src/main/resources/mapper/sys/RoleResMapper.xml | 75 src/main/java/com/lf/server/mapper/bd/Brg20wwtMapper.java | 15 src/main/java/com/lf/server/entity/md/MdssurveydatabaseEntity.java | 185 src/main/java/com/lf/server/entity/md/MdugeologicalsketchmapEntity.java | 195 src/main/java/com/lf/server/mapper/bs/Dlg5whfcaMapper.java | 15 src/main/resources/static/css/earth/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUtiZTaR.woff2 | 0 src/main/java/com/lf/server/entity/si/PlpipelinepointaEntity.java | 205 src/main/java/com/lf/server/mapper/bd/Brg20wd13pMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgpipnt1000Mapper.java | 15 src/main/resources/mapper/sys/DepMapper.xml | 82 src/main/java/com/lf/server/entity/md/MdggeologichazardassessmentdocumentEntity.java | 255 src/main/java/com/lf/server/entity/md/Mducaverngeological3dmodelEntity.java | 285 src/main/java/com/lf/server/mapper/bs/Dlgctllk5000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlg5wterpMapper.java | 15 src/main/resources/static/js/earth/dat.gui.min.js | 94 src/main/java/com/lf/server/helper/Zip4jHelper.java | 155 src/main/java/com/lf/server/entity/bs/Dlgboupt1000Entity.java | 155 src/main/java/com/lf/server/entity/bs/Dlgvegal2000Entity.java | 125 src/main/java/com/lf/server/service/all/CommonsFileuploadService.java | 115 src/main/java/com/lf/server/mapper/all/BaseQueryMapper.java | 111 src/main/java/com/lf/server/entity/bd/Dlg100wcptlEntity.java | 45 src/main/java/com/lf/server/config/PropertiesConfig.java | 54 src/main/java/com/lf/server/entity/bs/Dlgctlal500Entity.java | 125 src/main/java/com/lf/server/mapper/sys/LoginMapper.java | 105 src/main/java/com/lf/server/mapper/bs/Dlg5wrfclMapper.java | 15 src/main/java/com/lf/server/helper/HttpHelper.java | 278 src/main/java/com/lf/server/mapper/bs/Dlgdplpt500Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgteran5000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgtrapt2000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg5whydlEntity.java | 95 src/main/java/com/lf/server/entity/ctrl/SdkDecryptDataEntity.java | 82 src/main/java/com/lf/server/mapper/bs/SresistivityMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgresan1000Entity.java | 185 src/main/java/com/lf/server/entity/bd/Bhy20ws19Entity.java | 85 src/main/java/com/lf/server/mapper/bd/Brg20wl04jMapper.java | 15 src/main/java/com/lf/server/mapper/bs/ThprovincialcapitalMapper.java | 15 src/main/java/com/lf/server/mapper/bs/MsurfacedeformationdataMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgtrapt5000Entity.java | 235 src/main/java/com/lf/server/mapper/bd/Brg20wl03jMapper.java | 15 src/main/java/com/lf/server/entity/bs/SprofileindexfileEntity.java | 205 src/main/java/com/lf/server/mapper/bd/Dlg25wlfcpMapper.java | 15 src/main/resources/mapper/sys/TokenMapper.xml | 94 src/main/java/com/lf/server/mapper/bs/Dlg5wboupMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgresan2000Entity.java | 185 src/main/java/com/lf/server/service/all/RedisService.java | 96 src/main/java/com/lf/server/entity/bs/Dlgdplpt500Entity.java | 205 src/main/java/com/lf/server/entity/bs/Dlghydal1000Entity.java | 125 src/main/java/com/lf/server/entity/bs/SboreholeattachEntity.java | 95 src/main/java/com/lf/server/entity/bs/Dlgternt5000Entity.java | 185 src/main/java/com/lf/server/entity/bs/GunstableslopeEntity.java | 305 src/main/java/com/lf/server/entity/bs/Dlgpipnt2000Entity.java | 125 src/main/java/com/lf/server/mapper/bs/Dlg1wlrdlMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlg5wboulMapper.java | 15 src/main/java/com/lf/server/mapper/bd/Brg20wd05mMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgctlpt500Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgpiplk5000Mapper.java | 15 src/main/java/com/lf/server/extend/InsertBatchMethod.java | 76 src/main/java/com/lf/server/mapper/bs/Dlgtrant500Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/Dlg25wbouacMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgpipan2000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlg5wpiplMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgrespt1000Entity.java | 225 src/main/java/com/lf/server/mapper/bd/Brg20wl01tMapper.java | 15 src/main/resources/static/css/bootstrap/bootstrap-grid.css | 3872 + src/main/java/com/lf/server/entity/bs/Dlgvegan5000Entity.java | 185 src/main/java/com/lf/server/mapper/bd/Brg20wl06dMapper.java | 15 src/main/java/com/lf/server/mapper/bd/Dlg100whfcpMapper.java | 15 src/main/resources/wmts/web.xml | 294 src/main/java/com/lf/server/mapper/bs/Dlgctlan500Mapper.java | 15 src/main/java/com/lf/server/service/all/SignService.java | 69 src/main/java/com/lf/server/entity/bs/ThcountypointEntity.java | 55 src/main/java/com/lf/server/entity/sys/DepEntity.java | 211 src/main/java/com/lf/server/mapper/bd/Dlg100whydaMapper.java | 15 src/main/java/com/lf/server/mapper/sys/MetaDownMapper.java | 96 src/main/java/com/lf/server/controller/sys/UserController.java | 400 src/main/java/com/lf/server/mapper/bs/Dlgrespt5000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlghydal1000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgtrapt2000Entity.java | 235 src/main/java/com/lf/server/mapper/bs/Dlgvegnt500Mapper.java | 15 src/main/java/com/lf/server/entity/md/Mdggeologichazard3dmodelEntity.java | 265 src/main/java/com/lf/server/mapper/bd/BpacmeteorologicalMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgternt5000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/SresistivityEntity.java | 165 src/main/java/com/lf/server/entity/bd/Brg20wwtEntity.java | 55 src/main/java/com/lf/server/helper/AesHelper.java | 129 src/main/java/com/lf/server/mapper/bs/ThdistrictpointMapper.java | 15 src/main/java/com/lf/server/mapper/bs/GhighandsteepslopeMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgboulk500Entity.java | 145 src/main/java/com/lf/server/mapper/bs/Dlgpipnt2000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgvegal1000Entity.java | 125 src/main/java/com/lf/server/mapper/md/MdcprojectorganizationMapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg25wrespEntity.java | 45 src/main/java/com/lf/server/mapper/sys/RoleResMapper.java | 96 src/main/java/com/lf/server/service/sys/UserService.java | 303 src/main/java/com/lf/server/mapper/bs/SsurveyinformationMapper.java | 15 src/main/java/com/lf/server/mapper/bd/Dlg100whfclMapper.java | 15 src/main/java/com/lf/server/mapper/show/PipelineMapper.java | 39 src/main/java/com/lf/server/service/show/ApplyService.java | 276 src/main/java/com/lf/server/entity/bs/UundergroundhydrologicalmonitoringEntity.java | 255 src/main/java/com/lf/server/controller/show/ModelController.java | 221 src/main/java/com/lf/server/entity/bs/Dlgtrapt1000Entity.java | 235 src/main/java/com/lf/server/mapper/bs/Dlg5wpippMapper.java | 15 src/main/java/com/lf/server/entity/all/ResAuthEntity.java | 45 src/main/java/com/lf/server/entity/show/MarkEntity.java | 85 src/main/java/com/lf/server/mapper/bs/Dlghydal2000Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Bhy20ws11Entity.java | 85 src/main/java/com/lf/server/entity/bs/Dlgternt2000Entity.java | 185 src/main/java/com/lf/server/entity/bs/Dlgvegpt2000Entity.java | 145 src/main/java/com/lf/server/mapper/bs/Dlgteran2000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/MmarkerattachMapper.java | 15 src/main/java/com/lf/server/mapper/bs/ThglobecountryMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgresan5000Entity.java | 185 src/main/java/com/lf/server/entity/bs/MpoiEntity.java | 145 src/main/resources/static/js/earth/Stats.js | 143 src/main/java/com/lf/server/entity/show/OneMapEntity.java | 294 src/main/java/com/lf/server/config/InitConfig.java | 51 src/main/java/com/lf/server/mapper/bs/Dlg5wlfcaMapper.java | 15 src/main/java/com/lf/server/mapper/bd/Brg20wd13hMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg1wteraEntity.java | 85 src/main/resources/static/favicon.ico | 0 src/main/java/com/lf/server/mapper/bs/Dlgpipnt5000Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Bhy20ws51Entity.java | 85 src/main/java/com/lf/server/mapper/md/MdmpointcloudMapper.java | 15 src/main/java/com/lf/server/mapper/md/MdmdlgMapper.java | 15 src/main/java/com/lf/server/entity/bd/BgeologichazardEntity.java | 175 src/main/java/com/lf/server/controller/all/BaseController.java | 44 src/main/java/com/lf/server/mapper/bs/Dlgvegal5000Mapper.java | 15 src/main/java/com/lf/server/mapper/si/PlpipelineaMapper.java | 15 src/main/java/com/lf/server/entity/bs/MsurfacedeformationdataEntity.java | 175 src/main/java/com/lf/server/controller/data/DataQueryController.java | 59 src/main/java/com/lf/server/entity/bd/Dlg25wvegpEntity.java | 45 src/main/java/com/lf/server/mapper/bd/Bhy20ws22Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/Brg20wd01bMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgpiplk1000Entity.java | 165 src/main/java/com/lf/server/entity/bd/Bhy20ws42Entity.java | 105 src/main/java/com/lf/server/entity/si/PlpipelineaEntity.java | 235 src/main/java/com/lf/server/mapper/bd/Dlg25whfcpMapper.java | 15 src/main/java/com/lf/server/service/all/BaseUploadService.java | 538 src/main/java/com/lf/server/mapper/bs/Dlgpippt1000Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg25wlrrlEntity.java | 65 src/main/java/com/lf/server/mapper/bs/Dlgresan500Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlghydap2000Mapper.java | 15 src/main/java/com/lf/server/mapper/md/MdcsingleprojectMapper.java | 15 src/main/java/com/lf/server/entity/bs/MmarkerEntity.java | 195 src/main/java/com/lf/server/mapper/all/BasicMapper.java | 55 src/main/java/com/lf/server/entity/bd/Dlg100whfcpEntity.java | 55 src/main/java/com/lf/server/config/WebConfig.java | 110 src/main/java/com/lf/server/mapper/md/Mdggeologichazard3dmodelMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlg1wcptpMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgterpt5000Entity.java | 175 src/main/java/com/lf/server/entity/md/MdmtechnicaldesigndocumentEntity.java | 225 src/main/java/com/lf/server/mapper/bd/BpacregionalgeologyMapper.java | 15 src/main/java/com/lf/server/service/all/BaseQueryService.java | 312 src/main/java/com/lf/server/entity/bd/Dlg100wrfcpEntity.java | 55 src/main/java/com/lf/server/mapper/bs/Dlgpiplk1000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgteral1000Entity.java | 125 src/main/java/com/lf/server/entity/bd/Dlg25wbrglEntity.java | 45 src/main/java/com/lf/server/entity/md/MdsregionalgeologicalinformationEntity.java | 155 src/main/java/com/lf/server/entity/bd/Dlg100wlrdlEntity.java | 85 src/main/java/com/lf/server/entity/bs/Dlgveglk500Entity.java | 135 src/main/java/com/lf/server/mapper/bs/MscatterpointMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgresan1000Mapper.java | 15 src/main/resources/static/images/NewGJXJlogin/1920/2bg.jpg | 0 src/main/java/com/lf/server/entity/bs/Dlgtrant5000Entity.java | 325 src/main/java/com/lf/server/mapper/bs/Dlg5whydaMapper.java | 15 src/main/java/com/lf/server/service/sys/OperateService.java | 75 src/main/resources/static/css/bootstrap/bootstrap-reboot.min.css.map | 1 src/main/resources/mapper/show/PublishMapper.xml | 128 src/main/resources/mapper/sys/MenuAuthMapper.xml | 101 src/main/java/com/lf/server/config/RedisConfig.java | 94 src/main/java/com/lf/server/entity/bd/Dlg100wbrglEntity.java | 45 src/main/java/com/lf/server/mapper/bs/Dlghydal5000Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/Dlg25wbrgpMapper.java | 15 src/main/java/com/lf/server/mapper/bd/BpacfrozensoilMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgdplpt5000Entity.java | 205 src/main/java/com/lf/server/mapper/bs/Dlgbouan1000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg5wrfclEntity.java | 85 src/main/resources/static/js/login.js | 149 src/main/java/com/lf/server/entity/bs/Dlgtraan2000Entity.java | 185 src/main/java/com/lf/server/mapper/bs/MsitepointMapper.java | 15 src/main/java/com/lf/server/mapper/md/Mducaverngeological3dmodelMapper.java | 15 src/main/java/com/lf/server/entity/bd/DlgagnpEntity.java | 85 src/main/java/com/lf/server/entity/sys/ResOpEntity.java | 94 src/main/java/com/lf/server/annotation/SysLog.java | 14 src/main/java/com/lf/server/mapper/bs/Dlgvegan1000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgvegpt5000Mapper.java | 15 src/main/java/com/lf/server/entity/md/MdmdemEntity.java | 415 src/main/java/com/lf/server/entity/md/MdsprojectsummaryreportEntity.java | 205 src/main/java/com/lf/server/mapper/md/MdmobliquephotographymodelMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg1wveglEntity.java | 55 src/main/java/com/lf/server/mapper/bd/Bhy20wl61Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/Bhy20wl23Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg100wlrrlEntity.java | 75 src/main/resources/mapper/sys/ResOpMapper.xml | 82 src/main/java/com/lf/server/mapper/bs/Dlg5wvegpMapper.java | 15 src/main/java/com/lf/server/mapper/bs/McrossingMapper.java | 15 src/main/resources/mapper/sys/AuthMapper.xml | 101 src/main/resources/wmts/empty.png | 0 src/main/java/com/lf/server/entity/sys/RoleEntity.java | 143 src/main/resources/static/js/earth/script.js | 352 src/main/java/com/lf/server/mapper/md/MdggeologicalhazardcontroldesigndocumentMapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg100wpiplEntity.java | 45 src/main/java/com/lf/server/entity/bs/McrossingEntity.java | 355 src/main/java/com/lf/server/mapper/all/GeomBaseMapper.java | 70 src/main/java/com/lf/server/entity/bd/Dlg25wbouadEntity.java | 65 src/main/java/com/lf/server/entity/data/DirEntity.java | 170 src/main/java/com/lf/server/mapper/bs/Dlgvegal1000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgpipal5000Entity.java | 125 src/main/java/com/lf/server/mapper/md/MdustabilitymonitoringchartMapper.java | 15 src/main/java/com/lf/server/config/MybatisPlusConfig.java | 52 src/main/java/com/lf/server/mapper/bd/BgeologichazardMapper.java | 15 src/main/java/com/lf/server/mapper/bd/Bhy20wl31Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/Bhy20wl41Mapper.java | 15 src/main/java/com/lf/server/mapper/md/MdmtechnicaldesigndocumentMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgctlpt1000Entity.java | 235 src/main/java/com/lf/server/service/sys/MenuAuthService.java | 79 src/main/java/com/lf/server/service/sys/MetaDownService.java | 69 src/main/resources/static/js/paramconfig.js | 58 src/main/java/com/lf/server/entity/bs/Dlgpipan5000Entity.java | 185 src/main/java/com/lf/server/mapper/bd/Bhy20ws19Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlg5waanpMapper.java | 15 src/main/java/com/lf/server/mapper/sys/OperateMapper.java | 103 src/main/java/com/lf/server/mapper/bs/Dlgpipnt500Mapper.java | 15 src/main/java/com/lf/server/entity/ctrl/IdNameEntity.java | 34 src/main/java/com/lf/server/entity/bs/Dlghydan2000Entity.java | 185 src/main/java/com/lf/server/entity/bs/Dlgtralk500Entity.java | 275 src/main/java/com/lf/server/mapper/bs/Dlghydnt5000Mapper.java | 15 src/main/java/com/lf/server/service/sys/RoleService.java | 69 src/main/resources/static/images/login/code.png | 0 src/main/java/com/lf/server/entity/si/PlpipelinepointdEntity.java | 205 src/main/java/com/lf/server/mapper/bd/Brg20wd07hMapper.java | 15 src/main/java/com/lf/server/entity/bd/Brg20wd11kEntity.java | 175 src/main/java/com/lf/server/entity/bd/Dlg25whydpEntity.java | 65 src/main/java/com/lf/server/controller/data/upload/UploadController.java | 240 src/main/java/com/lf/server/entity/bs/Dlgresal2000Entity.java | 125 src/main/java/com/lf/server/entity/si/PlpipelinepointbEntity.java | 205 src/main/resources/mapper/sys/RoleMenuAuthMapper.xml | 102 src/main/java/com/lf/server/entity/bd/Dlg25wboupEntity.java | 55 src/main/java/com/lf/server/mapper/bd/Dlg100wbouaMapper.java | 15 src/main/resources/static/js/jquery.cookie.min.js | 2 src/main/java/com/lf/server/entity/bs/Dlghydnt5000Entity.java | 365 src/main/java/com/lf/server/mapper/si/PlpipelinepointdMapper.java | 15 src/main/java/com/lf/server/entity/md/MdggeologicalhazardmonitoringdesigndocumentEntity.java | 235 src/main/java/com/lf/server/mapper/bs/Dlgboupt5000Mapper.java | 15 src/main/java/com/lf/server/controller/sys/ReportController.java | 183 src/main/java/com/lf/server/mapper/bd/Dlg25wrfcaMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlg1whfcaMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlghydan2000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg5wagnpEntity.java | 95 src/main/java/com/lf/server/entity/si/PlpipelinefEntity.java | 235 src/main/java/com/lf/server/mapper/bd/Dlg100wterlMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlg1wveglMapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg100whydlEntity.java | 75 src/main/java/com/lf/server/mapper/bd/DlgagnpMapper.java | 15 src/main/java/com/lf/server/entity/bd/Bhy20ws16Entity.java | 85 src/main/java/com/lf/server/entity/bs/Dlgteran1000Entity.java | 185 src/main/java/com/lf/server/helper/WordHelper.java | 346 src/main/java/com/lf/server/entity/bs/Dlgreslk500Entity.java | 185 src/main/java/com/lf/server/entity/bs/Dlgtrapt500Entity.java | 235 src/main/java/com/lf/server/mapper/bs/Dlgpipan5000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlg1wrespMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg5whydaEntity.java | 125 src/main/java/com/lf/server/entity/md/MduundergroundengineeringplanEntity.java | 255 src/main/java/com/lf/server/entity/bs/Dlgctllk500Entity.java | 165 .gitignore | 39 src/main/java/com/lf/server/service/sys/BlacklistService.java | 109 src/main/java/com/lf/server/entity/sys/RoleResEntity.java | 107 src/main/java/com/lf/server/entity/bs/Dlg1wpiplEntity.java | 95 src/main/java/com/lf/server/entity/bs/Dlgresnt2000Entity.java | 195 src/main/java/com/lf/server/entity/bs/Dlghydal5000Entity.java | 125 src/main/java/com/lf/server/controller/all/FloatServerController.java | 131 src/main/java/com/lf/server/entity/bs/Dlg5whfclEntity.java | 115 src/main/java/com/lf/server/mapper/bd/Bhy20wd29Mapper.java | 15 src/main/java/com/lf/server/entity/data/CoordEntity.java | 51 src/main/resources/static/css/earth/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUliZTaR.woff2 | 0 src/main/java/com/lf/server/entity/bs/Dlgctllk2000Entity.java | 165 src/main/java/com/lf/server/helper/ClassHelper.java | 135 src/main/java/com/lf/server/mapper/bd/Dlg25wterlMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgbouan1000Entity.java | 185 src/main/java/com/lf/server/mapper/bd/Dlg100wrfclMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlg5wreslMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgteral1000Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Bhy20wd29Entity.java | 115 src/main/java/com/lf/server/entity/bs/Dlgvegpt500Entity.java | 145 src/main/java/com/lf/server/mapper/bs/Dlgterpt5000Mapper.java | 15 src/main/resources/mapper/data/UploadMapper.xml | 26 src/main/java/com/lf/server/mapper/si/PlpipelinebMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlghydlk5000Entity.java | 365 src/main/java/com/lf/server/mapper/bd/Bhy20ws14Mapper.java | 15 src/main/java/com/lf/server/service/sys/ArgsService.java | 103 src/main/java/com/lf/server/mapper/md/MdupreventionandcontroldiagramofoilstoragecavernMapper.java | 15 src/main/java/com/lf/server/entity/bd/Bhy20ws81Entity.java | 95 src/main/java/com/lf/server/entity/bd/Dlg25wrfcpEntity.java | 55 src/main/java/com/lf/server/entity/bd/Bhy20ws61Entity.java | 85 src/main/java/com/lf/server/controller/data/MetaController.java | 536 src/main/java/com/lf/server/mapper/bs/MpipelinepointMapper.java | 15 src/main/resources/templates/druid.html | 12 src/main/java/com/lf/server/entity/other/FloatServerResponse.java | 107 src/main/resources/static/images/NewGJXJlogin/1600/2bg.jpg | 0 src/main/java/com/lf/server/entity/sys/BlacklistEntity.java | 125 src/main/resources/mapper/data/DictMapper.xml | 90 src/main/resources/mapper/data/MetaMapper.xml | 245 src/main/java/com/lf/server/mapper/md/MdsprojectsummaryreportMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlg1wlfclMapper.java | 15 src/main/resources/static/css/jquery-ui.min.css | 7 src/main/java/com/lf/server/mapper/bs/Dlgboupt500Mapper.java | 15 src/main/resources/static/js/bootstrap.min.js | 7 src/main/resources/static/images/NewGJXJlogin/1920/password.png | 0 src/main/java/com/lf/server/mapper/bs/Dlgresal500Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgtraal5000Entity.java | 125 src/main/java/com/lf/server/mapper/bs/Dlg1wlfcaMapper.java | 15 src/main/java/com/lf/server/mapper/md/MdccompliancefileinformationMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlghydnt1000Entity.java | 365 src/main/java/com/lf/server/mapper/bd/Dlg100wboulMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgtraal500Entity.java | 125 src/main/java/com/lf/server/entity/md/MdupreventionandcontroldiagramofoilstoragecavernEntity.java | 235 src/main/java/com/lf/server/mapper/md/MdmdrgMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgboulk2000Entity.java | 145 src/main/java/com/lf/server/entity/bs/MadministrativedivisionEntity.java | 225 src/main/java/com/lf/server/mapper/bs/Dlgpippt500Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgpipal5000Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Brg20wboundEntity.java | 65 src/main/resources/static/js/earth/TweenMax.min.js | 17 src/main/java/com/lf/server/mapper/bs/Dlg1wpippMapper.java | 15 src/main/resources/mapper/sys/RoleMapper.xml | 86 src/main/java/com/lf/server/entity/bs/Dlgvegal500Entity.java | 125 src/main/java/com/lf/server/mapper/bs/Dlgtraan2000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlghydpt500Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/BpacgeologichazardattachMapper.java | 15 src/main/java/com/lf/server/mapper/data/MetaMapper.java | 204 src/main/java/com/lf/server/controller/show/MarkController.java | 217 src/main/java/com/lf/server/entity/bs/Dlg1whfcpEntity.java | 115 src/main/java/com/lf/server/mapper/md/MdsgeotechnicalinvestigationreportMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgctlpt1000Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg100wresaEntity.java | 45 src/main/resources/config/rsa_private_key.txt | 1 src/main/java/com/lf/server/service/all/PermsService.java | 111 src/main/java/com/lf/server/mapper/md/MduundergroundengineeringplanMapper.java | 15 src/main/resources/wmts/nofound.png | 0 src/main/java/com/lf/server/entity/sys/MetaDownEntity.java | 65 src/main/java/com/lf/server/mapper/bs/Dlghydlk1000Mapper.java | 15 src/main/java/com/lf/server/mapper/si/PlpipelinepointbMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg5wboulEntity.java | 45 src/main/java/com/lf/server/mapper/bs/Dlgternt500Mapper.java | 15 src/main/java/com/lf/server/controller/data/DirController.java | 212 src/main/java/com/lf/server/entity/md/MdcprojectEntity.java | 425 src/main/java/com/lf/server/mapper/md/MdggeologicalhazardmonitoringdesigndocumentMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgveglk2000Entity.java | 135 src/main/java/com/lf/server/entity/md/MdupreventionandcontroldiagramofconstructionroadwayEntity.java | 235 src/main/java/com/lf/server/entity/bs/Dlgresap5000Entity.java | 125 src/main/java/com/lf/server/mapper/bs/Dlgbouan500Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlghydap2000Entity.java | 125 src/main/java/com/lf/server/entity/bs/Dlgresap1000Entity.java | 125 src/main/java/com/lf/server/mapper/bs/Dlg1wterlMapper.java | 15 src/main/java/com/lf/server/mapper/bd/Dlg100wrfcaMapper.java | 15 src/main/java/com/lf/server/service/data/LayerService.java | 73 src/main/java/com/lf/server/interceptor/AuthInterceptor.java | 182 src/main/java/com/lf/server/entity/bd/Bhy20wboundEntity.java | 65 src/main/java/com/lf/server/entity/bs/Dlgpippt1000Entity.java | 165 src/main/java/com/lf/server/entity/bs/GhighandsteepslopeEntity.java | 295 src/main/java/com/lf/server/entity/bd/Dlg100wboupEntity.java | 55 src/main/java/com/lf/server/mapper/md/MdssurveydatabaseMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg5wrfcaEntity.java | 95 src/main/java/com/lf/server/entity/bs/MsitepointEntity.java | 205 src/main/java/com/lf/server/entity/bd/Brg20wl04jEntity.java | 65 src/main/java/com/lf/server/mapper/bs/Dlgteral5000Mapper.java | 15 src/main/resources/static/images/login/lg_03.png | 0 src/main/java/com/lf/server/entity/bd/Dlg100wterpEntity.java | 75 src/main/java/com/lf/server/mapper/md/MdmdomMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlg5wresaMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgtrant5000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgreslk2000Entity.java | 185 src/main/java/com/lf/server/mapper/bd/Brg20wl05jMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgteran500Mapper.java | 15 src/main/resources/static/images/NewGJXJlogin/1600/code.png | 0 src/main/java/com/lf/server/helper/AccessHelper.java | 107 src/main/java/com/lf/server/entity/bd/BhydrogeologyattachEntity.java | 95 src/main/java/com/lf/server/entity/all/MenusAuthEntity.java | 135 src/main/java/com/lf/server/mapper/bs/Dlg1wboulMapper.java | 15 src/main/java/com/lf/server/mapper/bd/Dlg100wbrgpMapper.java | 15 src/main/java/com/lf/server/helper/Md5Helper.java | 109 src/main/java/com/lf/server/mapper/bs/Dlgctlan5000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/MadministrativedivisionMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgvegnt2000Entity.java | 195 src/main/java/com/lf/server/mapper/bs/Dlgdplpt5000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgresap500Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgtralk1000Entity.java | 275 src/main/java/com/lf/server/mapper/bs/MequipmentnameplateMapper.java | 15 src/main/java/com/lf/server/mapper/bd/Dlg100wvegaMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlg5whydlMapper.java | 15 src/main/java/com/lf/server/helper/PathHelper.java | 166 src/main/java/com/lf/server/mapper/md/MdgpacgeologichazardMapper.java | 15 src/main/resources/static/css/login.css | 19 src/main/resources/static/images/NewGJXJlogin/1600/password.png | 0 src/main/java/com/lf/server/controller/sys/ResOpController.java | 236 src/main/resources/mapper/data/VerMapper.xml | 76 src/main/java/com/lf/server/entity/md/MdmsurfacedeformationanalysisreportEntity.java | 275 src/main/java/com/lf/server/entity/bs/Dlg5whfcaEntity.java | 85 src/main/java/com/lf/server/entity/bs/Dlg5wbouaEntity.java | 65 src/main/java/com/lf/server/entity/md/MdmobliquephotographymodelEntity.java | 445 src/main/java/com/lf/server/mapper/bs/Dlgrespt500Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Bhy20wl31Entity.java | 85 src/main/java/com/lf/server/entity/sys/AuthEntity.java | 113 src/main/java/com/lf/server/mapper/bd/Brg20wd12cMapper.java | 15 src/main/resources/static/images/NewGJXJlogin/1366/code.png | 0 src/main/java/com/lf/server/mapper/bs/Dlgresnt2000Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/Brg20wd04pMapper.java | 15 src/main/java/com/lf/server/mapper/md/MdustabilitycalculationmodelMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg1whydpEntity.java | 115 src/main/java/com/lf/server/aspect/LogAspect.java | 153 src/main/java/com/lf/server/entity/bd/Dlg100wbrgaEntity.java | 55 src/main/resources/static/images/NewGJXJlogin/1440/user.png | 0 src/main/java/com/lf/server/entity/bs/Dlgbount2000Entity.java | 135 src/main/java/com/lf/server/mapper/bs/Dlgveglk2000Mapper.java | 15 src/main/resources/mapper/show/ApplyMapper.xml | 149 src/main/resources/static/images/NewGJXJlogin/1920/login_btn.png | 0 src/main/java/com/lf/server/config/MultipartFileUploadConfig.java | 18 src/main/resources/static/js/jquery.min.js | 5 src/main/java/com/lf/server/mapper/bd/Dlg25wagnpMapper.java | 15 src/main/java/com/lf/server/mapper/md/MdzxcgMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgresap1000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgdplpt1000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg5wlfclEntity.java | 115 src/main/java/com/lf/server/mapper/bs/GgroundcollapseMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgctlan5000Entity.java | 185 src/main/java/com/lf/server/mapper/bs/SexplorationpointMapper.java | 15 src/main/java/com/lf/server/entity/md/MdcsingleprojectEntity.java | 125 src/main/java/com/lf/server/entity/bd/Brg20wannEntity.java | 75 src/main/java/com/lf/server/mapper/bs/Dlghydnt500Mapper.java | 15 src/main/java/com/lf/server/service/sys/AttachService.java | 196 src/main/java/com/lf/server/entity/ctrl/TabMapperEntity.java | 40 src/main/java/com/lf/server/controller/all/BaseQueryController.java | 776 src/main/java/com/lf/server/mapper/bs/Dlgdpllk500Mapper.java | 15 src/main/java/com/lf/server/service/show/PipelineService.java | 231 src/main/java/com/lf/server/service/show/ModelService.java | 74 src/main/java/com/lf/server/mapper/bs/Dlghydlk5000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgbount2000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgteral5000Entity.java | 125 src/main/java/com/lf/server/entity/bs/Dlg5wterlEntity.java | 55 src/main/java/com/lf/server/mapper/bd/Dlg100wrespMapper.java | 15 src/main/java/com/lf/server/entity/md/MdgdcgEntity.java | 222 src/main/java/com/lf/server/mapper/bd/Dlg100wagnpMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgtralk1000Mapper.java | 15 src/main/java/com/lf/server/entity/sys/MenuAuthEntity.java | 106 src/main/resources/mapper/sys/MenuMapper.xml | 87 src/main/resources/static/images/NewGJXJlogin/1366/password.png | 0 src/main/java/com/lf/server/entity/md/MduhydrologicalmonitoringEntity.java | 225 src/main/java/com/lf/server/mapper/bs/Dlgctlal1000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgctlpt5000Mapper.java | 15 src/main/java/com/lf/server/entity/md/MdushaftpreventionandcontroldiagramEntity.java | 235 src/main/resources/mapper/sys/ResMapper.xml | 92 src/main/java/com/lf/server/mapper/bs/Dlgtrant1000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/GdebrisflowEntity.java | 295 src/main/java/com/lf/server/mapper/bd/Dlg25wvegaMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlg1wbouaMapper.java | 15 src/main/java/com/lf/server/controller/data/StyleController.java | 321 src/main/java/com/lf/server/entity/all/PermsAuthEntity.java | 95 src/main/resources/mapper/show/MarkMapper.xml | 74 src/main/java/com/lf/server/entity/bd/Brg20wd01bEntity.java | 195 src/main/java/com/lf/server/entity/show/PipelineEntity.java | 138 src/main/java/com/lf/server/mapper/sys/UserMapper.java | 172 src/main/java/com/lf/server/entity/bs/Dlgpipal1000Entity.java | 125 src/main/java/com/lf/server/mapper/bs/Dlgvegnt2000Mapper.java | 15 src/main/resources/static/sg/monitor.html | 1051 src/main/java/com/lf/server/entity/bd/Dlg25whfcpEntity.java | 55 src/main/java/com/lf/server/entity/bs/Dlg1wcptlEntity.java | 45 src/main/java/com/lf/server/mapper/bd/Dlg25wrespMapper.java | 15 src/main/java/com/lf/server/service/data/DownloadService.java | 171 src/main/java/com/lf/server/entity/bs/Dlgpippt5000Entity.java | 165 src/main/java/com/lf/server/mapper/bs/Dlg1wrfcaMapper.java | 15 src/main/java/com/lf/server/entity/bd/Bhy20ws22Entity.java | 135 src/main/java/com/lf/server/mapper/md/MduhydrologicalmonitoringMapper.java | 15 src/main/java/com/lf/server/service/data/MetaService.java | 631 src/main/java/com/lf/server/entity/bs/Dlg5wlfcaEntity.java | 85 src/main/java/com/lf/server/entity/ctrl/DownloadReqEntity.java | 137 src/main/java/com/lf/server/mapper/bd/Bhy20ws11Mapper.java | 15 src/main/java/com/lf/server/entity/bs/ThprovincepointEntity.java | 55 src/main/java/com/lf/server/entity/md/MdminsarEntity.java | 345 src/main/java/com/lf/server/mapper/bs/Dlg1wteraMapper.java | 15 src/main/java/com/lf/server/entity/data/DictEntity.java | 235 src/main/java/com/lf/server/entity/bs/Dlg5wpippEntity.java | 85 src/main/java/com/lf/server/entity/other/ReqParamFloatServer.java | 143 src/main/java/com/lf/server/mapper/bs/Dlghydnt1000Mapper.java | 15 src/main/java/com/lf/server/entity/all/ResponseMsg.java | 107 src/main/java/com/lf/server/controller/sys/RoleResController.java | 273 src/main/java/com/lf/server/entity/md/MdggeologichazardpointEntity.java | 245 src/main/java/com/lf/server/service/show/InquiryService.java | 206 src/main/java/com/lf/server/entity/bd/Bhy20ws13Entity.java | 85 src/main/java/com/lf/server/mapper/md/MdugeologicalsketchmapMapper.java | 15 src/main/java/com/lf/server/entity/all/BaseGeoEntity.java | 20 src/main/java/com/lf/server/entity/md/MdsgeotechnicalinvestigationreportEntity.java | 245 src/main/java/com/lf/server/service/data/DirService.java | 130 src/main/java/com/lf/server/entity/ctrl/MarkJsonEntity.java | 88 src/main/resources/mapper/data/StyleMapper.xml | 68 src/main/java/com/lf/server/entity/bd/Brg20wl01tEntity.java | 65 src/main/java/com/lf/server/mapper/bs/MpipelineMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgtralk5000Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/Bhy20ws23Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgterlk2000Mapper.java | 15 src/main/java/com/lf/server/mapper/md/MduspecialevaluationreportMapper.java | 15 src/main/java/com/lf/server/mapper/bd/Bhy20ws13Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg1wagnpEntity.java | 95 src/main/java/com/lf/server/entity/bs/MvalvehousepointEntity.java | 205 src/main/java/com/lf/server/mapper/md/MduseepagecalculationmodelMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlghydpt2000Entity.java | 225 src/main/java/com/lf/server/entity/md/MdzxcgEntity.java | 90 src/main/java/com/lf/server/mapper/bs/Dlghydan500Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/MplanindexfileMapper.java | 15 src/main/java/com/lf/server/entity/data/LayerEntity.java | 235 src/main/java/com/lf/server/mapper/bd/Bhy20ws43Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgpipan500Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgreslk2000Mapper.java | 15 src/main/java/com/lf/server/entity/md/MdmprofessionaldesignmodelEntity.java | 415 src/main/java/com/lf/server/mapper/bd/Dlg100wpiplMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgtraal1000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/UundergroundhydrologicalmonitoringMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg1wterpEntity.java | 105 src/main/java/com/lf/server/mapper/si/PlpipelinefMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgdpllk500Entity.java | 135 src/main/java/com/lf/server/mapper/sys/ReportMapper.java | 120 src/main/java/com/lf/server/mapper/bs/Dlgboulk1000Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/BboreholeMapper.java | 15 src/main/java/com/lf/server/entity/bd/Brg20wwlEntity.java | 65 src/main/java/com/lf/server/extend/CustomizedSqlInjector.java | 26 src/main/java/com/lf/server/entity/bd/Brg20wannaEntity.java | 85 src/main/java/com/lf/server/mapper/bs/Dlg1wrfclMapper.java | 15 src/main/resources/static/images/login/loginline.png | 0 src/main/resources/mapper/sys/BlacklistMapper.xml | 86 src/main/java/com/lf/server/entity/bs/ThdistrictareaEntity.java | 65 src/main/java/com/lf/server/entity/bs/Dlghydap5000Entity.java | 125 src/main/resources/mapper/sys/AttachMapper.xml | 130 src/main/java/com/lf/server/mapper/bs/Dlgreslk500Mapper.java | 15 src/main/java/com/lf/server/entity/md/MdustabilitymonitoringchartEntity.java | 255 src/main/java/com/lf/server/mapper/bd/Dlg25wboulMapper.java | 15 src/main/resources/static/images/NewGJXJlogin/login_btn.png | 0 src/main/java/com/lf/server/entity/bd/Dlg25wlfcpEntity.java | 85 src/main/resources/mapper/data/DownloadMapper.xml | 104 src/main/java/com/lf/server/entity/md/MdustabilitycalculationmodelEntity.java | 195 src/main/java/com/lf/server/mapper/bs/Dlgterpt500Mapper.java | 15 src/main/resources/static/css/earth/css.css | 40 src/main/java/com/lf/server/mapper/bd/Dlg100wboupMapper.java | 15 src/main/java/com/lf/server/mapper/md/MdgtypicalgeologicalhazardmanagementcasesMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlghydlk500Entity.java | 365 src/main/java/com/lf/server/mapper/sys/ResMapper.java | 110 src/main/java/com/lf/server/entity/bs/Dlg5wteraEntity.java | 85 src/main/java/com/lf/server/entity/sys/LoginEntity.java | 116 src/main/java/com/lf/server/service/show/LocateService.java | 46 pom.xml | 272 src/main/java/com/lf/server/entity/bs/Dlgpiplk500Entity.java | 165 src/main/java/com/lf/server/entity/sys/UserEntity.java | 233 src/main/java/com/lf/server/mapper/bd/Bhy20wd21Mapper.java | 15 src/main/resources/static/css/earth/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUZiZQ.woff2 | 0 src/main/java/com/lf/server/entity/md/MduqvalueconfirmationsheetEntity.java | 195 src/main/java/com/lf/server/mapper/bd/Bhy20wd31Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/Dlg100whydpMapper.java | 15 src/main/java/com/lf/server/mapper/data/UploadMapper.java | 48 src/main/java/com/lf/server/mapper/bs/Dlgboulk2000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/MhydraulicprotectionMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlg5wteraMapper.java | 15 src/main/java/com/lf/server/mapper/bd/Dlg25wbouadMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgtralk500Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/Brg20wd09gMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgdpllk2000Mapper.java | 15 src/main/java/com/lf/server/service/sys/RoleMenuAuthService.java | 79 src/main/java/com/lf/server/mapper/md/MdsstandardfrozendepthlineofseasonalfrozensoilMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Thglobecountry01Mapper.java | 15 src/main/java/com/lf/server/helper/GdbHelper.java | 622 src/main/java/com/lf/server/mapper/bd/Dlg100wrfcpMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlg5wlrdlMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgpippt5000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgtralk2000Entity.java | 275 src/main/java/com/lf/server/mapper/bs/Dlg5whfcpMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg1wboulEntity.java | 45 src/main/java/com/lf/server/entity/sys/RoleMenuAuthEntity.java | 105 src/main/java/com/lf/server/controller/data/PublishController.java | 226 src/main/java/com/lf/server/entity/ctrl/SdkDecryptEntity.java | 48 src/main/java/com/lf/server/mapper/bs/Dlg1wreslMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgveglk1000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/SboreholeMapper.java | 15 src/main/resources/wmts/说明.txt | 26 src/main/java/com/lf/server/entity/bs/Dlg5wlrdlEntity.java | 165 src/main/java/com/lf/server/entity/bs/Msitepoint0Entity.java | 45 src/main/java/com/lf/server/entity/md/MduseepagecalculationmodelEntity.java | 195 src/main/resources/application.yml | 146 src/main/java/com/lf/server/mapper/sys/ArgsMapper.java | 104 src/main/java/com/lf/server/controller/data/DomainController.java | 307 src/main/java/com/lf/server/mapper/bd/Dlg25wbrglMapper.java | 15 src/main/java/com/lf/server/entity/md/MdmpointcloudEntity.java | 435 src/main/java/com/lf/server/entity/bs/Dlg5whfcpEntity.java | 115 src/main/resources/static/images/earth/css_globe_bg.jpg | 0 src/main/java/com/lf/server/entity/bs/Dlgctlpt5000Entity.java | 235 src/main/java/com/lf/server/mapper/sys/AuthMapper.java | 107 src/main/java/com/lf/server/entity/bd/Bhy20ws43Entity.java | 105 src/main/java/com/lf/server/entity/bs/Uundergroundcavern3dattachEntity.java | 135 src/main/resources/static/images/NewGJXJlogin/1280/code.png | 0 src/main/resources/mapper/sys/MetaDownMapper.xml | 74 src/main/java/com/lf/server/mapper/bd/Dlg25wrfcpMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg5wveglEntity.java | 55 src/main/java/com/lf/server/entity/bs/Dlg5wresaEntity.java | 75 src/main/java/com/lf/server/entity/bs/GgroundcollapseEntity.java | 285 src/main/java/com/lf/server/entity/md/MduspecialevaluationreportEntity.java | 165 src/main/java/com/lf/server/controller/sys/RoleController.java | 252 src/main/java/com/lf/server/entity/bs/Dlgdpllk2000Entity.java | 135 src/main/java/com/lf/server/mapper/md/MdmprofessionaldesignmodelMapper.java | 15 src/main/java/com/lf/server/mapper/bd/Dlg100wbrglMapper.java | 15 src/main/java/com/lf/server/controller/show/PipelineController.java | 263 src/main/java/com/lf/server/entity/bs/Dlgternt500Entity.java | 185 src/main/java/com/lf/server/entity/bs/Dlg1wlfcaEntity.java | 85 src/main/java/com/lf/server/entity/bs/Dlg5wlrrlEntity.java | 85 src/main/java/com/lf/server/controller/show/OneMapController.java | 402 src/main/java/com/lf/server/entity/bd/BboreholeEntity.java | 405 src/main/java/com/lf/server/entity/bd/BpacgeologichazardattachEntity.java | 95 src/main/java/com/lf/server/mapper/bs/Dlg1wagnpMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgtrant1000Entity.java | 325 src/main/java/com/lf/server/entity/bd/Dlg100wlfcpEntity.java | 85 src/main/java/com/lf/server/mapper/bd/Brg20wd08dMapper.java | 15 src/main/java/com/lf/server/mapper/md/MdggeologichazardassessmentdocumentMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgtraan1000Mapper.java | 15 src/main/java/com/lf/server/service/sys/ResService.java | 80 src/main/java/com/lf/server/entity/bs/Dlgdpllk1000Entity.java | 135 src/main/java/com/lf/server/mapper/bs/Dlg5wlrrlMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgpipal500Mapper.java | 15 src/main/resources/static/js/earth/modernizr.min.js | 1 src/main/resources/mapper/show/FlowMapper.xml | 74 src/main/java/com/lf/server/entity/bd/BpacmarinemeteorologicalEntity.java | 105 src/main/java/com/lf/server/mapper/bd/Dlg25wrfclMapper.java | 15 src/main/java/com/lf/server/mapper/md/MdmqualityinspectionreportMapper.java | 15 src/main/resources/static/css/bootstrap/bootstrap-reboot.css.map | 1 src/main/java/com/lf/server/mapper/sys/DownlogMapper.java | 103 src/main/java/com/lf/server/mapper/sys/RoleMapper.java | 91 src/main/java/com/lf/server/entity/bs/Dlgtralk5000Entity.java | 275 src/main/java/com/lf/server/mapper/bs/Dlgctllk500Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgpipal500Entity.java | 125 src/main/java/com/lf/server/mapper/data/LayerMapper.java | 96 src/main/resources/static/css/bootstrap/bootstrap-grid.min.css | 7 src/main/java/com/lf/server/entity/bd/Dlg25wbrgpEntity.java | 55 src/main/java/com/lf/server/entity/bd/Brg20wd06sEntity.java | 65 src/main/java/com/lf/server/mapper/data/DirMapper.java | 118 src/main/java/com/lf/server/controller/show/ApplyController.java | 305 src/main/java/com/lf/server/helper/JsonHelper.java | 79 src/main/java/com/lf/server/entity/bs/Dlg1wvegpEntity.java | 55 src/main/java/com/lf/server/mapper/bs/Dlghydap500Mapper.java | 15 src/main/java/com/lf/server/service/sys/RoleUserService.java | 69 src/main/java/com/lf/server/mapper/bs/Dlgterlk1000Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/Dlg25whydlMapper.java | 15 src/main/java/com/lf/server/annotation/ExcelHead.java | 25 src/main/java/com/lf/server/entity/md/MdgpacgeologichazardEntity.java | 225 src/main/java/com/lf/server/service/data/FmeService.java | 344 src/main/java/com/lf/server/entity/bd/Bhy20ws23Entity.java | 135 src/main/java/com/lf/server/mapper/bs/Dlg1wvegpMapper.java | 15 src/main/resources/static/css/earth/style.css | 193 src/main/java/com/lf/server/entity/md/MdmqualityinspectionreportEntity.java | 255 src/main/java/com/lf/server/entity/bs/Dlgboupt500Entity.java | 155 mvnw | 316 src/main/java/com/lf/server/helper/RestHelper.java | 259 src/main/java/com/lf/server/mapper/bd/Bhy20ws26Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/SexplorationpointstratumMapper.java | 15 src/main/java/com/lf/server/helper/ExcelHelper.java | 97 src/main/resources/static/css/bootstrap/bootstrap-grid.min.css.map | 1 src/main/java/com/lf/server/service/sys/TokenService.java | 285 src/main/java/com/lf/server/mapper/bs/Dlgdpllk5000Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/Dlg100whydlMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgctllk1000Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/Brg20wd13kMapper.java | 15 src/main/java/com/lf/server/controller/sys/ResController.java | 316 src/main/java/com/lf/server/entity/bs/Dlgctlpt500Entity.java | 235 src/main/java/com/lf/server/mapper/bs/Dlgternt1000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg5wvegaEntity.java | 65 src/main/java/com/lf/server/mapper/bs/Dlghydpt1000Mapper.java | 15 src/main/java/com/lf/server/service/data/PublishService.java | 248 src/main/java/com/lf/server/mapper/sys/AttachMapper.java | 168 src/main/java/com/lf/server/entity/bs/Dlgtraal2000Entity.java | 125 src/main/java/com/lf/server/service/show/MarkService.java | 234 src/main/java/com/lf/server/mapper/show/FlowMapper.java | 96 src/main/resources/mapper/sys/DownlogMapper.xml | 96 src/main/java/com/lf/server/entity/md/MdsprojectevaluationreportEntity.java | 205 src/main/java/com/lf/server/mapper/bs/Dlgboulk500Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/ThstrategicchannelMapper.java | 15 src/main/java/com/lf/server/entity/bs/ThprovincelineEntity.java | 45 src/main/java/com/lf/server/mapper/bd/Dlg25whydpMapper.java | 15 src/main/java/com/lf/server/entity/sys/TokenEntity.java | 153 src/main/java/com/lf/server/mapper/bs/Dlg5whfclMapper.java | 15 src/main/java/com/lf/server/entity/sys/MenuEntity.java | 192 src/main/java/com/lf/server/mapper/bd/Bhy20ws16Mapper.java | 15 src/main/resources/mapper/sys/LoginMapper.xml | 91 src/main/java/com/lf/server/entity/bd/Brg20wl01jEntity.java | 205 src/main/java/com/lf/server/entity/bs/Dlghydpt5000Entity.java | 225 src/main/java/com/lf/server/entity/bs/Dlgtraal1000Entity.java | 125 src/main/resources/static/css/bootstrap/bootstrap-reboot.css | 326 src/main/java/com/lf/server/entity/bd/Bhy20ws27Entity.java | 135 src/main/java/com/lf/server/mapper/bs/Dlg5wrfcaMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg1wrespEntity.java | 115 src/main/java/com/lf/server/mapper/bd/Brg20wl02hMapper.java | 15 src/main/java/com/lf/server/entity/bs/SboreholeEntity.java | 395 src/main/java/com/lf/server/entity/bd/Dlg100whydpEntity.java | 65 src/main/java/com/lf/server/entity/bs/Dlg1wterlEntity.java | 55 src/main/java/com/lf/server/mapper/bd/Bhy20ws17Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlghydal500Entity.java | 125 src/main/java/com/lf/server/entity/bd/Dlg100whfcaEntity.java | 55 src/main/java/com/lf/server/mapper/bd/Dlg100wcptlMapper.java | 15 src/main/java/com/lf/server/entity/md/MdccompliancefileinformationEntity.java | 115 src/main/java/com/lf/server/mapper/md/MduqvalueconfirmationsheetMapper.java | 15 src/main/java/com/lf/server/entity/bd/BpacmeteorologicalattachEntity.java | 95 src/main/java/com/lf/server/entity/bd/Brg20wl05jEntity.java | 65 src/main/java/com/lf/server/mapper/bd/BpacfrozensoilattachMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlghydal500Mapper.java | 15 src/main/java/com/lf/server/mapper/md/MdmdemMapper.java | 15 src/main/java/com/lf/server/entity/all/HttpStatus.java | 104 src/main/java/com/lf/server/mapper/bd/Dlg100whfcaMapper.java | 15 src/main/java/com/lf/server/mapper/data/DownloadMapper.java | 126 src/main/java/com/lf/server/mapper/md/MdsprojectevaluationreportMapper.java | 15 src/main/java/com/lf/server/entity/bd/Bhy20wl61Entity.java | 85 src/main/java/com/lf/server/entity/bd/Bhy20wd21Entity.java | 135 src/main/resources/static/images/NewGJXJlogin/1920/user.png | 0 src/main/java/com/lf/server/entity/bd/Brg20wwpEntity.java | 65 src/main/java/com/lf/server/mapper/bs/Msitepoint0Mapper.java | 15 src/main/java/com/lf/server/mapper/md/MduwatercurtainroadwaypreventiondiagramMapper.java | 15 src/main/java/com/lf/server/service/show/OneMapService.java | 372 src/main/java/com/lf/server/entity/bs/Dlgtraan1000Entity.java | 185 src/main/java/com/lf/server/mapper/all/PermsMapper.java | 67 src/main/java/com/lf/server/controller/all/PermsController.java | 188 src/main/java/com/lf/server/mapper/bs/Dlgternt2000Mapper.java | 15 src/main/java/com/lf/server/entity/md/MduwatercurtainroadwaypreventiondiagramEntity.java | 235 src/main/java/com/lf/server/mapper/bs/Dlgdpllk1000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlghydpt2000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/ThstrategicchannelEntity.java | 55 src/main/java/com/lf/server/mapper/bs/Dlgterlk5000Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/Dlg100wlfclMapper.java | 15 src/main/java/com/lf/server/service/all/WebSocketService.java | 130 src/main/java/com/lf/server/entity/bd/Bhy20wl21Entity.java | 85 src/main/java/com/lf/server/mapper/bs/GwaterdamageMapper.java | 15 src/main/java/com/lf/server/mapper/bs/SprofileindexfileMapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg100wlfclEntity.java | 55 src/main/resources/mapper/sys/OperateMapper.xml | 84 src/main/java/com/lf/server/entity/bs/Dlg1wreslEntity.java | 65 src/main/java/com/lf/server/mapper/bs/Dlg5wlfcpMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlghydpt5000Mapper.java | 15 src/main/java/com/lf/server/entity/show/ModelEntity.java | 155 src/main/java/com/lf/server/mapper/bd/Dlg25wlfclMapper.java | 15 src/main/java/com/lf/server/service/sys/ReportService.java | 310 src/main/java/com/lf/server/mapper/bs/Dlgtraal5000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/MpipelineEntity.java | 205 src/main/java/com/lf/server/mapper/bs/Dlgveglk500Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg100wcptpEntity.java | 45 src/main/java/com/lf/server/entity/all/RedisCacheKey.java | 77 src/main/java/com/lf/server/controller/sys/RoleMenuAuthController.java | 301 src/main/java/com/lf/server/entity/data/MetaFileEntity.java | 202 src/main/java/com/lf/server/entity/bs/Dlg1wrfclEntity.java | 85 src/main/java/com/lf/server/mapper/bs/GcollapseMapper.java | 15 src/main/java/com/lf/server/service/show/ExportService.java | 118 src/main/java/com/lf/server/mapper/bd/Brg20wd03dMapper.java | 15 src/main/java/com/lf/server/entity/all/StaticData.java | 273 src/main/java/com/lf/server/mapper/si/PlpipelinepointaMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg1wboupEntity.java | 65 src/main/java/com/lf/server/entity/bs/SexplorationpointstratumEntity.java | 205 src/main/java/com/lf/server/mapper/md/Mdsgeological3dmodelMapper.java | 15 src/main/resources/static/images/earth/css_globe_halo.png | 0 src/main/java/com/lf/server/entity/bd/BpacregionalgeologyEntity.java | 105 src/main/java/com/lf/server/mapper/bd/Brg20wwlMapper.java | 15 src/main/java/com/lf/server/mapper/md/MdggeologichazardpointMapper.java | 15 src/main/java/com/lf/server/controller/show/LocateController.java | 74 src/main/java/com/lf/server/entity/bd/BpacgeologichazardEntity.java | 105 src/main/resources/static/images/NewGJXJlogin/1366/user.png | 0 src/main/java/com/lf/server/mapper/bs/Dlgctllk2000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgvegpt5000Entity.java | 145 src/main/java/com/lf/server/entity/bs/Dlg1waanpEntity.java | 75 src/main/java/com/lf/server/entity/bs/Dlgterlk1000Entity.java | 185 src/main/java/com/lf/server/entity/bs/GwaterdamageEntity.java | 285 src/main/java/com/lf/server/mapper/bs/Dlg1whydaMapper.java | 15 src/main/java/com/lf/server/mapper/bs/MpipesegmentMapper.java | 15 src/main/java/com/lf/server/mapper/show/ModelMapper.java | 105 src/main/java/com/lf/server/mapper/bd/Brg20wl02sMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg1wbouaEntity.java | 65 src/main/java/com/lf/server/entity/bd/Dlg25wvegaEntity.java | 45 src/main/java/com/lf/server/mapper/bs/Dlgresal1000Mapper.java | 15 src/main/resources/mapper/all/PermsMapper.xml | 93 src/main/java/com/lf/server/mapper/bs/Dlgteran1000Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg100whfclEntity.java | 55 src/main/java/com/lf/server/helper/SpringContextHelper.java | 86 src/main/resources/static/css/bootstrap/bootstrap.css | 10263 ++++ src/main/java/com/lf/server/mapper/bs/Dlg1wcptlMapper.java | 15 src/main/java/com/lf/server/entity/sys/DownlogEntity.java | 125 src/main/java/com/lf/server/entity/bs/Dlgterlk2000Entity.java | 185 src/main/java/com/lf/server/mapper/bd/Brg20wd04nMapper.java | 15 src/main/java/com/lf/server/mapper/bs/MmarkerMapper.java | 15 src/main/java/com/lf/server/entity/bd/Bhy20ws24Entity.java | 135 src/main/java/com/lf/server/mapper/bd/Brg20wannMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlghydan5000Entity.java | 185 src/main/resources/mapper/sys/UserMapper.xml | 166 src/main/java/com/lf/server/entity/bs/Dlgbount500Entity.java | 135 src/main/java/com/lf/server/mapper/bs/Dlg1whydlMapper.java | 15 src/main/java/com/lf/server/entity/bs/MhydraulicprotectionEntity.java | 335 src/main/java/com/lf/server/mapper/md/MdcprojectMapper.java | 15 src/main/java/com/lf/server/mapper/bd/Dlg100wcptpMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgtraal2000Mapper.java | 15 src/main/java/com/lf/server/entity/md/MdmdlgEntity.java | 455 src/main/java/com/lf/server/entity/bs/Dlg1wrfcpEntity.java | 115 src/main/java/com/lf/server/helper/GdalHelper.java | 371 src/main/resources/static/images/NewGJXJlogin/1440/password.png | 0 src/main/java/com/lf/server/entity/sys/AttachEntity.java | 125 src/main/java/com/lf/server/mapper/bs/Dlgresal2000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlghydpt1000Entity.java | 225 src/main/java/com/lf/server/helper/EnumHelper.java | 84 src/main/java/com/lf/server/mapper/bd/BpacmarinemeteorologicalMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgboupt5000Entity.java | 155 src/main/java/com/lf/server/entity/bs/Dlgternt1000Entity.java | 185 src/main/java/com/lf/server/mapper/bd/Dlg25whfcaMapper.java | 15 src/main/java/com/lf/server/entity/bs/SsurveyworksiteEntity.java | 335 src/main/java/com/lf/server/controller/show/ExportController.java | 136 src/main/java/com/lf/server/entity/bd/Brg20wd07bEntity.java | 115 src/main/java/com/lf/server/mapper/bs/ThdistrictlineMapper.java | 15 src/main/java/com/lf/server/entity/md/MdggeologicalhazardsitephotosEntity.java | 245 src/main/java/com/lf/server/mapper/show/MarkMapper.java | 96 src/main/resources/static/css/bootstrap/bootstrap-grid.css.map | 1 src/main/java/com/lf/server/entity/bs/Dlgterlk5000Entity.java | 185 src/main/java/com/lf/server/mapper/bs/Dlgvegal2000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg1wlfclEntity.java | 115 src/main/java/com/lf/server/entity/bs/ThprovinceareaEntity.java | 65 src/main/java/com/lf/server/mapper/bd/Brg20wd13tMapper.java | 15 src/main/java/com/lf/server/controller/all/FmeItController.java | 290 src/main/java/com/lf/server/entity/bd/Brg20wd01dEntity.java | 135 src/main/java/com/lf/server/entity/md/MdsholecolumndiagramEntity.java | 185 src/main/java/com/lf/server/entity/md/Mducaverndesign3dmodelEntity.java | 265 src/main/java/com/lf/server/mapper/md/MdsholecolumndiagramMapper.java | 15 src/main/java/com/lf/server/entity/bs/ThprovincialcapitalEntity.java | 55 src/main/java/com/lf/server/entity/bs/Dlg1whfcaEntity.java | 85 src/main/java/com/lf/server/entity/data/FmeLogEntity.java | 105 src/main/java/com/lf/server/mapper/bs/Dlg5wbouaMapper.java | 15 src/main/java/com/lf/server/entity/all/AbstractPwdEntity.java | 17 src/main/java/com/lf/server/entity/bd/Brg20wd03dEntity.java | 85 src/main/java/com/lf/server/entity/bs/Dlg1wrfcaEntity.java | 95 src/main/java/com/lf/server/entity/bs/Dlgtrant500Entity.java | 325 src/main/java/com/lf/server/mapper/bd/Dlg100wbrgaMapper.java | 15 src/main/resources/static/css/bootstrap/bootstrap.min.css.map | 1 src/main/java/com/lf/server/entity/bs/Dlg5wlfcpEntity.java | 155 src/main/java/com/lf/server/mapper/bs/Dlg1whydpMapper.java | 15 src/main/java/com/lf/server/entity/ctrl/FmeReqEntity.java | 100 src/main/java/com/lf/server/entity/bd/Brg20wd08dEntity.java | 125 src/main/java/com/lf/server/entity/bs/Dlgreslk5000Entity.java | 185 src/main/java/com/lf/server/entity/bs/Dlgresnt1000Entity.java | 195 src/main/java/com/lf/server/entity/bs/Dlgvegnt500Entity.java | 195 src/main/java/com/lf/server/mapper/bs/MgroundlineMapper.java | 15 src/main/java/com/lf/server/entity/bd/Brg20wd13pEntity.java | 85 src/main/java/com/lf/server/entity/bd/Brg20wd04pEntity.java | 185 src/main/java/com/lf/server/entity/ctrl/RegisterEntity.java | 144 src/main/java/com/lf/server/entity/bs/Dlgctllk1000Entity.java | 165 src/main/java/com/lf/server/mapper/bs/Dlg5wterlMapper.java | 15 src/main/java/com/lf/server/config/ScheduleConfig.java | 117 src/main/java/com/lf/server/mapper/bs/Dlgtraan5000Mapper.java | 15 src/main/java/com/lf/server/mapper/sys/MenuAuthMapper.java | 116 src/main/java/com/lf/server/mapper/sys/RoleMenuAuthMapper.java | 116 src/main/resources/static/js/zxcvbn.js | 28 src/main/java/com/lf/server/entity/bd/Dlg100wrespEntity.java | 55 src/main/java/com/lf/server/entity/bd/Brg20wl06gEntity.java | 75 src/main/resources/static/css/main.css | 482 src/main/java/com/lf/server/entity/bs/Dlg1wresaEntity.java | 75 src/main/java/com/lf/server/mapper/md/MdcprojectwbsMapper.java | 15 src/main/resources/static/images/NewGJXJlogin/1280/2bg.jpg | 0 src/main/java/com/lf/server/mapper/bd/Dlg100wlfcpMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgbount1000Entity.java | 135 src/main/resources/mapper/show/OneMapMapper.xml | 301 src/main/java/com/lf/server/entity/bd/Bhy20wl23Entity.java | 85 src/main/java/com/lf/server/mapper/bd/Dlg25whydaMapper.java | 15 src/main/resources/static/sg/login.html | 365 src/main/java/com/lf/server/mapper/bd/Bhy20wboundMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgboulk5000Entity.java | 145 src/main/java/com/lf/server/controller/show/InquiryController.java | 142 src/main/java/com/lf/server/mapper/bd/Dlg100wvegpMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg5wvegpEntity.java | 55 src/main/java/com/lf/server/entity/bs/Dlghydan1000Entity.java | 185 src/main/java/com/lf/server/entity/bs/Dlgvegnt1000Entity.java | 195 src/main/java/com/lf/server/service/sys/DepService.java | 71 src/main/java/com/lf/server/entity/bd/Dlg100wteraEntity.java | 45 src/main/java/com/lf/server/service/data/UploadService.java | 576 src/main/java/com/lf/server/mapper/bs/SgeologicaldataMapper.java | 15 src/main/java/com/lf/server/entity/sys/OperateEntity.java | 143 src/main/java/com/lf/server/mapper/bs/Dlghydlk500Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgctlal500Mapper.java | 15 src/main/java/com/lf/server/entity/md/MdmterrainmodelEntity.java | 355 src/main/java/com/lf/server/entity/bs/Dlgctlpt2000Entity.java | 235 src/main/java/com/lf/server/mapper/bs/ThprovincelineMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgpiplk500Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg25wbouapEntity.java | 65 src/main/java/com/lf/server/LfApplication.java | 27 src/main/java/com/lf/server/entity/bs/Dlgdpllk5000Entity.java | 135 src/main/java/com/lf/server/controller/sys/RoleUserController.java | 273 src/main/java/com/lf/server/entity/ctrl/PubEntity.java | 114 src/main/java/com/lf/server/entity/data/DomainEntity.java | 145 src/main/java/com/lf/server/mapper/bd/Bhy20wl71Mapper.java | 15 src/main/java/com/lf/server/entity/md/MdggeologichazardinformationEntity.java | 235 src/main/java/com/lf/server/mapper/bd/Brg20wd02hMapper.java | 15 src/main/java/com/lf/server/mapper/bd/Brg20wwpMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgresnt500Entity.java | 195 src/main/java/com/lf/server/entity/md/MdmdomEntity.java | 425 src/main/java/com/lf/server/mapper/bd/Bhy20wl21Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/UsectionlineMapper.java | 15 src/main/java/com/lf/server/entity/md/MdsstandardfrozendepthlineofseasonalfrozensoilEntity.java | 135 src/main/java/com/lf/server/mapper/bs/ThprovincepointMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgpiplk2000Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/Bhy20ws29Mapper.java | 15 src/main/java/com/lf/server/mapper/si/PlpipelinepointfMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgresal1000Entity.java | 125 src/main/java/com/lf/server/entity/bs/Dlgrespt500Entity.java | 225 src/main/resources/mapper/data/LayerMapper.xml | 76 src/main/java/com/lf/server/controller/data/VerController.java | 190 src/main/java/com/lf/server/entity/bs/Dlgrespt5000Entity.java | 225 src/main/java/com/lf/server/mapper/md/MdshydrogeologicalinformationMapper.java | 15 src/main/java/com/lf/server/mapper/bd/BpacmarinemeteorologicalattachMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgvegal500Mapper.java | 15 src/main/java/com/lf/server/controller/data/DictController.java | 261 src/main/java/com/lf/server/mapper/bd/Brg20wannaMapper.java | 15 src/main/java/com/lf/server/mapper/bd/Brg20wd01jMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgtrapt1000Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg100wboulEntity.java | 45 src/main/java/com/lf/server/mapper/bs/Dlgtraal500Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/Brg20wboundMapper.java | 15 src/main/java/com/lf/server/entity/bs/MpipesegmentEntity.java | 225 src/main/java/com/lf/server/mapper/bs/Dlghydan5000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/ThcountyareaEntity.java | 65 src/main/java/com/lf/server/entity/bs/Dlgpipan500Entity.java | 185 src/main/java/com/lf/server/entity/md/MdshydrogeologicalinformationEntity.java | 155 src/main/resources/static/css/earth/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUhiZTaR.woff2 | 0 src/main/java/com/lf/server/mapper/bs/Dlg1whfcpMapper.java | 15 src/main/resources/static/images/earth/css_globe_diffuse.jpg | 0 src/main/java/com/lf/server/entity/bs/Dlgveglk5000Entity.java | 135 src/main/java/com/lf/server/entity/bs/Dlg1wpippEntity.java | 85 src/main/java/com/lf/server/mapper/md/MdsregionalgeologicalinformationMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgteral500Entity.java | 125 src/main/java/com/lf/server/entity/bs/Dlgteran500Entity.java | 185 src/main/java/com/lf/server/entity/bs/Dlghydal2000Entity.java | 125 src/main/resources/static/images/NewGJXJlogin/1600/user.png | 0 src/main/resources/static/images/NewGJXJlogin/1440/2bg.jpg | 0 src/main/java/com/lf/server/entity/show/FlowEntity.java | 135 src/main/java/com/lf/server/entity/bs/Dlghydnt2000Entity.java | 365 src/main/java/com/lf/server/entity/bs/Dlghydan500Entity.java | 185 src/main/java/com/lf/server/entity/bs/Dlgpipnt5000Entity.java | 125 src/main/java/com/lf/server/entity/ctrl/DownloadTileEntity.java | 105 src/main/java/com/lf/server/mapper/sys/TokenMapper.java | 108 src/main/java/com/lf/server/mapper/bs/Dlgteral2000Mapper.java | 15 src/main/java/com/lf/server/controller/all/CrdsController.java | 164 src/main/java/com/lf/server/mapper/bs/Dlg1wresaMapper.java | 15 src/main/java/com/lf/server/entity/si/PlpipelinedEntity.java | 235 src/main/java/com/lf/server/mapper/bs/Dlgtraan500Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgresal500Entity.java | 125 src/main/java/com/lf/server/mapper/bs/Dlgresan2000Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Bhy20ws14Entity.java | 85 src/main/java/com/lf/server/entity/bs/Dlg5wcptlEntity.java | 45 src/main/java/com/lf/server/controller/sys/AuthController.java | 274 src/main/java/com/lf/server/service/show/FlowService.java | 69 src/main/java/com/lf/server/entity/bd/Bhy20ws21Entity.java | 135 src/main/java/com/lf/server/mapper/bs/Dlg1wpiplMapper.java | 15 src/main/java/com/lf/server/entity/md/MdupreventionandcontroldiagramofconnectingroadwayEntity.java | 235 src/main/java/com/lf/server/mapper/bs/Dlgvegpt500Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg25whydlEntity.java | 55 src/main/java/com/lf/server/mapper/bs/Dlgvegan500Mapper.java | 15 src/main/java/com/lf/server/entity/bd/BpacfrozensoilattachEntity.java | 95 src/main/java/com/lf/server/entity/bs/Dlgpipan2000Entity.java | 185 src/main/java/com/lf/server/entity/bs/Dlg5wreslEntity.java | 65 src/main/java/com/lf/server/mapper/bs/Dlgpippt2000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlghydap500Entity.java | 125 src/main/java/com/lf/server/entity/si/PlpipelinebEntity.java | 235 src/main/resources/templates/login_old.html | 368 src/main/java/com/lf/server/entity/bd/Dlg25wlrdlEntity.java | 85 src/main/java/com/lf/server/entity/md/MdggeologicalhazardcontroldesigndocumentEntity.java | 235 src/main/java/com/lf/server/entity/bd/Bhy20ws41Entity.java | 65 src/main/java/com/lf/server/helper/FileHelper.java | 449 src/main/java/com/lf/server/entity/all/SettingData.java | 57 src/main/java/com/lf/server/entity/bd/Bhy20ws12Entity.java | 85 src/main/java/com/lf/server/mapper/bd/Dlg25waanpMapper.java | 15 src/main/java/com/lf/server/mapper/md/Mducaverndesign3dmodelMapper.java | 15 src/main/java/com/lf/server/mapper/md/MdupreventiondiagramofsealingplugMapper.java | 15 src/main/resources/static/js/sockjs.min.js | 2 src/main/java/com/lf/server/entity/md/MdsboreholeEntity.java | 165 src/main/java/com/lf/server/mapper/bs/SboreholeattachMapper.java | 15 src/main/java/com/lf/server/entity/show/ExportEntity.java | 146 src/main/java/com/lf/server/entity/bd/Dlg25wteraEntity.java | 45 src/main/java/com/lf/server/entity/bd/Brg20wd13kEntity.java | 105 src/main/java/com/lf/server/mapper/bd/Bhy20ws12Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/Dlg25wboupMapper.java | 15 src/main/resources/templates/monitor.html | 1062 src/main/java/com/lf/server/mapper/bs/Dlg5wveglMapper.java | 15 src/main/java/com/lf/server/mapper/bd/BpacgeologichazardMapper.java | 15 src/main/java/com/lf/server/helper/StringHelper.java | 229 src/main/resources/static/css/style.css | 112 src/main/java/com/lf/server/entity/bd/Dlg25whfcaEntity.java | 45 src/main/java/com/lf/server/mapper/bs/Dlgterlk500Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgvegnt5000Mapper.java | 15 src/main/resources/static/images/login/user.png | 0 src/main/java/com/lf/server/entity/show/ApplyEntity.java | 225 src/main/java/com/lf/server/mapper/md/MdugeneralreportonundergroundengineeringdesignMapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg25wlfclEntity.java | 45 src/main/java/com/lf/server/entity/bd/Brg20wd05mEntity.java | 125 src/main/java/com/lf/server/mapper/bs/MpoiMapper.java | 15 src/main/java/com/lf/server/mapper/bd/Brg20wd11kMapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg1wlrdlEntity.java | 165 src/main/resources/mapper/sys/ArgsMapper.xml | 80 src/main/java/com/lf/server/mapper/bs/Dlgctlal2000Mapper.java | 15 src/main/java/com/lf/server/service/sys/AuthService.java | 74 src/main/java/com/lf/server/entity/bs/Dlgtrant2000Entity.java | 325 src/main/java/com/lf/server/entity/bd/Dlg100wagnpEntity.java | 85 src/main/java/com/lf/server/entity/bs/UsectionlineEntity.java | 115 src/main/resources/static/js/earth/css_globe_PerspectiveTransform.js | 220 src/main/java/com/lf/server/mapper/bs/Dlgresap2000Mapper.java | 15 src/main/java/com/lf/server/controller/sys/LoginController.java | 237 src/main/java/com/lf/server/controller/sys/MenuController.java | 232 src/main/java/com/lf/server/mapper/bd/Dlg25wbrgaMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlg1waanpMapper.java | 15 src/main/java/com/lf/server/mapper/bs/GlandslideMapper.java | 15 src/main/java/com/lf/server/mapper/bd/Dlg100waanpMapper.java | 15 src/main/java/com/lf/server/entity/bs/GcollapseEntity.java | 305 src/main/java/com/lf/server/entity/bs/Dlgpippt2000Entity.java | 165 src/main/resources/static/js/echarts.min.js | 20 src/main/java/com/lf/server/mapper/bs/Dlghydan1000Mapper.java | 15 src/main/java/com/lf/server/mapper/md/MdgdcgMapper.java | 15 src/main/java/com/lf/server/entity/bd/Bhy20ws17Entity.java | 85 src/main/java/com/lf/server/controller/data/upload/CheckController.java | 523 src/main/java/com/lf/server/mapper/bs/Dlgbount1000Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Brg20wl03jEntity.java | 65 src/main/java/com/lf/server/entity/bd/Brg20wd04nEntity.java | 175 src/main/java/com/lf/server/service/data/StyleService.java | 70 src/main/resources/static/js/earth/prefixfree.min.js | 5 src/main/java/com/lf/server/entity/bd/Dlg100wrfcaEntity.java | 55 src/main/java/com/lf/server/entity/bd/Brg20wd02hEntity.java | 75 src/main/java/com/lf/server/entity/ctrl/KeyValueEntity.java | 35 src/main/java/com/lf/server/mapper/bs/MequipmentnameplateattachMapper.java | 15 src/main/java/com/lf/server/entity/bs/ThdistrictlineEntity.java | 45 src/main/java/com/lf/server/mapper/bd/Bhy20ws27Mapper.java | 15 src/main/java/com/lf/server/controller/sys/BlacklistController.java | 254 src/main/java/com/lf/server/mapper/sys/DepMapper.java | 97 src/main/java/com/lf/server/mapper/bs/Dlg5wagnpMapper.java | 15 src/main/java/com/lf/server/mapper/data/DomainMapper.java | 110 src/main/java/com/lf/server/entity/bd/Bhy20wd31Entity.java | 95 src/main/java/com/lf/server/entity/si/PlpipelinepointfEntity.java | 205 src/main/java/com/lf/server/entity/bs/Dlgterpt500Entity.java | 175 src/main/java/com/lf/server/entity/bd/Brg20wd07hEntity.java | 95 src/main/java/com/lf/server/entity/bd/Dlg25wboulEntity.java | 45 src/main/resources/mapper/show/PipelineMapper.xml | 27 src/main/java/com/lf/server/entity/bd/Dlg100wbrgpEntity.java | 55 src/main/java/com/lf/server/entity/md/MdsmeteorologicalinformationEntity.java | 155 src/main/java/com/lf/server/entity/bd/Bhy20wl41Entity.java | 85 src/main/java/com/lf/server/entity/bs/Dlg5wterpEntity.java | 105 src/main/java/com/lf/server/service/all/TestService.java | 268 src/main/java/com/lf/server/helper/ShpHelper.java | 243 src/main/java/com/lf/server/entity/bs/ThglobecountryEntity.java | 95 src/main/resources/static/images/NewGJXJlogin/1280/password.png | 0 src/main/java/com/lf/server/entity/bd/Bhy20ws29Entity.java | 135 src/main/java/com/lf/server/mapper/bd/Dlg100wterpMapper.java | 15 src/main/java/com/lf/server/entity/bd/Dlg100wvegaEntity.java | 55 src/main/java/com/lf/server/entity/bs/Dlg5waanpEntity.java | 75 src/main/java/com/lf/server/mapper/bd/Brg20wl01jMapper.java | 15 src/main/java/com/lf/server/mapper/bs/ThcountylineMapper.java | 15 src/main/java/com/lf/server/mapper/md/MduwatersealmonitoringdiagramMapper.java | 15 src/main/java/com/lf/server/entity/bd/Bhy20wl71Entity.java | 95 src/main/java/com/lf/server/mapper/bs/Dlgvegan2000Mapper.java | 15 src/main/java/com/lf/server/entity/ctrl/CountEntity.java | 70 src/main/java/com/lf/server/controller/all/SignController.java | 262 src/main/java/com/lf/server/controller/sys/MenuAuthController.java | 301 src/main/java/com/lf/server/entity/bs/MpipelinepointEntity.java | 195 src/main/java/com/lf/server/entity/bd/Brg20wd13sEntity.java | 65 src/main/java/com/lf/server/mapper/bd/Brg20wd13qMapper.java | 15 src/main/java/com/lf/server/mapper/bs/SsurveyworksiteMapper.java | 15 src/main/java/com/lf/server/entity/bs/MequipmentnameplateattachEntity.java | 95 src/main/java/com/lf/server/entity/data/DownloadEntity.java | 185 src/main/java/com/lf/server/helper/MdbHelper.java | 92 src/main/java/com/lf/server/mapper/bs/Dlgresnt5000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgterpt2000Entity.java | 175 src/main/java/com/lf/server/mapper/bs/Uundergroundcavern3dattachMapper.java | 15 src/main/java/com/lf/server/mapper/bs/GunstableslopeMapper.java | 15 src/main/java/com/lf/server/mapper/bd/Dlg25wresaMapper.java | 15 src/main/java/com/lf/server/mapper/md/MdmsurfacedeformationanalysisreportMapper.java | 15 src/main/java/com/lf/server/entity/md/MdugeneralreportonundergroundengineeringdesignEntity.java | 205 src/main/java/com/lf/server/mapper/bs/Dlg1wterpMapper.java | 15 src/main/resources/static/css/bootstrap/bootstrap-reboot.min.css | 8 src/main/java/com/lf/server/entity/bs/Dlgreslk1000Entity.java | 185 src/main/java/com/lf/server/mapper/bs/Dlg5wvegaMapper.java | 15 src/main/java/com/lf/server/entity/bd/Brg20wd13hEntity.java | 75 src/main/java/com/lf/server/entity/data/MetaEntity.java | 305 src/main/java/com/lf/server/entity/bs/Dlg1wcptpEntity.java | 95 src/main/java/com/lf/server/entity/md/MdmdrgEntity.java | 265 src/main/java/com/lf/server/helper/WebHelper.java | 405 src/main/java/com/lf/server/mapper/bd/Brg20wd01dMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlghydap1000Mapper.java | 15 src/main/java/com/lf/server/config/RestTemplateConfig.java | 100 src/main/java/com/lf/server/mapper/bs/Dlgctlpt2000Mapper.java | 15 src/main/resources/static/css/bootstrap/bootstrap.css.map | 1 src/main/java/com/lf/server/entity/ctrl/ShpRecordEntity.java | 40 src/main/java/com/lf/server/entity/bd/Dlg25whfclEntity.java | 45 src/main/java/com/lf/server/entity/bs/MgeocontrolpointEntity.java | 155 src/main/java/com/lf/server/mapper/bs/Dlg1wlrrlMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgbouan2000Mapper.java | 15 src/main/java/com/lf/server/mapper/md/MdggeologichazardcalculationmodelMapper.java | 15 src/main/java/com/lf/server/entity/md/Mdsgeological3dmodelEntity.java | 315 src/main/java/com/lf/server/mapper/bd/Dlg100wresaMapper.java | 15 src/main/resources/static/js/resourceAnalyse.js | 89 src/main/java/com/lf/server/entity/bs/Dlghydap1000Entity.java | 125 src/main/java/com/lf/server/mapper/bs/ThcountyareaMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlghydnt2000Mapper.java | 15 src/main/resources/logback-spring.xml | 104 src/main/java/com/lf/server/mapper/bd/Bhy20ws15Mapper.java | 15 src/main/java/com/lf/server/service/data/DataQueryService.java | 92 src/main/java/com/lf/server/controller/sys/DownlogController.java | 62 src/main/java/com/lf/server/entity/bd/Bhy20ws26Entity.java | 135 src/main/java/com/lf/server/mapper/bs/Dlgvegnt1000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/BsprojectEntity.java | 155 src/main/java/com/lf/server/entity/md/MdggeologichazardcalculationmodelEntity.java | 255 src/main/java/com/lf/server/mapper/bs/Dlgboulk5000Mapper.java | 15 src/main/java/com/lf/server/entity/bd/Brg20wl05xEntity.java | 65 src/main/java/com/lf/server/entity/bs/ThdistrictpointEntity.java | 55 src/main/java/com/lf/server/entity/bs/Dlgpipal2000Entity.java | 125 src/main/java/com/lf/server/entity/ctrl/TabEntity.java | 84 src/main/java/com/lf/server/mapper/show/ApplyMapper.java | 168 src/main/java/com/lf/server/mapper/bs/Dlgreslk1000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/MgeocontrolpointMapper.java | 15 src/main/java/com/lf/server/mapper/bd/Bhy20ws42Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgreslk5000Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgtrant2000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg1whydlEntity.java | 95 src/main/resources/static/images/NewGJXJlogin/1366/2bg.jpg | 0 src/main/java/com/lf/server/mapper/bs/Dlghydlk2000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlg1whydaEntity.java | 125 src/main/java/com/lf/server/entity/bd/Brg20wl02sEntity.java | 65 src/main/java/com/lf/server/entity/bs/Dlgveglk1000Entity.java | 135 src/main/java/com/lf/server/entity/md/MduasbuiltdrawingofundergroundworksEntity.java | 205 src/main/java/com/lf/server/mapper/bd/Bhy20ws24Mapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlg1wboupMapper.java | 15 src/main/java/com/lf/server/mapper/bs/GdebrisflowMapper.java | 15 src/main/resources/static/js/rsa.min.js | 6 src/main/java/com/lf/server/entity/bs/ThcountylineEntity.java | 45 src/main/java/com/lf/server/mapper/bs/Dlgtralk2000Mapper.java | 15 src/main/java/com/lf/server/entity/data/VerEntity.java | 113 src/main/java/com/lf/server/mapper/bd/Dlg25wvegpMapper.java | 15 src/main/java/com/lf/server/mapper/bs/Dlgveglk5000Mapper.java | 15 src/main/java/com/lf/server/helper/RsaHelper.java | 209 src/main/java/com/lf/server/controller/sys/TokenController.java | 172 src/main/java/com/lf/server/entity/bd/BpacmarinemeteorologicalattachEntity.java | 95 src/main/resources/templates/index.html | 50 src/main/java/com/lf/server/entity/bs/Dlgteral2000Entity.java | 125 src/main/resources/mapper/sys/ReportMapper.xml | 104 src/main/java/com/lf/server/entity/bd/BpachydrogeologyEntity.java | 105 src/main/resources/static/images/login/login.jpg | 0 src/main/java/com/lf/server/mapper/bs/Dlgresnt1000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgboulk1000Entity.java | 145 src/main/java/com/lf/server/service/data/VerService.java | 74 src/main/java/com/lf/server/entity/sys/ReportEntity.java | 145 src/main/java/com/lf/server/mapper/bs/Dlghydap5000Mapper.java | 15 src/main/java/com/lf/server/entity/bs/Dlgctlan2000Entity.java | 185 src/main/java/com/lf/server/controller/data/upload/QueryController.java | 289 src/main/java/com/lf/server/mapper/bs/Dlg1wrfcpMapper.java | 15 src/main/java/com/lf/server/mapper/data/DictMapper.java | 101 src/main/java/com/lf/server/entity/sys/ArgsEntity.java | 145 src/main/resources/static/images/NewGJXJlogin/1280/user.png | 0 src/main/java/com/lf/server/mapper/bs/Dlgbount5000Mapper.java | 15 src/main/java/com/lf/server/mapper/bd/BpachydrogeologyMapper.java | 15 src/main/java/com/lf/server/entity/bd/Brg20wl06dEntity.java | 65 src/main/java/com/lf/server/mapper/bd/Bhy20ws51Mapper.java | 15 1,406 files changed, 150,449 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 32858aa..539e716 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,3 @@ -*.class - # Mobile Tools for Java (J2ME) .mtj.tmp/ @@ -10,3 +8,40 @@ # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* + +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### folder ### +/bak diff --git a/mvnw b/mvnw new file mode 100644 index 0000000..8a8fb22 --- /dev/null +++ b/mvnw @@ -0,0 +1,316 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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 +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done + + saveddir=`pwd` + + M2_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`\\unset -f command; \\command -v java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + fi + while IFS="=" read key value; do + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi + + if command -v wget > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=`cygpath --path --windows "$javaClass"` + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd new file mode 100644 index 0000000..1d8ab01 --- /dev/null +++ b/mvnw.cmd @@ -0,0 +1,188 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..cca4ce0 --- /dev/null +++ b/pom.xml @@ -0,0 +1,272 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> + <!-- https://start.springboot.io/ --> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-parent</artifactId> + <version>2.3.6.RELEASE</version> + <relativePath/> + </parent> + <!--鎵撳寘鎴恮ar--> + <packaging>war</packaging> + + <groupId>com.lf</groupId> + <artifactId>server</artifactId> + <version>1.0.0</version> + <name>LFServer</name> + <description>绠¢亾鍩虹澶ф暟鎹钩鍙版湇鍔�</description> + + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> + <java.version>1.8</java.version> + </properties> + + <dependencies> + <!--spring-boot--> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-web</artifactId> + <!--鎺掗櫎鍐呯疆tomcat瀹瑰櫒锛岃澶栭儴瀹瑰櫒杩愯spring-boot椤圭洰--> + <exclusions> + <exclusion> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-tomcat</artifactId> + </exclusion> + </exclusions> + </dependency> + <!--tomcat--> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-tomcat</artifactId> + <scope>provided</scope> + </dependency> + <!--<dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-security</artifactId> + </dependency>--> + <!--jdbc--> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-jdbc</artifactId> + </dependency> + <!--thymeleaf--> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-thymeleaf</artifactId> + <version>2.2.2.RELEASE</version> + </dependency> + <!--lombok--> + <dependency> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <optional>true</optional> + </dependency> + <!--mybatis-plus--> + <dependency> + <groupId>com.baomidou</groupId> + <artifactId>mybatis-plus-boot-starter</artifactId> + <version>3.5.1</version> + </dependency> + <!--鏀寔PGIS鐨刧eometry绫诲瀷锛歨ttps://www.91mszl.com/zhangwuji/article/details/1350--> + <!--<dependency> + <groupId>com.eyougo</groupId> + <artifactId>mybatis-typehandlers-postgis</artifactId> + <version>1.0</version> + </dependency>--> + <!--mybatis--> + <!--<dependency> + <groupId>org.mybatis.spring.boot</groupId> + <artifactId>mybatis-spring-boot-starter</artifactId> + <version>2.2.0</version> + </dependency>--> + <!--redis--> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-data-redis</artifactId> + </dependency> + <!--postgresql--> + <dependency> + <groupId>org.postgresql</groupId> + <artifactId>postgresql</artifactId> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-pool2</artifactId> + </dependency> + <!--aop--> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-aop</artifactId> + </dependency> + <!--椤甸潰鐑儴缃�--> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-devtools</artifactId> + <optional>true</optional> + <scope>true</scope> + </dependency> + <!--fastjson--> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>fastjson</artifactId> + <version>1.2.47</version> + </dependency> + <!--鏁村悎druid鏁版嵁婧�--> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>druid</artifactId> + <version>1.1.22</version> + </dependency> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>druid-spring-boot-starter</artifactId> + <version>1.1.22</version> + </dependency> + <!--log4j--> + <dependency> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + <version>1.2.17</version> + </dependency> + <!--test--> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-test</artifactId> + <scope>test</scope> + </dependency> + <!--text--> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-text</artifactId> + <version>1.1</version> + </dependency> + <!--swagger--> + <dependency> + <groupId>io.springfox</groupId> + <artifactId>springfox-swagger2</artifactId> + <version>2.9.2</version> + </dependency> + <!--swagger-ui--> + <dependency> + <groupId>io.springfox</groupId> + <artifactId>springfox-swagger-ui</artifactId> + <version>2.9.2</version> + </dependency> + <!--httpclient--> + <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpclient</artifactId> + </dependency> + <!--websocket--> + <dependency> + <groupId>javax.websocket</groupId> + <artifactId>javax.websocket-api</artifactId> + <version>1.0</version> + </dependency> + <!--websocket--> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-websocket</artifactId> + </dependency> + <!--oshi--> + <dependency> + <groupId>com.github.oshi</groupId> + <artifactId>oshi-core</artifactId> + <version>4.4.2</version> + </dependency> + <!--hutool--> + <dependency> + <groupId>cn.hutool</groupId> + <artifactId>hutool-all</artifactId> + <version>5.7.20</version> + </dependency> + <dependency> + <groupId>net.java.dev.jna</groupId> + <artifactId>jna</artifactId> + <version>5.5.0</version> + </dependency> + <dependency> + <groupId>net.java.dev.jna</groupId> + <artifactId>jna-platform</artifactId> + <version>5.5.0</version> + </dependency> + <!--commons-fileupload--> + <dependency> + <groupId>commons-fileupload</groupId> + <artifactId>commons-fileupload</artifactId> + <version>1.4</version> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.11.0</version> + </dependency> + <!--gdal--> + <dependency> + <groupId>org.gdal</groupId> + <artifactId>gdal</artifactId> + <version>3.2.0</version> + </dependency> + <!--zip4j--> + <dependency> + <groupId>net.lingala.zip4j</groupId> + <artifactId>zip4j</artifactId> + <version>2.6.4</version> + </dependency> + <!--easyexcel--> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>easyexcel</artifactId> + <version>2.2.10</version> + </dependency> + <!--access--> + <dependency> + <groupId>net.sf.ucanaccess</groupId> + <artifactId>ucanaccess</artifactId> + <version>5.0.1</version> + </dependency> + <!--war:servlet--> + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>javax.servlet-api</artifactId> + <version>3.1.0</version> + <scope>provided</scope> + </dependency> + <!--fast-md5--> + <dependency> + <groupId>com.joyent.util</groupId> + <artifactId>fast-md5</artifactId> + <version>2.7.1</version> + </dependency> + <!--apache.poi--> + <dependency> + <groupId>org.apache.poi</groupId> + <artifactId>poi-ooxml</artifactId> + <version>3.16</version> + </dependency> + <!--SQLite--> + <dependency> + <groupId>org.xerial</groupId> + <artifactId>sqlite-jdbc</artifactId> + <version>3.36.0.3</version> + </dependency> + </dependencies> + + <build> + <finalName>server</finalName> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <!--<version>2.3.0.RELEASE</version>--> + <configuration> + <mainClass>com.lf.server.LfApplication</mainClass> + </configuration> + </plugin> + </plugins> + </build> +</project> diff --git a/src/main/java/com/lf/server/LfApplication.java b/src/main/java/com/lf/server/LfApplication.java new file mode 100644 index 0000000..71a3bce --- /dev/null +++ b/src/main/java/com/lf/server/LfApplication.java @@ -0,0 +1,27 @@ +package com.lf.server; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +/** + * Land搴旂敤绋嬪簭 + * @author WWW + * 鎺掗櫎Security锛�, exclude = {SecurityAutoConfiguration.class, SecurityFilterAutoConfiguration.class} + * + * jar -> war锛氱户鎵� SpringBootServletInitializer锛屽疄鐜� configure 鍑芥暟 + */ +@EnableSwagger2 +@SpringBootApplication(scanBasePackages = {"com.lf.server.*"}) +public class LfApplication extends SpringBootServletInitializer { + public static void main(String[] args) { + SpringApplication.run(LfApplication.class, args); + } + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder springApplicationBuilder) { + return springApplicationBuilder.sources(LfApplication.class); + } +} diff --git a/src/main/java/com/lf/server/annotation/ExcelHead.java b/src/main/java/com/lf/server/annotation/ExcelHead.java new file mode 100644 index 0000000..b583354 --- /dev/null +++ b/src/main/java/com/lf/server/annotation/ExcelHead.java @@ -0,0 +1,25 @@ +package com.lf.server.annotation; + +import java.lang.annotation.*; + +/** + * Excel澶存敞瑙g被 + * @author WWW + */ +@Target(ElementType.TYPE) +@Retention(RetentionPolicy.RUNTIME) +public @interface ExcelHead { + /** + * Excel澶磋鏁� + * + * @return 澶磋鏁� + */ + int headRows() default 1; + + /** + * 鎺掗櫎鐨凷heet鍚嶇О锛堝涓敤閫楀彿闅斿紑锛� + * + * @return + */ + String excludeSheets() default ""; +} diff --git a/src/main/java/com/lf/server/annotation/SysLog.java b/src/main/java/com/lf/server/annotation/SysLog.java new file mode 100644 index 0000000..f712dbd --- /dev/null +++ b/src/main/java/com/lf/server/annotation/SysLog.java @@ -0,0 +1,14 @@ +package com.lf.server.annotation; + +import java.lang.annotation.*; + +/** + * 绯荤粺鏃ュ織娉ㄨВ绫� + * @author WWW + */ +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface SysLog { + String value() default ""; +} diff --git a/src/main/java/com/lf/server/aspect/LogAspect.java b/src/main/java/com/lf/server/aspect/LogAspect.java new file mode 100644 index 0000000..590876c --- /dev/null +++ b/src/main/java/com/lf/server/aspect/LogAspect.java @@ -0,0 +1,153 @@ +package com.lf.server.aspect; + +import com.lf.server.annotation.SysLog; +import com.lf.server.entity.sys.OperateEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.WebHelper; +import com.lf.server.service.sys.OperateService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.aspectj.lang.reflect.MethodSignature; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.servlet.http.HttpServletRequest; +import java.lang.reflect.Method; + +/** + * 鏃ュ織鍒囬潰绫� + * @author WWW + */ +@Aspect +@Component +public class LogAspect { + @Autowired + private TokenService tokenService; + + @Autowired + private OperateService operateService; + + private final static String SELECT = "select"; + + private final static String INSERT = "insert"; + + private final static String UPDATE = "update"; + + private final static String DELETE = "delete"; + + private final static String UPLOAD = "upload"; + + private final static String DOWNLOAD = "download"; + + private final static String COUNT = "count"; + + private final static String SPLIT = "\\\\"; + + private static final Log log = LogFactory.getLog(LogAspect.class); + + @Pointcut("@annotation(com.lf.server.annotation.SysLog)") + public void logPointCut() { + // + } + + /** + * 鐜粫閫氱煡 @Around锛屼篃鍙互浣跨敤 @Before (鍓嶇疆閫氱煡) 鎴� @After (鍚庣疆閫氱煡) + */ + @Around("logPointCut()") + public Object around(ProceedingJoinPoint point) throws Throwable { + long beginTime = System.currentTimeMillis(); + + // 鎵ц鏂规硶 + Object result = point.proceed(); + + // 鎵ц鏃堕暱(姣) + long time = System.currentTimeMillis() - beginTime; + + // 淇濆瓨鏃ュ織 + saveLog(point, time); + + return result; + } + + /** + * 淇濆瓨鏃ュ織 + */ + private void saveLog(ProceedingJoinPoint joinPoint, long time) { + try { + MethodSignature signature = (MethodSignature) joinPoint.getSignature(); + Class<?> clazz = joinPoint.getTarget().getClass(); + Method method = signature.getMethod(); + + HttpServletRequest req = WebHelper.getRequest(); + String url = req.getServletPath(); + + OperateEntity oe = new OperateEntity(); + oe.setIp(WebHelper.getIpAddress(req)); + oe.setUrl(url); + oe.setExec(time); + + // 璁剧疆妯″潡 + Api api = clazz.getAnnotation(Api.class); + if (api != null) { + String[] strs = api.tags()[0].split(SPLIT); + oe.setModular1(strs[0]); + oe.setModular2(strs[1]); + } + + // 璁剧疆绫诲悕\鏂规硶鍚嶃�佺被鍒� + oe.setClazz(clazz.getName() + "." + method.getName()); + oe.setType(getType(method.getName())); + + // 璁剧疆澶囨敞 + SysLog sysLog = method.getAnnotation(SysLog.class); + if (sysLog != null) { + oe.setBak(sysLog.value()); + } + + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + oe.setUserid(ue.getId()); + } + + operateService.insertOperate(oe); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + + /** + * 鑾峰彇鎿嶄綔绫诲瀷 + */ + private static int getType(String methodName) { + if (methodName.contains(SELECT)) { + return 1; + } + if (methodName.contains(INSERT)) { + return 2; + } + if (methodName.contains(UPDATE)) { + return 3; + } + if (methodName.contains(DELETE)) { + return 4; + } + if (methodName.contains(UPLOAD)) { + return 5; + } + if (methodName.contains(DOWNLOAD)) { + return 6; + } + // methodName.indexOf(COUNT) > -1 + if (methodName.contains(COUNT)) { + return 7; + } + + return 0; + } +} diff --git a/src/main/java/com/lf/server/config/InitConfig.java b/src/main/java/com/lf/server/config/InitConfig.java new file mode 100644 index 0000000..4b4e83c --- /dev/null +++ b/src/main/java/com/lf/server/config/InitConfig.java @@ -0,0 +1,51 @@ +package com.lf.server.config; + +import com.lf.server.helper.*; +import com.lf.server.service.all.TestService; +import com.lf.server.service.all.UploadAttachService; +import com.lf.server.service.sys.ArgsService; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.core.env.Environment; +import org.springframework.stereotype.Component; + +/** + * 鍒濆鍖栧畬鎴愰厤缃被 + * @author WWW + */ +@Component +public class InitConfig implements ApplicationRunner { + private final static Log log = LogFactory.getLog(InitConfig.class); + + @Autowired + PathHelper pathHelper; + + @Autowired + ArgsService argsService; + + @Autowired + Environment env; + + //@Autowired + //TestService testService; + + @Override + public void run(ApplicationArguments args) { + // noinspection AlibabaRemoveCommentedCode + try { + GdalHelper.init(env.getProperty("sys.gdal_path")); + UploadAttachService.init(env.getProperty("sys.attachTabs")); + + //testService.testRegister(); + pathHelper.init(); + argsService.initSettingData(); + + log.info("***************** 绯荤粺鍚姩瀹屾瘯 *****************" + "\n"); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } +} diff --git a/src/main/java/com/lf/server/config/MultipartFileUploadConfig.java b/src/main/java/com/lf/server/config/MultipartFileUploadConfig.java new file mode 100644 index 0000000..0ca3012 --- /dev/null +++ b/src/main/java/com/lf/server/config/MultipartFileUploadConfig.java @@ -0,0 +1,18 @@ +package com.lf.server.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.multipart.MultipartResolver; +import org.springframework.web.multipart.support.StandardServletMultipartResolver; + +/** + * 澶氭枃浠朵笂浼犻厤缃� + * @author WWW + */ +@Configuration +public class MultipartFileUploadConfig { + @Bean + public MultipartResolver multipartResolver() { + return new StandardServletMultipartResolver(); + } +} diff --git a/src/main/java/com/lf/server/config/MybatisPlusConfig.java b/src/main/java/com/lf/server/config/MybatisPlusConfig.java new file mode 100644 index 0000000..4f24e18 --- /dev/null +++ b/src/main/java/com/lf/server/config/MybatisPlusConfig.java @@ -0,0 +1,52 @@ +package com.lf.server.config; + +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer; +import com.baomidou.mybatisplus.core.MybatisConfiguration; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import com.lf.server.extend.CustomizedSqlInjector; +import org.apache.ibatis.type.JdbcType; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +/** + * Mybatis-Plus鍒嗛〉閰嶇疆 + * @author WWW + */ +@EnableTransactionManagement +@Configuration +@MapperScan("com.lf.server.mapper") +public class MybatisPlusConfig { + /** + * 鏂扮殑鍒嗛〉鎻掍欢,涓�缂撳拰浜岀紦閬靛惊mybatis鐨勮鍒�,闇�瑕佽缃� + * MybatisConfiguration#useDeprecatedExecutor = false + * 閬垮厤缂撳瓨鍑虹幇闂(璇ュ睘鎬т細鍦ㄦ棫鎻掍欢绉婚櫎鍚庝竴鍚岀Щ闄�) + */ + @Bean + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.POSTGRE_SQL)); + return interceptor; + } + + @Bean + public ConfigurationCustomizer configurationCustomizer() { + return new ConfigurationCustomizer() { + @Override + public void customize(MybatisConfiguration configuration) { + configuration.setCacheEnabled(true); + configuration.setMapUnderscoreToCamelCase(true); + configuration.setCallSettersOnNulls(true); + configuration.setJdbcTypeForNull(JdbcType.NULL); + } + }; + } + + @Bean + public CustomizedSqlInjector customizedSqlInjector() { + return new CustomizedSqlInjector(); + } +} diff --git a/src/main/java/com/lf/server/config/PropertiesConfig.java b/src/main/java/com/lf/server/config/PropertiesConfig.java new file mode 100644 index 0000000..7b2297f --- /dev/null +++ b/src/main/java/com/lf/server/config/PropertiesConfig.java @@ -0,0 +1,54 @@ +package com.lf.server.config; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; + +/** + * 灞炴�ч厤缃被 + * @author WWW + */ +@Configuration +@SuppressWarnings("AlibabaCommentsMustBeJavadocFormat") +public class PropertiesConfig { + @Value("${sys.path.download}") + private String downloadPath; + + @Value("${sys.path.upload}") + private String uploadPath; + + @Value("${sys.path.temp}") + private String tempPath; + + // @Value("${spring.datasource.druid.stat-view-servlet.login-username}") + private String druidUser; + + // @Value("${spring.datasource.druid.stat-view-servlet.login-password}") + private String druidPwd; + + @Value("${sys.tile_path}") + private String tilePath; + + public String getDownloadPath() { + return downloadPath; + } + + public String getUploadPath() { + return uploadPath; + } + + public String getTempPath() { + return tempPath; + } + + public String getDruidUser() { + return druidUser; + } + + public String getDruidPwd() { + return druidPwd; + } + + public String getTilePath() { + return tilePath; + } +} diff --git a/src/main/java/com/lf/server/config/RedisConfig.java b/src/main/java/com/lf/server/config/RedisConfig.java new file mode 100644 index 0000000..2cdb276 --- /dev/null +++ b/src/main/java/com/lf/server/config/RedisConfig.java @@ -0,0 +1,94 @@ +package com.lf.server.config; + +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.PropertyAccessor; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.boot.autoconfigure.AutoConfigureAfter; +import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; +import org.springframework.cache.Cache; +import org.springframework.cache.annotation.CachingConfigurerSupport; +import org.springframework.cache.interceptor.CacheErrorHandler; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; +import org.springframework.data.redis.serializer.StringRedisSerializer; + +import java.util.HashMap; +import java.util.Map; + +/** + * Redis閰嶇疆绫� + * @author WWW + */ +@Configuration +@AutoConfigureAfter(RedisAutoConfiguration.class) +public class RedisConfig extends CachingConfigurerSupport { + /** + * 閰嶇疆鑷畾涔塺edisTemplate + */ + @SuppressWarnings("deprecation") + @Bean + public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) { + RedisTemplate<String, Object> template = new RedisTemplate<>(); + template.setConnectionFactory(redisConnectionFactory); + + // 浣跨敤Jackson2JsonRedisSerializer鏉ュ簭鍒楀寲鍜屽弽搴忓垪鍖杛edis鐨剉alue鍊� + Jackson2JsonRedisSerializer<Object> serializer = new Jackson2JsonRedisSerializer<Object>(Object.class); + + ObjectMapper mapper = new ObjectMapper(); + mapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); + mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); + serializer.setObjectMapper(mapper); + + template.setValueSerializer(serializer); + + //浣跨敤StringRedisSerializer鏉ュ簭鍒楀寲鍜屽弽搴忓垪鍖杛edis鐨刱ey鍊� + template.setKeySerializer(new StringRedisSerializer()); + template.setHashKeySerializer(new StringRedisSerializer()); + template.setHashValueSerializer(serializer); + template.afterPropertiesSet(); + + return template; + } + + @Bean + @Override + public CacheErrorHandler errorHandler() { + // 寮傚父澶勭悊锛屽綋Redis鍙戠敓寮傚父鏃讹紝鎵撳嵃鏃ュ織锛屼絾鏄▼搴忔甯歌蛋 + return new CacheErrorHandler() { + @Override + public void handleCacheGetError(RuntimeException e, Cache cache, Object key) { + Map<String, Object> error = new HashMap<String, Object>(3); + error.put("e", e); + error.put("cache", cache); + error.put("key", key); + } + + @Override + public void handleCachePutError(RuntimeException e, Cache cache, Object key, Object value) { + Map<String, Object> error = new HashMap<String, Object>(4); + error.put("e", e); + error.put("cache", cache); + error.put("key", key); + error.put("value", value); + } + + @Override + public void handleCacheEvictError(RuntimeException e, Cache cache, Object key) { + Map<String, Object> error = new HashMap<String, Object>(3); + error.put("e", e); + error.put("cache", cache); + error.put("key", key); + } + + @Override + public void handleCacheClearError(RuntimeException e, Cache cache) { + Map<String, Object> error = new HashMap<String, Object>(2); + error.put("e", e); + error.put("cache", cache); + } + }; + } +} diff --git a/src/main/java/com/lf/server/config/RestTemplateConfig.java b/src/main/java/com/lf/server/config/RestTemplateConfig.java new file mode 100644 index 0000000..403dce2 --- /dev/null +++ b/src/main/java/com/lf/server/config/RestTemplateConfig.java @@ -0,0 +1,100 @@ +package com.lf.server.config; + +import org.apache.http.client.HttpClient; +import org.apache.http.impl.client.HttpClientBuilder; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.client.ClientHttpRequestFactory; +import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; +import org.springframework.http.client.SimpleClientHttpRequestFactory; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.StringHttpMessageConverter; +import org.springframework.web.client.RestTemplate; + +import java.nio.charset.StandardCharsets; +import java.util.List; + +/** + * Rest妯℃澘閰嶇疆绫� + * @author WWW + */ +@Configuration +@ConditionalOnClass(value = {RestTemplate.class, HttpClient.class}) +public class RestTemplateConfig { + /** + * 杩炴帴姹犵殑鏈�澶ц繛鎺ユ暟榛樿涓�0 + */ + @Value("${remote.maxTotalConnect:0}") + private int maxTotalConnect; + + /** + * 鍗曚釜涓绘満鐨勬渶澶ц繛鎺ユ暟 + */ + @Value("${remote.maxConnectPerRoute:1000}") + private int maxConnectPerRoute; + + /** + * 杩炴帴瓒呮椂榛樿5s + */ + @Value("${remote.connectTimeout:5000}") + private int connectTimeout; + + /** + * 璇诲彇瓒呮椂榛樿30s + */ + @Value("${remote.readTimeout:30000}") + private int readTimeout; + + /** + * 鍒涘缓HTTP瀹㈡埛绔伐鍘� + * + * @return 瀹㈡埛绔伐鍘� + */ + private ClientHttpRequestFactory createFactory() { + if (this.maxTotalConnect <= 0) { + SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); + factory.setConnectTimeout(this.connectTimeout); + factory.setReadTimeout(this.readTimeout); + return factory; + } + + HttpClient httpClient = HttpClientBuilder.create().setMaxConnTotal(this.maxTotalConnect).setMaxConnPerRoute(this.maxConnectPerRoute).build(); + + HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpClient); + factory.setConnectTimeout(this.connectTimeout); + factory.setReadTimeout(this.readTimeout); + + return factory; + } + + /** + * 鍒濆鍖朢estTemplate,骞跺姞鍏pring鐨凚ean宸ュ巶锛岀敱spring缁熶竴绠$悊 + * 蹇呴』鍔犳敞瑙LoadBalanced + * + * @return + */ + @Bean + @ConditionalOnMissingBean(RestTemplate.class) + public RestTemplate getRestTemplate() { + RestTemplate restTemplate = new RestTemplate(this.createFactory()); + List<HttpMessageConverter<?>> converterList = restTemplate.getMessageConverters(); + + // 閲嶆柊璁剧疆StringHttpMessageConverter瀛楃闆嗕负UTF-8锛岃В鍐充腑鏂囦贡鐮侀棶棰� + HttpMessageConverter<?> converterTarget = null; + for (HttpMessageConverter<?> item : converterList) { + if (StringHttpMessageConverter.class == item.getClass()) { + converterTarget = item; + break; + } + } + if (null != converterTarget) { + converterList.remove(converterTarget); + } + converterList.add(1, new StringHttpMessageConverter(StandardCharsets.UTF_8)); + + return restTemplate; + } +} diff --git a/src/main/java/com/lf/server/config/ScheduleConfig.java b/src/main/java/com/lf/server/config/ScheduleConfig.java new file mode 100644 index 0000000..1fbe663 --- /dev/null +++ b/src/main/java/com/lf/server/config/ScheduleConfig.java @@ -0,0 +1,117 @@ +package com.lf.server.config; + +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.lf.server.entity.data.FmeLogEntity; +import com.lf.server.service.all.ScheduleService; +import com.lf.server.service.all.WebSocketService; +import com.lf.server.service.sys.AttachService; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 鏃ョ▼閰嶇疆绫� + * @author WWW + */ +@Component +@EnableScheduling +public class ScheduleConfig { + @Autowired + AttachService attachService; + + @Autowired + ScheduleService scheduleService; + + private static boolean isBusy = false; + + private static final Log log = LogFactory.getLog(ScheduleConfig.class); + + @Scheduled(fixedRate = 15 * 1000) + public void pushMonitorInfo() { + try { + JSONObject jsonObject = new JSONObject(); + + // 鏌ヨCpu淇℃伅 + jsonObject.put("cpuInfo", scheduleService.selectCpuInfo()); + // 鏌ヨ鍐呭瓨淇℃伅 + jsonObject.put("memInfo", scheduleService.selectMemInfo()); + // 鏌ヨ鍦ㄧ嚎鐢ㄦ埛 + jsonObject.put("userInfo", scheduleService.selectOnlineUsers()); + + String json = JSONObject.toJSONStringWithDateFormat(jsonObject, "yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue); + + WebSocketService.broadCastInfo(json); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + + @Scheduled(fixedRate = 30 * 1000) + public void checkSystemStatus() { + try { + JSONObject jsonObject = new JSONObject(); + + // 鏌ヨ鏈嶅姟璧勬簮鐘舵�� + jsonObject.put("resInfo", scheduleService.selectResStatus()); + + String json = JSONObject.toJSONStringWithDateFormat(jsonObject, "yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue); + + WebSocketService.broadCastInfo(json); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + + @Scheduled(fixedRate = 30 * 1000) + public void countSystemStatus() { + // noinspection AlibabaRemoveCommentedCode + try { + JSONObject jsonObject = new JSONObject(); + + // 鏈嶅姟璧勬簮鐘舵�� sys_res + jsonObject.put("resUseCount", scheduleService.countResStatus()); + + // 鐢ㄦ埛鐧诲綍鐘舵�� sys_login + jsonObject.put("userLoginCount", scheduleService.userLoginCount()); + + // 璧勬簮鎿嶄綔鐘舵�� sys_operate + jsonObject.put("operateCount", scheduleService.operateCount()); + + // 璧勬簮璋冪敤鐘舵�� + String json = JSONObject.toJSONStringWithDateFormat(jsonObject, "yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue); + + WebSocketService.broadCastInfo(json); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + + /** + * 鍚屾闄勪欢 + */ + @Scheduled(fixedRate = 30 * 1000) + public void syncAttaches() { + try { + List<FmeLogEntity> list = attachService.selectFmeLogs(); + if (isBusy || null == list || list.isEmpty()) { + return; + } + + isBusy = true; + for (FmeLogEntity entity : list) { + attachService.syncAttaches(entity); + attachService.updateFmeLog(entity.getId()); + } + isBusy = false; + } catch (Exception ex) { + isBusy = false; + log.error(ex.getMessage(), ex); + } + } +} diff --git a/src/main/java/com/lf/server/config/SwaggerConfig.java b/src/main/java/com/lf/server/config/SwaggerConfig.java new file mode 100644 index 0000000..5619012 --- /dev/null +++ b/src/main/java/com/lf/server/config/SwaggerConfig.java @@ -0,0 +1,66 @@ +package com.lf.server.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.*; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spi.service.contexts.SecurityContext; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +import java.util.ArrayList; +import java.util.List; + +/** + * Swagger閰嶇疆绫� + * @author www + */ +@Configuration +@EnableSwagger2 +public class SwaggerConfig { + private List<ApiKey> securitySchemes() { + List<ApiKey> apiKeys = new ArrayList<ApiKey>(); + apiKeys.add(new ApiKey("Authorization", "token", "header")); + + return apiKeys; + } + + private List<SecurityContext> securityContexts() { + List<SecurityContext> securityContexts = new ArrayList<>(); + securityContexts.add(SecurityContext.builder() + .securityReferences(defaultAuth()) + .forPaths(PathSelectors.regex("^(?!auth).*$")).build()); + + return securityContexts; + } + + private List<SecurityReference> defaultAuth() { + AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything"); + AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; + authorizationScopes[0] = authorizationScope; + List<SecurityReference> securityReferences = new ArrayList<>(); + securityReferences.add(new SecurityReference("Authorization", authorizationScopes)); + + return securityReferences; + } + + @Bean + public Docket createRestApi() { + return new Docket(DocumentationType.SWAGGER_2) + .apiInfo(apiInfo()).select() + .apis(RequestHandlerSelectors.basePackage("com.lf.server.controller")) + //.securitySchemes(securitySchemes()) + //.securityContexts(securityContexts()) + .paths(PathSelectors.any()).build(); + } + + private ApiInfo apiInfo() { + return new ApiInfoBuilder() + .title("Spring Boot鎺ュ彛API") + .description("Spring Boot鎺ュ彛API鏌ョ湅") + .version("1.0").build(); + } +} diff --git a/src/main/java/com/lf/server/config/WebConfig.java b/src/main/java/com/lf/server/config/WebConfig.java new file mode 100644 index 0000000..3d11745 --- /dev/null +++ b/src/main/java/com/lf/server/config/WebConfig.java @@ -0,0 +1,110 @@ +package com.lf.server.config; + +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.alibaba.fastjson.support.config.FastJsonConfig; +import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; +import com.lf.server.interceptor.AuthInterceptor; +import com.lf.server.service.all.SysService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.Ordered; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.util.AntPathMatcher; +import org.springframework.web.servlet.config.annotation.*; + +import java.nio.charset.Charset; +import java.util.List; + +/** + * Web閰嶇疆绫� + * @author WWW + */ +@Configuration +public class WebConfig extends WebMvcConfigurationSupport { + @Autowired + private SysService sysService; + + @Override + public void addViewControllers(ViewControllerRegistry registry) { + // 璁剧疆璁块棶璺緞涓� 鈥�/鈥� 璺宠浆鍒版寚瀹氶〉闈� + registry.addViewController("/").setViewName("redirect:/sign/toIndex"); + // 璁剧疆涓烘渶楂樹紭鍏堢骇 + registry.setOrder(Ordered.HIGHEST_PRECEDENCE); + } + + /** + * 鑾峰彇鎷︽埅鍣ㄥ璞� + * + * @return + */ + public AuthInterceptor getAuthBean() { + return new AuthInterceptor(sysService); + } + + /** + * swagger鎺у埗 + */ + @Override + protected void addResourceHandlers(ResourceHandlerRegistry registry) { + registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); + registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/"); + registry.addResourceHandler("/**").addResourceLocations("classpath:/static/"); + super.addResourceHandlers(registry); + } + + /** + * 蹇界暐url鍦板潃澶у皬鍐� + */ + @Override + protected void configurePathMatch(PathMatchConfigurer configurer) { + AntPathMatcher matcher = new AntPathMatcher(); + matcher.setCaseSensitive(false); + + configurer.setPathMatcher(matcher); + } + + /** + * 璺ㄥ煙璇锋眰 + */ + @Override + protected void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") + .allowCredentials(true) + .allowedOrigins("*") + .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") + .allowedHeaders("*") + .maxAge(3600); + } + + /** + * 娣诲姞缁熶竴鐨勬嫤鎴櫒 + */ + @Override + protected void addInterceptors(InterceptorRegistry registry) { + registry.addInterceptor(getAuthBean()) + // .excludePathPatterns("/swagger", "/webjars/**", "/v2/**", "/sign/**") + .addPathPatterns("/**"); + super.addInterceptors(registry); + } + + /** + * 澶勭悊json鏍煎紡锛屽�糿ull鐨勮浆鎹负"" + */ + @Override + public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { + FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); + FastJsonConfig config = new FastJsonConfig(); + config.setSerializerFeatures( + SerializerFeature.WriteNullListAsEmpty, + SerializerFeature.WriteMapNullValue, + //SerializerFeature.WriteNullStringAsEmpty, + SerializerFeature.WriteNullNumberAsZero, + SerializerFeature.WriteNullBooleanAsFalse); + // 缁撴灉鏄惁鏍煎紡鍖�,榛樿涓篺alse + //SerializerFeature.PrettyFormat); + + converter.setFastJsonConfig(config); + converter.setDefaultCharset(Charset.forName("UTF-8")); + converters.add(converter); + } +} diff --git a/src/main/java/com/lf/server/config/WebSocketConfig.java b/src/main/java/com/lf/server/config/WebSocketConfig.java new file mode 100644 index 0000000..9c1d3a2 --- /dev/null +++ b/src/main/java/com/lf/server/config/WebSocketConfig.java @@ -0,0 +1,21 @@ +package com.lf.server.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.stereotype.Component; +import org.springframework.web.socket.server.standard.ServerEndpointExporter; + +/** + * WebSocket閰嶇疆绫� + * @author WWW + */ +@Component +public class WebSocketConfig { + /** + * 鑷姩娉ㄥ唽浣跨敤@ServerEndpoint + */ + @Bean + public ServerEndpointExporter serverEndpointExporter() { + return new ServerEndpointExporter(); + } +} diff --git a/src/main/java/com/lf/server/controller/all/BaseController.java b/src/main/java/com/lf/server/controller/all/BaseController.java new file mode 100644 index 0000000..a9c26d0 --- /dev/null +++ b/src/main/java/com/lf/server/controller/all/BaseController.java @@ -0,0 +1,44 @@ +package com.lf.server.controller.all; + +import com.lf.server.entity.all.HttpStatus; +import com.lf.server.entity.all.ResponseMsg; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * Controller鍩虹被 + * @author WWW + */ +public class BaseController { + public Log log = LogFactory.getLog(getClass()); + + public <T> ResponseMsg<T> success(T result) { + return new ResponseMsg<T>(HttpStatus.OK, result); + } + + public <T> ResponseMsg<T> success(String msg, T result) { + return new ResponseMsg<T>(HttpStatus.OK, msg, result); + } + + public <T> ResponseMsg<T> success(long count, T result) { + return new ResponseMsg<T>(HttpStatus.OK, count, result); + } + + public <T> ResponseMsg<T> success(String msg, long count, T result) { + return new ResponseMsg<T>(HttpStatus.OK, msg, count, result); + } + + public <T> ResponseMsg<T> fail(T result) { + return new ResponseMsg<T>(HttpStatus.ERROR, result); + } + + public <T> ResponseMsg<T> fail(String msg, T result) { + return new ResponseMsg<T>(HttpStatus.ERROR, msg, result); + } + + public <T> ResponseMsg<T> fail(Exception ex, T result) { + log.error(ex.getMessage(), ex); + + return new ResponseMsg<T>(HttpStatus.ERROR, ex.getMessage(), result); + } +} diff --git a/src/main/java/com/lf/server/controller/all/BaseQueryController.java b/src/main/java/com/lf/server/controller/all/BaseQueryController.java new file mode 100644 index 0000000..f116f94 --- /dev/null +++ b/src/main/java/com/lf/server/controller/all/BaseQueryController.java @@ -0,0 +1,776 @@ +package com.lf.server.controller.all; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.lf.server.annotation.SysLog; +import com.lf.server.entity.all.BaseGeoEntity; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.ctrl.DownloadReqEntity; +import com.lf.server.entity.ctrl.IdNameEntity; +import com.lf.server.entity.ctrl.KeyValueEntity; +import com.lf.server.entity.ctrl.TabEntity; +import com.lf.server.entity.data.*; +import com.lf.server.entity.sys.AttachEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.AesHelper; +import com.lf.server.helper.ClassHelper; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.all.BasicMapper; +import com.lf.server.mapper.all.GeomBaseMapper; +import com.lf.server.service.all.BaseQueryService; +import com.lf.server.service.data.DictService; +import com.lf.server.service.data.DirService; +import com.lf.server.service.data.DownloadService; +import com.lf.server.service.data.MetaService; +import com.lf.server.service.show.DataLibService; +import com.lf.server.service.sys.AttachService; +import com.lf.server.service.sys.DepService; +import com.lf.server.service.sys.DownlogService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.List; + +/** + * 鐖舵煡璇㈡帶鍒跺櫒 + * @author WWW + */ +public class BaseQueryController extends BaseController { + @Autowired + AttachService attachService; + + @Autowired + TokenService tokenService; + + @Autowired + DepService depService; + + @Autowired + DirService dirService; + + @Autowired + MetaService metaService; + + @Autowired + DataLibService dataLibService; + + @Autowired + public DownlogService downlogService; + + @Autowired + public DownloadService downloadService; + + @Autowired + BaseQueryService baseQueryService; + + @Autowired + DictService dictService; + + @SysLog() + @ApiOperation(value = "鏌ヨ璁板綍鏁�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鏄犲皠鍚嶇О", dataType = "String", paramType = "query", example = "dlgagnp"), + @ApiImplicitParam(name = "filter", value = "杩囨护鏉′欢", dataType = "String", paramType = "query", example = "gid >= 50 and name like '鍘�' and objectid < 5000.0"), + @ApiImplicitParam(name = "wkt", value = "WKT锛堣憲鍚嶆枃鏈級", dataType = "String", paramType = "query", example = "gAPpDbZ53XfoQfvT8dj/uhBWX5os8kBJQ1LrNvH3VX7byFQdUJMPiEr8Fkj0q2i1pw+L8KFrvR0MLXq2xaO21nlQQXmEPofJxpDQZwEWUIFZsToXo1kLRD3t6WQezxWB8YTzXHM20Ba73x/ZuuezVhOFOq1U8HKf1dXQdv7gBzEB6fWMmFDc3FuH8GDDHv3LfT86Gio9VgMO6ohlrUdf3ZKtTHeLSuzGF4t0RZuX97YBNo25IIzpeTfRTXBxfdxA") + }) + @GetMapping(value = "/selectCount") + @PostMapping(value = "/selectCount") + public ResponseMsg<Long> selectCount(String name, String filter, String wkt) { + try { + BasicMapper baseMapper = ClassHelper.getBasicMapper(name); + if (baseMapper == null) { + return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + } + + QueryWrapper wrapper = new QueryWrapper(); + baseQueryService.addFilterWrapper(wrapper, filter); + baseQueryService.addGeomWrapper(baseMapper, wrapper, wkt); + + long count = baseMapper.selectCount(wrapper); + + return success(count); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鏄犲皠鍚嶇О", dataType = "String", paramType = "query", example = "dlgagnp"), + @ApiImplicitParam(name = "depcode", value = "鍗曚綅缂栫爜", dataType = "String", paramType = "query", example = "00"), + @ApiImplicitParam(name = "dirs", value = "鐩綍缂栫爜", dataType = "String", paramType = "query", example = "00,01"), + @ApiImplicitParam(name = "filter", value = "杩囨护鏉′欢", dataType = "String", paramType = "query", example = "gid >= 50 and name like '鍘�' and objectid < 5000.0"), + @ApiImplicitParam(name = "wkt", value = "WKT锛堣憲鍚嶆枃鏈級", dataType = "String", paramType = "query", example = ""), + //@ApiImplicitParam(name = "srid", value = "绌洪棿寮曠敤鏍囪瘑绗�", dataType = "Integer", paramType = "query", example = "4326"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "hasGeom", value = "鏄�/鍚﹀寘鍚┖闂翠俊鎭�", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPage") + @PostMapping(value = "/selectByPage") + public ResponseMsg<List<Object>> selectByPage(String name, String depcode, String dirs, String filter, String wkt, Integer pageIndex, Integer pageSize, Integer hasGeom) { + try { + BasicMapper baseMapper = ClassHelper.getBasicMapper(name); + if (null == baseMapper) { + return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + } + + QueryWrapper wrapper = new QueryWrapper(); + baseQueryService.addFilterWrapper(wrapper, filter); + baseQueryService.addGeomWrapper(baseMapper, wrapper, wkt); + if (!StringHelper.isEmpty(depcode)) { + wrapper.likeRight("depid", depcode); + } + + dirs = DataLibService.copeCodes(dirs, "dirid"); + if (!StringHelper.isEmpty(dirs)) { + wrapper.apply(dirs); + } + + boolean hasWkt = null != hasGeom && hasGeom > 0 && baseMapper instanceof GeomBaseMapper; + if (hasWkt) { + wrapper.select("ST_AsText(geom) as geom, *"); + } + + Page<Object> page = new Page<>(pageIndex, pageSize); + page.addOrder(OrderItem.desc("gid")); + IPage<Object> paged = baseMapper.selectPage(page, wrapper); + if (hasWkt && null != paged.getRecords()) { + copeWkt(paged.getRecords()); + } + + return success(paged.getTotal(), paged.getRecords()); + } catch (Exception ex) { + return fail(ex, null); + } + } + + /** + * 澶勭悊WKT + */ + private void copeWkt(List<?> list) { + for (int i = 0, c = list.size(); i < c; i++) { + Object obj = list.get(i); + setWktEncrypt(obj); + } + } + + /** + * 璁剧疆WKT鍔犲瘑 + */ + private void setWktEncrypt(Object obj) { + if (obj instanceof BaseGeoEntity) { + BaseGeoEntity entity = (BaseGeoEntity) obj; + if (StringHelper.isEmpty(entity.getGeom())) { + return; + } + + try { + String wkt = AesHelper.encrypt(entity.getGeom()); + entity.setGeom(wkt); + } catch (Exception ex) { + entity.setGeom(null); + log.error(ex.getMessage(), ex); + } + } + } + + @SysLog() + @ApiOperation(value = "缂撳啿鍖烘煡璇�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鏄犲皠鍚嶇О", dataType = "String", paramType = "query", example = "dlgagnp"), + @ApiImplicitParam(name = "wkt", value = "WKT锛堣憲鍚嶆枃鏈級", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "buffer", value = "缂撳啿鍖哄ぇ灏�", dataType = "Double", paramType = "query", example = "10"), + @ApiImplicitParam(name = "limit", value = "闄愬埗鏉℃暟", dataType = "Integer", paramType = "query", example = "20") + }) + @GetMapping(value = "/selectByBuffer") + public ResponseMsg<List<?>> selectByBuffer(String name, String wkt, Double buffer, Integer limit) { + try { + if (StringHelper.isEmpty(wkt)) { + return fail("WKT涓嶈兘涓虹┖", null); + } + if (null == limit || limit < 1 || limit > StaticData.ONE_HUNDRED) { + limit = 20; + } + if (null == buffer || buffer < 0 || buffer > StaticData.ONE_HUNDRED_THOUSAND) { + buffer = 10.0; + } + + GeomBaseMapper baseMapper = ClassHelper.getGeoBaseMapper(name); + if (baseMapper == null) { + return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + } + + QueryWrapper wrapper = new QueryWrapper(); + wrapper.select("ST_AsText(geom) as geom, *"); + baseQueryService.addBufferWrapper(baseMapper, wrapper, wkt, buffer); + wrapper.last("limit " + limit); + + List<?> list = baseMapper.selectList(wrapper); + + return success(null == list ? 0 : list.size(), list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁鐖禝D鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "metaid", value = "鐖禝D", dataType = "String", paramType = "query", example = "0"), + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectPageAndCountByPid") + public ResponseMsg<List<MetaEntity>> selectPageAndCountByPid(Integer metaid, String name, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + if (null == metaid || metaid < 1) { + return fail("鐖禝D涓嶈兘涓虹┖涓斿ぇ浜�1", null); + } + + int count = metaService.selectCountByPid(metaid, name); + if (count == 0) { + return success(0, null); + } + + List<MetaEntity> rs = metaService.selectPageByPid(metaid, name, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨWKT") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鏄犲皠鍚嶇О", dataType = "String", paramType = "query", example = "dlgagnp"), + @ApiImplicitParam(name = "gid", value = "GID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectWktById") + public ResponseMsg<String> selectWktById(String name, Integer gid) { + try { + GeomBaseMapper baseMapper = ClassHelper.getGeoBaseMapper(name); + if (null == baseMapper) { + return fail("鏌ヨ瀵硅薄涓嶅瓨鍦ㄦ垨涓嶆槸绌洪棿琛�", null); + } + + String tab = BaseQueryService.getTabName(baseMapper); + if (StringHelper.isNull(tab)) { + return fail("鏌ヨ瀵硅薄鐨勮〃鍚嶄笉瀛樺湪", null); + } + + String wkt = baseMapper.selectWktById(tab, gid); + if (!StringHelper.isEmpty(wkt)) { + wkt = AesHelper.encrypt(wkt); + } + + return success(wkt); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁GID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鏄犲皠鍚嶇О", dataType = "String", paramType = "query", example = "dlgagnp"), + @ApiImplicitParam(name = "gid", value = "GID", dataType = "int", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByGid") + public ResponseMsg<Object> selectByGid(String name, int gid) { + try { + BasicMapper baseMapper = ClassHelper.getBasicMapper(name); + if (null == baseMapper) { + return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + } + + QueryWrapper wrapper = new QueryWrapper(); + if (baseMapper instanceof GeomBaseMapper) { + wrapper.select("ST_AsText(geom) as geom, *"); + } + wrapper.eq("gid", gid); + + Object obj = baseMapper.selectOne(wrapper); + setWktEncrypt(obj); + + return success(null == obj ? 0 : 1, obj); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁瀹炰綋鍚嶆煡璇㈣〃鍚�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鏄犲皠鍚嶇О", dataType = "String", paramType = "query", example = "dlgagnp") + }) + @GetMapping(value = "/selectTabByEntity") + public ResponseMsg<Object> selectTabByEntity(String name) { + try { + BasicMapper baseMapper = ClassHelper.getBasicMapper(name); + if (baseMapper == null) { + return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + } + + String tab = BaseQueryService.getTabName(baseMapper); + + return success(tab); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "妯$硦鎼滅储瀛楁") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鏄犲皠鍚嶇О", dataType = "String", paramType = "query", example = "dlgagnp"), + @ApiImplicitParam(name = "field", value = "瀛楁", dataType = "String", paramType = "query", example = "name"), + @ApiImplicitParam(name = "value", value = "鍊�", dataType = "String", paramType = "query", example = "'鍘�'") + }) + @GetMapping(value = "/selectFieldFuzzy") + public ResponseMsg<List<String>> selectFieldFuzzy(String name, String field, String value) { + try { + BasicMapper baseMapper = ClassHelper.getBasicMapper(name); + if (baseMapper == null) { + return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + } + + String tab = BaseQueryService.getTabName(baseMapper); + if (StringHelper.isNull(tab)) { + return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + } + if (StringHelper.isEmpty(field) || StringHelper.isSqlInjection(field)) { + return fail("鏌ヨ瀛楁涓嶆纭�", null); + } + + value = StringHelper.isEmpty(value) ? "%" : StringHelper.getLikeUpperStr(value); + List<String> rs = baseMapper.selectFieldFuzzy(tab, field, value); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "妯$硦鎼滅储鐢ㄦ埛") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鐢ㄦ埛鍚�", dataType = "String", paramType = "query", example = "瀹�") + }) + @GetMapping(value = "/selectUserFuzzy") + public ResponseMsg<List<IdNameEntity>> selectUserFuzzy(String name) { + try { + List<IdNameEntity> rs = baseQueryService.selectUserFuzzy(name); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "妯$硦鎼滅储鍗曚綅") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍗曚綅鍚�", dataType = "String", paramType = "query", example = "鍙�") + }) + @GetMapping(value = "/selectDepFuzzy") + public ResponseMsg<List<IdNameEntity>> selectDepFuzzy(String name) { + try { + List<IdNameEntity> rs = baseQueryService.selectDepFuzzy(name); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈夎〃") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "鐐�"), + @ApiImplicitParam(name = "hasGeom", value = "鍚湁Geom瀛楁", dataType = "Boolean", paramType = "query", example = "false") + }) + @GetMapping(value = "/selectTabs") + public ResponseMsg<List<TabEntity>> selectTabs(String name, Boolean hasGeom) { + try { + List<TabEntity> list = dictService.selectDictTab(name, null == hasGeom || !hasGeom ? "gid" : "geom"); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁琛ㄥ悕鍒嗛〉鏌ヨ琛�") + @GetMapping(value = "/selectTabsByPage") + @ApiImplicitParams({ + @ApiImplicitParam(name = "depcode", value = "鍗曚綅缂栫爜", dataType = "String", paramType = "query", example = "00"), + @ApiImplicitParam(name = "dirs", value = "鐩綍缂栫爜", dataType = "String", paramType = "query", example = "00,01"), + @ApiImplicitParam(name = "tab", value = "琛ㄥ悕", dataType = "String", paramType = "query", example = "dlg_"), + @ApiImplicitParam(name = "hasGeom", value = "鍚湁Geom瀛楁", dataType = "Boolean", paramType = "query", example = "false"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + public ResponseMsg<Object> selectTabsByPage(String depcode, String dirs, String tab, Boolean hasGeom, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + if (StringHelper.isSqlInjection(depcode)) { + return fail("鍗曚綅浠g爜鍚湁闈炴硶瀛楃", null); + } + + String filters = "1=1"; + if (!StringHelper.isEmpty(depcode)) { + filters += String.format(" and depid like '%s%%'", depcode); + } + dirs = DataLibService.copeCodes(dirs, "dirid"); + if (dirs != null) { + filters += String.format(" and %s", dirs); + } + + String field = null == hasGeom || !hasGeom ? "gid" : "geom"; + int count = baseQueryService.selectTabsForCount(tab, field); + if (count == 0) { + return success(0, null); + } + + List<TabEntity> rs = baseQueryService.selectTabsByPage(tab, field, filters, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ瀛楁淇℃伅") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鏄犲皠鍚嶇О", dataType = "String", paramType = "query", example = "dlg25wAanp") + }) + @GetMapping(value = "/selectFields") + public ResponseMsg<List<DictEntity>> selectFields(String name) { + try { + BasicMapper baseMapper = ClassHelper.getBasicMapper(name); + if (baseMapper == null) { + return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + } + + String tabName = BaseQueryService.getTabName(baseMapper); + if (tabName == null) { + return null; + } + + String[] strs = tabName.split("\\."); + List<DictEntity> list = baseQueryService.selectFields(strs[0], strs[1]); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ瀛楁淇℃伅") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ns", value = "鍚嶇О绌洪棿", dataType = "String", paramType = "query", example = "bd"), + @ApiImplicitParam(name = "tab", value = "琛ㄥ悕", dataType = "String", paramType = "query", example = "dlg25wAanp") + }) + @GetMapping(value = "/selectTabFields") + public ResponseMsg<List<DictEntity>> selectTabFields(String ns, String tab) { + try { + if (StringHelper.isEmpty(ns) || StringHelper.isEmpty(tab)) { + return fail("鍚嶇О绌洪棿鍜岃〃鍚嶄笉鑳戒负绌�", null); + } + + List<DictEntity> list = baseQueryService.selectFields(ns, tab); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鍊煎煙淇℃伅") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鏄犲皠鍚嶇О", dataType = "String", paramType = "query", example = "dlg25wAanp") + }) + @GetMapping(value = "/selectDomains") + public ResponseMsg<List<DomainEntity>> selectDomains(String name) { + try { + BasicMapper baseMapper = ClassHelper.getBasicMapper(name); + if (baseMapper == null) { + return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + } + + String tabName = BaseQueryService.getTabName(baseMapper); + if (tabName == null) { + return null; + } + + String[] strs = tabName.split("\\."); + List<DomainEntity> list = baseQueryService.selectDomains(strs[0], strs[1]); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "tabName", value = "琛ㄥ悕", dataType = "String", paramType = "query", example = "lf.sys_style"), + @ApiImplicitParam(name = "eventid", value = "涓婚敭", dataType = "String", paramType = "query", example = "fa25979a5ef8b43ba82a0be35b3fb0d4") + }) + @GetMapping(value = "/selectFiles") + public ResponseMsg<List<AttachEntity>> selectFiles(String tabName, String eventid) { + try { + if (StringHelper.isEmpty(tabName) || StringHelper.isEmpty(eventid)) { + return fail("鍙傛暟涓嶈兘涓虹┖", null); + } + + List<AttachEntity> list = attachService.selectByTab(tabName, eventid); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deletes") + public ResponseMsg<Integer> deleteFiles(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int rows = attachService.deletes(ids); + + return success(rows); + } catch (Exception ex) { + return fail(ex, 0); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鍏冩暟鎹腑婧㈠嚭鐨勫崟浣岻D") + @ApiImplicitParams({ + @ApiImplicitParam(name = "reqEntity", value = "璇锋眰涓嬭浇瀹炰綋", dataType = "DownloadReqEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/selectMetaOverflowDep") + public ResponseMsg<Object> selectMetaOverflowDep(@RequestBody DownloadReqEntity dr, HttpServletRequest req, HttpServletResponse res) { + try { + if (null == dr || null == dr.getIds() || dr.getIds().isEmpty()) { + return fail("璇烽�夋嫨瑕佷笅杞界殑鏂囦欢ID"); + } + + UserEntity ue = tokenService.getCurrentUser(req); + if (StaticData.ADMIN.equals(ue.getUid())) { + return success(new ArrayList<String>()); + } + + List<String> list = metaService.selectMetaOverflowDep(ue, dr); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨDB涓孩鍑虹殑鍗曚綅ID") + @ApiImplicitParams({ + @ApiImplicitParam(name = "reqEntity", value = "璇锋眰涓嬭浇瀹炰綋", dataType = "DownloadReqEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/selectDbOverflowDep") + public ResponseMsg<Object> selectDbOverflowDep(@RequestBody DownloadReqEntity dr, HttpServletRequest req, HttpServletResponse res) { + try { + if (null == dr || null == dr.getEntities() || dr.getEntities().isEmpty()) { + return fail("璇烽�夋嫨瑕佷笅杞界殑瀹炰綋鍚�"); + } + if (!StringHelper.isEmpty(dr.getWkt())) { + dr.setWkt(AesHelper.decrypt(dr.getWkt())); + } + + UserEntity ue = tokenService.getCurrentUser(req); + if (StaticData.ADMIN.equals(ue.getUid())) { + return success(new ArrayList<String>()); + } + + List<String> list = dataLibService.selectDbOverflowDep(ue, dr); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁鍗曚綅缂栫爜鏁扮粍鏌ヨ鍗曚綅") + @ApiImplicitParams({ + @ApiImplicitParam(name = "codes", value = "鍗曚綅缂栫爜鏁扮粍", dataType = "String", paramType = "query", allowMultiple = true, example = "00,0001") + }) + @GetMapping(value = "/selectDepsByCodes") + public ResponseMsg<Object> selectDepsByCodes(String[] codes) { + try { + if (null == codes || codes.length == 0) { + return fail("鍗曚綅ID闆嗗悎涓虹┖"); + } + + List<IdNameEntity> list = depService.selectDepsByCodes(codes); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "涓嬭浇DB鏁版嵁") + @ApiImplicitParams({ + @ApiImplicitParam(name = "dr", value = "璇锋眰涓嬭浇瀹炰綋", dataType = "DownloadReqEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/downloadDbData") + public ResponseMsg<Object> downloadDbData(@RequestBody DownloadReqEntity dr, HttpServletRequest req) { + try { + if (null == dr || null == dr.getEntities() || dr.getEntities().isEmpty()) { + return fail("璇烽�夋嫨瑕佷笅杞界殑瀹炰綋鍚�"); + } + if (StringHelper.isEmpty(dr.getPwd())) { + return fail("瀵嗙爜涓嶈兘涓虹┖"); + } + if (!DownloadService.decryptPwd(dr)) { + return fail("瀵嗙爜瑙e瘑澶辫触", null); + } + if (StringHelper.isPwdInvalid(dr.getPwd())) { + return fail("瀵嗙爜涓嶇鍚堣姹�"); + } + if (!StringHelper.isEmpty(dr.getWkt())) { + dr.setWkt(AesHelper.decrypt(dr.getWkt())); + } + + UserEntity ue = tokenService.getCurrentUser(req); + String guid = dataLibService.downloadDbReq(ue, dr); + + return success(guid); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ョ湅鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "闄勪欢Guid", dataType = "String", paramType = "body") + }) + @GetMapping(value = "/downloadForView") + public void downloadForView(String guid, HttpServletResponse res) { + metaService.downloadForView(guid, true, res); + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectPageCountForDownload") + public ResponseMsg<List<DownloadEntity>> selectPageCountForDownload(String name, Integer pageSize, Integer pageIndex, HttpServletRequest req) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", null); + } + + int count = downloadService.selectCountForUser(ue.getId(), "3,4", name); + if (count == 0) { + return success(0, null); + } + List<DownloadEntity> rs = downloadService.selectByPageForUser(ue.getId(), "3,4", name, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鐩綍绫诲埆") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "D") + }) + @GetMapping(value = "/selectDirTypes") + public ResponseMsg<Object> selectDirTypes(String name) { + try { + List<KeyValueEntity> list = baseQueryService.selectDirTypes(name); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ椤圭洰鍚嶇О") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "瑗�") + }) + @GetMapping(value = "/selectProject") + public ResponseMsg<Object> selectProject(String name) { + try { + List<DirEntity> list = dirService.selectProject(name); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁鍏冩暟鎹甀D鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectMetaById") + public ResponseMsg<MetaEntity> selectMetaById(int id) { + try { + MetaEntity entity = metaService.selectById(id); + + return success(entity); + } catch (Exception ex) { + return fail(ex, null); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/lf/server/controller/all/CrdsController.java b/src/main/java/com/lf/server/controller/all/CrdsController.java new file mode 100644 index 0000000..4fd8e09 --- /dev/null +++ b/src/main/java/com/lf/server/controller/all/CrdsController.java @@ -0,0 +1,164 @@ +package com.lf.server.controller.all; + +import com.lf.server.annotation.SysLog; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.data.DirEntity; +import com.lf.server.entity.data.MetaEntity; +import com.lf.server.helper.HttpHelper; +import com.lf.server.helper.StringHelper; +import com.lf.server.service.data.DirService; +import com.lf.server.service.data.FmeService; +import com.lf.server.service.data.MetaService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * CRDS绯荤粺鎺ュ彛 + * @author WWW + */ +@Api(tags = "绯荤粺瀵规帴\\CRDS") +@RestController +@RequestMapping("/crds") +public class CrdsController extends BaseController { + @Autowired + DirService dirService; + + @Autowired + FmeService fmeService; + + @Autowired + MetaService metaService; + + @SysLog() + @ApiOperation(value = "鏌ヨ椤圭洰") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "瑗�") + }) + @GetMapping(value = "/selectProject") + public ResponseMsg<List<DirEntity>> selectProject(String name) { + try { + List<DirEntity> list = dirService.selectProject(name); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ椤圭洰鐩綍鏍�") + @GetMapping(value = "/selectDirsForPrj") + public ResponseMsg<List<DirEntity>> selectDirsForPrj() { + try { + List<DirEntity> list = dirService.selectDirsForPrj(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ浠诲姟鐘舵��") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "浠诲姟ID", dataType = "String", paramType = "query", example = "29db09ee-2aae-4c62-bec0-0b5c5d8084e4") + }) + @GetMapping(value = "/selectTaskStatus") + public Object selectTaskStatus(String id, HttpServletRequest req) { + try { + if (StringHelper.isEmpty(id)) { + return fail("id涓嶈兘涓虹┖"); + } + + return fmeService.getTaskStatus(id, req); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "璇锋眰鎵撳寘") + @ApiImplicitParams({ + @ApiImplicitParam(name = "dirCode", value = "鐩綍缂栫爜", dataType = "String", paramType = "01"), + @ApiImplicitParam(name = "major", value = "涓撲笟", dataType = "String", paramType = "绌胯法瓒�"), + @ApiImplicitParam(name = "isCut", value = "鏄惁瑁佸壀", dataType = "String", paramType = "NO") + }) + @GetMapping(value = "/uploadReqPackaging") + public ResponseMsg<Object> uploadReqPackaging(String dirCode, String major, String isCut, HttpServletRequest req) { + try { + boolean isMajor = StaticData.CROSSING.equals(major) || StaticData.ROUTE.equals(major); + if (!isMajor) { + return fail("涓撲笟鍙兘鏄�滅┛璺ㄨ秺鈥濇垨鈥滅嚎璺��"); + } + + boolean bCut = StaticData.YES.equals(isCut) || StaticData.NO.equals(isCut); + if (!bCut) { + return fail("鏄惁瑁佸壀鍙兘鏄�淵ES鈥濇垨鈥淣O鈥�"); + } + + if (StringHelper.isEmpty(dirCode)) { + return fail("鐩綍缂栫爜涓嶈兘涓虹┖"); + } + DirEntity dir = dirService.selectByCode(dirCode); + if (null == dir) { + return fail("鐩綍缂栫爜涓�" + dirCode + "鐨勭洰褰曚笉瀛樺湪"); + } + + String id = fmeService.crdsPackaging(dirCode, major, isCut, req); + + return success(id); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "浠诲姟ID", dataType = "String", paramType = "query", example = "29db09ee-2aae-4c62-bec0-0b5c5d8084e4") + }) + @GetMapping(value = "/downloadFile") + public void downloadResult(String id, HttpServletRequest req, HttpServletResponse res) { + try { + if (!StringHelper.isEmpty(id)) { + String url = fmeService.getDownloadUrl(id, req); + + HttpHelper httpHelper = new HttpHelper(); + httpHelper.service(req, res, url, null); + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁鐩綍缂栫爜鏌ヨ鍏冩暟鎹枃浠�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "dircode", value = "鐩綍缂栫爜", dataType = "String", paramType = "query", example = "01") + }) + @GetMapping(value = "/selectMetasByDirCode") + public ResponseMsg<Object> selectMetasByDirCode(String dircode) { + try { + if (StringHelper.isEmpty(dircode)) { + return fail("鐩綍缂栫爜涓嶈兘涓虹┖"); + } + + List<MetaEntity> list = metaService.selectMetasByDirCode(dircode); + + return success(null == list ? 0 : list.size(), list); + } catch (Exception ex) { + return fail(ex, null); + } + } +} diff --git a/src/main/java/com/lf/server/controller/all/FloatServerController.java b/src/main/java/com/lf/server/controller/all/FloatServerController.java new file mode 100644 index 0000000..05d9647 --- /dev/null +++ b/src/main/java/com/lf/server/controller/all/FloatServerController.java @@ -0,0 +1,131 @@ +package com.lf.server.controller.all; + +import com.alibaba.fastjson.JSON; +import com.lf.server.entity.ctrl.SdkDecryptEntity; +import com.lf.server.entity.ctrl.SdkSecretEntity; +import com.lf.server.entity.other.FloatServerResponse; +import com.lf.server.entity.other.ReqParamFloatServer; +import com.lf.server.helper.HttpHelper; +import com.lf.server.helper.LicHelper; +import com.lf.server.helper.WebHelper; +import io.swagger.annotations.Api; +import org.apache.http.HttpEntity; +import org.apache.http.entity.InputStreamEntity; +import org.apache.http.util.EntityUtils; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; + +/** + * FloatServer + * @author WWW + */ +@RestController +@RequestMapping("/floatserver") +public class FloatServerController extends BaseController { + private static LicHelper licHelper; + + private final static boolean IS_REDIRECT = false; + + @PostMapping({"/checkout/license"}) + public void license(HttpServletRequest req, HttpServletResponse res) { + try { + if (IS_REDIRECT) { + HttpHelper httpHelper = new HttpHelper(); + httpHelper.service(req, res, "http://192.168.20.43:38080/floatserver/checkout/license", null); + return; + } + + HttpEntity entity = new InputStreamEntity(req.getInputStream(), getContentLength(req)); + String str = EntityUtils.toString(entity, "UTF-8"); + + LicHelper helper = getHelper(); + String reqJson = helper.b(str); + + ReqParamFloatServer rfs = JSON.parseObject(reqJson, ReqParamFloatServer.class); + FloatServerResponse fsr = new FloatServerResponse(rfs); + + String resJson = JSON.toJSONString(fsr); + String strRes = helper.a(resJson); + + res.getWriter().write(strRes); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + + private Integer getContentLength(HttpServletRequest request) { + String contentLengthHeader = request.getHeader("Content-Length"); + if (contentLengthHeader != null) { + return Integer.parseInt(contentLengthHeader); + } + + return -1; + } + + private static LicHelper getHelper() { + if (licHelper == null) { + licHelper = new LicHelper(); + licHelper.d("&kdaow$IEW.##%5-"); + licHelper.c("*y91z72a;pclfleoqc20161v$DSP&%3+"); + } + + return licHelper; + } + + @SuppressWarnings("AlibabaUndefineMagicConstant") + private static String getClientIpAddr(HttpServletRequest req) { + String ip; + if ((ip = req.getHeader("x-forwarded-for")) == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = req.getHeader("Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = req.getHeader("WL-Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = req.getRemoteAddr(); + } + + return ip; + } + + public static void test() { + try { + ReqParamFloatServer reqParam = new ReqParamFloatServer("192.168.20.106", "12316"); + String json = JSON.toJSONString(reqParam); + + String licCode = "78a82f0920de0f557f8177bec1e48601c4dc25e4054a00728e4314b56528d3a1632de5298edee38a65412277977a174fea5d91c452b19ef138dbc2ba089ba632"; + + LicHelper helper = getHelper(); + String str = helper.a(json); + System.out.println("ReqParamFloatServer: " + str); + + String data = "8dfb75298185cbcc4b2d485fdb4f25627f7aeb4dd41329076b5015586e4d56cfe2c56f12cd9852c447904210117b41fe2672b24d7e82fd581ad5a0983b501b5bcbe97d65dbbe770dbdc4a98e80d2966a71ecd0041a5282283bff853d70caf7aed671bc9c9d4bedf6d1d0294394861af40f195d68a965d957d53c78aa50ada3afc65d1a526c54648e6e081e8f7f7ab1c31b9f75916170e638b0b9216d30204864afe3a7a1bc8a6563bf44daf6a29e27c19f798c4f82dbb904ea4aa4fcc87a82226d9bf3e891ecb97b94263064fec025e3aa7c440d7c0e8ed559b84ae2438ec0fc438444a03c992883170ecdde20e08552efcf9d584de469930b27c81f946548d5c6e63e815671182b03b5e6e622ddb10a3f6a35ad3f44ec247a3b2dee0e936020d48efb7abc2d2abfb555f61d54c85eca"; + String rs = helper.b(data); + System.out.println("Lic: " + rs); + } catch (Exception ex) { + System.out.println(Arrays.toString(ex.getStackTrace())); + } + } + + @GetMapping({"/licenseEncryption/getLicenseSecret"}) + @PostMapping({"/licenseEncryption/getLicenseSecret"}) + public void getLicenseSecret(HttpServletResponse res) { + // http://127.0.0.1:12316/server/floatserver/licenseEncryption/getLicenseSecret + String json = JSON.toJSONString(new SdkSecretEntity()); + WebHelper.writeStr2Page(res, json); + } + + @GetMapping({"/licenseEncryption/getLicenseDecrypt"}) + @PostMapping({"/licenseEncryption/getLicenseDecrypt"}) + public void getLicenseDecrypt(HttpServletResponse res) { + // http://127.0.0.1:12316/server/floatserver/licenseEncryption/getLicenseDecrypt + String json = JSON.toJSONString(new SdkDecryptEntity()); + WebHelper.writeStr2Page(res, json); + } +} diff --git a/src/main/java/com/lf/server/controller/all/FmeItController.java b/src/main/java/com/lf/server/controller/all/FmeItController.java new file mode 100644 index 0000000..e661233 --- /dev/null +++ b/src/main/java/com/lf/server/controller/all/FmeItController.java @@ -0,0 +1,290 @@ +package com.lf.server.controller.all; + +import com.lf.server.annotation.SysLog; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.data.DirEntity; +import com.lf.server.entity.sys.RoleEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.service.data.DirService; +import com.lf.server.service.sys.RoleService; +import com.lf.server.service.sys.TokenService; +import com.lf.server.service.sys.UserService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * FME鎺ュ彛鎺у埗鍣� + * @author WWW + */ +@Api(tags = "绯荤粺瀵规帴\\FME") +@RestController +@RequestMapping("/fmeIt") +public class FmeItController extends BaseController { + @Autowired + UserService userService; + + @Autowired + RoleService roleService; + + @Autowired + TokenService tokenService; + + @Autowired + DirService dirService; + + @SysLog() + @ApiOperation(value = "鏌ヨ鏄�/鍚︿负绠$悊鍛�") + @GetMapping(value = "/selectForIsAdmin") + public ResponseMsg<Boolean> selectForIsAdmin(HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", false); + } + + Integer rows = userService.selectForIsAdmin(ue.getId()); + + return success("鎴愬姛", rows > 0); + } catch (Exception ex) { + return fail(ex, false); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectUser") + public ResponseMsg<UserEntity> selectUser(int id) { + try { + UserEntity userEntity = userService.selectUser(id); + + return success(userEntity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁鐢ㄦ埛ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "uid", value = "鐢ㄦ埛ID", dataType = "String", paramType = "query", example = "admin") + }) + @GetMapping(value = "/selectByUid") + public ResponseMsg<UserEntity> selectByUid(String uid) { + try { + if (StringHelper.isEmpty(uid)) { + fail("鐢ㄦ埛ID涓嶈兘涓虹┖", null); + } + + UserEntity userEntity = userService.selectByUid(uid); + + return success(userEntity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ鐢ㄦ埛骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "uname", value = "鐢ㄦ埛鍚�", dataType = "String", paramType = "query", example = "瀹�"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageForUser") + public ResponseMsg<List<UserEntity>> selectByPageForUser(String uname, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + int count = userService.selectCount(uname, null); + if (count == 0) { + return success(0, null); + } + List<UserEntity> rs = userService.selectByPage(uname, null, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鏄�/鍚︿负绠$悊鍛�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "鐢ㄦ埛ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectIsAdmin") + public ResponseMsg<Boolean> selectIsAdmin(Integer id) { + try { + UserEntity ue = userService.selectUser(id); + if (ue == null) { + return fail("鐢ㄦ埛涓嶅瓨鍦�", false); + } + + Integer rows = userService.selectForIsAdmin(ue.getId()); + + return success("鎴愬姛", rows > 0); + } catch (Exception ex) { + return fail(ex, false); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ绠$悊鍛樼敤鎴�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "type", value = "绠$悊鍛樼被鍒�", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectAdminUsers") + public ResponseMsg<Object> selectAdminUsers(Integer type) { + try { + if (null == type || type < 1) { + return fail("绠$悊鍛樼被鍒笉鑳戒负绌烘垨灏忎簬1", false); + } + + List<UserEntity> rs = userService.selectAdminUsers(type); + + return success(rs); + } catch (Exception ex) { + return fail(ex, false); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁鐢ㄦ埛ID鏌ヨ瑙掕壊") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "鐢ㄦ埛ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectRoleByUserId") + public ResponseMsg<Object> selectRoleByUserId(Integer id) { + try { + if (null == id || id < 1) { + return fail("鐢ㄦ埛ID涓嶈兘涓虹┖鎴栧皬浜�1", false); + } + + List<RoleEntity> rs = userService.selectRoleByUserId(id); + + return success(rs); + } catch (Exception ex) { + return fail(ex, false); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁瑙掕壊鏌ヨ鐢ㄦ埛") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectUserByRoleId") + public ResponseMsg<Object> selectUserByRoleId(Integer id) { + try { + if (null == id || id < 1) { + return fail("鐢ㄦ埛ID涓嶈兘涓虹┖鎴栧皬浜�1", false); + } + + List<UserEntity> rs = userService.selectUserByRoleId(id); + + return success(rs); + } catch (Exception ex) { + return fail(ex, false); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectRole") + public ResponseMsg<RoleEntity> selectRole(int id) { + try { + RoleEntity roleEntity = roleService.selectRole(id); + + return success(roleEntity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ瑙掕壊骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "Admin"), + @ApiImplicitParam(name = "depid", value = "鍗曚綅ID", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageForRole") + public ResponseMsg<List<RoleEntity>> selectByPageForRole(String name, Integer depid, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = roleService.selectCount(name, depid); + if (count == 0) { + return success(0, null); + } + + List<RoleEntity> rs = roleService.selectByPage(name, depid, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鏍圭洰褰�") + @GetMapping(value = "/selectDirRoot") + public ResponseMsg<List<DirEntity>> selectDirRoot() { + try { + List<DirEntity> list = dirService.selectDirRoot(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ椤圭洰") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "瑗�") + }) + @GetMapping(value = "/selectProject") + public ResponseMsg<List<DirEntity>> selectProject(String name) { + try { + List<DirEntity> list = dirService.selectProject(name); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ椤圭洰鐩綍鏍�") + @GetMapping(value = "/selectDirsForPrj") + public ResponseMsg<List<DirEntity>> selectDirsForPrj() { + try { + List<DirEntity> list = dirService.selectDirsForPrj(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } +} diff --git a/src/main/java/com/lf/server/controller/all/PermsController.java b/src/main/java/com/lf/server/controller/all/PermsController.java new file mode 100644 index 0000000..ba2a378 --- /dev/null +++ b/src/main/java/com/lf/server/controller/all/PermsController.java @@ -0,0 +1,188 @@ +package com.lf.server.controller.all; + +import com.lf.server.annotation.SysLog; +import com.lf.server.entity.all.*; +import com.lf.server.entity.data.LayerEntity; +import com.lf.server.entity.sys.MenuEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.service.all.PermsService; +import com.lf.server.service.data.LayerService; +import com.lf.server.service.sys.MenuService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 鎺堟潈鎺у埗鍣� + * @author WWW + */ +@Api(tags = "杩愮淮绠$悊\\鎺堟潈绠$悊") +@RestController +@RequestMapping("/perms") +public class PermsController extends BaseController { + @Autowired + PermsService permsService; + + @Autowired + TokenService tokenService; + + @Autowired + MenuService menuService; + + @Autowired + LayerService layerService; + + @SysLog() + @ApiOperation(value = "鏌ヨ褰撳墠鐢ㄦ埛鐨勮祫婧愭巿鏉�") + @GetMapping(value = "/selectRes") + public ResponseMsg<List<ResAuthEntity>> selectRes(HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", null); + } + + String uid = StaticData.ADMIN.equals(ue.getUid()) ? null : ue.getUid(); + List<ResAuthEntity> rs = permsService.selectRes(uid); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ褰撳墠鐢ㄦ埛鐨勮彍鍗曟巿鏉�") + @GetMapping(value = "/selectMenus") + public ResponseMsg<List<MenusAuthEntity>> selectMenus(HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", null); + } + + String uid = StaticData.ADMIN.equals(ue.getUid()) ? null : ue.getUid(); + List<MenusAuthEntity> rs = permsService.selectMenus(uid); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ褰撳墠鐢ㄦ埛鐨勬潈闄愭巿鏉�") + @GetMapping(value = "/selectPerms") + public ResponseMsg<List<String>> selectPerms(HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", null); + } + + String uid = StaticData.ADMIN.equals(ue.getUid()) ? null : ue.getUid(); + List<String> rs = permsService.selectPerms(uid); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ褰撳墠鐢ㄦ埛鐨勬潈闄愭巿鏉冨疄浣撻泦鍚�") + @GetMapping(value = "/selectPermsEntity") + public ResponseMsg<List<PermsAuthEntity>> selectPermsEntity(HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", null); + } + + String uid = StaticData.ADMIN.equals(ue.getUid()) ? null : ue.getUid(); + List<PermsAuthEntity> rs = permsService.selectPermsEntity(uid); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "娓呯┖鎵�鏈夋巿鏉冪紦瀛�") + @GetMapping(value = "/deleteAllCache") + public ResponseMsg<Boolean> deleteAllCache() { + try { + permsService.clearAllCache(); + + return success(true); + } catch (Exception ex) { + return fail(ex, false); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鐢ㄦ埛瑙掕壊") + @GetMapping("/selectRoles") + public ResponseMsg<Object> selectRoles(HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", null); + } + + List<Integer> list = permsService.selectRoles(ue.getUid()); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "閫掑綊鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "鑿滃崟ID", dataType = "Integer", paramType = "query", example = "14") + }) + @GetMapping(value = "/selectMenuRecursive") + public ResponseMsg<Object> selectMenuRecursive(int id, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", null); + } + + String uid = StaticData.ADMIN.equals(ue.getUid()) ? null : ue.getUid(); + List<MenuEntity> list = permsService.selectMenuRecursive(id, uid); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈夊浘灞�") + @GetMapping(value = "/selectLayers") + public ResponseMsg<Object> selectLayers(HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", null); + } + + List<LayerEntity> list = layerService.selectAll(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } +} diff --git a/src/main/java/com/lf/server/controller/all/SignController.java b/src/main/java/com/lf/server/controller/all/SignController.java new file mode 100644 index 0000000..a5abd72 --- /dev/null +++ b/src/main/java/com/lf/server/controller/all/SignController.java @@ -0,0 +1,262 @@ +package com.lf.server.controller.all; + +import com.lf.server.annotation.SysLog; +import com.lf.server.config.PropertiesConfig; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.all.SettingData; +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.sys.LoginEntity; +import com.lf.server.entity.sys.OperateEntity; +import com.lf.server.entity.sys.TokenEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.*; +import com.lf.server.service.all.ScheduleService; +import com.lf.server.service.sys.LoginService; +import com.lf.server.service.sys.OperateService; +import com.lf.server.service.sys.TokenService; +import com.lf.server.service.sys.UserService; +import com.lf.server.service.all.SignService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * 绛惧悕鎺у埗鍣� + * @author WWW + * @date 2022-09-21 + */ +@Api(tags = "杩愮淮绠$悊\\绛惧悕绠$悊") +@RestController +@RequestMapping("/sign") +public class SignController extends BaseController { + @Autowired + UserService userService; + + @Autowired + LoginService loginService; + + @Autowired + TokenService tokenService; + + @Autowired + SignService signService; + + @Autowired + private OperateService operateService; + + @Autowired + PropertiesConfig propertiesConfig; + + @Autowired + private ScheduleService scheduleService; + + @SysLog() + @ApiOperation(value = "璺宠浆棣栭〉") + @GetMapping({"/", "/toIndex"}) + public ModelAndView toIndex(ModelAndView mv, HttpServletRequest req) { + mv.setViewName("index"); + + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + mv.addObject("msg", "Hello " + ue.getUname() + " !"); + } + + return mv; + } + + @SysLog() + @ApiOperation(value = "璺宠浆鐧诲綍椤�") + @GetMapping("/toLogin") + public ModelAndView toLogin(ModelAndView mv) { + mv.setViewName("login"); + + return mv; + } + + @SysLog() + @ApiOperation(value = "鏁版嵁搴撶洃鎺�") + @GetMapping(value = "/toDruid") + public ModelAndView toDruid(HttpServletRequest req, HttpServletResponse res) { + ModelAndView mv = new ModelAndView(); + mv.setViewName("druid"); + + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + String sessionId = WebHelper.getCookieByKey(StaticData.DRUID_COOKIE_KEY, req); + if (StringHelper.isNull(sessionId)) { + signService.loginDruid(req, res); + } + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + + return mv; + } + + @SysLog() + @ApiOperation(value = "璧勬簮鐩戞帶") + @GetMapping(value = "/toMonitor") + public ModelAndView toMonitor(ModelAndView mv, HttpServletRequest req, HttpServletResponse res) { + try { + mv.setViewName("redirect:/toLogin"); + + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + mv.setViewName("monitor"); + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + + return mv; + } + + @SysLog() + @ApiOperation(value = "鐧诲綍") + @ApiImplicitParams({ + @ApiImplicitParam(name = "user", value = "鐢ㄦ埗鍚�", dataType = "UsersEntity", paramType = "body", example = "") + }) + @PostMapping(value = "/login", produces = "application/json; charset=UTF-8") + public ResponseMsg<TokenEntity> login(@RequestBody UserEntity user, HttpServletRequest req, HttpServletResponse res) { + try { + String str = userService.validateLoginPwd(user); + if (str != null) { + return fail(str, null); + } + + UserEntity ue = userService.selectByUid(user.getUid()); + if (ue == null) { + return fail("鐢ㄦ埛鍚嶄笉瀛樺湪", null); + } + + if (!Md5Helper.validatePassword(user.getPwd(), ue.getPwd())) { + tokenService.setPwdErrCache(ue); + return fail("瀵嗙爜涓嶆纭�", null); + } + + LoginEntity le = loginService.getNewLogin(ue.getId(), 1, 1, 1, req); + Integer rows = loginService.insertLogin(le); + if (rows == 0) { + return fail("鍒涘缓鐧诲綍鏃ュ織澶辫触", null); + } + + TokenEntity te = tokenService.getNewToken(ue, req); + rows = tokenService.insertToken(te); + if (rows == 0) { + return fail("鍒涘缓浠ょ墝澶辫触", null); + } + + te.setAutoLogOut(SettingData.AUTO_LOGOUT); + tokenService.saveToken(ue, te, req, res); + + int onlineUser = scheduleService.countOnlineUsers(); + String msg = onlineUser >= SettingData.MAX_USER_LOGIN ? "璀﹀憡锛氱郴缁熷凡缁忓埌杈剧敤鎴疯闂噺鐨勪笂闄愶紒" : ""; + + return success(msg, te); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鐧诲嚭") + @GetMapping(value = "/logout") + public ResponseMsg<Boolean> logout(HttpServletRequest req, HttpServletResponse res) { + try { + String token = WebHelper.getToken(req); + if (StringHelper.isEmpty(token)) { + return fail("娌℃湁妫�娴嬪埌浠ょ墝", false); + } + + Boolean flag = tokenService.logout(token, req, res); + + return success(flag ? "鐧诲嚭鎴愬姛" : "鐧诲嚭澶辫触", flag); + } catch (Exception ex) { + return fail(ex, false); + } + } + + @SysLog() + @ApiOperation(value = "妫�鏌ユ槸/鍚︾櫥褰�") + @GetMapping("/check") + public ResponseMsg<Boolean> check(HttpServletRequest req, HttpServletResponse res) { + try { + Boolean flag = tokenService.isLogin(req, res); + if (flag) { + // 鍐欐棩蹇� + UserEntity ue = tokenService.getCurrentUser(req); + LoginEntity le = loginService.getNewLogin(ue.getId(), 1, 2, 1, req); + Integer rows = loginService.insertLogin(le); + } + + return success(flag ? "鐢ㄦ埛宸茬櫥褰�" : "鐢ㄦ埛鏈櫥褰�", flag); + } catch (Exception ex) { + return fail(ex, false); + } + } + + @SysLog() + @ApiOperation(value = "鑾峰彇褰撳墠鐢ㄦ埛") + @GetMapping("/getCurrentUser") + public ResponseMsg<UserEntity> getCurrentUser(HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("娌℃湁鎵惧埌", null); + } + + return success(ue); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鑾峰彇RSA鍔犲瘑鍏挜") + @GetMapping("/getPublicKey") + public ResponseMsg<String> getPublicKey() { + try { + String key = RsaHelper.getPublicKey(); + + return success(key); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @ApiOperation(value = "鎻掑叆鎿嶄綔鏃ュ織") + @GetMapping("/insertOpLog") + public ResponseMsg<Object> insertOpLog(String m1, String m2, HttpServletRequest req) { + try { + if (StringHelper.isEmpty(m1)) { + return fail("涓�绾фā鍧楀繀濉�", 0); + } + + OperateEntity oe = new OperateEntity(); + oe.setIp(WebHelper.getIpAddress(req)); + oe.setModular1(m1); + oe.setModular2(m2); + oe.setType(0); + + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + oe.setUserid(ue.getId()); + } + + int rows = operateService.insertOperate(oe); + + return success(rows); + } catch (Exception ex) { + return fail(ex, 0); + } + } +} diff --git a/src/main/java/com/lf/server/controller/data/DataCountController.java b/src/main/java/com/lf/server/controller/data/DataCountController.java new file mode 100644 index 0000000..b5e416b --- /dev/null +++ b/src/main/java/com/lf/server/controller/data/DataCountController.java @@ -0,0 +1,133 @@ +package com.lf.server.controller.data; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.controller.all.BaseQueryController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.ctrl.CountEntity; +import com.lf.server.entity.sys.ReportEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.service.all.UploadAttachService; +import com.lf.server.service.sys.ReportService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 鏁版嵁缁熻 + * @author WWW + */ +@Api(tags = "鏁版嵁绠$悊\\鏁版嵁缁熻") +@RestController +@RequestMapping("/dataCount") +public class DataCountController extends BaseController { + @Autowired + ReportService reportService; + + @Autowired + TokenService tokenService; + + @Autowired + UploadAttachService uploadAttachService; + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "code", value = "缂栫爜", dataType = "String", paramType = "query", example = "countOperates"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<ReportEntity>> selectByPageAndCount(String name, String code, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = reportService.selectCount(name, code); + if (count == 0) { + return success(0, null); + } + + List<ReportEntity> rs = reportService.selectByPage(name, code, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鏁版嵁閲忕粺璁�") + @GetMapping(value = "/selectCountSizes") + public ResponseMsg<Object> selectCountSizes() { + try { + List<CountEntity> list = reportService.countSizes(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鏈嶅姟璋冪敤閲忕粺璁�") + @GetMapping(value = "/selectCountServices") + public ResponseMsg<Object> selectCountServices() { + try { + List<CountEntity> list = reportService.countServices(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鐢ㄦ埛娴侀噺缁熻") + @GetMapping(value = "/selectCountOperates") + public ResponseMsg<Object> selectCountOperates() { + try { + List<CountEntity> list = reportService.countOperates(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "涓嬭浇鎶ュ憡") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "鎶ュ憡ID", dataType = "Integer", paramType = "7") + }) + @GetMapping(value = "/downloadReport") + public void downloadReport(Integer id, HttpServletRequest req, HttpServletResponse res) { + try { + if (null == id || id < 1) { + return; + } + + ReportEntity re = reportService.selectById(id); + if (null == re || StringHelper.isEmpty(re.getGuid()) || StringHelper.isEmpty(re.getType()) || StringHelper.isEmpty(re.getCode())) { + return; + } + + UserEntity ue = tokenService.getCurrentUser(req); + + reportService.createReport(ue, re, res); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } +} diff --git a/src/main/java/com/lf/server/controller/data/DataQueryController.java b/src/main/java/com/lf/server/controller/data/DataQueryController.java new file mode 100644 index 0000000..ede92a2 --- /dev/null +++ b/src/main/java/com/lf/server/controller/data/DataQueryController.java @@ -0,0 +1,59 @@ +package com.lf.server.controller.data; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseQueryController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.service.data.DataQueryService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; + +/** + * 鏁版嵁妫�绱� + * @author WWW + */ +@Api(tags = "鏁版嵁绠$悊\\鏁版嵁鏌ヨ") +@RestController +@RequestMapping("/dataQuery") +public class DataQueryController extends BaseQueryController { + @Autowired + TokenService tokenService; + + @Autowired + DataQueryService dataQueryService; + + @SysLog() + @ApiOperation(value = "涓婁紶鏂囦欢") + @ResponseBody + @ApiImplicitParams({ + @ApiImplicitParam(name = "tabName", value = "琛ㄥ悕", dataType = "String", paramType = "query", example = "lf.sys_style"), + @ApiImplicitParam(name = "eventid", value = "涓婚敭", dataType = "String", paramType = "query", example = "fa25979a5ef8b43ba82a0be35b3fb0d4") + }) + @PostMapping(value = "/uploadFiles") + public ResponseMsg<Integer> uploadFiles(String tabName, String eventid, @RequestParam("file") MultipartFile[] files, HttpServletRequest req) { + try { + if (StringHelper.isEmpty(tabName) || StringHelper.isEmpty(eventid)) { + return fail("鍙傛暟涓嶈兘涓虹┖", null); + } + if (null == files || files.length == 0) { + return fail("鏂囦欢涓婁紶涓虹┖", 0); + } + + UserEntity ue = tokenService.getCurrentUser(req); + Integer count = dataQueryService.uploadFiles(ue, tabName, eventid, files, req); + + return success(count); + } catch (Exception ex) { + return fail(ex, 0); + } + } +} diff --git a/src/main/java/com/lf/server/controller/data/DictController.java b/src/main/java/com/lf/server/controller/data/DictController.java new file mode 100644 index 0000000..6265339 --- /dev/null +++ b/src/main/java/com/lf/server/controller/data/DictController.java @@ -0,0 +1,261 @@ +package com.lf.server.controller.data; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.ctrl.TabEntity; +import com.lf.server.entity.data.DictEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.service.data.DictService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 瀛楀吀绠$悊 + * @author WWW + */ +@Api(tags = "鏁版嵁绠$悊\\瀛楀吀绠$悊") +@RestController +@RequestMapping("/dict") +public class DictController extends BaseController { + @Autowired + DictService dictService; + + @Autowired + TokenService tokenService; + + @SysLog() + @ApiOperation(value = "鏌ヨ璁板綍鏁�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ns", value = "琛ㄧ┖闂�", dataType = "String", paramType = "query", required = false, example = "bd"), + @ApiImplicitParam(name = "tab", value = "琛ㄥ悕", dataType = "String", paramType = "query", example = "dlg_25w_hyda") + }) + @GetMapping({"/selectCount"}) + public ResponseMsg<Integer> selectCount(String ns, String tab) { + try { + int count = dictService.selectCount(ns, tab); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ns", value = "琛ㄧ┖闂�", dataType = "String", paramType = "query", example = "bd"), + @ApiImplicitParam(name = "tab", value = "琛ㄥ悕", dataType = "String", paramType = "query", example = "dlg_25w_hyda"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPage") + public ResponseMsg<List<DictEntity>> selectByPage(String ns, String tab, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + List<DictEntity> rs = dictService.selectByPage(ns, tab, pageSize, pageSize * (pageIndex - 1)); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ns", value = "琛ㄧ┖闂�", dataType = "String", paramType = "query", example = "bd"), + @ApiImplicitParam(name = "tab", value = "琛ㄥ悕", dataType = "String", paramType = "query", example = "dlg_25w_hyda"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<DictEntity>> selectByPageAndCount(String ns, String tab, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = dictService.selectCount(ns, tab); + if (count == 0) { + return success(0, null); + } + + List<DictEntity> rs = dictService.selectByPage(ns, tab, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectById") + public ResponseMsg<DictEntity> selectById(int id) { + try { + DictEntity entity = dictService.selectById(id); + + return success(entity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ瀛楀吀琛ㄧ粨鏋�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "鐐�"), + @ApiImplicitParam(name = "hasGeom", value = "鍚湁Geom瀛楁", dataType = "Boolean", paramType = "query", example = "false") + }) + @GetMapping(value = "/selectDictTab") + public ResponseMsg<List<TabEntity>> selectDictTab(String name, Boolean hasGeom) { + try { + List<TabEntity> list = dictService.selectDictTab(name, null == hasGeom || !hasGeom ? "gid" : "geom"); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "DictEntity", paramType = "body") + }) + @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insert(@RequestBody DictEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = dictService.insert(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "DictEntity", paramType = "body") + }) + @PostMapping(value = "/inserts", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> inserts(@RequestBody List<DictEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (DictEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + } + + int count = dictService.inserts(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/delete") + public ResponseMsg<Integer> delete(int id) { + try { + int count = dictService.delete(id); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deletes") + public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = dictService.deletes(ids); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "DictEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/update", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> update(@RequestBody DictEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = dictService.update(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "DictEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/updates", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updates(@RequestBody List<DictEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (DictEntity entity : list) { + entity.setUpdateUser(ue.getId()); + } + } + + int count = dictService.updates(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } +} diff --git a/src/main/java/com/lf/server/controller/data/DirController.java b/src/main/java/com/lf/server/controller/data/DirController.java new file mode 100644 index 0000000..45f0410 --- /dev/null +++ b/src/main/java/com/lf/server/controller/data/DirController.java @@ -0,0 +1,212 @@ +package com.lf.server.controller.data; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.data.DirEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.WebHelper; +import com.lf.server.service.data.DirService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 鐩綍绠$悊 + * @author sws + * @date 2022-09-22 + */ +@Api(tags = "鏁版嵁绠$悊\\鐩綍绠$悊") +@RestController +@RequestMapping("/dir") +public class DirController extends BaseController { + @Autowired + DirService dirService; + + @Autowired + TokenService tokenService; + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "com.lf.server.entity.data.DirEntity", paramType = "body", example = "") + }) + @PostMapping(value = "/insertDir", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertDir(@RequestBody DirEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + dirService.insert(entity); + + return success(entity.getId()); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "com.lf.server.entity.data.DirEntity", paramType = "body", example = "") + }) + @PostMapping(value = "/insertDirs", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertDirs(@RequestBody List<DirEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + for (DirEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + + int count = dirService.inserts(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/deleteDir") + public ResponseMsg<Integer> deleteDir(int id) { + try { + int count = dirService.deleteDir(id); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "com.lf.server.entity.data.DirEntity", paramType = "body", example = "") + }) + @GetMapping(value = "/deleteDirs") + public ResponseMsg<Integer> deleteDirs(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = dirService.deleteDirs(ids); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "DictEntity", paramType = "body", example = "") + }) + @ResponseBody + @PostMapping(value = "/updateDir", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updateDir(@RequestBody DirEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = dirService.update(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "DirEntity", paramType = "body", example = "") + }) + @ResponseBody + @PostMapping(value = "/updateDirs", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updateDirs(@RequestBody List<DirEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (DirEntity entity : list) { + entity.setUpdateUser(ue.getId()); + } + } + + int count = dirService.updates(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ鏁版嵁") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectDir") + public ResponseMsg<DirEntity> selectDir(int id) { + try { + DirEntity dirEntity = dirService.selectDir(id); + + return success(dirEntity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈夋暟鎹�") + @GetMapping(value = "/selectDirAll") + public ResponseMsg<List<DirEntity>> selectDirAll() { + try { + List<DirEntity> list = dirService.selectDirAll(); + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "涓嬭浇鐩綍缁撴瀯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "鐩綍ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/downloadDir") + public void downloadDir(int id, HttpServletResponse res) { + try { + DirEntity entity = dirService.selectDir(id); + if (null == entity || entity.getPid() > 0) { + return; + } + + String zipFile = dirService.createDirs(id); + if (null == zipFile) { + return; + } + + WebHelper.download(zipFile, entity.getName() + ".zip", res); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } +} diff --git a/src/main/java/com/lf/server/controller/data/DomainController.java b/src/main/java/com/lf/server/controller/data/DomainController.java new file mode 100644 index 0000000..78b337e --- /dev/null +++ b/src/main/java/com/lf/server/controller/data/DomainController.java @@ -0,0 +1,307 @@ +package com.lf.server.controller.data; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.ctrl.TabEntity; +import com.lf.server.entity.data.DomainEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.service.all.BaseQueryService; +import com.lf.server.service.data.DictService; +import com.lf.server.service.data.DomainService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 鍊煎煙 + * @author WWW + */ +@Api(tags = "鏁版嵁绠$悊\\鍊煎煙") +@RestController +@RequestMapping("/domain") +public class DomainController extends BaseController { + @Autowired + DomainService domainService; + + @Autowired + TokenService tokenService; + + @Autowired + BaseQueryService baseQueryService; + + @Autowired + DictService dictService; + + @SysLog() + @ApiOperation(value = "鏌ヨ璁板綍鏁�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ns", value = "鍚嶇О绌洪棿", dataType = "String", paramType = "query", example = "bd"), + @ApiImplicitParam(name = "tab", value = "琛ㄥ悕", dataType = "String", paramType = "query", example = "dlg_25w_aanp"), + @ApiImplicitParam(name = "code", value = "缂栫爜", dataType = "String", paramType = "query", example = "210") + }) + @GetMapping({"/selectCount"}) + public ResponseMsg<Integer> selectCount(String ns, String tab, String code) { + try { + int count = domainService.selectCount(ns, tab, code); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ns", value = "鍚嶇О绌洪棿", dataType = "String", paramType = "query", example = "bd"), + @ApiImplicitParam(name = "tab", value = "琛ㄥ悕", dataType = "String", paramType = "query", example = "dlg_25w_aanp"), + @ApiImplicitParam(name = "code", value = "缂栫爜", dataType = "String", paramType = "query", example = "210"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPage") + public ResponseMsg<List<DomainEntity>> selectByPage(String ns, String tab, String code, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + List<DomainEntity> rs = domainService.selectByPage(ns, tab, code, pageSize, pageSize * (pageIndex - 1)); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ns", value = "鍚嶇О绌洪棿", dataType = "String", paramType = "query", example = "bd"), + @ApiImplicitParam(name = "tab", value = "琛ㄥ悕", dataType = "String", paramType = "query", example = "b_hy20w_s23"), + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "绛夌骇"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<DomainEntity>> selectByPageAndCount(String ns, String tab, String name, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = domainService.selectCount(ns, tab, name); + if (count == 0) { + return success(0, null); + } + + List<DomainEntity> rs = domainService.selectByPage(ns, tab, name, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈�") + @GetMapping(value = "/selectAll") + public ResponseMsg<List<DomainEntity>> selectAll() { + try { + List<DomainEntity> list = domainService.selectAll(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鍊煎煙琛ㄩ泦鍚�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "b_"), + @ApiImplicitParam(name = "hasGeom", value = "鍚湁Geom瀛楁", dataType = "Boolean", paramType = "query", example = "false") + }) + @GetMapping(value = "/selectDomainTabs") + public ResponseMsg<List<TabEntity>> selectDomainTabs(String name, Boolean hasGeom) { + try { + List<TabEntity> list = dictService.selectDictTab(name, null == hasGeom || !hasGeom ? "gid" : "geom"); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁琛ㄥ悕鏌ヨ鍊煎煙鍚嶇О") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ns", value = "鍚嶇О绌洪棿", dataType = "String", paramType = "query", example = "bd"), + @ApiImplicitParam(name = "tab", value = "琛ㄥ悕", dataType = "String", paramType = "query", example = "b_hy20w_s23") + }) + @GetMapping(value = "/selectDomainNames") + public ResponseMsg<List<String>> selectDomainNames(String ns, String tab) { + try { + if (StringHelper.isEmpty(ns) || StringHelper.isEmpty(tab)) { + return fail("鍚嶇О绌洪棿鍜岃〃鍚嶄笉鑳戒负绌�", null); + } + + List<String> list = domainService.selectDomainNames(ns, tab); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectById") + public ResponseMsg<DomainEntity> selectById(int id) { + try { + DomainEntity entity = domainService.selectById(id); + + return success(entity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "DomainEntity", paramType = "body") + }) + @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insert(@RequestBody DomainEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = domainService.insert(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "DomainEntity", paramType = "body") + }) + @PostMapping(value = "/inserts", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> inserts(@RequestBody List<DomainEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (DomainEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + } + + int count = domainService.inserts(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/delete") + public ResponseMsg<Integer> delete(int id) { + try { + int count = domainService.delete(id); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deletes") + public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = domainService.deletes(ids); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "DomainEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/update", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> update(@RequestBody DomainEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = domainService.update(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "DomainEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/updates", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updates(@RequestBody List<DomainEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (DomainEntity entity : list) { + entity.setUpdateUser(ue.getId()); + } + } + + int count = domainService.updates(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } +} diff --git a/src/main/java/com/lf/server/controller/data/LayerController.java b/src/main/java/com/lf/server/controller/data/LayerController.java new file mode 100644 index 0000000..91e96d0 --- /dev/null +++ b/src/main/java/com/lf/server/controller/data/LayerController.java @@ -0,0 +1,253 @@ +package com.lf.server.controller.data; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.data.LayerEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.service.data.LayerService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 鍥惧眰绠$悊 + * @author WWW + */ +@Api(tags = "鏁版嵁绠$悊\\鍥惧眰绠$悊") +@RestController +@RequestMapping("/layer") +public class LayerController extends BaseController { + @Autowired + LayerService layerService; + + @Autowired + TokenService tokenService; + + @SysLog() + @ApiOperation(value = "鏌ヨ璁板綍鏁�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "cnName", value = "涓枃鍚嶇О", dataType = "String", paramType = "query", required = false, example = "") + }) + @GetMapping({"/selectCount"}) + public ResponseMsg<Integer> selectCount(String cnName) { + try { + int count = layerService.selectCount(cnName); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "cnName", value = "涓枃鍚嶇О", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPage") + public ResponseMsg<List<LayerEntity>> selectByPage(String cnName, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + List<LayerEntity> rs = layerService.selectByPage(cnName, pageSize, pageSize * (pageIndex - 1)); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "cnName", value = "涓枃鍚嶇О", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<LayerEntity>> selectByPageAndCount(String cnName, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = layerService.selectCount(cnName); + if (count == 0) { + return success(0, null); + } + + List<LayerEntity> rs = layerService.selectByPage(cnName, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈�") + @GetMapping(value = "/selectAll") + public ResponseMsg<List<LayerEntity>> selectAll() { + try { + List<LayerEntity> list = layerService.selectAll(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectById") + public ResponseMsg<LayerEntity> selectById(int id) { + try { + LayerEntity entity = layerService.selectById(id); + + return success(entity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "LayerEntity", paramType = "body") + }) + @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insert(@RequestBody LayerEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = layerService.insert(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "LayerEntity", paramType = "body") + }) + @PostMapping(value = "/inserts", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> inserts(@RequestBody List<LayerEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (LayerEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + } + + int count = layerService.inserts(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/delete") + public ResponseMsg<Integer> delete(int id) { + try { + int count = layerService.delete(id); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deletes") + public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = layerService.deletes(ids); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "LayerEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/update", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> update(@RequestBody LayerEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = layerService.update(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "LayerEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/updates", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updates(@RequestBody List<LayerEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (LayerEntity entity : list) { + entity.setUpdateUser(ue.getId()); + } + } + + int count = layerService.updates(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } +} diff --git a/src/main/java/com/lf/server/controller/data/MetaController.java b/src/main/java/com/lf/server/controller/data/MetaController.java new file mode 100644 index 0000000..c565155 --- /dev/null +++ b/src/main/java/com/lf/server/controller/data/MetaController.java @@ -0,0 +1,536 @@ +package com.lf.server.controller.data; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.HttpStatus; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.ctrl.DownloadReqEntity; +import com.lf.server.entity.ctrl.IdNameEntity; +import com.lf.server.entity.data.DictEntity; +import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.data.MetaEntity; +import com.lf.server.entity.data.VerEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.*; +import com.lf.server.mapper.all.BasicMapper; +import com.lf.server.service.all.BaseQueryService; +import com.lf.server.service.data.DownloadService; +import com.lf.server.service.data.MetaService; +import com.lf.server.service.data.VerService; +import com.lf.server.service.sys.DepService; +import com.lf.server.service.sys.DownlogService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.List; + +/** + * 鍏冩暟鎹� + * @author WWW + */ +@Api(tags = "鏁版嵁绠$悊\\淇℃伅绠$悊") +@RestController +@RequestMapping("/meta") +public class MetaController extends BaseController { + @Autowired + MetaService metaService; + + @Autowired + TokenService tokenService; + + @Autowired + BaseQueryService baseQueryService; + + @Autowired + DownlogService downlogService; + + @Autowired + DownloadService downloadService; + + @Autowired + VerService verService; + + @Autowired + DepService depService; + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "depcode", value = "鍗曚綅缂栫爜", dataType = "String", paramType = "query", example = "00"), + @ApiImplicitParam(name = "dircode", value = "鐩綍缂栫爜", dataType = "String", paramType = "query", example = "00"), + @ApiImplicitParam(name = "verid", value = "鐗堟湰ID", dataType = "Integer", paramType = "query", example = "0"), + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<MetaEntity>> selectByPageAndCount(String depcode, String dircode, Integer verid, String name, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = metaService.selectCount(depcode, dircode, verid, name); + if (count == 0) { + return success(0, null); + } + + List<MetaEntity> rs = metaService.selectByPage(depcode, dircode, verid, name, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁鐖禝D鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "metaid", value = "鐖禝D", dataType = "String", paramType = "query", example = "0"), + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectPageAndCountByPid") + public ResponseMsg<List<MetaEntity>> selectPageAndCountByPid(Integer metaid, String name, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + if (null == metaid || metaid < 1) { + return fail("鐖禝D涓嶈兘涓虹┖涓斿ぇ浜�1", null); + } + + int count = metaService.selectCountByPid(metaid, name); + if (count == 0) { + return success(0, null); + } + + List<MetaEntity> rs = metaService.selectPageByPid(metaid, name, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁鐩綍ID鏌ヨ鐗堟湰鍒楄〃") + @ApiImplicitParams({ + @ApiImplicitParam(name = "dirid", value = "鐩綍ID", dataType = "Integer", paramType = "query") + }) + @GetMapping(value = "/selectVerByDirid") + public ResponseMsg<List<VerEntity>> selectVerByDirid(Integer dirid) { + try { + if (null == dirid || dirid < 0) { + dirid = 0; + } + + List<VerEntity> list = verService.selectByDirid(dirid); + if (null == list || list.isEmpty()) { + list = verService.selectByDirid(0); + } + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectById") + public ResponseMsg<MetaEntity> selectById(int id) { + try { + MetaEntity entity = metaService.selectById(id); + + return success(entity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ琛ㄤ腑鏁版嵁") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "鍏冩暟鎹甀D", dataType = "Integer", paramType = "query", example = "115"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10") + }) + @GetMapping(value = "/selectDbData") + public ResponseMsg<Object> selectDbData(Integer id, Integer pageIndex, Integer pageSize) { + // noinspection AlibabaRemoveCommentedCode + try { + if (null == id || id < 0) { + return fail("鍏冩暟鎹甀D涓嶈兘涓虹┖鎴栧皬浜�0", null); + } + + MetaEntity meta = metaService.selectById(id); + if (null == meta || null == meta.getTab() || !meta.getTab().contains(StaticData.POINT)) { + return fail("鎵句笉鍒板厓鏁版嵁淇℃伅", null); + } + + String entity = meta.getTab().substring(meta.getTab().indexOf(".") + 1).replace("_", "").toLowerCase(); + BasicMapper baseMapper = ClassHelper.getBasicMapper(entity); + if (null == baseMapper) { + return null; + } + + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("parentid", meta.getEventid()); + + Page<Object> page = new Page<>(pageIndex, pageSize); + page.addOrder(OrderItem.desc("gid")); + IPage<Object> paged = baseMapper.selectPage(page, wrapper); + + return success(paged.getTotal(), paged.getRecords()); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ瀛楁淇℃伅") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ns", value = "鍚嶇О绌洪棿", dataType = "String", paramType = "query", example = "bd"), + @ApiImplicitParam(name = "tab", value = "琛ㄥ悕", dataType = "String", paramType = "query", example = "dlg25wAanp") + }) + @GetMapping(value = "/selectTabFields") + public ResponseMsg<List<DictEntity>> selectTabFields(String ns, String tab) { + try { + if (StringHelper.isEmpty(ns) || StringHelper.isEmpty(tab)) { + return fail("鍚嶇О绌洪棿鍜岃〃鍚嶄笉鑳戒负绌�", null); + } + + List<DictEntity> list = baseQueryService.selectFields(ns, tab); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "MetaEntity", paramType = "body") + }) + @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insert(@RequestBody MetaEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + entity.setCreateTime(WebHelper.getCurrentTimestamp()); + int count = metaService.insert(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "MetaEntity", paramType = "body") + }) + @PostMapping(value = "/inserts", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> inserts(@RequestBody List<MetaEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (MetaEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + } + + int count = metaService.inserts(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", allowMultiple = true, example = "1") + }) + @GetMapping(value = "/deletes") + public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = metaService.deletes(ids); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "MetaEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/update", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> update(@RequestBody MetaEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = metaService.update(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "MetaEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/updates", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updates(@RequestBody List<MetaEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (MetaEntity entity : list) { + entity.setUpdateUser(ue.getId()); + } + } + + int count = metaService.updates(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectPageCountForDownload") + public ResponseMsg<List<DownloadEntity>> selectPageCountForDownload(String name, Integer pageSize, Integer pageIndex, HttpServletRequest req) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", null); + } + + int count = downloadService.selectCountForUser(ue.getId(), "3,4", name); + if (count == 0) { + return success(0, null); + } + List<DownloadEntity> rs = downloadService.selectByPageForUser(ue.getId(), "3,4", name, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鍏冩暟鎹腑婧㈠嚭鐨勫崟浣岻D") + @ApiImplicitParams({ + @ApiImplicitParam(name = "reqEntity", value = "璇锋眰涓嬭浇瀹炰綋", dataType = "DownloadReqEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/selectMetaOverflowDep") + public ResponseMsg<Object> selectMetaOverflowDep(@RequestBody DownloadReqEntity dr, HttpServletRequest req, HttpServletResponse res) { + try { + if (null == dr || null == dr.getIds() || dr.getIds().isEmpty()) { + return fail("璇烽�夋嫨瑕佷笅杞界殑鏂囦欢ID"); + } + + UserEntity ue = tokenService.getCurrentUser(req); + if (StaticData.ADMIN.equals(ue.getUid())) { + return success(new ArrayList<String>()); + } + + List<String> list = metaService.selectMetaOverflowDep(ue, dr); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁鍗曚綅缂栫爜鏁扮粍鏌ヨ鍗曚綅") + @ApiImplicitParams({ + @ApiImplicitParam(name = "codes", value = "鍗曚綅缂栫爜鏁扮粍", dataType = "String", paramType = "query", allowMultiple = true, example = "00,0001") + }) + @GetMapping(value = "/selectDepsByCodes") + public ResponseMsg<Object> selectDepsByCodes(String[] codes) { + try { + if (null == codes || codes.length == 0) { + return fail("鍗曚綅ID闆嗗悎涓虹┖"); + } + + List<IdNameEntity> list = depService.selectDepsByCodes(codes); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "璇锋眰鍏冩暟鎹笅杞�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "dr", value = "璇锋眰涓嬭浇瀹炰綋绫�", dataType = "DownloadReqEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/downloadReq") + public ResponseMsg<Object> downloadReq(@RequestBody DownloadReqEntity dr, HttpServletRequest req, HttpServletResponse res) { + try { + if (null == dr || StringHelper.isEmpty(dr.getPwd())) { + return fail("瀵嗙爜涓嶈兘涓虹┖"); + } + if (null == dr.getIds() || dr.getIds().isEmpty()) { + return fail("璇烽�夋嫨瑕佷笅杞界殑鏂囦欢ID"); + } + if (!DownloadService.decryptPwd(dr)) { + return fail("瀵嗙爜瑙e瘑澶辫触", null); + } + if (StringHelper.isPwdInvalid(dr.getPwd())) { + return fail("瀵嗙爜涓嶇鍚堣姹�"); + } + + UserEntity ue = tokenService.getCurrentUser(req); + String guid = metaService.downloadMeteReq(ue, dr); + + return success(guid); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "鏂囦欢GUID", dataType = "String", paramType = "query"), + @ApiImplicitParam(name = "pwd", value = "瀵嗙爜", dataType = "String", paramType = "query") + }) + @GetMapping(value = "/selectDownloadFile") + public ResponseMsg<Boolean> selectDownloadFile(String guid, String pwd) { + try { + if (StringHelper.isEmpty(guid) || StringHelper.isEmpty(pwd)) { + return fail("鏂囦欢ID鍜屽瘑鐮佷笉鑳戒负绌�", null); + } + if (!pwd.endsWith(StaticData.EQ)) { + pwd = URLDecoder.decode(pwd, StandardCharsets.UTF_8.name()); + } + + String password = DownloadService.decryptPwd(pwd); + if (null == password) { + return fail("瀵嗙爜瑙e瘑澶辫触", null); + } + + DownloadEntity de = downloadService.selectByGuid(guid); + if (null == de) { + return fail("鏂囦欢涓嶅瓨鍦�", null); + } + if (!StringHelper.isNull(de.getPwd()) && !Md5Helper.validatePassword(password, de.getPwd())) { + return fail("瀵嗙爜涓嶆纭�", null); + } + + String filePath = downloadService.getDownloadFilePath(de); + File file = new File(filePath); + + return success(file.exists()); + } catch (Exception ex) { + return fail(ex, false); + } + } + + @SysLog() + @ApiOperation(value = "涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "鏂囦欢GUID", dataType = "String", paramType = "query"), + @ApiImplicitParam(name = "pwd", value = "瀵嗙爜", dataType = "String", paramType = "query") + }) + @ResponseBody + @GetMapping(value = "/downloadFile") + public void downloadFile(String guid, String pwd, HttpServletRequest req, HttpServletResponse res) { + try { + if (StringHelper.isEmpty(guid) || StringHelper.isEmpty(pwd)) { + WebHelper.writeInfo(HttpStatus.BAD_REQUEST, "鏂囦欢ID鍜屽瘑鐮佷笉鑳戒负绌�", res); + } + if (!pwd.endsWith(StaticData.EQ)) { + pwd = URLDecoder.decode(pwd, StandardCharsets.UTF_8.name()); + } + + String password = DownloadService.decryptPwd(pwd); + if (null == password) { + WebHelper.writeInfo(HttpStatus.BAD_REQUEST, "瀵嗙爜瑙e瘑澶辫触", res); + } + + DownloadEntity de = downloadService.selectByGuid(guid); + if (null == de) { + WebHelper.writeInfo(HttpStatus.NOT_FOUND, "鏂囦欢涓嶅瓨鍦�", res); + return; + } + if (!StringHelper.isNull(de.getPwd()) && !Md5Helper.validatePassword(password, de.getPwd())) { + WebHelper.writeInfo(HttpStatus.UNAUTHORIZED, "瀵嗙爜涓嶆纭�", res); + } + + UserEntity ue = tokenService.getCurrentUser(req); + downlogService.updateInfos(ue, de, req); + + String filePath = downloadService.getDownloadFilePath(de); + WebHelper.download(filePath, de.getName(), res); + } catch (Exception ex) { + WebHelper.writeInfo(HttpStatus.ERROR, ex.getMessage(), res); + } + } + + @SysLog() + @ApiOperation(value = "鏌ョ湅鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "闄勪欢Guid", dataType = "String", paramType = "body") + }) + @GetMapping(value = "/downloadForView") + public void downloadForView(String guid, HttpServletResponse res) { + metaService.downloadForView(guid, true, res); + } +} diff --git a/src/main/java/com/lf/server/controller/data/ProjectController.java b/src/main/java/com/lf/server/controller/data/ProjectController.java new file mode 100644 index 0000000..b149628 --- /dev/null +++ b/src/main/java/com/lf/server/controller/data/ProjectController.java @@ -0,0 +1,220 @@ +package com.lf.server.controller.data; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.bs.BsprojectEntity; +import com.lf.server.entity.ctrl.KeyValueEntity; +import com.lf.server.entity.data.DictEntity; +import com.lf.server.entity.data.DirEntity; +import com.lf.server.entity.sys.DepEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.helper.WebHelper; +import com.lf.server.mapper.bs.BsprojectMapper; +import com.lf.server.service.all.BaseQueryService; +import com.lf.server.service.data.DirService; +import com.lf.server.service.sys.DepService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.List; + +/** + * 椤圭洰绠$悊 + * @author WWW + */ +@Api(tags = "鏁版嵁绠$悊\\椤圭洰绠$悊") +@RestController +@RequestMapping("/project") +public class ProjectController extends BaseController { + @Autowired + DepService depService; + + @Autowired + DirService dirService; + + @Autowired + TokenService tokenService; + + @Autowired + BsprojectMapper bsprojectMapper; + + @Autowired + BaseQueryService baseQueryService; + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈夊崟浣嶆暟鎹�") + @GetMapping(value = "/selectDepAll") + public ResponseMsg<List<DepEntity>> selectDepAll() { + try { + List<DepEntity> list = depService.selectDepAll(); + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ椤圭洰") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "瑗�") + }) + @GetMapping(value = "/selectProject") + public ResponseMsg<List<DirEntity>> selectProject(String name) { + try { + List<DirEntity> list = dirService.selectProject(name); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "dirid", value = "鐩綍ID", dataType = "String", paramType = "query", example = "1"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<Object> selectByPageAndCount(String dirid, Integer pageSize, Integer pageIndex) { + try { + QueryWrapper<BsprojectEntity> wrapper = new QueryWrapper<>(); + wrapper.select("ST_AsText(geom) as geom, *"); + if (null != dirid) { + wrapper.eq("dirid", dirid); + } + + Page<BsprojectEntity> page = new Page<>(pageIndex, pageSize); + page.addOrder(OrderItem.desc("gid")); + Page paged = bsprojectMapper.selectPage(page, wrapper); + + return success(paged.getTotal(), paged.getRecords()); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ瀛楁淇℃伅") + @GetMapping(value = "/selectFields") + public ResponseMsg<List<DictEntity>> selectFields() { + try { + String tabName = BaseQueryService.getTabName(bsprojectMapper); + if (tabName == null) { + return null; + } + + String[] strs = tabName.split("\\."); + List<DictEntity> list = baseQueryService.selectFields(strs[0], strs[1]); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ浣嶇疆") + @ApiImplicitParams({ + @ApiImplicitParam(name = "x", value = "X", dataType = "Double", paramType = "query", example = "114.178955"), + @ApiImplicitParam(name = "y", value = "Y", dataType = "Double", paramType = "query", example = "38.991743") + }) + @GetMapping(value = "/selectLocation") + public ResponseMsg<Object> selectLocation(double x, double y) { + try { + String wkt = String.format("POINT(%f %f)", x, y); + List<KeyValueEntity> list = baseQueryService.selectLocation(wkt); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "gid", value = "ID", dataType = "int", paramType = "query", example = "1") + }) + @GetMapping(value = "/delete") + public ResponseMsg<Integer> delete(int gid) { + try { + int rows = bsprojectMapper.deleteById(gid); + + return success(rows); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "DictEntity", paramType = "body") + }) + @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insert(@RequestBody BsprojectEntity entity, HttpServletRequest req) { + try { + if (null == entity) { + return fail("瀹炰綋绫讳笉鑳戒负绌�", 0); + } + + UserEntity ue = tokenService.getCurrentUser(req); + entity.setCreateuser(ue.getId()); + entity.setEventid(StringHelper.getGuid()); + entity.setCreatetime(WebHelper.getCurrentTimestamp()); + entity.setGeom(StringHelper.getGeomWkt(entity.getGeom())); + + List<BsprojectEntity> list = new ArrayList<>(); + list.add(entity); + + int rows = bsprojectMapper.insertBatch(list); + + return success(rows); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "DictEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/update", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> update(@RequestBody BsprojectEntity entity, HttpServletRequest req) { + try { + if (null == entity) { + return fail("瀹炰綋绫讳笉鑳戒负绌�", 0); + } + + UserEntity ue = tokenService.getCurrentUser(req); + entity.setUpdateuser(ue.getId()); + entity.setUpdatetime(WebHelper.getCurrentTimestamp()); + entity.setGeom(StringHelper.getGeomWkt(entity.getGeom())); + + List<BsprojectEntity> list = new ArrayList<>(); + list.add(entity); + + int rows = bsprojectMapper.updateBatch(list); + + return success(rows); + } catch (Exception ex) { + return fail(ex, -1); + } + } +} diff --git a/src/main/java/com/lf/server/controller/data/PublishController.java b/src/main/java/com/lf/server/controller/data/PublishController.java new file mode 100644 index 0000000..d7d48b2 --- /dev/null +++ b/src/main/java/com/lf/server/controller/data/PublishController.java @@ -0,0 +1,226 @@ +package com.lf.server.controller.data; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.ctrl.PubEntity; +import com.lf.server.entity.data.MetaEntity; +import com.lf.server.entity.data.PublishEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.helper.WebHelper; +import com.lf.server.service.data.PublishService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 鏁版嵁鍙戝竷 + * @author WWW + */ +@Api(tags = "鏁版嵁绠$悊\\鍙戝竷绠$悊") +@RestController +@RequestMapping("/publish") +public class PublishController extends BaseController { + @Autowired + PublishService publishService; + + @Autowired + TokenService tokenService; + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ鍏冩暟鎹�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "depcode", value = "鍗曚綅缂栫爜", dataType = "String", paramType = "query", example = "00"), + @ApiImplicitParam(name = "dircode", value = "鐩綍缂栫爜", dataType = "String", paramType = "query", example = "01"), + @ApiImplicitParam(name = "verid", value = "鐗堟湰ID", dataType = "Integer", paramType = "query", example = "0"), + @ApiImplicitParam(name = "type", value = "绫诲埆", dataType = "String", paramType = "query", example = "DOM"), + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectMetasByPage") + public ResponseMsg<Object> selectMetasByPage(String depcode, String dircode, Integer verid, String type, String name, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + if (StringHelper.isEmpty(type)) { + return fail("鏁版嵁绫诲埆涓虹┖", null); + } + + String types = getType(type); + int count = publishService.selectMetasByCount(depcode, dircode, verid, types, name); + if (count == 0) { + return success(0, null); + } + + List<MetaEntity> rs = publishService.selectMetasByPage(depcode, dircode, verid, types, name, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + /** + * 鑾峰彇绫诲瀷 + */ + private String getType(String type) throws Exception { + switch (type) { + case "DOM": + return "type in ('tif', 'tiff', 'img')"; + case "DEM": + return "type in ('tif', 'tiff')"; + case "MPT": + return "type = 'mpt'"; + case "3DML": + return "type = '3dml'"; + case "BIM": + return "type in ('ifc', 'fbx', 'rvt')"; + default: + throw new Exception("鏁版嵁绫诲瀷涓嶅尮閰�"); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<PublishEntity>> selectByPageAndCount(String name, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = publishService.selectCount(name); + if (count == 0) { + return success(0, null); + } + + List<PublishEntity> rs = publishService.selectByPage(name, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectById") + public ResponseMsg<PublishEntity> selectById(int id) { + try { + PublishEntity entity = publishService.selectById(id); + + return success(entity); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆鍙戝竷鏁版嵁") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "PubEntity", paramType = "body") + }) + @PostMapping(value = "/insertForPub", produces = "application/json; charset=UTF-8") + public ResponseMsg<Object> insertForPub(@RequestBody PubEntity entity, HttpServletRequest req) { + try { + if (null == entity || null == entity.getIds() || entity.getIds().isEmpty()) { + return fail("瀹炰綋绫讳负绌烘垨鎵句笉鍒板厓鏁版嵁ID", 0); + } + if (StringHelper.isEmpty(entity.getType())) { + return fail("鏁版嵁绫诲埆涓虹┖", null); + } + + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUserId(ue.getId()); + entity.setToken(WebHelper.getToken(req)); + } + + String method = getConvertMethod(entity.getType()); + long count = publishService.postForPub(entity, method, req); + + return success(count); + } catch (Exception ex) { + return fail(ex.getMessage(), -1); + } + } + + /** + * 鑾峰彇杞崲鏂规硶 + */ + private String getConvertMethod(String type) throws Exception { + switch (type) { + case "DOM": + return "/Convert/ToTiles"; + case "DEM": + return "/Convert/ToTerra"; + case "MPT": + case "3DML": + return "/Convert/ToSG"; + case "BIM": + return "/Convert/ToTileset"; + default: + throw new Exception("鏁版嵁绫诲瀷涓嶅尮閰�"); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", allowMultiple = true, example = "1") + }) + @GetMapping(value = "/deletes") + public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids, HttpServletRequest req) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = publishService.deletes(ids, req); + + return success(count); + } catch (Exception ex) { + return fail(ex.getMessage(), -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "PublishEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/update", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> update(@RequestBody PublishEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = publishService.update(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex.getMessage(), -1); + } + } +} diff --git a/src/main/java/com/lf/server/controller/data/StyleController.java b/src/main/java/com/lf/server/controller/data/StyleController.java new file mode 100644 index 0000000..eea9c90 --- /dev/null +++ b/src/main/java/com/lf/server/controller/data/StyleController.java @@ -0,0 +1,321 @@ +package com.lf.server.controller.data; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.HttpStatus; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.ctrl.DownloadReqEntity; +import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.data.StyleEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.WebHelper; +import com.lf.server.service.all.UploadAttachService; +import com.lf.server.service.data.DownloadService; +import com.lf.server.service.data.StyleService; +import com.lf.server.service.sys.DownlogService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 鏍峰紡绠$悊 + * @author sws + * @date 2022-09.26 + */ +@Api(tags = "鏁版嵁绠$悊\\鏍峰紡绠$悊") +@RestController +@RequestMapping("/style") +public class StyleController extends BaseController { + @Autowired + StyleService styleService; + + @Autowired + TokenService tokenService; + + @Autowired + DownloadService downloadService; + + @Autowired + DownlogService downlogService; + + @Autowired + UploadAttachService uploadAttachService; + + private final static String TAB_NAME = "lf.sys_style"; + + @SysLog() + @ApiOperation(value = "鏌ヨ璁板綍鏁�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", required = false, example = "a") + }) + @GetMapping({"/selectCount"}) + public ResponseMsg<Integer> selectCount(String name) { + try { + int count = styleService.selectCount(name); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", required = false, example = "a"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPage") + public ResponseMsg<List<StyleEntity>> selectByPage(String name, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 0) { + return fail("鍒嗛〉鏁板皬浜�1鎴栧垎椤电储寮曞皬浜�0", null); + } + + List<StyleEntity> rs = styleService.selectByPage(name, pageSize, pageSize * (pageIndex - 1)); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "a"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<StyleEntity>> selectByPageAndCount(String name, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 0) { + return fail("鍒嗛〉鏁板皬浜�1鎴栧垎椤电储寮曞皬浜�0", null); + } + + int count = styleService.selectCount(name); + if (count == 0) { + return success(0, null); + } + + List<StyleEntity> rs = styleService.selectByPage(name, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "com.lf.server.entity.data.StyleEntity", paramType = "body", example = "") + }) + @PostMapping(value = "/insertStyle", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertStyle(@RequestBody StyleEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = styleService.insertStyle(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "com.lf.server.entity.data.StyleEntity", paramType = "body", example = "") + }) + @PostMapping(value = "/insertStyles", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertStyles(@RequestBody List<StyleEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (StyleEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + } + + int count = styleService.insertStyles(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/deleteStyle") + public ResponseMsg<Integer> deleteStyle(int id) { + try { + int count = styleService.deleteStyle(id); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/deleteStyles") + public ResponseMsg<Integer> deleteStyles(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = styleService.deleteStyles(ids); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "StyleEntity", paramType = "body", example = "") + }) + @ResponseBody + @PostMapping(value = "/updateStyle", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updateStyle(@RequestBody StyleEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = styleService.updateStyle(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectStyle") + public ResponseMsg<StyleEntity> selectStyle(int id) { + try { + StyleEntity styleEntity = styleService.selectStyle(id); + + return success(styleEntity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈�") + @GetMapping(value = "/selectStyleAll") + public ResponseMsg<List<StyleEntity>> selectStyleAll() { + + try { + List<StyleEntity> list = styleService.selectStyleAll(); + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "涓婁紶鏂囦欢") + @ResponseBody + @PostMapping(value = "/upload") + public ResponseMsg<String> upload(@RequestParam("file") MultipartFile file, HttpServletRequest req) { + UserEntity ue = tokenService.getCurrentUser(req); + + return uploadAttachService.upload(ue, TAB_NAME, file, this); + } + + @SysLog() + @ApiOperation(value = "涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "闄勪欢Guid", dataType = "String", paramType = "body") + }) + @GetMapping(value = "/download") + public void download(String guid, HttpServletResponse res) { + uploadAttachService.download(guid, res); + } + + @SysLog() + @ApiOperation(value = "涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "鏂囦欢GUID", dataType = "String", paramType = "query") + }) + @RequestMapping(value = "/downloadFile", method = RequestMethod.GET) + public void downloadFile(String guid, HttpServletRequest req, HttpServletResponse res) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + WebHelper.writeStr2Page(res, WebHelper.getErrJson(HttpStatus.UNAUTHORIZED, "鐢ㄦ埛鏈櫥褰�")); + } + + DownloadEntity de = downloadService.selectByGuid(guid); + if (de == null) { + WebHelper.writeStr2Page(res, WebHelper.getErrJson(HttpStatus.NOT_FOUND, "鏂囦欢涓嶅瓨鍦�")); + } + + downlogService.updateInfos(ue, de, req); + + String filePath = downloadService.getDownloadFilePath(de); + WebHelper.download(filePath, de.getName(), res); + } catch (Exception ex) { + WebHelper.writeStr2Page(res, WebHelper.getErrJson(HttpStatus.UNAUTHORIZED, ex.getMessage())); + log.error(ex.getMessage(), ex); + } + } + + @SysLog() + @ApiOperation(value = "璇锋眰涓嬭浇") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guids", value = "闄勪欢Guid鏁扮粍", dataType = "String", paramType = "body", allowMultiple = true, example = "e5b6ae0889b88111f13a4b6e048348db,fa4f299e901a0c46e634f8fcc8185c0c") + }) + @ResponseBody + @PostMapping(value = "/downloadReqForGuids") + public ResponseMsg<Object> downloadReqForGuids(@RequestBody DownloadReqEntity dre, HttpServletRequest req, HttpServletResponse res) { + try { + if (null == dre || null == dre.getGuids() || dre.getGuids().isEmpty()) { + return fail("Guid鏁扮粍涓虹┖"); + } + + UserEntity ue = tokenService.getCurrentUser(req); + String guid = uploadAttachService.downloadReqForGuids(ue, dre.getGuids()); + + return success(guid); + } catch (Exception ex) { + return fail(ex, null); + } + } +} diff --git a/src/main/java/com/lf/server/controller/data/VerController.java b/src/main/java/com/lf/server/controller/data/VerController.java new file mode 100644 index 0000000..89562a3 --- /dev/null +++ b/src/main/java/com/lf/server/controller/data/VerController.java @@ -0,0 +1,190 @@ +package com.lf.server.controller.data; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.data.VerEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.service.data.VerService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 鐗堟湰琛� + * @author SWS + * @date 2022-09.29 + */ +@Api(tags = "鏁版嵁绠$悊\\鐗堟湰绠$悊") +@RestController +@RequestMapping("/ver") +public class VerController extends BaseController { + @Autowired + VerService versionService; + + @Autowired + TokenService tokenService; + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "dirid", value = "鐩綍ID", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<VerEntity>> selectByPageAndCount(Integer dirid, String name, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = versionService.selectCount(dirid, name); + if (count == 0) { + return success(0, null); + } + + List<VerEntity> rs = versionService.selectByPage(dirid, name, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "com.lf.server.entity.data.VersionEntity", paramType = "body", example = "") + }) + @PostMapping(value = "/insertVersion", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertVersion(@RequestBody VerEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = versionService.insertVersion(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "List<VersionEntity>", paramType = "body", example = "") + }) + @PostMapping(value = "/insertVersions", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertVersions(@RequestParam List<VerEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (VerEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + } + + int count = versionService.insertVersions(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/deleteVersion") + public ResponseMsg<Integer> deleteVersion(int id) { + try { + int count = versionService.deleteVersion(id); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "List<Integer>", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deleteVersions") + public ResponseMsg<Integer> deleteVersions(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + int count = versionService.deleteVersions(ids); + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "VersionEntity", paramType = "body", example = "") + }) + @ResponseBody + @PostMapping(value = "/updateVersion", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updateVersion(@RequestBody VerEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = versionService.updateVersion(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectVersion") + public ResponseMsg<VerEntity> selectVersion(int id) { + try { + VerEntity verEntity = versionService.selectVersion(id); + + return success(verEntity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈�") + @GetMapping(value = "/selectVersionAll") + public ResponseMsg<List<VerEntity>> selectVersionAll() { + try { + List<VerEntity> list = versionService.selectVersionAll(); + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } +} diff --git a/src/main/java/com/lf/server/controller/data/WmtsController.java b/src/main/java/com/lf/server/controller/data/WmtsController.java new file mode 100644 index 0000000..4abbf2d --- /dev/null +++ b/src/main/java/com/lf/server/controller/data/WmtsController.java @@ -0,0 +1,190 @@ +package com.lf.server.controller.data; + +import com.lf.server.annotation.SysLog; +import com.lf.server.config.PropertiesConfig; +import com.lf.server.helper.StringHelper; +import com.lf.server.helper.WebHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.ClassPathResource; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.server.ServerHttpRequest; +import org.springframework.http.server.ServerHttpResponse; +import org.springframework.http.server.ServletServerHttpRequest; +import org.springframework.http.server.ServletServerHttpResponse; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.io.OutputStream; +import java.nio.charset.StandardCharsets; +import java.time.Duration; +import java.util.Date; +import java.util.List; + +/** + * WMTS鏈嶅姟 + * @author WWW + */ +@Api(tags = "鏁版嵁绠$悊\\WMTS鏈嶅姟") +@RestController +@RequestMapping("/wmts") +public class WmtsController { + @Autowired + PropertiesConfig config; + + private final static Log log = LogFactory.getLog(WmtsController.class); + + @SysLog() + @ApiOperation(value = "鑾峰彇WMTS鍏冩暟鎹�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "浠ょ墝", required = true, dataType = "String", defaultValue = "token", paramType = "path") + }) + @GetMapping("select/{token}/WMTSCapabilities.xml") + public void selectWmtsCapabilities(@PathVariable(name = "token") String token, HttpServletRequest req, HttpServletResponse res) { + try { + ClassPathResource resource = new ClassPathResource("wmts/web.xml"); + if (!resource.exists()) { + return; + } + + InputStream stream = resource.getInputStream(); + byte[] data = new byte[stream.available()]; + stream.read(data); + stream.close(); + + String url = req.getRequestURL().toString().replace("WMTSCapabilities.xml", "tile?"); + + String result = new String(data, StandardCharsets.UTF_8); + result = result.replace("{url}", url); + byte[] bytes = result.getBytes(StandardCharsets.UTF_8); + + res.setHeader("Content-Type", "application/xml;charset=UTF-8"); + ServletOutputStream os = res.getOutputStream(); + os.write(bytes); + os.flush(); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + + @ApiOperation(value = "鑾峰彇WMTS鐡︾墖") + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "浠ょ墝", required = true, dataType = "String", defaultValue = "token", paramType = "path"), + @ApiImplicitParam(name = "layer", value = "鍥惧眰绫诲瀷", required = true, dataType = "String", defaultValue = "img"), + @ApiImplicitParam(name = "tilematrix", value = "灞傜骇", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "tilerow", value = "琛屽彿", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "tilecol", value = "鍒楀彿", required = true, dataType = "Integer") + }) + @GetMapping("select/{token}/tile") + public void selectWmtsTile(@PathVariable(name = "token") String token, HttpServletRequest req, HttpServletResponse res) { + try { + String layer = WebHelper.getReqParamVal(req, "layer"); + String matrix = WebHelper.getReqParamVal(req, "tilematrix"); + String row = WebHelper.getReqParamVal(req, "tilerow"); + String col = WebHelper.getReqParamVal(req, "tilecol"); + if (StringHelper.isEmpty(layer) || StringHelper.isEmpty(matrix) || StringHelper.isEmpty(layer) || StringHelper.isEmpty(row) || StringHelper.isEmpty(col)) { + return; + } + + int z = Integer.parseInt(matrix); + int x = Integer.parseInt(row); + int y = Integer.parseInt(col); + + getWmtsTile(layer, z, x, y, req, res); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + + /** + * 鑾峰彇WMTS鐡︾墖 + */ + private void getWmtsTile(String layer, int z, int x, int y, HttpServletRequest req, HttpServletResponse res) throws Exception { + ServletServerHttpRequest ssReq = new ServletServerHttpRequest(req); + ServletServerHttpResponse ssRes = new ServletServerHttpResponse(res); + + // 妫�鏌ョ紦瀛樻槸鍚﹁繃鏈� + if (checkIfNotModify(ssReq, ssRes)) { + // 璁剧疆缂撳瓨澶� + setBrowerCache(ssRes); + return; + } + + // 璁剧疆缂撳瓨鍙傛暟 + setBrowerCache(ssRes); + //res.setContentType("image/png") + + // 閫氳繃response瀵硅薄锛岃幏鍙栧埌杈撳嚭娴� + ServletOutputStream outputStream = res.getOutputStream(); + // 瀹氫箟杈撳叆娴侊紝閫氳繃杈撳叆娴佽鍙栨枃浠跺唴瀹� + FileInputStream fileInputStream; + + // y = (int) Math.pow(2, z) - y - 1; + String path = config.getTilePath() + File.separator + layer + File.separator + z + File.separator + y + File.separator + x + ".png"; + System.out.println(path); + + File file = new File(path); + if (!file.exists() || file.isDirectory()) { + ClassPathResource resource = new ClassPathResource("wmts/nofound.png"); + fileInputStream = new FileInputStream(resource.getFile()); + } else { + System.out.println(path); + fileInputStream = new FileInputStream(file); + } + + int len = 0; + byte[] bytes = new byte[1024]; + while ((len = fileInputStream.read(bytes)) != -1) { + outputStream.write(bytes, 0, len); + outputStream.flush(); + } + //outputStream.close() + fileInputStream.close(); + + // 璁剧疆杩斿洖鍥剧墖绫诲瀷 + ssRes.getHeaders().set("Content-Type", "image/png"); + + OutputStream os = ssRes.getBody(); + os.write(bytes); + os.flush(); + } + + /** + * 璁剧疆娴忚鍣ㄧ紦瀛樺弬鏁� + */ + private void setBrowerCache(ServerHttpResponse res) { + HttpHeaders headers = res.getHeaders(); + headers.setCacheControl("public, must-revalidate"); + + headers.setExpires(System.currentTimeMillis() + 24 * 60 * 60 * 1000); + headers.setAccessControlMaxAge(Duration.ofHours(24)); + headers.setETag("\"" + new Date().toString() + "\""); + // must-revalidate + // response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches); + } + + /** + * 楠岃瘉缂撳瓨鍙傛暟 + */ + boolean checkIfNotModify(ServerHttpRequest req, ServerHttpResponse res) { + List<String> etags = req.getHeaders().getIfNoneMatch(); + if (0 == etags.size() || StringHelper.isEmpty(etags.get(0))) { + return false; + } + + res.setStatusCode(HttpStatus.NOT_MODIFIED); + + return true; + } +} diff --git a/src/main/java/com/lf/server/controller/data/upload/CheckController.java b/src/main/java/com/lf/server/controller/data/upload/CheckController.java new file mode 100644 index 0000000..ae92877 --- /dev/null +++ b/src/main/java/com/lf/server/controller/data/upload/CheckController.java @@ -0,0 +1,523 @@ +package com.lf.server.controller.data.upload; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.ctrl.FmeReqEntity; +import com.lf.server.entity.ctrl.RegisterEntity; +import com.lf.server.helper.HttpHelper; +import com.lf.server.helper.PathHelper; +import com.lf.server.helper.StringHelper; +import com.lf.server.service.data.FmeService; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; + +/** + * 妫�鏌ユ帶鍒跺櫒 + * @author WWW + */ +public class CheckController extends BaseController { + @Autowired + protected PathHelper pathHelper; + + @Autowired + protected FmeService fmeService; + + @SysLog() + @ApiOperation(value = "鏌ヨ浠诲姟鐘舵��") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "浠诲姟ID", dataType = "String", paramType = "query", example = "29db09ee-2aae-4c62-bec0-0b5c5d8084e4") + }) + @GetMapping(value = "/selectTaskStatus") + public Object selectTaskStatus(String id, HttpServletRequest req) { + try { + if (StringHelper.isEmpty(id)) { + return fail("id涓嶈兘涓虹┖"); + } + + return fmeService.getTaskStatus(id, req); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "涓嬭浇璐ㄦ缁撴灉") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "浠诲姟ID", dataType = "String", paramType = "query", example = "29db09ee-2aae-4c62-bec0-0b5c5d8084e4") + }) + @GetMapping(value = "/downloadResult") + public void downloadResult(String id, HttpServletRequest req, HttpServletResponse res) { + try { + if (!StringHelper.isEmpty(id)) { + String url = fmeService.getDownloadUrl(id, req); + + HttpHelper httpHelper = new HttpHelper(); + // res.sendRedirect(url) + httpHelper.service(req, res, url, null); + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + + @SysLog() + @ApiOperation(value = "鎻愪氦鏁版嵁璐ㄦ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "FME璇锋眰瀹炰綋绫�", dataType = "FmeReqEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/uploadChecks") + public ResponseMsg<Object> uploadChecks(@RequestBody FmeReqEntity entity, HttpServletRequest req) { + try { + if (StringHelper.isEmpty(entity.names)) { + return fail("浠诲姟鍚嶇О涓嶈兘涓虹┖"); + } + if (StringHelper.isEmpty(entity.zipPath)) { + return fail("璇烽�夋嫨寰呰川妫�鐨剒ip鏂囦欢"); + } + + entity.zipPath = getFullPath(entity.zipPath); + if (!isZipFile(entity.zipPath)) { + return fail("寰呰川妫�鐨剒ip鏂囦欢涓嶅瓨鍦�"); + } + if (entity.names.contains(StaticData.CHECK_MAIN)) { + entity.wbsPath = getFullPath(entity.wbsPath); + if (!isXlsFile(entity.wbsPath)) { + return fail("寰呰川妫�鐨刉BS鏂囦欢涓嶅瓨鍦�"); + } + } + + List<String> list = new ArrayList<>(); + for (String name : entity.names.split(StaticData.COMMA)) { + String guid = invoke(name, entity, req); + list.add(guid); + } + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + /** + * 鑾峰彇鏂囦欢璺緞 + */ + private String getFullPath(String filePath) { + return null == filePath ? null : pathHelper.getConfig().getTempPath() + File.separator + filePath; + } + + /** + * 鏄�/鍚︿负Zip鏂囦欢 + */ + private boolean isZipFile(String filePath) { + if (null == filePath || !filePath.toLowerCase().endsWith(StaticData.ZIP)) { + return false; + } + + File zipFile = new File(filePath); + + return zipFile.exists() && !zipFile.isDirectory(); + } + + /** + * 鏄�/鍚︿负Excel鏂囦欢 + */ + private boolean isXlsFile(String filePath) { + if (null == filePath) { + return false; + } + if (!(filePath.toLowerCase().endsWith(StaticData.XLS) || filePath.toLowerCase().endsWith(StaticData.XLSX))) { + return false; + } + + File zipFile = new File(filePath); + + return zipFile.exists() && !zipFile.isDirectory(); + } + + /** + * 鏂规硶璋冪敤 + */ + private String invoke(String name, FmeReqEntity entity, HttpServletRequest req) throws Exception { + Method method; + try { + method = FmeService.class.getDeclaredMethod(name, FmeReqEntity.class, HttpServletRequest.class); + } catch (Exception ex) { + throw new Exception(name + "锛岃妫�鏌ユ柟娉曚笉瀛樺湪"); + } + + Object obj = method.invoke(fmeService, entity, req); + + return null == obj ? null : obj.toString(); + } + + /*@SysLog() + @ApiOperation(value = "鏌ヨOSGB妫�鏌�") + @GetMapping(value = "/selectCheckOsgb") + public ResponseMsg<Object> selectCheckOsgb(HttpServletRequest req) { + try { + FmeReqEntity fme = new FmeReqEntity(); + fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�"; + fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\OSGB妫�鏌�.zip"; + fme.imgResolution = 0.2; + + String rs = fmeService.checkOsgb(fme, req); + if (StringHelper.isEmpty(rs)) { + return fail("妫�鏌ュけ璐�"); + } + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ琛ㄦ牸鏁版嵁妫�鏌�") + @GetMapping(value = "/selectCheckXls") + public ResponseMsg<Object> selectCheckXls(HttpServletRequest req) { + try { + FmeReqEntity fme = new FmeReqEntity(); + fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�"; + fme.sjzy = "娴嬮噺涓撲笟"; + fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\琛ㄦ牸鏁版嵁妫�鏌�.zip"; + + String rs = fmeService.checkXls(fme, req); + if (StringHelper.isEmpty(rs)) { + return fail("妫�鏌ュけ璐�"); + } + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鐐逛簯妫�鏌�") + @GetMapping(value = "/selectCheckLaz") + public ResponseMsg<Object> selectCheckLaz(HttpServletRequest req) { + try { + FmeReqEntity fme = new FmeReqEntity(); + fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�"; + fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\鐐逛簯妫�鏌�.zip"; + fme.lazDensity = 1; + + String rs = fmeService.checkLaz(fme, req); + if (StringHelper.isEmpty(rs)) { + return fail("妫�鏌ュけ璐�"); + } + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ楂樼▼妫�鏌�") + @GetMapping(value = "/selectCheckDem") + public ResponseMsg<Object> selectCheckDem(HttpServletRequest req) { + try { + FmeReqEntity fme = new FmeReqEntity(); + fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�"; + fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\楂樼▼妫�鏌�.zip"; + fme.demTolerance = 5; + fme.demChangeRate = 200; + + String rs = fmeService.checkDem(fme, req); + if (StringHelper.isEmpty(rs)) { + return fail("妫�鏌ュけ璐�"); + } + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ灞炴�ф鏌�") + @GetMapping(value = "/selectCheckAttrs") + public ResponseMsg<Object> selectCheckAttrs(HttpServletRequest req) { + try { + FmeReqEntity fme = new FmeReqEntity(); + fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�"; + fme.sjzy = "娴嬮噺涓撲笟"; + fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\灞炴�ф鏌�.zip"; + + String rs = fmeService.checkAttrs(fme, req); + if (StringHelper.isEmpty(rs)) { + return fail("妫�鏌ュけ璐�"); + } + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎷撴墤妫�鏌�") + @GetMapping(value = "/selectCheckTopology") + public ResponseMsg<Object> selectCheckTopology(HttpServletRequest req) { + try { + FmeReqEntity fme = new FmeReqEntity(); + fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�"; + fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\鎷撴墤妫�鏌�.zip"; + fme.polyTolerance = 0.001; + fme.lineTolerance = 0.001; + fme.pointTolerance = 0.001; + fme.gcdOffset = 20; + fme.kzdOffset = 100; + fme.rangeOffset = 200; + fme.xgMax = 0.005; + + String rs = fmeService.checkTopology(fme, req); + if (StringHelper.isEmpty(rs)) { + return fail("妫�鏌ュけ璐�"); + } + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鍥鹃潰鏁撮グ妫�鏌�") + @GetMapping(value = "/selectCheckDecorate") + public ResponseMsg<Object> selectCheckDecorate(HttpServletRequest req) { + try { + FmeReqEntity fme = new FmeReqEntity(); + fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�"; + fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\鍥鹃潰鏁撮グ妫�鏌�.zip"; + fme.xlsList = "D:\\Project\\Data\\LF\\temp\\20230107010101\\鏂囦欢娓呭崟.xlsx"; + + String rs = fmeService.checkDecorate(fme, req); + if (StringHelper.isEmpty(rs)) { + return fail("妫�鏌ュけ璐�"); + } + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鍘熺偣妫�鏌�") + @GetMapping(value = "/selectCheckOrigin") + public ResponseMsg<Object> selectCheckOrigin(HttpServletRequest req) { + try { + FmeReqEntity fme = new FmeReqEntity(); + fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�"; + fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\鍘熺偣妫�鏌�.zip"; + + String rs = fmeService.checkOrigin(fme, req); + if (StringHelper.isEmpty(rs)) { + return fail("妫�鏌ュけ璐�"); + } + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鏍呮牸妫�鏌�") + @GetMapping(value = "/selectCheckDom") + public ResponseMsg<Object> selectCheckDom(HttpServletRequest req) { + try { + FmeReqEntity fme = new FmeReqEntity(); + fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�"; + fme.sjzy = "娴嬮噺涓撲笟"; + fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\鏍呮牸妫�鏌�.zip"; + fme.coordinateSystem = "CGCS2000/GK3d-93E_FME"; + fme.imgResolution = 0.2; + + String rs = fmeService.checkDom(fme, req); + if (StringHelper.isEmpty(rs)) { + return fail("妫�鏌ュけ璐�"); + } + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鏁板鍩虹妫�鏌�") + @GetMapping(value = "/selectCheckMath") + public ResponseMsg<Object> selectCheckMath(HttpServletRequest req) { + try { + FmeReqEntity fme = new FmeReqEntity(); + fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�"; + fme.sjzy = "娴嬮噺涓撲笟"; + fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\鏁板鍩虹妫�鏌�.zip"; + + String rs = fmeService.checkMath(fme, req); + if (StringHelper.isEmpty(rs)) { + return fail("妫�鏌ュけ璐�"); + } + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鍏冩暟鎹鏌�") + @GetMapping(value = "/selectCheckMeta") + public ResponseMsg<Object> selectCheckMeta(HttpServletRequest req) { + try { + FmeReqEntity fme = new FmeReqEntity(); + fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�"; + fme.sjzy = "娴嬮噺涓撲笟"; + fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\鍏冩暟鎹鏌�.zip"; + + String rs = fmeService.checkMeta(fme, req); + if (StringHelper.isEmpty(rs)) { + return fail("妫�鏌ュけ璐�"); + } + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎬昏川妫�") + @GetMapping(value = "/selectCheckMain") + public ResponseMsg<Object> selectCheckMain(HttpServletRequest req) { + try { + FmeReqEntity fme = new FmeReqEntity(); + fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�"; + fme.sjzy = "娴嬮噺涓撲笟"; + fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�.7z"; + fme.wbsPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\椤圭洰WBS瀵煎嚭.xlsx"; + fme.isDiZai = "NO"; + fme.diZaiType = "NO"; + + String rs = fmeService.checkMain(fme, req); + if (StringHelper.isEmpty(rs)) { + return fail("妫�鏌ュけ璐�"); + } + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "閫昏緫涓�鑷存�ф鏌�") + @GetMapping(value = "/checkLogical") + public ResponseMsg<Object> checkLogical(HttpServletRequest req) { + try { + FmeReqEntity fme = new FmeReqEntity(); + fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�"; + fme.sjzy = "娴嬮噺涓撲笟"; + fme.zipPath = "D:\\LF\\temp\\20230411\\鏁板瓧鍖栨垚鏋�.zip"; + + String rs = fmeService.checkLogical(fme, req); + if (StringHelper.isEmpty(rs)) { + return fail("妫�鏌ュけ璐�"); + } + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍗曢」鎴愭灉瀹屾暣鎬ф鏌�") + @GetMapping(value = "/checkSingleIntegrity") + public ResponseMsg<Object> checkSingleIntegrity(HttpServletRequest req) { + try { + FmeReqEntity fme = new FmeReqEntity(); + fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�"; + fme.sjzy = "娴嬮噺涓撲笟"; + fme.sjfl = "鏁板瓧鍖栨垚鏋�"; + fme.zipPath = "D:\\LF\\temp\\20230411\\鏁板瓧鍖栨垚鏋�.zip"; + + String rs = fmeService.checkSingleIntegrity(fme, req); + if (StringHelper.isEmpty(rs)) { + return fail("妫�鏌ュけ璐�"); + } + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + }*/ + + @SysLog() + @ApiOperation(value = "鏈嶅姟娉ㄥ唽") + @GetMapping(value = "/selectServerRegister") + public ResponseMsg<Object> selectServerRegister(HttpServletRequest req) { + try { + RegisterEntity rs = fmeService.serverRegister("瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116DT02锛�", "http://127.0.0.1/LFData/2d/tiles/01/{z}/{x}/{y}.png", "DOM", req); + if (null == rs || StringHelper.isEmpty(rs.getSerialnum())) { + return fail("澶辫触"); + } + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏈嶅姟鐢宠") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "鏈嶅姟ID", dataType = "String", paramType = "query", example = "195f77eb-19dd-4e34-afc1-fcff8f758f7b"), + @ApiImplicitParam(name = "pubid", value = "鍙戝竷ID", dataType = "Integer", paramType = "query", example = "1"), + }) + @GetMapping(value = "/selectServerApply") + public ResponseMsg<Object> selectServerApply(String id, Integer pubid, HttpServletRequest req) { + try { + fmeService.serverApply(id, pubid, req); + + return success("OK"); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎璧勬簮") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "鏈嶅姟ID", dataType = "String", paramType = "query", example = "6f4b6783-4b98-4d46-a0d9-43cdb5f339dc") + }) + @GetMapping(value = "/selectDeleteRes") + public ResponseMsg<Object> selectDeleteRes(String id, HttpServletRequest req) { + try { + fmeService.deleteRes(id, req); + + return success("OK"); + } catch (Exception ex) { + return fail(ex, null); + } + } +} diff --git a/src/main/java/com/lf/server/controller/data/upload/QueryController.java b/src/main/java/com/lf/server/controller/data/upload/QueryController.java new file mode 100644 index 0000000..74379cd --- /dev/null +++ b/src/main/java/com/lf/server/controller/data/upload/QueryController.java @@ -0,0 +1,289 @@ +package com.lf.server.controller.data.upload; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.lf.server.annotation.SysLog; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.ctrl.TabEntity; +import com.lf.server.entity.data.*; +import com.lf.server.entity.sys.DepEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.ClassHelper; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.all.BasicMapper; +import com.lf.server.service.all.BaseQueryService; +import com.lf.server.service.data.*; +import com.lf.server.service.sys.DepService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 鏌ヨ鎺у埗鍣� + * @author WWW + */ +public class QueryController extends CheckController { + @Autowired + protected DepService depService; + + @Autowired + protected DirService dirService; + + @Autowired + protected VerService verService; + + @Autowired + protected MetaService metaService; + + @Autowired + protected TokenService tokenService; + + @Autowired + protected UploadService uploadService; + + @Autowired + protected BaseQueryService baseQueryService; + + @Autowired + DictService dictService; + + @SysLog() + @ApiOperation(value = "鏍规嵁鐖禝D鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "metaid", value = "鐖禝D", dataType = "String", paramType = "query", example = "0"), + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectPageAndCountByPid") + public ResponseMsg<List<MetaEntity>> selectPageAndCountByPid(Integer metaid, String name, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + if (null == metaid || metaid < 1) { + return fail("鐖禝D涓嶈兘涓虹┖涓斿ぇ浜�1", null); + } + + int count = metaService.selectCountByPid(metaid, name); + if (count == 0) { + return success(0, null); + } + + List<MetaEntity> rs = metaService.selectPageByPid(metaid, name, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈夊崟浣�") + @GetMapping(value = "/selectDepAll") + public ResponseMsg<List<DepEntity>> selectDepAll() { + try { + List<DepEntity> list = depService.selectDepAll(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈夌洰褰�") + @GetMapping(value = "/selectDirAll") + public ResponseMsg<List<DirEntity>> selectDirAll() { + try { + List<DirEntity> list = dirService.selectDirAll(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁鐩綍ID鏌ヨ鐗堟湰鍒楄〃") + @ApiImplicitParams({ + @ApiImplicitParam(name = "dirid", value = "鐩綍ID", dataType = "Integer", paramType = "query") + }) + @GetMapping(value = "/selectVerByDirid") + public ResponseMsg<List<VerEntity>> selectVerByDirid(Integer dirid) { + try { + if (null == dirid || dirid < 0) { + dirid = 0; + } + + List<VerEntity> list = verService.selectByDirid(dirid); + if (null == list || list.isEmpty()) { + list = verService.selectByDirid(0); + } + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鍧愭爣绯�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "zoning", value = "甯﹀彿", dataType = "String", paramType = "query", example = "6搴︽湁甯﹀彿") + }) + @GetMapping(value = "/selectCoords") + public ResponseMsg<Object> selectCoords(String zoning) { + try { + List<CoordEntity> list = uploadService.selectCoords(zoning); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ椤圭洰鍚嶇О") + @GetMapping(value = "/selectProject") + public ResponseMsg<Object> selectProject() { + try { + List<DirEntity> list = uploadService.selectProject(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈夎〃") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "鐐�"), + @ApiImplicitParam(name = "hasGeom", value = "鍚湁Geom瀛楁", dataType = "Boolean", paramType = "query", example = "false") + }) + @GetMapping(value = "/selectTabs") + public ResponseMsg<List<TabEntity>> selectTabs(String name, Boolean hasGeom) { + try { + List<TabEntity> list = dictService.selectDictTab(name, null == hasGeom || !hasGeom ? "gid" : "geom"); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ瀛楁淇℃伅") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ns", value = "鍚嶇О绌洪棿", dataType = "String", paramType = "query", example = "bd"), + @ApiImplicitParam(name = "tab", value = "琛ㄥ悕", dataType = "String", paramType = "query", example = "dlg25wAanp") + }) + @GetMapping(value = "/selectFields") + public ResponseMsg<List<DictEntity>> selectFields(String ns, String tab) { + try { + if (StringHelper.isEmpty(ns) || StringHelper.isEmpty(tab)) { + return fail("鍚嶇О绌洪棿鍜岃〃鍚嶄笉鑳戒负绌�", null); + } + + List<DictEntity> list = baseQueryService.selectFields(ns, tab); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ琛ㄤ腑鏁版嵁") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "鍏冩暟鎹甀D", dataType = "Integer", paramType = "query", example = "115"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10") + }) + @GetMapping(value = "/selectDbData") + public ResponseMsg<Object> selectDbData(Integer id, Integer pageIndex, Integer pageSize) { + // noinspection AlibabaRemoveCommentedCode + try { + if (null == id || id < 0) { + return fail("鍏冩暟鎹甀D涓嶈兘涓虹┖鎴栧皬浜�0", null); + } + + MetaEntity meta = metaService.selectById(id); + if (null == meta || null == meta.getTab() || !meta.getTab().contains(StaticData.POINT)) { + return fail("鎵句笉鍒板厓鏁版嵁淇℃伅", null); + } + + String entity = meta.getTab().substring(meta.getTab().indexOf(".") + 1).replace("_", "").toLowerCase(); + BasicMapper baseMapper = ClassHelper.getBasicMapper(entity); + if (null == baseMapper) { + return null; + } + + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("parentid", meta.getEventid()); + + Page<Object> page = new Page<>(pageIndex, pageSize); + page.addOrder(OrderItem.desc("gid")); + IPage<Object> paged = baseMapper.selectPage(page, wrapper); + + return success(paged.getTotal(), paged.getRecords()); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ涓婁紶鏁版嵁骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageForUpload") + public ResponseMsg<Object> selectByPageForUpload(String name, Integer pageSize, Integer pageIndex, HttpServletRequest req) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + UserEntity ue = tokenService.getCurrentUser(req); + + int count = metaService.selectCountForUpload(name, ue.getId(), null); + if (count == 0) { + return success(0, null); + } + + List<MetaEntity> list = metaService.selectByPageForUpload(name, ue.getId(), null, pageSize, pageSize * (pageIndex - 1)); + + return success(count, list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁鍏冩暟鎹甀D鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectMetaById") + public ResponseMsg<MetaEntity> selectMetaById(int id) { + try { + MetaEntity entity = metaService.selectById(id); + + return success(entity); + } catch (Exception ex) { + return fail(ex, null); + } + } +} diff --git a/src/main/java/com/lf/server/controller/data/upload/UploadController.java b/src/main/java/com/lf/server/controller/data/upload/UploadController.java new file mode 100644 index 0000000..0b41714 --- /dev/null +++ b/src/main/java/com/lf/server/controller/data/upload/UploadController.java @@ -0,0 +1,240 @@ +package com.lf.server.controller.data.upload; + +import com.lf.server.annotation.SysLog; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.ctrl.KeyValueEntity; +import com.lf.server.entity.data.DirEntity; +import com.lf.server.entity.data.MetaEntity; +import com.lf.server.entity.data.MetaFileEntity; +import com.lf.server.entity.data.VerEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.service.all.UploadAttachService; +import com.lf.server.service.data.UploadService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 鏁版嵁鍏ュ簱 + * @author WWW + */ +@Api(tags = "鏁版嵁绠$悊\\鏁版嵁涓婁紶") +@RestController +@RequestMapping("/dataUpload") +public class UploadController extends QueryController { + @Autowired + UploadService uploadService; + + @Autowired + UploadAttachService uploadAttachService; + + @SysLog() + @ApiOperation(value = "鏌ヨ璺緞") + @GetMapping(value = "/selectPath") + public ResponseMsg<String> selectPath() { + try { + String pathName = uploadService.selectPath(); + + return success(pathName); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "涓婁紶鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "path", value = "璺緞", dataType = "String", paramType = "query") + }) + @ResponseBody + @PostMapping(value = "/uploadFiles") + public ResponseMsg<Object> uploadFiles(String path, HttpServletRequest req, HttpServletResponse res) { + try { + List<MetaFileEntity> list = uploadService.uploadData(null, path, false, req, res); + if (null == list || list.isEmpty()) { + return fail("娌℃湁鎵惧埌涓婁紶鏂囦欢", null); + } + + uploadService.copePath(list); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + /** + * 鎺ユ敹鏁扮粍1锛欯RequestParam(value = "ids")List<Integer> ids + * &ids=1209&ids=1180&ids=1387 + * 鎺ユ敹鏁版嵁2锛欼nteger[] ids + * formData.append("ids", 1209); formData.append("ids", 1180); formData.append("ids", 1387); + */ + @SysLog() + @ApiOperation(value = "涓婁紶Excel闄勪欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "path", value = "璺緞", dataType = "String", paramType = "query"), + @ApiImplicitParam(name = "ids", value = "鍏冩暟鎹泦鍚�", dataType = "Integer", allowMultiple = true, paramType = "query") + }) + @ResponseBody + @PostMapping(value = "/uploadXlsAnnex") + public ResponseMsg<Object> uploadXlsAnnex(String path, Integer[] ids, HttpServletRequest req, HttpServletResponse res) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", null); + } + if (null == ids || ids.length == 0) { + return fail("鎵句笉鍒板厓鏁版嵁鐨処D闆嗗悎"); + } + + List<MetaEntity> ms = metaService.selectXlsAnnex(ids, UploadAttachService.getTabs()); + if (null == ms || ms.isEmpty()) { + return fail("鎵句笉鍒拌涓婁紶闄勪欢鐨勫厓鏁版嵁"); + } + + List<MetaFileEntity> list = uploadService.uploadData(null, path, false, req, res); + if (null == list || list.isEmpty()) { + return fail("娌℃湁鎵惧埌涓婁紶鏂囦欢", null); + } + + List<KeyValueEntity> rs = uploadAttachService.uploadXlsAnnex(ue, ms, list, path); + if (null == rs || rs.size() == 0) { + return fail("娌℃湁瑕佹洿鏂扮殑鍏冩暟鎹�"); + } + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "path", value = "璺緞", dataType = "String", paramType = "query") + }) + @GetMapping(value = "/selectFiles") + public ResponseMsg<List<MetaFileEntity>> selectFiles(String path) { + try { + List<MetaFileEntity> list = uploadService.selectFiles(path); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "MetaEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/deleteFiles") + public ResponseMsg<Object> deleteFiles(@RequestBody List<MetaFileEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", null); + } + if (null == list || list.isEmpty()) { + return fail("娌℃湁鎵惧埌鏂囦欢", null); + } + + int rows = uploadService.deleteFiles(list); + + return success("鎴愬姛", rows); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鏄犲皠") + @ApiImplicitParams({ + @ApiImplicitParam(name = "path", value = "璺緞", dataType = "String", paramType = "query", example = "20230110010101"), + @ApiImplicitParam(name = "dirid", value = "鐩綍ID", dataType = "Integer", paramType = "query", example = "163"), + @ApiImplicitParam(name = "verid", value = "鐗堟湰ID", dataType = "Integer", paramType = "query", example = "0"), + @ApiImplicitParam(name = "epsgCode", value = "鍧愭爣缂栫爜", dataType = "String", paramType = "query", example = "EPSG:4490") + }) + @GetMapping(value = "/selectMappers") + public ResponseMsg<Object> selectMappers(String path, Integer dirid, Integer verid, String epsgCode, HttpServletRequest req) { + try { + if (StringHelper.isEmpty(path) || StringHelper.isEmpty(epsgCode) || null == dirid || null == verid) { + return fail("璺緞銆佺洰褰旾D銆佺増鏈琁D鍜屽潗鏍囩紪鐮佷笉鑳戒负绌�"); + } + if (1 > uploadService.selectCount4Coord(epsgCode)) { + return fail("鍧愭爣缂栫爜" + epsgCode + "涓嶅瓨鍦�"); + } + DirEntity dir = dirService.selectDir(dirid); + if (null == dir) { + return fail("鐩綍ID=" + dirid + "涓嶅瓨鍦�"); + } + VerEntity ver = verService.selectVersion(verid); + if (null == ver) { + return fail("鐗堟湰ID=" + verid + "涓嶅瓨鍦�"); + } + + UserEntity ue = tokenService.getCurrentUser(req); + List<MetaFileEntity> list = uploadService.selectMappers(ue, path, dir, ver, epsgCode); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "鍏冩暟鎹枃浠堕泦鍚�", dataType = "MetaFileEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/insertFiles") + public ResponseMsg<Object> insertFiles(@RequestBody List<MetaFileEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (null == ue) { + return fail("鐢ㄦ埛鏈櫥褰�", null); + } + if (null == list || list.isEmpty()) { + return fail("鍏冩暟鎹枃浠堕泦鍚堜负绌�", null); + } + + uploadService.insertFiles(ue, list, req); + + return success("鎴愬姛", list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎鍏冩暟鎹�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", allowMultiple = true, example = "1") + }) + @GetMapping(value = "/deleteMetas") + public ResponseMsg<Integer> deleteMetas(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = metaService.deletes(ids); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } +} diff --git a/src/main/java/com/lf/server/controller/show/ApplyController.java b/src/main/java/com/lf/server/controller/show/ApplyController.java new file mode 100644 index 0000000..b39f129 --- /dev/null +++ b/src/main/java/com/lf/server/controller/show/ApplyController.java @@ -0,0 +1,305 @@ +package com.lf.server.controller.show; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.HttpStatus; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.ctrl.DownloadReqEntity; +import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.show.ApplyEntity; +import com.lf.server.entity.show.FlowEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.AesHelper; +import com.lf.server.helper.StringHelper; +import com.lf.server.helper.WebHelper; +import com.lf.server.service.data.DownloadService; +import com.lf.server.service.show.ApplyService; +import com.lf.server.service.show.FlowService; +import com.lf.server.service.sys.DownlogService; +import com.lf.server.service.sys.TokenService; +import com.lf.server.service.sys.UserService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.sql.Timestamp; +import java.util.List; + +/** + * 鏁版嵁鐢宠 + * @author WWW + */ +@Api(tags = "缁煎悎灞曠ず\\鏁版嵁鐢宠") +@RestController +@RequestMapping("/apply") +public class ApplyController extends BaseController { + @Autowired + ApplyService applyService; + + @Autowired + FlowService flowService; + + @Autowired + TokenService tokenService; + + @Autowired + UserService userService; + + @Autowired + DownlogService downlogService; + + @Autowired + DownloadService downloadService; + + @SysLog() + @ApiOperation(value = "鎻掑叆鏁版嵁鐢宠") + @ApiImplicitParams({ + @ApiImplicitParam(name = "dr", value = "璇锋眰涓嬭浇瀹炰綋", dataType = "DownloadReqEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/insertApply") + public ResponseMsg<Object> insertApply(@RequestBody DownloadReqEntity dr, HttpServletRequest req) { + try { + if (null == dr || null == dr.getEntities() || dr.getEntities().isEmpty()) { + return fail("璇烽�夋嫨瑕佷笅杞界殑瀹炰綋鍚�"); + } + if (StringHelper.isEmpty(dr.getPwd())) { + return fail("瀵嗙爜涓嶈兘涓虹┖"); + } + dr.setPwd(AesHelper.decrypt(dr.getPwd())); + if (StringHelper.isPwdInvalid(dr.getPwd())) { + return fail("瀵嗙爜涓嶇鍚堣姹�"); + } + if (!StringHelper.isEmpty(dr.getWkt())) { + dr.setWkt(AesHelper.decrypt(dr.getWkt())); + } + if (null == dr.getTabs() || dr.getTabs().isEmpty()) { + return fail("璇烽�夋嫨瑕佷笅杞界殑琛ㄥ悕"); + } + if (null == dr.getDepcodes() || dr.getDepcodes().isEmpty()) { + return fail("璇烽�夋嫨寰呯敵璇风殑鍗曚綅缂栫爜(澶氫釜浠ラ�楀彿闅斿紑)"); + } + + UserEntity ue = tokenService.getCurrentUser(req); + int rows = applyService.insertApply(ue, dr); + + return success(rows); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ鐢宠") + @ApiImplicitParams({ + @ApiImplicitParam(name = "uname", value = "鐢ㄦ埛鍚�", dataType = "String", paramType = "query", example = "鍛�"), + @ApiImplicitParam(name = "status", value = "鐘舵��", dataType = "Integer", paramType = "query", example = "0"), + @ApiImplicitParam(name = "start", value = "寮�濮嬫椂闂�", dataType = "Timestamp", paramType = "query", example = "2022-12-09 09:00:00"), + @ApiImplicitParam(name = "end", value = "缁撴潫鏃堕棿", dataType = "Timestamp", paramType = "query", example = "2022-12-31 23:00:00"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPage") + public ResponseMsg<Object> selectByPage(String uname, Integer status, Timestamp start, Timestamp end, Integer pageSize, Integer pageIndex, HttpServletRequest req) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = applyService.selectCount(uname, status, start, end); + if (count == 0) { + return success(0, null); + } + + UserEntity ue = tokenService.getCurrentUser(req); + List<ApplyEntity> rs = applyService.selectByPage(ue.getId(), uname, status, start, end, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ寰呭鏍告暟") + @GetMapping(value = "/selectSubmits") + public ResponseMsg<Object> selectSubmits(HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + int rows = applyService.selectSubmits(ue.getId()); + + return success(rows); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ娴佺▼") + @ApiImplicitParams({ + @ApiImplicitParam(name = "applyid", value = "鏁版嵁鐢宠ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectFlows") + public ResponseMsg<Object> selectFlows(Integer applyid) { + try { + List<FlowEntity> rs = applyService.selectFlows(applyid); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "搴熷純鐢宠") + @ApiImplicitParams({ + @ApiImplicitParam(name = "applyid", value = "鏁版嵁鐢宠ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/updateForDiscard") + public ResponseMsg<Object> updateForDiscard(Integer applyid, HttpServletRequest req) { + try { + ApplyEntity applyEntity = applyService.selectById(applyid); + if (null == applyEntity) { + return fail("鎵句笉鍒版暟鎹敵璇�"); + } + if (!(applyEntity.getStatus() >= -1 && applyEntity.getStatus() <= StaticData.NINE)) { + return fail("璇ユ暟鎹敵璇锋棤娉曞簾寮�"); + } + + UserEntity ue = tokenService.getCurrentUser(req); + int rows = applyService.updateForDiscard(ue.getId(), applyid); + + return success(rows); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "閲嶆柊鎻愪氦") + @ApiImplicitParams({ + @ApiImplicitParam(name = "applyid", value = "鏁版嵁鐢宠ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/updateForResubmit") + public ResponseMsg<Object> updateForResubmit(Integer applyid, HttpServletRequest req) { + try { + ApplyEntity applyEntity = applyService.selectById(applyid); + if (null == applyEntity) { + return fail("鎵句笉鍒版暟鎹敵璇�"); + } + if (-1 != applyEntity.getStatus()) { + return fail("璇ユ暟鎹敵璇锋棤闇�閲嶆柊鎻愪氦"); + } + + UserEntity ue = tokenService.getCurrentUser(req); + int rows = applyService.updateForResubmit(ue.getId(), applyid); + + return success(rows); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻愪氦娴佺▼") + @ApiImplicitParams({ + @ApiImplicitParam(name = "flowId", value = "鐢宠娴佺▼ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/updateForSubmit") + public ResponseMsg<Object> updateForSubmit(Integer flowId, HttpServletRequest req) { + try { + FlowEntity flowEntity = flowService.selectById(flowId); + if (null == flowEntity) { + return fail("鎵句笉鍒扮敵璇锋祦绋�"); + } + if (flowEntity.getStatus() != 0) { + return fail("璇ョ敵璇锋祦绋嬫棤闇�鎻愪氦"); + } + + ApplyEntity applyEntity = applyService.selectById(flowEntity.getApplyid()); + if (null == applyEntity) { + return fail("鎵句笉鍒版暟鎹敵璇�"); + } + if (!(applyEntity.getStatus() >= 0 && applyEntity.getStatus() <= StaticData.NINE)) { + return fail("璇ユ暟鎹敵璇锋棤闇�鎵撳洖"); + } + + UserEntity ue = tokenService.getCurrentUser(req); + int rows = applyService.updateForSubmit(ue.getId(), applyEntity.getId(), flowEntity.getId()); + + applyEntity = applyService.selectById(applyEntity.getId()); + if (StaticData.TEN == applyEntity.getStatus()) { + UserEntity user = userService.selectUser(applyEntity.getUserid()); + applyService.zipDbData(user, applyEntity); + } + + return success(rows); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎵撳洖娴佺▼") + @ApiImplicitParams({ + @ApiImplicitParam(name = "flowId", value = "鐢宠娴佺▼ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/updateForReject") + public ResponseMsg<Object> updateForReject(Integer flowId, HttpServletRequest req) { + try { + FlowEntity flowEntity = flowService.selectById(flowId); + if (null == flowEntity) { + return fail("鎵句笉鍒扮敵璇锋祦绋�"); + } + if (flowEntity.getStatus() != 0) { + return fail("璇ョ敵璇锋祦绋嬫棤闇�鎵撳洖"); + } + + ApplyEntity applyEntity = applyService.selectById(flowEntity.getApplyid()); + if (null == applyEntity) { + return fail("鎵句笉鍒版暟鎹敵璇�"); + } + if (!(applyEntity.getStatus() >= 0 && applyEntity.getStatus() <= StaticData.NINE)) { + return fail("璇ユ暟鎹敵璇锋棤闇�鎵撳洖"); + } + + UserEntity ue = tokenService.getCurrentUser(req); + Integer rows = applyService.updateForReject(ue.getId(), applyEntity.getId(), flowEntity.getId()); + + return success(rows); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "鏂囦欢GUID", dataType = "String", paramType = "query") + }) + @ResponseBody + @GetMapping(value = "/downloadFile") + public void downloadFile(String guid, HttpServletRequest req, HttpServletResponse res) { + try { + DownloadEntity de = downloadService.selectByGuid(guid); + if (null == de) { + WebHelper.writeInfo(HttpStatus.NOT_FOUND, "鏂囦欢涓嶅瓨鍦�", res); + return; + } + + UserEntity ue = tokenService.getCurrentUser(req); + downlogService.updateInfos(ue, de, req); + + String filePath = downloadService.getDownloadFilePath(de); + WebHelper.download(filePath, de.getName(), res); + } catch (Exception ex) { + WebHelper.writeInfo(HttpStatus.ERROR, ex.getMessage(), res); + } + } +} diff --git a/src/main/java/com/lf/server/controller/show/ComprehensiveController.java b/src/main/java/com/lf/server/controller/show/ComprehensiveController.java new file mode 100644 index 0000000..c19eb80 --- /dev/null +++ b/src/main/java/com/lf/server/controller/show/ComprehensiveController.java @@ -0,0 +1,336 @@ +package com.lf.server.controller.show; + +import com.lf.server.annotation.SysLog; +import com.lf.server.entity.all.HttpStatus; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.ctrl.DownloadReqEntity; +import com.lf.server.entity.ctrl.MarkJsonEntity; +import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.data.MetaFileEntity; +import com.lf.server.entity.data.PublishEntity; +import com.lf.server.entity.show.PipelineEntity; +import com.lf.server.entity.sys.AttachEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.helper.WebHelper; +import com.lf.server.service.all.BaseQueryService; +import com.lf.server.service.all.BaseUploadService; +import com.lf.server.service.all.UploadAttachService; +import com.lf.server.service.data.DataQueryService; +import com.lf.server.service.data.DownloadService; +import com.lf.server.service.data.PublishService; +import com.lf.server.service.show.MarkService; +import com.lf.server.service.show.PipelineService; +import com.lf.server.service.sys.AttachService; +import com.lf.server.service.sys.DownlogService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 缁煎悎灞曠ず + * @author WWW + */ +@Api(tags = "缁煎悎灞曠ず\\棣栭〉") +@RestController +@RequestMapping("/comprehensive") +public class ComprehensiveController extends ModelController { + @Autowired + BaseQueryService baseQueryService; + + @Autowired + MarkService markService; + + @Autowired + TokenService tokenService; + + @Autowired + AttachService attachService; + + @Autowired + DownlogService downlogService; + + @Autowired + PublishService publishService; + + @Autowired + DownloadService downloadService; + + @Autowired + PipelineService pipelineService; + + @Autowired + DataQueryService dataQueryService; + + @Autowired + BaseUploadService baseUploadService; + + @Autowired + UploadAttachService uploadAttachService; + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ鍙戝竷娓呭崟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectPubById") + public ResponseMsg<PublishEntity> selectPubById(int id) { + try { + PublishEntity entity = publishService.selectById(id); + + return success(entity); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ绠$嚎") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "瑗挎皵涓滆緭"), + }) + @GetMapping(value = "/selectPipelines") + public ResponseMsg<Object> selectPipelines(String name) { + try { + List<PipelineEntity> rs = pipelineService.selectPipelines(name); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ璺綉") + @ApiImplicitParams({ + @ApiImplicitParam(name = "x1", value = "X1", dataType = "Double", paramType = "query", example = "116.78999"), + @ApiImplicitParam(name = "y1", value = "Y1", dataType = "Double", paramType = "query", example = "39.9468"), + @ApiImplicitParam(name = "x2", value = "X2", dataType = "Double", paramType = "query", example = "116.80458"), + @ApiImplicitParam(name = "y2", value = "Y2", dataType = "Double", paramType = "query", example = "39.94758") + }) + @GetMapping(value = "/selectRoute") + public ResponseMsg<Object> selectRoute(double x1, double y1, double x2, double y2) { + try { + String route = baseQueryService.selectRoute(x1, y1, x2, y2); + + return success(route); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "涓婁紶ShapeFile鏂囦欢") + @ResponseBody + @PostMapping(value = "/uploadShp", produces = "application/json; charset=UTF-8") + public ResponseMsg<Object> uploadShp(HttpServletRequest req, HttpServletResponse res) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", null); + } + + List<MetaFileEntity> meList = baseUploadService.uploadData(null, null, false, req, res); + if (meList == null || meList.size() < StaticData.FOUR) { + return fail("娌℃湁鎵惧埌宸蹭笂浼犵殑鏁版嵁鎴栦笉瀹屾暣", null); + } + + List<MarkJsonEntity> list = markService.readShpForMarks(meList); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "涓嬭浇ShapeFile鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "鏍囩粯JSON瀹炰綋绫婚泦鍚�", dataType = "MarkJsonEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/downloadShp", produces = "application/json; charset=UTF-8") + public ResponseMsg<String> downloadShp(@RequestBody List<MarkJsonEntity> list, HttpServletRequest req, HttpServletResponse res) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", null); + } + if (list == null || list.isEmpty()) { + return fail("鎵句笉鍒版爣缁樻暟鎹�", null); + } + + String guid = markService.downloadShp(ue, list); + if (StringHelper.isNull(guid)) { + return fail("鐢熸垚ShapeFile鏂囦欢澶辫触", null); + } + + return success(guid); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "涓婁紶鏂囦欢") + @ResponseBody + @ApiImplicitParams({ + @ApiImplicitParam(name = "tabName", value = "琛ㄥ悕", dataType = "String", paramType = "query", example = "lf.sys_style"), + @ApiImplicitParam(name = "eventid", value = "涓婚敭", dataType = "String", paramType = "query", example = "fa25979a5ef8b43ba82a0be35b3fb0d4") + }) + @PostMapping(value = "/uploadFiles") + public ResponseMsg<Integer> uploadFiles(String tabName, String eventid, @RequestParam("file") MultipartFile[] files, HttpServletRequest req) { + try { + if (StringHelper.isEmpty(tabName) || StringHelper.isEmpty(eventid)) { + return fail("鍙傛暟涓嶈兘涓虹┖", null); + } + if (null == files || files.length == 0) { + return fail("鏂囦欢涓婁紶涓虹┖", 0); + } + + UserEntity ue = tokenService.getCurrentUser(req); + Integer count = dataQueryService.uploadFiles(ue, tabName, eventid, files, req); + + return success(count); + } catch (Exception ex) { + return fail(ex, 0); + } + } + + @SysLog() + @ApiOperation(value = "涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "鏂囦欢GUID", dataType = "String", paramType = "query") + }) + @RequestMapping(value = "/downloadFile", method = RequestMethod.GET) + public void downloadFile(String guid, HttpServletRequest req, HttpServletResponse res) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + WebHelper.writeStr2Page(res, WebHelper.getErrJson(HttpStatus.UNAUTHORIZED, "鐢ㄦ埛鏈櫥褰�")); + } + + DownloadEntity de = downloadService.selectByGuid(guid); + if (de == null) { + WebHelper.writeStr2Page(res, WebHelper.getErrJson(HttpStatus.NOT_FOUND, "鏂囦欢涓嶅瓨鍦�")); + } + + downlogService.updateInfos(ue, de, req); + + String filePath = downloadService.getDownloadFilePath(de); + WebHelper.download(filePath, de.getName(), res); + } catch (Exception ex) { + WebHelper.writeStr2Page(res, WebHelper.getErrJson(HttpStatus.UNAUTHORIZED, ex.getMessage())); + log.error(ex.getMessage(), ex); + } + } + + @SysLog() + @ApiOperation(value = "鏌ョ湅鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "闄勪欢Guid", dataType = "String", paramType = "body") + }) + @GetMapping(value = "/downloadForView") + public void downloadForView(String guid, HttpServletResponse res) { + uploadAttachService.download(guid, true, res); + } + + @SysLog() + @ApiOperation(value = "璇锋眰涓嬭浇") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guids", value = "闄勪欢Guid鏁扮粍", dataType = "String", paramType = "body", allowMultiple = true, example = "e5b6ae0889b88111f13a4b6e048348db,fa4f299e901a0c46e634f8fcc8185c0c") + }) + @ResponseBody + @PostMapping(value = "/downloadReqForGuids") + public ResponseMsg<Object> downloadReqForGuids(@RequestBody DownloadReqEntity dre, HttpServletRequest req, HttpServletResponse res) { + try { + if (null == dre || null == dre.getGuids() || dre.getGuids().isEmpty()) { + return fail("Guid鏁扮粍涓虹┖"); + } + + UserEntity ue = tokenService.getCurrentUser(req); + String guid = uploadAttachService.downloadReqForGuids(ue, dre.getGuids()); + + return success(guid); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "璇锋眰涓嬭浇") + @ApiImplicitParams({ + @ApiImplicitParam(name = "tab", value = "琛ㄥ悕", dataType = "String", paramType = "body", example = "bd.b_borehole"), + @ApiImplicitParam(name = "guids", value = "闄勪欢Guid鏁扮粍", dataType = "String", paramType = "body", allowMultiple = true, example = "08e5b4ad-93b8-46f6-adaa-46a6274af4ce,6f94f4f8-6e8d-44e7-8803-3d068d34983f") + }) + @ResponseBody + @PostMapping(value = "/downloadReqForTabGuids") + public ResponseMsg<Object> downloadReqForTabGuids(@RequestBody DownloadReqEntity dre, HttpServletRequest req, HttpServletResponse res) { + try { + if (null == dre || StringHelper.isEmpty(dre.getTab())) { + return fail("琛ㄥ悕涓虹┖"); + } + if (null != dre.getGuids() && dre.getGuids().size() == 0) { + dre.setIds(null); + } + + UserEntity ue = tokenService.getCurrentUser(req); + String guid = uploadAttachService.downloadReqForTabGuids(ue, dre.getTab(), dre.getGuids()); + + return success(guid); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "tabName", value = "琛ㄥ悕", dataType = "String", paramType = "query", example = "lf.sys_style"), + @ApiImplicitParam(name = "eventid", value = "涓婚敭", dataType = "String", paramType = "query", example = "fa25979a5ef8b43ba82a0be35b3fb0d4") + }) + @GetMapping(value = "/selectFiles") + public ResponseMsg<List<AttachEntity>> selectFiles(String tabName, String eventid) { + try { + if (StringHelper.isEmpty(tabName) || StringHelper.isEmpty(eventid)) { + return fail("鍙傛暟涓嶈兘涓虹┖", null); + } + + List<AttachEntity> list = attachService.selectByTab(tabName, eventid); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deletes") + public ResponseMsg<Integer> deleteFiles(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int rows = attachService.deletes(ids); + + return success(rows); + } catch (Exception ex) { + return fail(ex, 0); + } + } +} diff --git a/src/main/java/com/lf/server/controller/show/DataLibController.java b/src/main/java/com/lf/server/controller/show/DataLibController.java new file mode 100644 index 0000000..9694661 --- /dev/null +++ b/src/main/java/com/lf/server/controller/show/DataLibController.java @@ -0,0 +1,265 @@ +package com.lf.server.controller.show; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseQueryController; +import com.lf.server.entity.all.HttpStatus; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.ctrl.DownloadReqEntity; +import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.data.MetaEntity; +import com.lf.server.entity.data.VerEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.*; +import com.lf.server.mapper.all.BasicMapper; +import com.lf.server.service.all.BaseQueryService; +import com.lf.server.service.data.DownloadService; +import com.lf.server.service.data.MetaService; +import com.lf.server.service.data.VerService; +import com.lf.server.service.show.DataLibService; +import com.lf.server.service.sys.DownlogService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; +import java.util.*; + +/** + * 璧勬枡棣� + * @author WWW + */ +@Api(tags = "缁煎悎灞曠ず\\璧勬枡棣�") +@RestController +@RequestMapping("/dataLib") +public class DataLibController extends BaseQueryController { + @Autowired + MetaService metaService; + + @Autowired + TokenService tokenService; + + @Autowired + DataLibService dataLibService; + + @Autowired + BaseQueryService baseQueryService; + + @Autowired + VerService verService; + + @SysLog() + @ApiOperation(value = "鏍规嵁鐩綍ID鏌ヨ鐗堟湰鍒楄〃") + @ApiImplicitParams({ + @ApiImplicitParam(name = "dirid", value = "鐩綍ID", dataType = "Integer", paramType = "query") + }) + @GetMapping(value = "/selectVerByDirid") + public ResponseMsg<List<VerEntity>> selectVerByDirid(Integer dirid) { + try { + if (null == dirid || dirid < 0) { + dirid = 0; + } + + List<VerEntity> list = verService.selectByDirid(dirid); + if (null == list || list.isEmpty()) { + list = verService.selectByDirid(0); + } + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ鍏冩暟鎹�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "depcode", value = "鍗曚綅缂栫爜", dataType = "String", paramType = "query", example = "00"), + @ApiImplicitParam(name = "dirs", value = "鐩綍缂栫爜", dataType = "String", paramType = "query", example = "00,01"), + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectMetasForPage") + public ResponseMsg<Object> selectMetasForPage(String depcode, String dirs, String name, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + dirs = DataLibService.copeCodes(dirs, "dircode"); + + int count = metaService.selectMetasForCount(depcode, dirs, name); + if (count == 0) { + return success(0, null); + } + + List<MetaEntity> rs = metaService.selectMetasForPage(depcode, dirs, name, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ琛ㄤ腑鏁版嵁") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "鍏冩暟鎹甀D", dataType = "Integer", paramType = "query", example = "115"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10") + }) + @GetMapping(value = "/selectDbData") + public ResponseMsg<Object> selectDbData(Integer id, Integer pageIndex, Integer pageSize) { + // noinspection AlibabaRemoveCommentedCode + try { + if (null == id || id < 0) { + return fail("鍏冩暟鎹甀D涓嶈兘涓虹┖鎴栧皬浜�0", null); + } + + MetaEntity meta = metaService.selectById(id); + if (null == meta || null == meta.getTab() || !meta.getTab().contains(StaticData.POINT)) { + return fail("鎵句笉鍒板厓鏁版嵁淇℃伅", null); + } + + String entity = meta.getTab().substring(meta.getTab().indexOf(".") + 1).replace("_", "").toLowerCase(); + BasicMapper baseMapper = ClassHelper.getBasicMapper(entity); + if (null == baseMapper) { + return null; + } + + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("parentid", meta.getEventid()); + + Page<Object> page = new Page<>(pageIndex, pageSize); + page.addOrder(OrderItem.desc("gid")); + IPage<Object> paged = baseMapper.selectPage(page, wrapper); + + return success(paged.getTotal(), paged.getRecords()); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "璇锋眰鍏冩暟鎹笅杞�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "dr", value = "璇锋眰涓嬭浇瀹炰綋", dataType = "DownloadReqEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/downloadReq") + public ResponseMsg<Object> downloadReq(@RequestBody DownloadReqEntity dr, HttpServletRequest req, HttpServletResponse res) { + try { + if (null == dr || StringHelper.isEmpty(dr.getPwd())) { + return fail("瀵嗙爜涓嶈兘涓虹┖"); + } + if (null == dr.getIds() || dr.getIds().isEmpty()) { + return fail("璇烽�夋嫨瑕佷笅杞界殑鏂囦欢ID"); + } + if (!DownloadService.decryptPwd(dr)) { + return fail("瀵嗙爜瑙e瘑澶辫触", null); + } + if (StringHelper.isPwdInvalid(dr.getPwd())) { + return fail("瀵嗙爜涓嶇鍚堣姹�"); + } + + UserEntity ue = tokenService.getCurrentUser(req); + String guid = metaService.downloadMeteReq(ue, dr); + + return success(guid); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "鏂囦欢GUID", dataType = "String", paramType = "query"), + @ApiImplicitParam(name = "pwd", value = "瀵嗙爜", dataType = "String", paramType = "query") + }) + @GetMapping(value = "/selectDownloadFile") + public ResponseMsg<Boolean> selectDownloadFile(String guid, String pwd) { + try { + if (StringHelper.isEmpty(guid) || StringHelper.isEmpty(pwd)) { + return fail("鏂囦欢ID鍜屽瘑鐮佷笉鑳戒负绌�", null); + } + if (!pwd.endsWith(StaticData.EQ)) { + pwd = URLDecoder.decode(pwd, StandardCharsets.UTF_8.name()); + } + + String password = DownloadService.decryptPwd(pwd); + if (null == password) { + return fail("瀵嗙爜瑙e瘑澶辫触", null); + } + + DownloadEntity de = downloadService.selectByGuid(guid); + if (null == de) { + return fail("鏂囦欢涓嶅瓨鍦�", null); + } + if (!StringHelper.isNull(de.getPwd()) && !Md5Helper.validatePassword(password, de.getPwd())) { + return fail("瀵嗙爜涓嶆纭�", null); + } + + String filePath = downloadService.getDownloadFilePath(de); + File file = new File(filePath); + + return success(file.exists()); + } catch (Exception ex) { + return fail(ex, false); + } + } + + @SysLog() + @ApiOperation(value = "涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "鏂囦欢GUID", dataType = "String", paramType = "query"), + @ApiImplicitParam(name = "pwd", value = "瀵嗙爜", dataType = "String", paramType = "query") + }) + @ResponseBody + @GetMapping(value = "/downloadFile") + @SuppressWarnings("AlibabaRemoveCommentedCode") + public void downloadFile(String guid, String pwd, HttpServletRequest req, HttpServletResponse res) { + try { + /*if (StringHelper.isEmpty(guid) || StringHelper.isEmpty(pwd)) { + WebHelper.writeInfo(HttpStatus.BAD_REQUEST, "鏂囦欢ID鍜屽瘑鐮佷笉鑳戒负绌�", res); + } + if (!pwd.endsWith(StaticData.EQ)) { + pwd = URLDecoder.decode(pwd, StandardCharsets.UTF_8.name()); + } + + String password = DownloadService.decryptPwd(pwd); + if (null == password) { + WebHelper.writeInfo(HttpStatus.BAD_REQUEST, "瀵嗙爜瑙e瘑澶辫触", res); + }*/ + + DownloadEntity de = downloadService.selectByGuid(guid); + if (null == de) { + WebHelper.writeInfo(HttpStatus.NOT_FOUND, "鏂囦欢涓嶅瓨鍦�", res); + return; + } + /*if (!StringHelper.isNull(de.getPwd()) && !Md5Helper.validatePassword(password, de.getPwd())) { + WebHelper.writeInfo(HttpStatus.UNAUTHORIZED, "瀵嗙爜涓嶆纭�", res); + }*/ + + UserEntity ue = tokenService.getCurrentUser(req); + downlogService.updateInfos(ue, de, req); + + String filePath = downloadService.getDownloadFilePath(de); + WebHelper.download(filePath, de.getName(), res); + } catch (Exception ex) { + WebHelper.writeInfo(HttpStatus.ERROR, ex.getMessage(), res); + } + } +} diff --git a/src/main/java/com/lf/server/controller/show/ExportController.java b/src/main/java/com/lf/server/controller/show/ExportController.java new file mode 100644 index 0000000..77e0046 --- /dev/null +++ b/src/main/java/com/lf/server/controller/show/ExportController.java @@ -0,0 +1,136 @@ +package com.lf.server.controller.show; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.HttpStatus; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.show.ExportEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.helper.WebHelper; +import com.lf.server.service.data.DownloadService; +import com.lf.server.service.show.ExportService; +import com.lf.server.service.sys.DownlogService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 鍦ㄧ嚎鍒跺浘 + * @author WWW + */ +@Api(tags = "缁煎悎灞曠ず\\鍦ㄧ嚎鍒跺浘") +@RestController +@RequestMapping("/export") +public class ExportController extends BaseController { + @Autowired + TokenService tokenService; + + @Autowired + ExportService exportService; + + @Autowired + DownlogService downlogService; + + @Autowired + DownloadService downloadService; + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPage") + public ResponseMsg<List<DownloadEntity>> selectPageCountForDownload(String name, Integer pageSize, Integer pageIndex, HttpServletRequest req) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", null); + } + + int count = downloadService.selectCountForUser(ue.getId(), "2", name); + if (count == 0) { + return success(0, null); + } + List<DownloadEntity> rs = downloadService.selectByPageForUser(ue.getId(), "2", name, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏂板缓鍑哄浘") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "鍦ㄧ嚎鍒跺浘瀹炰綋绫�", dataType = "ExportEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/insertMap", produces = "application/json; charset=UTF-8") + public ResponseMsg<String> insertMap(@RequestBody ExportEntity entity, HttpServletRequest req) { + try { + boolean flag = entity.getXmin() == 0 && entity.getYmin() == 0 && entity.getXmax() == 0 && entity.getYmax() == 0; + if (StringHelper.isEmpty(entity.getLayers()) || StringHelper.isEmpty(entity.getToken()) || flag) { + return fail("鍙傛暟涓嶅畬鏁�"); + } + + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�"); + } + + String str = exportService.post(ue, entity); + if (StringHelper.isNull(str)) { + return fail("鍑哄浘澶辫触"); + } + + return success("鍑哄浘鎴愬姛", str); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "涓嬭浇鍑哄浘") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "鏂囦欢GUID", dataType = "String", paramType = "query") + }) + @RequestMapping(value = "/downloadFile", method = RequestMethod.GET) + public void downloadFile(String guid, HttpServletRequest req, HttpServletResponse res) { + try { + if (StringHelper.isEmpty(guid)) { + WebHelper.writeInfo(HttpStatus.BAD_REQUEST, "鎵句笉鍒版枃浠禝D", res); + return; + } + + DownloadEntity de = downloadService.selectByGuid(guid); + if (null == de) { + WebHelper.writeInfo(HttpStatus.NOT_FOUND, "鏂囦欢涓嶅瓨鍦�", res); + return; + } + + UserEntity ue = tokenService.getCurrentUser(req); + downlogService.updateInfos(ue, de, req); + + String filePath = downloadService.getDownloadFilePath(de); + WebHelper.download(filePath, de.getName(), res); + } catch (Exception ex) { + WebHelper.writeInfo(HttpStatus.ERROR, ex.getMessage(), res); + } + } +} diff --git a/src/main/java/com/lf/server/controller/show/InquiryController.java b/src/main/java/com/lf/server/controller/show/InquiryController.java new file mode 100644 index 0000000..6948fb1 --- /dev/null +++ b/src/main/java/com/lf/server/controller/show/InquiryController.java @@ -0,0 +1,142 @@ +package com.lf.server.controller.show; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseQueryController; +import com.lf.server.entity.all.HttpStatus; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.ctrl.DownloadTileEntity; +import com.lf.server.entity.ctrl.ShpRecordEntity; +import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.data.MetaFileEntity; +import com.lf.server.entity.data.PublishEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.AesHelper; +import com.lf.server.helper.StringHelper; +import com.lf.server.helper.WebHelper; +import com.lf.server.service.all.BaseUploadService; +import com.lf.server.service.data.DownloadService; +import com.lf.server.service.data.PublishService; +import com.lf.server.service.show.InquiryService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 鏌ヨ + * @author WWW + */ +@Api(tags = "缁煎悎灞曠ず\\鏌ヨ") +@RestController +@RequestMapping("/inquiry") +public class InquiryController extends BaseQueryController { + @Autowired + TokenService tokenService; + + @Autowired + BaseUploadService baseUploadService; + + @Autowired + InquiryService inquiryService; + + @Resource + PublishService publishService; + + @SysLog() + @ApiOperation(value = "涓婁紶Shp鏂囦欢璇诲彇绗竴鏉¤褰曠殑WKT") + @ResponseBody + @PostMapping(value = "/uploadShp") + public ResponseMsg<ShpRecordEntity> uploadShp(HttpServletRequest req, HttpServletResponse res) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", null); + } + + List<MetaFileEntity> list = baseUploadService.uploadData(null, null, false, req, res); + if (list == null || list.size() < StaticData.FOUR) { + return fail("娌℃湁鎵惧埌宸蹭笂浼犵殑鏁版嵁鎴栦笉瀹屾暣", null); + } + + ShpRecordEntity sr = inquiryService.readShpFirstRecord(list); + if (sr != null && !StringHelper.isEmpty(sr.getWkt())) { + sr.setWkt(AesHelper.encrypt(sr.getWkt())); + } + + return success(sr); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "涓嬭浇鐡︾墖") + @ApiImplicitParams({ + @ApiImplicitParam(name = "dt", value = "涓嬭浇鐡︾墖瀹炰綋绫�", dataType = "DownloadTileEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/downloadTiles") + public ResponseMsg<Object> downloadTiles(@RequestBody DownloadTileEntity dt, HttpServletRequest req, HttpServletResponse res) { + try { + if (null == dt || null == dt.getPubid() || StringHelper.isEmpty(dt.getPwd())) { + return fail("鍙戝竷ID鍜屽瘑鐮佷笉鑳戒负绌�"); + } + String err = dt.verifyCoords(); + if (null != err) { + return fail(err); + } + if (!DownloadService.decryptPwd(dt)) { + return fail("瀵嗙爜瑙e瘑澶辫触", null); + } + + PublishEntity pub = publishService.selectById(dt.getPubid()); + if (null == pub) { + return fail("鍙戝竷鏁版嵁涓嶅瓨鍦�"); + } + + UserEntity ue = tokenService.getCurrentUser(req); + String guid = inquiryService.zipTiles(dt, pub, ue); + if (null == guid) { + return fail("娌℃湁鐡︾墖闇�瑕佹墦鍖呬笅杞�"); + } + + return success(guid); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "鏂囦欢GUID", dataType = "String", paramType = "query") + }) + @ResponseBody + @GetMapping(value = "/downloadFile") + public void downloadFile(String guid, HttpServletRequest req, HttpServletResponse res) { + try { + DownloadEntity de = downloadService.selectByGuid(guid); + if (null == de) { + WebHelper.writeInfo(HttpStatus.NOT_FOUND, "鏂囦欢涓嶅瓨鍦�", res); + return; + } + + UserEntity ue = tokenService.getCurrentUser(req); + downlogService.updateInfos(ue, de, req); + + String filePath = downloadService.getDownloadFilePath(de); + WebHelper.download(filePath, de.getName(), res); + } catch (Exception ex) { + WebHelper.writeInfo(HttpStatus.ERROR, ex.getMessage(), res); + } + } +} diff --git a/src/main/java/com/lf/server/controller/show/LocateController.java b/src/main/java/com/lf/server/controller/show/LocateController.java new file mode 100644 index 0000000..aa70c9d --- /dev/null +++ b/src/main/java/com/lf/server/controller/show/LocateController.java @@ -0,0 +1,74 @@ +package com.lf.server.controller.show; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.bd.DlgagnpEntity; +import com.lf.server.service.data.UploadService; +import com.lf.server.service.show.LocateService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 缁煎悎灞曠ず + * @author WWW + */ +@Api(tags = "缁煎悎灞曠ず\\瀹氫綅") +@RestController +@RequestMapping("/locate") +public class LocateController extends BaseController { + @Autowired + TokenService tokenService; + + @Autowired + UploadService uploaderService; + + @Autowired + LocateService locateService; + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟-鍦板悕鍦板潃") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "澶�"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectAddrByPage") + public ResponseMsg<List<DlgagnpEntity>> selectAddrByPage(String name, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + Page<DlgagnpEntity> paged = locateService.selectAddrByPage(name, pageSize, pageIndex); + + return success(paged.getTotal(), paged.getRecords()); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨWKT-鍦板悕鍦板潃") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectWktById") + public ResponseMsg<String> selectWktById(Integer id) { + try { + String wkt = locateService.selectWktById(id); + + return success(wkt); + } catch (Exception ex) { + return fail(ex, null); + } + } +} diff --git a/src/main/java/com/lf/server/controller/show/MarkController.java b/src/main/java/com/lf/server/controller/show/MarkController.java new file mode 100644 index 0000000..8d63273 --- /dev/null +++ b/src/main/java/com/lf/server/controller/show/MarkController.java @@ -0,0 +1,217 @@ +package com.lf.server.controller.show; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.show.MarkEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.service.all.BaseUploadService; +import com.lf.server.service.data.DownloadService; +import com.lf.server.service.show.MarkService; +import com.lf.server.service.sys.DownlogService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 鏍囩粯 + * @author WWW + */ +@Api(tags = "缁煎悎灞曠ず\\鏍囩粯") +@RestController +@RequestMapping("/mark") +public class MarkController extends BaseController { + @Autowired + MarkService markService; + + @Autowired + TokenService tokenService; + + @Autowired + BaseUploadService baseUploadService; + + @Autowired + DownlogService downlogService; + + @Autowired + DownloadService downloadService; + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<MarkEntity>> selectByPageAndCount(Integer pageSize, Integer pageIndex, HttpServletRequest req) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", null); + } + + int count = markService.selectCount(ue.getId()); + if (count == 0) { + return success(0, null); + } + + List<MarkEntity> rs = markService.selectByPage(ue.getId(), pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectById") + public ResponseMsg<MarkEntity> selectById(int id) { + try { + MarkEntity entity = markService.selectById(id); + + return success(entity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "MarkEntity", paramType = "body") + }) + @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insert(@RequestBody MarkEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = markService.insert(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "MarkEntity", paramType = "body") + }) + @PostMapping(value = "/inserts", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> inserts(@RequestBody List<MarkEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (MarkEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + } + + int count = markService.inserts(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/delete") + public ResponseMsg<Integer> delete(int id) { + try { + int count = markService.delete(id); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deletes") + public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = markService.deletes(ids); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "MarkEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/update", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> update(@RequestBody MarkEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = markService.update(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "MarkEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/updates", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updates(@RequestBody List<MarkEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (MarkEntity entity : list) { + entity.setUpdateUser(ue.getId()); + } + } + + int count = markService.updates(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } +} diff --git a/src/main/java/com/lf/server/controller/show/ModelController.java b/src/main/java/com/lf/server/controller/show/ModelController.java new file mode 100644 index 0000000..66b7415 --- /dev/null +++ b/src/main/java/com/lf/server/controller/show/ModelController.java @@ -0,0 +1,221 @@ +package com.lf.server.controller.show; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.show.ModelEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.service.show.ModelService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 妯″瀷 + * @author WWW + */ +public class ModelController extends BaseController { + @Autowired + ModelService modelService; + + @Autowired + TokenService tokenService; + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ妯″瀷骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "layerid", value = "鍥惧眰ID", dataType = "Integer", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectModelByPageAndCount") + public ResponseMsg<List<ModelEntity>> selectModelByPageAndCount(Integer layerid, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = modelService.selectCount(layerid); + if (count == 0) { + return success(0, null); + } + + List<ModelEntity> rs = modelService.selectByPage(layerid, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ妯″瀷") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectModelById") + public ResponseMsg<ModelEntity> selectModelById(int id) { + try { + ModelEntity entity = modelService.selectById(id); + + return success(entity); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁Guid鏌ヨ妯″瀷") + @ApiImplicitParams({ + @ApiImplicitParam(name = "layerid", value = "鍥惧眰ID", dataType = "Integer", paramType = "query", example = ""), + @ApiImplicitParam(name = "modelid", value = "妯″瀷ID", dataType = "String", paramType = "query", example = "") + }) + @GetMapping(value = "/selectModelByGuid") + public ResponseMsg<ModelEntity> selectModelByGuid(Integer layerid, String modelid) { + try { + if (null == layerid || StringHelper.isEmpty(modelid)) { + return fail("鍥惧眰ID鍜屾ā鍨婭D涓嶈兘涓虹┖", null); + } + + ModelEntity entity = modelService.selectModelByGuid(layerid, modelid); + + return success(entity); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�涓ā鍨�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "ModelEntity", paramType = "body") + }) + @PostMapping(value = "/insertModel", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertModel(@RequestBody ModelEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = modelService.insert(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex.getMessage(), -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氫釜妯″瀷") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "ModelEntity", paramType = "body") + }) + @PostMapping(value = "/insertModels", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertModels(@RequestBody List<ModelEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (ModelEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + } + + int count = modelService.inserts(list); + + return success(count); + } catch (Exception ex) { + return fail(ex.getMessage(), -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�涓ā鍨�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/deleteModel") + public ResponseMsg<Integer> deleteModel(int id) { + try { + int count = modelService.delete(id); + + return success(count); + } catch (Exception ex) { + return fail(ex.getMessage(), -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氫釜妯″瀷") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deleteModels") + public ResponseMsg<Integer> deleteModels(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = modelService.deletes(ids); + + return success(count); + } catch (Exception ex) { + return fail(ex.getMessage(), -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�涓ā鍨�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "ModelEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/updateModel", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updateModel(@RequestBody ModelEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = modelService.update(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex.getMessage(), -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊澶氫釜妯″瀷") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "ModelEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/updateModels", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updateModels(@RequestBody List<ModelEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (ModelEntity entity : list) { + entity.setUpdateUser(ue.getId()); + } + } + + int count = modelService.updates(list); + + return success(count); + } catch (Exception ex) { + return fail(ex.getMessage(), -1); + } + } +} diff --git a/src/main/java/com/lf/server/controller/show/OneMapController.java b/src/main/java/com/lf/server/controller/show/OneMapController.java new file mode 100644 index 0000000..9b66f49 --- /dev/null +++ b/src/main/java/com/lf/server/controller/show/OneMapController.java @@ -0,0 +1,402 @@ +package com.lf.server.controller.show; + + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.bs.MpipelineEntity; +import com.lf.server.entity.show.OneMapEntity; +import com.lf.server.service.show.OneMapService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 绠$綉涓�寮犲浘 + * aFigurePipelineNetwork + * + * @author xing + * @date 2023/02/13 + */ + +@Api(tags = "缁煎悎灞曠ず\\绠$綉涓�寮犲浘") +@RestController +@RequestMapping("/oneMap") +public class OneMapController extends BaseController { + + @Autowired + OneMapService aMapOfPipelineService; + + + //============[椤圭洰缁熻 project Statistics]================== + + /** + * 椤圭洰绫诲埆 + * Project category + */ + @SysLog() + @ApiOperation(value = "椤圭洰绫诲埆") + @GetMapping("/countProjectCategory") + public ResponseMsg<Object> projectCategoryCount() { + List<String> resList = aMapOfPipelineService.projectCategoryCount(); + return success(resList); + } + + /** + * 椤圭洰浣嶇疆鍒嗗竷鎺ュ彛 + * Project location + */ + @SysLog() + @ApiOperation(value = "椤圭洰浣嶇疆鍒嗗竷鎺ュ彛") + @GetMapping("/countProjectLocation") + public ResponseMsg<Object> projectLocationCount() { + List<String> resList = aMapOfPipelineService.projectLocationCount(); + return success(resList); + } + + + /** + * 鍥藉缁村害-鏁伴噺缁熻 + * Country dimension + */ + @SysLog() + @ApiOperation(value = "鍥藉缁村害-鏁伴噺缁熻") + @GetMapping("/countCountryDimension") + public ResponseMsg<Object> countryDimensionCount() { + List<String> resList = aMapOfPipelineService.countryDimensionCount(); + return success(resList); + } + + /** + * 鐪佺淮搴�-鏁伴噺缁熻 + * Province dimension - quantity + */ + @SysLog() + @ApiOperation(value = "鐪佺淮搴�-鏁伴噺缁熻") + @GetMapping("/countProvinceDimension") + public ResponseMsg<Object> provinceDimensionCount() { + List<String> resList = aMapOfPipelineService.provinceDimensionCount(); + return success(resList); + } + + /** + * 鍏ㄥ浗缁村害-鎸夌収椤硅嚜绫诲瀷缁熻涓嶅悓椤圭洰涓暟 + * Count the number of different items according to their type + */ + @SysLog() + @ApiOperation(value = "鍏ㄥ浗缁村害-鎸夌収椤硅嚜绫诲瀷缁熻涓嶅悓椤圭洰涓暟") + @GetMapping("/countProjectTypeNumber") + public ResponseMsg<Object> countProjectTypeNumber() { + List<String> resList = aMapOfPipelineService.countProjectTypeNumber(); + return success(resList); + } + + + //============[鏁版嵁缁熻 data Statistics]================== + + /** + * 鏁版嵁缁熻 + * 鏁版嵁瀛樺偍 + * data storage + */ + @SysLog() + @ApiOperation(value = "鏁版嵁瀛樺偍缁熻") + @GetMapping("/countDataStorage") + public ResponseMsg<Object> dataStorageCount() { + List<String> resList = aMapOfPipelineService.dataStorageCount(); + return success(resList); + } + + /** + * 鏁版嵁澶х被缁熻 + * Statistics of large categories of data + */ + @SysLog() + @ApiOperation(value = "鏁版嵁澶х被缁熻") + @GetMapping("/countLargeCategories") + public ResponseMsg<Object> statisticalDataCategories() { + List<String> resList = aMapOfPipelineService.statisticalDataCategories(); + return success(resList); + } + + /** + * 鏁版嵁鏈嶅姟绫诲瀷缁熻 + * Data service type statistics + */ + @SysLog() + @ApiOperation(value = "鏁版嵁鏈嶅姟绫诲瀷缁熻") + @GetMapping("/countDataServiceType") + public ResponseMsg<Object> statisticalDataServiceType() { + List<String> resList = aMapOfPipelineService.statisticalDataServiceType(); + return success(resList); + } + + /** + * 鐧诲綍娆℃暟缁熻 + * Number of logins + */ + @SysLog() + @ApiOperation(value = "鐧诲綍娆℃暟缁熻") + @GetMapping("/countLoginNumber") + public ResponseMsg<Object> loginNumberStatistics() { + List<String> resList = aMapOfPipelineService.loginNumberStatistics(); + return success(resList); + } + + + /** + * 鏁版嵁缁熻 + * 鏂囦欢鏍煎紡缁村害-鏂囦欢涓暟 + * File format dimension + */ + @SysLog() + @ApiOperation(value = "鏂囦欢鏍煎紡缁村害-鏂囦欢涓暟") + @GetMapping("/countFileFormat") + public ResponseMsg<Object> fileFormatCount() { + List<String> resList = aMapOfPipelineService.fileFormatCount(); + return success(resList); + } + + /** + * 鏁版嵁缁熻 + * 鏁版嵁鐢宠 + * Data application + */ + @SysLog() + @ApiOperation(value = "鏁版嵁鐢宠") + @GetMapping("/countDataApply") + public ResponseMsg<Object> dataApplyCount() { + List<String> resList = aMapOfPipelineService.dataApplyCount(); + return success(resList); + } + + /** + * 鏁版嵁缁熻 + * 璁块棶娆℃暟 + * Number of visits + */ + @SysLog() + @ApiOperation(value = "璁块棶娆℃暟") + @GetMapping("/countDataVisit") + public ResponseMsg<Object> dataVisitCount() { + List<String> resList = aMapOfPipelineService.dataVisitCount(); + return success(resList); + } + + /** + * 涓嬭浇閲忕粺璁� + * Download statistics + * <p>type绫诲瀷锛�1-Shp鏂囦欢锛�2-涓撻鍥撅紝3-鍏冩暟鎹紝4-涓氬姟鏁版嵁锛�5-绠¢亾鍒嗘瀽锛�6-缁熻鎶ュ憡<p/> + */ + @SysLog() + @ApiOperation(value = "涓嬭浇閲忕粺璁�") + @GetMapping("/countDownloads") + public ResponseMsg<Object> countDownloads() { + List<String> resList = aMapOfPipelineService.countDownloads(); + return success(resList); + } + + + /** + * 椤圭洰宸ョ▼灞曠ず + * Project engineering display + */ + @SysLog() + @ApiOperation(value = "椤圭洰宸ョ▼灞曠ず") + @GetMapping("/countProjectDisplay") + public ResponseMsg<Object> countProjectDisplay() { + List<String> resList = aMapOfPipelineService.countProjectDisplay(); + return success(resList); + } + + /** + * 椤圭洰宸ョ▼宸¤ + * Project inspection tour + */ + @SysLog() + @ApiOperation(value = "椤圭洰宸ョ▼宸¤") + @GetMapping("/countProjectTour") + public ResponseMsg<Object> countProjectTour(MpipelineEntity mpipelineEntity) { + List<String> resList = aMapOfPipelineService.countProjectTour(mpipelineEntity); + return success("hello! 鎮ㄥ凡缁忔垚鍔熻闂�-椤圭洰宸ョ▼宸¤", resList); + } + + /** + * 椤圭洰宸ョ▼宸¤鍒楄〃 + * Project inspection tour + */ + @SysLog() + @ApiOperation(value = "椤圭洰宸ョ▼宸¤鍒楄〃") + @GetMapping("/selectProjectTour") + public ResponseMsg<Object> selectProjectTour() { + List<String> resList = aMapOfPipelineService.selectProjectTour(); + return success(resList); + } + + + /** + * 宸ョ▼椤圭洰鐩綍 + * Project Catalog + */ + @SysLog() + @ApiOperation(value = "宸ョ▼椤圭洰鐩綍") + @GetMapping("/selectProjectType") + public ResponseMsg<Object> selectProjectType() { + List<OneMapEntity> resList = aMapOfPipelineService.selectProjectType1(); + return success(resList); + } + + /** + * 鏍规嵁琛ㄥ悕鏌ヨ琛ㄥ瓧娈典俊鎭� + * Query table field information according to table name + */ + @ApiOperation(value = "鏍规嵁琛ㄥ悕鏌ヨ琛ㄥ瓧娈典俊鎭�") + @GetMapping("/selectTableInfo") + public ResponseMsg<Object> selectTableInfo(@RequestParam("tableName") String tableName) { + List<String> resList = aMapOfPipelineService.queryTableInfo(tableName); + return success(resList); + } + + + //============[涓撻灞曠ず Thematic presentations]================== + + /** + * 鍏ㄧ悆绠$綉鍥� + * Global pipe network map + */ + @SysLog() + @ApiOperation(value = "鍏ㄧ悆绠$綉鍥�") + @GetMapping("/countGlobalPipeMap") + public ResponseMsg<Object> countGlobalPipeMap() { + List<String> resList = aMapOfPipelineService.countGlobalPipeMap(); + return success(resList); + } + + /** + * 鍏ㄥ浗绠$綉鍥� + * National pipe network map + */ + @SysLog() + @ApiOperation(value = "鍏ㄥ浗绠$綉鍥�") + @GetMapping("/countNationalPipeMap") + public ResponseMsg<Object> countNationalPipeMap() { + List<String> resList = aMapOfPipelineService.countNationalPipeMap(); + return success(resList); + } + + /** + * 鍏ㄥ浗绠$綉鍥捐緭閫佷粙璐ㄩ暱搴� + * National pipe network diagram conveying medium length + */ + @SysLog() + @ApiOperation(value = "鍏ㄥ浗绠$綉鍥捐緭閫佷粙璐ㄩ暱搴�") + @GetMapping("/countZhPipeMapLength") + public ResponseMsg<Object> countZhPipeMapLenByMed() { + List<String> resList = aMapOfPipelineService.countZhPipeMapLenByMed(); + return success(resList); + } + + /** + * 缁熻鍏ㄥ浗绔欏満搴ф暟 + * Number of station seats nationwide + */ + @SysLog() + @ApiOperation(value = "鍏ㄥ浗绔欏満搴ф暟銆侀榾瀹ゃ�佺閬撴暟绛�") + @GetMapping("/countZhPipeStations") + public ResponseMsg<Object> countZhPipeStations() { + List<String> resList = aMapOfPipelineService.countZhPipeStations(); + return success(resList); + } + + /** + * 鎸夐」鐩粺璁¢」鐩瓨鍌ㄩ噺 + * Count the amount of project storage by project + */ + @SysLog() + @ApiOperation(value = "鎸夐」鐩粺璁¢」鐩瓨鍌ㄩ噺") + @GetMapping("/countStorageByProject") + public ResponseMsg<Object> countStorageByProject() { + List<String> resList = aMapOfPipelineService.countStorageByProject(); + return success(resList); + } + + + //============[宸ョ▼灞曠ず Engineering Showcase]================== + + /** + * 椤圭洰淇℃伅鏌ヨ + * Project information query + */ + @SysLog() + @ApiOperation(value = "椤圭洰淇℃伅鏌ヨ") + @GetMapping("/selectProjectInfo") + public ResponseMsg<Object> selectProjectInfo(@RequestParam("projectCode") String projectCode) { + List<String> resList = aMapOfPipelineService.selectProjectInfo(projectCode); + return success(resList); + } + /** + * 椤圭洰鏂囦欢鍒楄〃鏌ヨ + * Project file list query + */ + @SysLog() + @ApiOperation(value = "椤圭洰鏂囦欢鍒楄〃鏌ヨ") + @GetMapping("/selectProjectFileList") + public ResponseMsg<Object> selectProjectFileList() { + List<String> resList = aMapOfPipelineService.selectProjectFileList(); + return success(resList); + } + + /** + * 鍗曚釜椤圭洰瀛樺偍閲� + * + * @param projectCode 椤圭洰浠g爜 + * @return {@link ResponseMsg}<{@link Object}> + */ + @SysLog() + @ApiOperation(value = "鍗曚釜椤圭洰瀛樺偍閲�") + @GetMapping("/countProjectStorage") + public ResponseMsg<Object> countProjectStorage(@RequestParam("projectCode") String projectCode) { + List<String> resList = aMapOfPipelineService.countProjectStorage(projectCode); + return success(resList); + } + + /** + * 鍗曚釜椤圭洰鏂囦欢鏁伴噺 + * The number of individual project files + * + * @param projectCode 椤圭洰浠g爜 + * @return {@link ResponseMsg}<{@link Object}> + */ + @SysLog() + @ApiOperation(value = "鍗曚釜椤圭洰鏂囦欢绫诲瀷鏁伴噺") + @GetMapping("/countProjectType") + public ResponseMsg<Object> countProjectType(@RequestParam("projectCode") String projectCode) { + List<String> resList = aMapOfPipelineService.countProjectType(projectCode); + return success(resList); + } + + + /** + * 缁熻椤圭洰涓� + * 鍗曚釜椤圭洰涓嬭浇閲� + * + * @param projectCode 椤圭洰浠g爜 + * @return {@link ResponseMsg}<{@link Object}> + */ + @SysLog() + @ApiOperation(value = "鍗曚釜椤圭洰涓嬭浇閲�") + @GetMapping("/countProjectDown") + public ResponseMsg<Object> countProjectDown(@RequestParam("projectCode") String projectCode) { + List<String> resList = aMapOfPipelineService.countProjectDown(projectCode); + return success(resList); + } + + + +} diff --git a/src/main/java/com/lf/server/controller/show/PipelineController.java b/src/main/java/com/lf/server/controller/show/PipelineController.java new file mode 100644 index 0000000..c57fc39 --- /dev/null +++ b/src/main/java/com/lf/server/controller/show/PipelineController.java @@ -0,0 +1,263 @@ +package com.lf.server.controller.show; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.HttpStatus; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.show.PipelineEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.Md5Helper; +import com.lf.server.helper.StringHelper; +import com.lf.server.helper.WebHelper; +import com.lf.server.service.data.DownloadService; +import com.lf.server.service.show.PipelineService; +import com.lf.server.service.sys.DownlogService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; +import java.util.*; + +/** + * 绠¢亾鍒嗘瀽 + * @author WWW + */ +@Api(tags = "缁煎悎灞曠ず\\绠¢亾鍒嗘瀽") +@RestController +@RequestMapping("/pipeline") +public class PipelineController extends BaseController { + @Autowired + TokenService tokenService; + + @Autowired + DownlogService downlogService; + + @Autowired + DownloadService downloadService; + + @Autowired + PipelineService pipelineService; + + @SysLog() + @ApiOperation(value = "鏌ヨ绠℃") + @GetMapping(value = "/selectSegNames") + public ResponseMsg<Object> selectSegNames() { + try { + List<PipelineEntity> rs = pipelineService.selectSegNames(); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ绠$嚎鍒嗘瀽") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pe", value = "绠¢亾鍒嗘瀽瀹炰綋绫�", dataType = "PipelineEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/selectPipeAnalysis") + public ResponseMsg<Object> selectPipeAnalysis(@RequestBody PipelineEntity pe) { + try { + if (null == pe.getGid() || pe.getGid() < 1) { + return fail("璇疯緭鍏ョ娈礗D"); + } + if (null == pe.getTabs() || 0 == pe.getTabs().size()) { + return fail("璇疯緭鍏ヨ〃鍚�"); + } + if (!checkTabs(pe.getTabs())) { + return fail("瀛樺湪闈炴硶琛ㄥ悕"); + } + + Map<String, Object> map = new HashMap<>(4); + for (String tab : pe.getTabs()) { + List<PipelineEntity> rs = pipelineService.selectPipeAnalysis(tab, pe.getGid()); + map.put(tab, rs); + } + + return success(map); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "璇锋眰绠¢亾鍒嗘瀽缁撴灉涓嬭浇") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pe", value = "绠¢亾鍒嗘瀽瀹炰綋绫�", dataType = "PipelineEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/downloadReq") + public ResponseMsg<Object> downloadReq(@RequestBody PipelineEntity pe, HttpServletRequest req) { + try { + if (null == pe || StringHelper.isEmpty(pe.getPwd())) { + return fail("瀵嗙爜涓嶈兘涓虹┖"); + } + if (null == pe.getTabs() || 0 == pe.getTabs().size()) { + return fail("璇疯緭鍏ヨ〃鍚�"); + } + if (!checkTabs(pe.getTabs())) { + return fail("瀛樺湪闈炴硶琛ㄥ悕"); + } + if (!DownloadService.decryptPwd(pe)) { + return fail("瀵嗙爜瑙e瘑澶辫触", null); + } + if (StringHelper.isPwdInvalid(pe.getPwd())) { + return fail("瀵嗙爜涓嶇鍚堣姹�"); + } + + Map<String, List<PipelineEntity>> map = new HashMap<>(4); + for (String tab : pe.getTabs()) { + List<PipelineEntity> rs = pipelineService.selectPipeAnalysis(tab, pe.getGid()); + if (null != rs && rs.size() > 0) { + map.put(tab, rs); + } + } + if (map.size() == 0) { + return fail("鏌ユ棤鏁版嵁"); + } + + UserEntity ue = tokenService.getCurrentUser(req); + String guid = pipelineService.createZipFile(ue, map, pe.getPwd()); + + return success(guid); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectPageCountForDownload") + public ResponseMsg<List<DownloadEntity>> selectPageCountForDownload(String name, Integer pageSize, Integer pageIndex, HttpServletRequest req) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", null); + } + + int count = downloadService.selectCountForUser(ue.getId(), "5", name); + if (count == 0) { + return success(0, null); + } + List<DownloadEntity> rs = downloadService.selectByPageForUser(ue.getId(), "5", name, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "鏂囦欢GUID", dataType = "String", paramType = "query"), + @ApiImplicitParam(name = "pwd", value = "瀵嗙爜", dataType = "String", paramType = "query") + }) + @GetMapping(value = "/selectDownloadFile") + public ResponseMsg<Boolean> selectDownloadFile(String guid, String pwd) { + try { + if (StringHelper.isEmpty(guid) || StringHelper.isEmpty(pwd)) { + return fail("鏂囦欢ID鍜屽瘑鐮佷笉鑳戒负绌�", null); + } + if (!pwd.endsWith(StaticData.EQ)) { + pwd = URLDecoder.decode(pwd, StandardCharsets.UTF_8.name()); + } + + String password = DownloadService.decryptPwd(pwd); + if (null == password) { + return fail("瀵嗙爜瑙e瘑澶辫触", null); + } + + DownloadEntity de = downloadService.selectByGuid(guid); + if (null == de) { + return fail("鏂囦欢涓嶅瓨鍦�", null); + } + if (!StringHelper.isNull(de.getPwd()) && !Md5Helper.validatePassword(password, de.getPwd())) { + return fail("瀵嗙爜涓嶆纭�", null); + } + + String filePath = downloadService.getDownloadFilePath(de); + File file = new File(filePath); + + return success(file.exists()); + } catch (Exception ex) { + return fail(ex, false); + } + } + + @SysLog() + @ApiOperation(value = "涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "鏂囦欢GUID", dataType = "String", paramType = "query"), + @ApiImplicitParam(name = "pwd", value = "瀵嗙爜", dataType = "String", paramType = "query") + }) + @ResponseBody + @GetMapping(value = "/downloadFile") + public void downloadFile(String guid, String pwd, HttpServletRequest req, HttpServletResponse res) { + try { + if (StringHelper.isEmpty(guid) || StringHelper.isEmpty(pwd)) { + WebHelper.writeInfo(HttpStatus.BAD_REQUEST, "鏂囦欢ID鍜屽瘑鐮佷笉鑳戒负绌�", res); + } + if (!pwd.endsWith(StaticData.EQ)) { + pwd = URLDecoder.decode(pwd, StandardCharsets.UTF_8.name()); + } + + String password = DownloadService.decryptPwd(pwd); + if (null == password) { + WebHelper.writeInfo(HttpStatus.BAD_REQUEST, "瀵嗙爜瑙e瘑澶辫触", res); + } + + DownloadEntity de = downloadService.selectByGuid(guid); + if (null == de) { + WebHelper.writeInfo(HttpStatus.NOT_FOUND, "鏂囦欢涓嶅瓨鍦�", res); + return; + } + if (!StringHelper.isNull(de.getPwd()) && !Md5Helper.validatePassword(password, de.getPwd())) { + WebHelper.writeInfo(HttpStatus.UNAUTHORIZED, "瀵嗙爜涓嶆纭�", res); + } + + UserEntity ue = tokenService.getCurrentUser(req); + downlogService.updateInfos(ue, de, req); + + String filePath = downloadService.getDownloadFilePath(de); + WebHelper.download(filePath, de.getName(), res); + } catch (Exception ex) { + WebHelper.writeInfo(HttpStatus.ERROR, ex.getMessage(), res); + } + } + + /** + * 妫�鏌ヨ〃鍚� + */ + private boolean checkTabs(List<String> tabs) { + for (String tab : tabs) { + if (!StaticData.PIPE_ANALYSIS_TABS.contains(tab)) { + return false; + } + } + + return true; + } +} diff --git a/src/main/java/com/lf/server/controller/sys/ArgsController.java b/src/main/java/com/lf/server/controller/sys/ArgsController.java new file mode 100644 index 0000000..af3f642 --- /dev/null +++ b/src/main/java/com/lf/server/controller/sys/ArgsController.java @@ -0,0 +1,263 @@ +package com.lf.server.controller.sys; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.sys.ArgsEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.service.sys.ArgsService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 鍙傛暟璁剧疆 + * @author WWW + */ +@Api(tags = "杩愮淮绠$悊\\绯荤粺閰嶇疆") +@RestController +@RequestMapping("/args") +public class ArgsController extends BaseController { + @Autowired + ArgsService argsService; + + @Autowired + TokenService tokenService; + + @SysLog() + @ApiOperation(value = "鏌ヨ璁板綍鏁�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", required = false, example = "鏈夋晥鏈�") + }) + @GetMapping({"/selectCount"}) + public ResponseMsg<Integer> selectCount(String name) { + try { + int count = argsService.selectCount(name); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "鏈夋晥鏈�"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPage") + public ResponseMsg<List<ArgsEntity>> selectByPage(String name, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + List<ArgsEntity> rs = argsService.selectByPage(name, pageSize, pageSize * (pageIndex - 1)); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "鏈夋晥鏈�"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<ArgsEntity>> selectByPageAndCount(String name, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + int count = argsService.selectCount(name); + if (count == 0) { + return success(0, null); + } + List<ArgsEntity> rs = argsService.selectByPage(name, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈�") + @GetMapping(value = "/selectAll") + public ResponseMsg<List<ArgsEntity>> selectAll() { + try { + List<ArgsEntity> list = argsService.selectAll(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectById") + public ResponseMsg<ArgsEntity> selectById(int id) { + try { + ArgsEntity entity = argsService.selectById(id); + + return success(entity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + /*@SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "ArgsEntity", paramType = "body") + }) + @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insert(@RequestBody ArgsEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = argsService.insert(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "ArgsEntity", paramType = "body") + }) + @PostMapping(value = "/inserts", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> inserts(@RequestBody List<ArgsEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (ArgsEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + } + + int count = argsService.inserts(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/delete") + public ResponseMsg<Integer> delete(int id) { + try { + int count = argsService.delete(id); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deletes") + public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = argsService.deletes(ids); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + }*/ + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "ArgsEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/update", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> update(@RequestBody ArgsEntity entity, HttpServletRequest req) { + try { + ArgsEntity ae = argsService.selectById(entity.getId()); + if (ae == null) { + return fail("鎵句笉鍒板緟鏇存柊鐨勫疄浣�", -1); + } + if (entity.getCvalue() > ae.getMaxValue() || entity.getCvalue() < ae.getMinValue()) { + return fail("寰呮洿鏂扮殑鍊间笉鍦ㄦ湁鏁堣寖鍥村唴", -1); + } + ae.setCvalue(entity.getCvalue()); + + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + ae.setUpdateUser(ue.getId()); + } + + int count = argsService.updateForValue(ae); + if (count > 0) { + argsService.updateSettingData(ae); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + /*@SysLog() + @ApiOperation(value = "鏇存柊澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "ArgsEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/updates", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updates(@RequestBody List<ArgsEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (ArgsEntity entity : list) { + entity.setUpdateUser(ue.getId()); + } + } + + int count = argsService.updates(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + }*/ +} diff --git a/src/main/java/com/lf/server/controller/sys/AuthController.java b/src/main/java/com/lf/server/controller/sys/AuthController.java new file mode 100644 index 0000000..07b13a7 --- /dev/null +++ b/src/main/java/com/lf/server/controller/sys/AuthController.java @@ -0,0 +1,274 @@ +package com.lf.server.controller.sys; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.sys.AuthEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.service.all.PermsService; +import com.lf.server.service.sys.AuthService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 鏉冮檺琛� + * @author SWS + * @date 2022-09.28 + */ +@Api(tags = "杩愮淮绠$悊\\鏉冮檺绠$悊") +@RestController +@RequestMapping("/auth") +public class AuthController extends BaseController { + @Autowired + AuthService authService; + + @Autowired + TokenService tokenService; + + @Autowired + PermsService permsService; + + @SysLog() + @ApiOperation(value = "鏌ヨ璁板綍鏁�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", required = false, example = "sys_auth") + }) + @GetMapping({"/selectCount"}) + public ResponseMsg<Integer> selectCount(String name) { + try { + int count = authService.selectCount(name); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "sys_auth"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPage") + public ResponseMsg<List<AuthEntity>> selectByPage(String name, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + List<AuthEntity> rs = authService.selectByPage(name, pageSize, pageSize * (pageIndex - 1)); + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "1"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<AuthEntity>> selectByPageAndCount(String name, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = authService.selectCount(name); + if (count == 0) { + return success(0, null); + } + + List<AuthEntity> rs = authService.selectByPage(name, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁鑿滃崟鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "menuid", value = "鑿滃崟ID", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageForMenu") + public ResponseMsg<List<AuthEntity>> selectByPageForMenu(Integer menuid, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = authService.selectCountForMenu(menuid); + if (count == 0) { + return success(0, null); + } + + List<AuthEntity> rs = authService.selectByPageForMenu(menuid, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "com.lf.server.entity.sys.AuthEntity", paramType = "body", example = "") + }) + @PostMapping(value = "/insertAuth", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertAuth(@RequestBody AuthEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = authService.insertAuth(entity); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "List<AuthEntity>", paramType = "body", example = "") + }) + @PostMapping(value = "/insertAuths", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertAuths(@RequestBody List<AuthEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (AuthEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + } + + int count = authService.insertAuths(list); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/deleteAuth") + public ResponseMsg<Integer> deleteAuth(int id) { + try { + int count = authService.deleteAuth(id); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "List<Integer>", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deleteAuths") + public ResponseMsg<Integer> deleteAuths(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = authService.deleteAuths(ids); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "LoginEntity", paramType = "body", example = "") + }) + @ResponseBody + @PostMapping(value = "/updateAuth", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updateAuth(@RequestBody AuthEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = authService.updateAuth(entity); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectAuth") + public ResponseMsg<AuthEntity> selectAuth(int id) { + try { + AuthEntity authEntity = authService.selectAuth(id); + + return success(authEntity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈�") + @GetMapping(value = "/selectAuthAll") + public ResponseMsg<List<AuthEntity>> selectAuthAll() { + try { + List<AuthEntity> list = authService.selectAuthAll(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } +} diff --git a/src/main/java/com/lf/server/controller/sys/BlacklistController.java b/src/main/java/com/lf/server/controller/sys/BlacklistController.java new file mode 100644 index 0000000..c33692b --- /dev/null +++ b/src/main/java/com/lf/server/controller/sys/BlacklistController.java @@ -0,0 +1,254 @@ +package com.lf.server.controller.sys; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.sys.BlacklistEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.service.sys.BlacklistService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 榛戝悕鍗� + * @author WWW + */ +@Api(tags = "杩愮淮绠$悊\\榛戝悕鍗�") +@RestController +@RequestMapping("/blacklist") +public class BlacklistController extends BaseController { + @Autowired + BlacklistService blacklistService; + + @Autowired + TokenService tokenService; + + @SysLog() + @ApiOperation(value = "鏌ヨ璁板綍鏁�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ip", value = "IP鍦板潃", dataType = "String", paramType = "query", required = false, example = "192."), + @ApiImplicitParam(name = "type", value = "绫诲埆", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping({"/selectCount"}) + public ResponseMsg<Integer> selectCount(String ip, Integer type) { + try { + int count = blacklistService.selectCount(ip, type); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ip", value = "IP鍦板潃", dataType = "String", paramType = "query", example = "192."), + @ApiImplicitParam(name = "type", value = "绫诲埆", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPage") + public ResponseMsg<List<BlacklistEntity>> selectByPage(String ip, Integer type, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + List<BlacklistEntity> rs = blacklistService.selectByPage(ip, type, pageSize, pageSize * (pageIndex - 1)); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ip", value = "IP鍦板潃", dataType = "String", paramType = "query", required = false, example = "192."), + @ApiImplicitParam(name = "type", value = "绫诲埆", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<BlacklistEntity>> selectByPageAndCount(String ip, Integer type, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + int count = blacklistService.selectCount(ip, type); + if (count == 0) { + return success(0, null); + } + List<BlacklistEntity> rs = blacklistService.selectByPage(ip, type, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈�") + @GetMapping(value = "/selectAll") + public ResponseMsg<List<BlacklistEntity>> selectAll() { + try { + List<BlacklistEntity> list = blacklistService.selectAll(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectById") + public ResponseMsg<BlacklistEntity> selectById(int id) { + try { + BlacklistEntity entity = blacklistService.selectById(id); + + return success(entity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "BlacklistEntity", paramType = "body") + }) + @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insert(@RequestBody BlacklistEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = blacklistService.insert(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "BlacklistEntity", paramType = "body") + }) + @PostMapping(value = "/inserts", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> inserts(@RequestBody List<BlacklistEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (BlacklistEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + } + + int count = blacklistService.inserts(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/delete") + public ResponseMsg<Integer> delete(int id) { + try { + int count = blacklistService.delete(id); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deletes") + public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = blacklistService.deletes(ids); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "BlacklistEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/update", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> update(@RequestBody BlacklistEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = blacklistService.update(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "BlacklistEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/updates", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updates(@RequestBody List<BlacklistEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (BlacklistEntity entity : list) { + entity.setUpdateUser(ue.getId()); + } + } + + int count = blacklistService.updates(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } +} diff --git a/src/main/java/com/lf/server/controller/sys/CtrlController.java b/src/main/java/com/lf/server/controller/sys/CtrlController.java new file mode 100644 index 0000000..dea8a01 --- /dev/null +++ b/src/main/java/com/lf/server/controller/sys/CtrlController.java @@ -0,0 +1,94 @@ +package com.lf.server.controller.sys; + +import com.alibaba.fastjson.JSONObject; +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.sys.ResEntity; +import com.lf.server.service.all.ScheduleService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 鎺у埗鍙版帶鍒跺櫒 + * @author WWW + * @date 2022-09-21 + */ +@Api(tags = "杩愮淮绠$悊\\鎺у埗鍙�") +@RestController +@RequestMapping("/ctrl") +public class CtrlController extends BaseController { + @Autowired + private ScheduleService scheduleService; + + @SysLog() + @ApiOperation(value = "鏌ヨ鏈嶅姟鍣ㄧ姸鎬�") + @GetMapping(value = "/selectServerStatus") + public ResponseMsg<JSONObject> selectServerStatus() { + try { + JSONObject jsonObject = scheduleService.selectServerStatus(); + + return success(jsonObject); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨCpu淇℃伅") + @GetMapping(value = "/selectCpuInfo") + public ResponseMsg<JSONObject> selectCpuInfo() { + try { + JSONObject jsonObject = scheduleService.selectCpuInfo(); + + return success(jsonObject); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鍐呭瓨淇℃伅") + @GetMapping(value = "/selectMemInfo") + public ResponseMsg<JSONObject> selectMemInfo() { + try { + JSONObject jsonObject = scheduleService.selectMemInfo(); + + return success(jsonObject); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鍦ㄧ嚎鐢ㄦ埛") + @GetMapping(value = "/selectOnlineUsers") + public ResponseMsg<List<JSONObject>> selectOnlineUsers() { + try { + List<JSONObject> list = scheduleService.selectOnlineUsers(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鏈嶅姟璧勬簮鐘舵��") + @GetMapping(value = "/selectResStatus") + public ResponseMsg<List<ResEntity>> selectResStatus() { + try { + List<ResEntity> list = scheduleService.selectResStatus(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } +} diff --git a/src/main/java/com/lf/server/controller/sys/DepController.java b/src/main/java/com/lf/server/controller/sys/DepController.java new file mode 100644 index 0000000..7e9f046 --- /dev/null +++ b/src/main/java/com/lf/server/controller/sys/DepController.java @@ -0,0 +1,207 @@ +package com.lf.server.controller.sys; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.sys.DepEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.service.sys.DepService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 缁勭粐鏈烘瀯 + * @author sws + * @date 2022-09-23 + */ +@Api(tags = "杩愮淮绠$悊\\鍗曚綅绠$悊") +@RestController +@RequestMapping("/dep") +public class DepController extends BaseController { + @Autowired + DepService depService; + + @Autowired + TokenService tokenService; + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "com.lf.server.entity.sys.DepEntity", paramType = "body", example = "") + }) + @PostMapping(value = "/insertDep", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertDep(@RequestBody DepEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = depService.insertDep(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "com.lf.server.entity.sys.DepEntity", paramType = "body", example = "") + }) + @PostMapping(value = "/insertDes", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertDes(@RequestBody List<DepEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (DepEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + } + + int count = depService.insertDeps(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/deleteDep") + public ResponseMsg<Integer> deleteDep(int id) { + try { + int count = depService.deleteDep(id); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/deleteDeps") + public ResponseMsg<Integer> deleteDeps(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = depService.deleteDeps(ids); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "DepEntity", paramType = "body", example = "") + }) + @ResponseBody + @PostMapping(value = "/updateDep", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updateDep(@RequestBody DepEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = depService.updateDep(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "DepEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/updateDeps", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updateDeps(@RequestBody List<DepEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (DepEntity entity : list) { + entity.setUpdateUser(ue.getId()); + } + } + + int count = depService.updateDeps(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectDep") + public ResponseMsg<DepEntity> selectDep(int id) { + try { + DepEntity de = depService.selectDep(id); + return success(de); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈夋暟鎹�") + @GetMapping(value = "/selectDepAll") + public ResponseMsg<List<DepEntity>> selectDepAll() { + try { + List<DepEntity> list = depService.selectDepAll(); + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "閫掑綊鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍗曚綅鍚嶇О", dataType = "String", paramType = "query", required = false, example = "涓浗xxx宸ョ▼鏈夐檺鍏徃") + }) + @GetMapping(value = "/selectDepRecursive") + public ResponseMsg<List<DepEntity>> selectDepRecursive(String name) { + try { + if (StringHelper.isEmpty(name)) { + name = "涓浗xxx宸ョ▼鏈夐檺鍏徃"; + } + List<DepEntity> list = depService.selectDepRecursive(name); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } +} diff --git a/src/main/java/com/lf/server/controller/sys/DownlogController.java b/src/main/java/com/lf/server/controller/sys/DownlogController.java new file mode 100644 index 0000000..1cec9a3 --- /dev/null +++ b/src/main/java/com/lf/server/controller/sys/DownlogController.java @@ -0,0 +1,62 @@ +package com.lf.server.controller.sys; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.sys.DownlogEntity; +import com.lf.server.service.sys.DownlogService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.sql.Timestamp; +import java.util.List; + +/** + * 涓嬭浇鏃ュ織 + * @author WWW + */ +@Api(tags = "杩愮淮绠$悊\\涓嬭浇鏃ュ織") +@RestController +@RequestMapping("/downlog") +public class DownlogController extends BaseController { + @Autowired + DownlogService downlogService; + + @Autowired + TokenService tokenService; + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "uname", value = "鐢ㄦ埛鍚�", dataType = "String", paramType = "query", example = "鍛�"), + @ApiImplicitParam(name = "type", value = "绫诲瀷", dataType = "Integer", paramType = "query", example = "3"), + @ApiImplicitParam(name = "start", value = "寮�濮嬫椂闂�", dataType = "Timestamp", paramType = "query", example = "2022-12-09 09:00:00"), + @ApiImplicitParam(name = "end", value = "缁撴潫鏃堕棿", dataType = "Timestamp", paramType = "query", example = "2022-12-25 17:00:00"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<Object> selectByPageAndCount(String uname, Integer type, Timestamp start, Timestamp end, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = downlogService.selectCount(uname, type, start, end); + if (count == 0) { + return success(0, null); + } + + List<DownlogEntity> rs = downlogService.selectByPage(uname, type, start, end, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } +} diff --git a/src/main/java/com/lf/server/controller/sys/LoginController.java b/src/main/java/com/lf/server/controller/sys/LoginController.java new file mode 100644 index 0000000..b6498da --- /dev/null +++ b/src/main/java/com/lf/server/controller/sys/LoginController.java @@ -0,0 +1,237 @@ +package com.lf.server.controller.sys; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.sys.LoginEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.service.sys.LoginService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.sql.Timestamp; +import java.util.List; + +/** + * 鐧诲綍鏃ュ織 + * @author SWS + * @date 2022-09.28 + */ +@Api(tags = "杩愮淮绠$悊\\鐧诲綍鏃ュ織") +@RestController +@RequestMapping("/login") +public class LoginController extends BaseController { + @Autowired + LoginService loginService; + + @Autowired + TokenService tokenService; + + @SysLog() + @ApiOperation(value = "鏌ヨ璁板綍鏁�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "uname", value = "鐢ㄦ埛鍚�", dataType = "String", paramType = "query", example = "绠$悊鍛�"), + @ApiImplicitParam(name = "type", value = "绫诲瀷", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "start", value = "寮�濮嬫椂闂�", dataType = "Timestamp", paramType = "query", example = "2022-10-09 09:00:00"), + @ApiImplicitParam(name = "end", value = "缁撴潫鏃堕棿", dataType = "Timestamp", paramType = "query", example = "2022-10-10 17:00:00") + }) + @GetMapping({"/selectCount"}) + public ResponseMsg<Integer> selectCount(String uname, Integer type, Timestamp start, Timestamp end) { + try { + int count = loginService.selectCount(uname, type, start, end); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "uname", value = "鐢ㄦ埛鍚�", dataType = "String", paramType = "query", example = "绠$悊鍛�"), + @ApiImplicitParam(name = "type", value = "绫诲瀷", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "start", value = "寮�濮嬫椂闂�", dataType = "Timestamp", paramType = "query", example = "2022-10-09 09:00:00"), + @ApiImplicitParam(name = "end", value = "缁撴潫鏃堕棿", dataType = "Timestamp", paramType = "query", example = "2022-10-10 17:00:00"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPage") + public ResponseMsg<List<LoginEntity>> selectByPage(String uname, Integer type, Timestamp start, Timestamp end, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + List<LoginEntity> rs = loginService.selectByPage(uname, type, start, end, pageSize, pageSize * (pageIndex - 1)); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "uname", value = "鐢ㄦ埛鍚�", dataType = "String", paramType = "query", example = "绠$悊鍛�"), + @ApiImplicitParam(name = "type", value = "绫诲瀷", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "start", value = "寮�濮嬫椂闂�", dataType = "Timestamp", paramType = "query", example = "2022-10-09 09:00:00"), + @ApiImplicitParam(name = "end", value = "缁撴潫鏃堕棿", dataType = "Timestamp", paramType = "query", example = "2022-10-10 17:00:00"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<LoginEntity>> selectByPageAndCount(String uname, Integer type, Timestamp start, Timestamp end, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = loginService.selectCount(uname, type, start, end); + if (count == 0) { + return success(0, null); + } + + List<LoginEntity> rs = loginService.selectByPage(uname, type, start, end, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "com.lf.server.entity.sys.LoginEntity", paramType = "body", example = "") + }) + @PostMapping(value = "/insertLogin", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertLogin(@RequestBody LoginEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUserid(ue.getId()); + } + + int count = loginService.insertLogin(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "List<LoginEntity>", paramType = "body", example = "") + }) + @PostMapping(value = "/insertLogins", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertLogins(@RequestBody List<LoginEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (LoginEntity entity : list) { + entity.setUserid(ue.getId()); + } + } + + int count = loginService.insertLogins(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/deleteLogin") + public ResponseMsg<Integer> deleteLogin(int id) { + try { + int count = loginService.deleteLogin(id); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "List<Integer>", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deleteLogins") + public ResponseMsg<Integer> deleteLogins(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + int count = loginService.deleteLogins(ids); + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "LoginEntity", paramType = "body", example = "") + }) + @ResponseBody + @PostMapping(value = "/updateLogin", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updateLogin(@RequestBody LoginEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUserid(ue.getId()); + } + + int count = loginService.updateLogin(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectLogin") + public ResponseMsg<LoginEntity> selectLogin(int id) { + try { + LoginEntity loginEntity = loginService.selectLogin(id); + + return success(loginEntity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈�") + @GetMapping(value = "/selectLoginAll") + public ResponseMsg<List<LoginEntity>> selectLoginAll() { + try { + List<LoginEntity> list = loginService.selectLoginAll(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } +} diff --git a/src/main/java/com/lf/server/controller/sys/MenuAuthController.java b/src/main/java/com/lf/server/controller/sys/MenuAuthController.java new file mode 100644 index 0000000..c76cca2 --- /dev/null +++ b/src/main/java/com/lf/server/controller/sys/MenuAuthController.java @@ -0,0 +1,301 @@ +package com.lf.server.controller.sys; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.sys.MenuAuthEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.service.all.PermsService; +import com.lf.server.service.sys.MenuAuthService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 鑿滃崟-鏉冮檺 + * @author WWW + */ +@Api(tags = "杩愮淮绠$悊\\鑿滃崟鏉冮檺") +@RestController +@RequestMapping("/menuAuth") +public class MenuAuthController extends BaseController { + @Autowired + MenuAuthService menuAuthService; + + @Autowired + TokenService tokenService; + + @Autowired + PermsService permsService; + + @SysLog() + @ApiOperation(value = "鏌ヨ璁板綍鏁�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "menuid", value = "鑿滃崟ID", dataType = "Integer", paramType = "query", required = false, example = "") + }) + @GetMapping({"/selectCount"}) + public ResponseMsg<Integer> selectCount(Integer menuid) { + try { + int count = menuAuthService.selectCount(menuid); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "menuid", value = "鑿滃崟ID", dataType = "Integer", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPage") + public ResponseMsg<List<MenuAuthEntity>> selectByPage(Integer menuid, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + List<MenuAuthEntity> rs = menuAuthService.selectByPage(menuid, pageSize, pageSize * (pageIndex - 1)); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "menuid", value = "鑿滃崟ID", dataType = "Integer", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<MenuAuthEntity>> selectByPageAndCount(Integer menuid, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + int count = menuAuthService.selectCount(menuid); + if (count == 0) { + return success(0, null); + } + List<MenuAuthEntity> rs = menuAuthService.selectByPage(menuid, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁瑙掕壊ID+鑿滃崟ID鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "menuid", value = "鑿滃崟ID", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageForRole") + public ResponseMsg<List<MenuAuthEntity>> selectByPageForRole(Integer roleid, Integer menuid, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = menuAuthService.selectCountForRole(roleid, menuid); + if (count == 0) { + return success(0, null); + } + + List<MenuAuthEntity> rs = menuAuthService.selectByPageForRole(roleid, menuid, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈�") + @GetMapping(value = "/selectAll") + public ResponseMsg<List<MenuAuthEntity>> selectAll() { + try { + List<MenuAuthEntity> list = menuAuthService.selectAll(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectById") + public ResponseMsg<MenuAuthEntity> selectById(int id) { + try { + MenuAuthEntity entity = menuAuthService.selectById(id); + + return success(entity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "MenuAuthEntity", paramType = "body") + }) + @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insert(@RequestBody MenuAuthEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = menuAuthService.insert(entity); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "MenuAuthEntity", paramType = "body") + }) + @PostMapping(value = "/inserts", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> inserts(@RequestBody List<MenuAuthEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (MenuAuthEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + } + + int count = menuAuthService.inserts(list); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/delete") + public ResponseMsg<Integer> delete(int id) { + try { + int count = menuAuthService.delete(id); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deletes") + public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = menuAuthService.deletes(ids); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "MenuAuthEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/update", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> update(@RequestBody MenuAuthEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = menuAuthService.update(entity); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "MenuAuthEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/updates", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updates(@RequestBody List<MenuAuthEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (MenuAuthEntity entity : list) { + entity.setUpdateUser(ue.getId()); + } + } + + int count = menuAuthService.updates(list); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } +} diff --git a/src/main/java/com/lf/server/controller/sys/MenuController.java b/src/main/java/com/lf/server/controller/sys/MenuController.java new file mode 100644 index 0000000..36fcc95 --- /dev/null +++ b/src/main/java/com/lf/server/controller/sys/MenuController.java @@ -0,0 +1,232 @@ +package com.lf.server.controller.sys; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.data.DirEntity; +import com.lf.server.entity.sys.MenuEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.service.all.PermsService; +import com.lf.server.service.sys.MenuService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 鑿滃崟 + * @author sws + * @date 2022-09-23 + */ +@Api(tags= "杩愮淮绠$悊\\鑿滃崟绠$悊") +@RestController +@RequestMapping("/menu") +public class MenuController extends BaseController { + @Autowired + MenuService menuService; + + @Autowired + TokenService tokenService; + + @Autowired + PermsService permsService; + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "com.lf.server.entity.sys.MenusEntity", paramType = "body", example = "") + }) + @PostMapping(value = "/insertMenu", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertMenu(@RequestBody MenuEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = menuService.insertMenu(entity); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "com.lf.server.entity.sys.MenusEntity", paramType = "body", example = "") + }) + @PostMapping(value = "/insertMenus", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertMenus(@RequestBody List<MenuEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (MenuEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + } + + int count = menuService.insertMenus(list); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/deleteMenu") + public ResponseMsg<Integer> deleteMenu(int id) { + try { + int count = menuService.deleteMenu(id); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "List<Integer>", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deleteMenus") + public ResponseMsg<Integer> deleteMenus(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = menuService.deleteMenus(ids); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "MenusEntity", paramType = "body", example = "") + }) + @ResponseBody + @PostMapping(value = "/updateMenu", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updateMenu(@RequestBody MenuEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = menuService.updateMenu(entity); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "MenusEntity", paramType = "body", example = "") + }) + @ResponseBody + @PostMapping(value = "/updateMenus", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updateMenus(@RequestBody List<MenuEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (MenuEntity entity : list) { + entity.setUpdateUser(ue.getId()); + } + } + + int count = menuService.updateMenus(list); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectMenu") + public ResponseMsg<MenuEntity> selectMenu(int id) { + try { + MenuEntity menuEntity = menuService.selectMenu(id); + + return success(menuEntity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈�") + @GetMapping(value = "/selectMenuAll") + public ResponseMsg<List<MenuEntity>> selectMenuAll() { + try { + List<MenuEntity> list = menuService.selectMenuAll(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "閫掑綊鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鑿滃崟鍚嶇О", dataType = "String", paramType = "query", required = false, example = "绠¢亾鍩虹澶ф暟鎹钩鍙�") + }) + @GetMapping(value = "/selectMenuRecursive") + public ResponseMsg<Object> selectMenuRecursive(String name) { + try { + if (StringHelper.isEmpty(name)) { + name = "绠¢亾鍩虹澶ф暟鎹钩鍙�"; + } + List<MenuEntity> list = menuService.selectMenuRecursive(name); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } +} diff --git a/src/main/java/com/lf/server/controller/sys/OperateController.java b/src/main/java/com/lf/server/controller/sys/OperateController.java new file mode 100644 index 0000000..6a84756 --- /dev/null +++ b/src/main/java/com/lf/server/controller/sys/OperateController.java @@ -0,0 +1,236 @@ +package com.lf.server.controller.sys; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.sys.OperateEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.service.sys.OperateService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.sql.Timestamp; +import java.util.List; + +/** + * 鎿嶄綔鏃ュ織 + * @author SWS + * @date 2022-09.28 + */ +@Api(tags = "杩愮淮绠$悊\\鎿嶄綔鏃ュ織") +@RestController +@RequestMapping("/operate") +public class OperateController extends BaseController { + @Autowired + OperateService operateService; + + @Autowired + TokenService tokenService; + + @SysLog() + @ApiOperation(value = "鏌ヨ璁板綍鏁�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "uname", value = "鐢ㄦ埛鍚�", dataType = "String", paramType = "query", example = "绠$悊鍛�"), + @ApiImplicitParam(name = "type", value = "绫诲瀷", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "start", value = "寮�濮嬫椂闂�", dataType = "Timestamp", paramType = "query", example = "2022-10-09 09:00:00"), + @ApiImplicitParam(name = "end", value = "缁撴潫鏃堕棿", dataType = "Timestamp", paramType = "query", example = "2022-10-10 17:00:00") + }) + @GetMapping({"/selectCount"}) + public ResponseMsg<Integer> selectCount(String uname, Integer type, Timestamp start, Timestamp end) { + try { + int count = operateService.selectCount(uname, type, start, end); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "uname", value = "鐢ㄦ埛鍚�", dataType = "String", paramType = "query", example = "绠$悊鍛�"), + @ApiImplicitParam(name = "type", value = "绫诲瀷", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "start", value = "寮�濮嬫椂闂�", dataType = "Timestamp", paramType = "query", example = "2022-10-09 09:00:00"), + @ApiImplicitParam(name = "end", value = "缁撴潫鏃堕棿", dataType = "Timestamp", paramType = "query", example = "2022-10-10 17:00:00"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPage") + public ResponseMsg<List<OperateEntity>> selectByPage(String uname, Integer type, Timestamp start, Timestamp end, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + List<OperateEntity> rs = operateService.selectByPage(uname, type, start, end, pageSize, pageSize * (pageIndex - 1)); + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "uname", value = "鐢ㄦ埛鍚�", dataType = "String", paramType = "query", example = "绠$悊鍛�"), + @ApiImplicitParam(name = "type", value = "绫诲瀷", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "start", value = "寮�濮嬫椂闂�", dataType = "Timestamp", paramType = "query", example = "2022-10-09 09:00:00"), + @ApiImplicitParam(name = "end", value = "缁撴潫鏃堕棿", dataType = "Timestamp", paramType = "query", example = "2022-10-10 17:00:00"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<OperateEntity>> selectByPageAndCount(String uname, Integer type, Timestamp start, Timestamp end, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = operateService.selectCount(uname, type, start, end); + if (count == 0) { + return success(0, null); + } + + List<OperateEntity> rs = operateService.selectByPage(uname, type, start, end, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "com.lf.server.entity.sys.OperateEntity", paramType = "body", example = "") + }) + @PostMapping(value = "/insertOperate", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertOperate(@RequestBody OperateEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUserid(ue.getId()); + } + + int count = operateService.insertOperate(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "List<OperateEntity>", paramType = "body", example = "") + }) + @PostMapping(value = "/insertOperates", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertOperates(@RequestBody List<OperateEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (OperateEntity entity : list) { + entity.setUserid(ue.getId()); + } + } + + int count = operateService.insertOperates(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/deleteOperate") + public ResponseMsg<Integer> deleteOperate(int id) { + try { + int count = operateService.deleteOperate(id); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "List<Integer>", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deleteOperates") + public ResponseMsg<Integer> deleteOperates(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + int count = operateService.deleteOperates(ids); + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "OperateEntity", paramType = "body", example = "") + }) + @ResponseBody + @PostMapping(value = "/updateOperate", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updateOperate(@RequestBody OperateEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUserid(ue.getId()); + } + + int count = operateService.updateOperate(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectOperate") + public ResponseMsg<OperateEntity> selectOperate(int id) { + try { + OperateEntity operateEntity = operateService.selectOperate(id); + + return success(operateEntity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈�") + @GetMapping(value = "/selectOperateAll") + public ResponseMsg<List<OperateEntity>> selectOperateAll() { + try { + List<OperateEntity> list = operateService.selectOperateAll(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } +} diff --git a/src/main/java/com/lf/server/controller/sys/ReportController.java b/src/main/java/com/lf/server/controller/sys/ReportController.java new file mode 100644 index 0000000..f51c527 --- /dev/null +++ b/src/main/java/com/lf/server/controller/sys/ReportController.java @@ -0,0 +1,183 @@ +package com.lf.server.controller.sys; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.sys.ReportEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.service.all.UploadAttachService; +import com.lf.server.service.sys.ReportService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 鎶ュ憡妯℃澘 + * @author WWW + */ +@Api(tags = "杩愮淮绠$悊\\妯℃澘绠$悊") +@RestController +@RequestMapping("/report") +public class ReportController extends BaseController { + @Autowired + ReportService reportService; + + @Autowired + TokenService tokenService; + + @Autowired + UploadAttachService uploadAttachService; + + private final static String TAB_NAME = "lf.sys_report"; + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<ReportEntity>> selectByPageAndCount(String name, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = reportService.selectCount(name, null); + if (count == 0) { + return success(0, null); + } + + List<ReportEntity> rs = reportService.selectByPage(name, null, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectById") + public ResponseMsg<ReportEntity> selectById(int id) { + try { + ReportEntity entity = reportService.selectById(id); + + return success(entity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "ReportEntity", paramType = "body") + }) + @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insert(@RequestBody ReportEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = reportService.insert(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/delete") + public ResponseMsg<Integer> delete(int id) { + try { + int count = reportService.delete(id); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deletes") + public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = reportService.deletes(ids); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "ReportEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/update", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> update(@RequestBody ReportEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = reportService.update(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "涓婁紶鏂囦欢") + @ResponseBody + @PostMapping(value = "/upload") + public ResponseMsg<String> upload(@RequestParam("file") MultipartFile file, HttpServletRequest req) { + UserEntity ue = tokenService.getCurrentUser(req); + + return uploadAttachService.upload(ue, TAB_NAME, file, this); + } + + @SysLog() + @ApiOperation(value = "涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "闄勪欢Guid", dataType = "String", paramType = "body") + }) + @GetMapping(value = "/download") + public void download(String guid, HttpServletResponse res) { + uploadAttachService.download(guid, res); + } +} diff --git a/src/main/java/com/lf/server/controller/sys/ResController.java b/src/main/java/com/lf/server/controller/sys/ResController.java new file mode 100644 index 0000000..a763bc1 --- /dev/null +++ b/src/main/java/com/lf/server/controller/sys/ResController.java @@ -0,0 +1,316 @@ +package com.lf.server.controller.sys; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.sys.ResEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.service.all.PermsService; +import com.lf.server.service.all.UploadAttachService; +import com.lf.server.service.data.DownloadService; +import com.lf.server.service.sys.ResService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 璧勬簮琛� + * @author SWS + * @date 2022-09.28 + */ +@Api(tags = "杩愮淮绠$悊\\璧勬簮绠$悊") +@RestController +@RequestMapping("/res") +public class ResController extends BaseController { + @Autowired + ResService resService; + + @Autowired + TokenService tokenService; + + @Autowired + PermsService permsService; + + @Autowired + DownloadService downloadService; + + @Autowired + UploadAttachService uploadAttachService; + + private final static String TAB_NAME = "lf.sys_res"; + + @SysLog() + @ApiOperation(value = "鏌ヨ璁板綍鏁�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", required = false, example = "sys_res") + }) + @GetMapping({"/selectCount"}) + public ResponseMsg<Integer> selectCount(String name) { + try { + int count = resService.selectCount(name); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "sys_res"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPage") + public ResponseMsg<List<ResEntity>> selectByPage(String name, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + List<ResEntity> rs = resService.selectByPage(name, pageSize, pageSize * (pageIndex - 1)); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "sys_res"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<ResEntity>> selectByPageAndCount(String name, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = resService.selectCount(name); + if (count == 0) { + return success(0, null); + } + List<ResEntity> rs = resService.selectByPage(name, pageSize, pageSize * (pageIndex - 1)); + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁瑙掕壊鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageForRole") + public ResponseMsg<List<ResEntity>> selectByPageForRole(Integer roleid, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = resService.selectCountForRole(roleid); + if (count == 0) { + return success(0, null); + } + + List<ResEntity> rs = resService.selectByPageForRole(roleid, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "com.lf.server.entity.sys.ResEntity", paramType = "body", example = "") + }) + @PostMapping(value = "/insertRes", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertRes(@RequestBody ResEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = resService.insertRes(entity); + if (count > 0) { + permsService.clearResCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "List<ResEntity>", paramType = "body", example = "") + }) + @PostMapping(value = "/insertRess", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertRess(@RequestBody List<ResEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (ResEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + } + + int count = resService.insertRess(list); + if (count > 0) { + permsService.clearResCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/deleteRes") + public ResponseMsg<Integer> deleteRes(int id) { + try { + int count = resService.deleteRes(id); + if (count > 0) { + permsService.clearResCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "List<Integer>", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deleteRess") + public ResponseMsg<Integer> deleteRess(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = resService.deleteRess(ids); + if (count > 0) { + permsService.clearResCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "ResEntity", paramType = "body", example = "") + }) + @ResponseBody + @PostMapping(value = "/updateRes", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updateRes(@RequestBody ResEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = resService.updateRes(entity); + if (count > 0) { + permsService.clearResCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectRes") + public ResponseMsg<ResEntity> selectRes(int id) { + try { + ResEntity resEntity = resService.selectRes(id); + + return success(resEntity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈�") + @GetMapping(value = "/selectResAll") + public ResponseMsg<List<ResEntity>> selectResAll() { + try { + List<ResEntity> list = resService.selectResAll(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "涓婁紶鏂囦欢") + @ResponseBody + @PostMapping(value = "/upload") + public ResponseMsg<String> upload(@RequestParam("file") MultipartFile file, HttpServletRequest req) { + UserEntity ue = tokenService.getCurrentUser(req); + + return uploadAttachService.upload(ue, TAB_NAME, file, this); + } + + @SysLog() + @ApiOperation(value = "涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "闄勪欢Guid", dataType = "String", paramType = "body") + }) + @GetMapping(value = "/download") + public void download(String guid, HttpServletResponse res) { + uploadAttachService.download(guid, false, res); + } + + @SysLog() + @ApiOperation(value = "鏌ョ湅鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "闄勪欢Guid", dataType = "String", paramType = "body") + }) + @GetMapping(value = "/downloadForView") + public void downloadForView(String guid, HttpServletResponse res) { + uploadAttachService.download(guid, true, res); + } +} diff --git a/src/main/java/com/lf/server/controller/sys/ResOpController.java b/src/main/java/com/lf/server/controller/sys/ResOpController.java new file mode 100644 index 0000000..19741f3 --- /dev/null +++ b/src/main/java/com/lf/server/controller/sys/ResOpController.java @@ -0,0 +1,236 @@ +package com.lf.server.controller.sys; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.sys.ResOpEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.service.sys.ResOpService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.sql.Timestamp; +import java.util.List; + +/** + * 璧勬簮鎿嶄綔 + * @author SWS + * @date 2022-09.28 + */ +@Api(tags = "杩愮淮绠$悊\\璧勬簮鎿嶄綔") +@RestController +@RequestMapping("/resOp") +public class ResOpController extends BaseController { + @Autowired + ResOpService resOpService; + + @Autowired + TokenService tokenService; + + @SysLog() + @ApiOperation(value = "鏌ヨ璁板綍鏁�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "璧勬簮鍚嶇О", dataType = "String", paramType = "query", example = "澶╁湴鍥�"), + @ApiImplicitParam(name = "type", value = "鎿嶄綔绫诲瀷", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "start", value = "寮�濮嬫椂闂�", dataType = "Timestamp", paramType = "query", example = "2022-10-09 09:00:00"), + @ApiImplicitParam(name = "end", value = "缁撴潫鏃堕棿", dataType = "Timestamp", paramType = "query", example = "2022-10-10 18:00:00"), + }) + @GetMapping({"/selectCount"}) + public ResponseMsg<Integer> selectCount(String name, Integer type, Timestamp start, Timestamp end) { + try { + int count = resOpService.selectCount(name, type, start, end); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "璧勬簮鍚嶇О", dataType = "String", paramType = "query", example = "澶╁湴鍥�"), + @ApiImplicitParam(name = "type", value = "鎿嶄綔绫诲瀷", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "start", value = "寮�濮嬫椂闂�", dataType = "Timestamp", paramType = "query", example = "2022-10-09 09:00:00"), + @ApiImplicitParam(name = "end", value = "缁撴潫鏃堕棿", dataType = "Timestamp", paramType = "query", example = "2022-10-10 18:00:00"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPage") + public ResponseMsg<List<ResOpEntity>> selectByPage(String name, Integer type, Timestamp start, Timestamp end, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + List<ResOpEntity> rs = resOpService.selectByPage(name, type, start, end, pageSize, pageSize * (pageIndex - 1)); + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "璧勬簮鍚嶇О", dataType = "String", paramType = "query", example = "澶╁湴鍥�"), + @ApiImplicitParam(name = "type", value = "鎿嶄綔绫诲瀷", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "start", value = "寮�濮嬫椂闂�", dataType = "Timestamp", paramType = "query", example = "2022-10-09 09:00:00"), + @ApiImplicitParam(name = "end", value = "缁撴潫鏃堕棿", dataType = "Timestamp", paramType = "query", example = "2022-10-10 18:00:00"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<ResOpEntity>> selectByPageAndCount(String name, Integer type, Timestamp start, Timestamp end, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = resOpService.selectCount(name, type, start, end); + if (count == 0) { + return success(0, null); + } + + List<ResOpEntity> rs = resOpService.selectByPage(name, type, start, end, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "com.lf.server.entity.sys.ResOpEntity", paramType = "body", example = "") + }) + @PostMapping(value = "/insertResOp", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertResOp(@RequestBody ResOpEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUserid(ue.getId()); + } + + int count = resOpService.insertResOp(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "List<ResOpEntity>", paramType = "body", example = "") + }) + @PostMapping(value = "/insertResOps", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertResOps(@RequestBody List<ResOpEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (ResOpEntity entity : list) { + entity.setUserid(ue.getId()); + } + } + + int count = resOpService.insertResOps(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/deleteLogin") + public ResponseMsg<Integer> deleteResOp(int id) { + try { + int count = resOpService.deleteResOp(id); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "List<Integer>", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deleteResOps") + public ResponseMsg<Integer> deleteResOps(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + int count = resOpService.deleteResOps(ids); + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "ID鏁扮粍", dataType = "LoginEntity", paramType = "body", example = "") + }) + @ResponseBody + @PostMapping(value = "/updateResOp", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updateResOp(@RequestBody ResOpEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUserid(ue.getId()); + } + + int count = resOpService.updateResOp(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectResOp") + public ResponseMsg<ResOpEntity> selectResOp(int id) { + try { + ResOpEntity resOpEntity = resOpService.selectResOp(id); + + return success(resOpEntity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈�") + @GetMapping(value = "/selectResOpAll") + public ResponseMsg<List<ResOpEntity>> selectResOpAll() { + try { + List<ResOpEntity> list = resOpService.selectResOpAll(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } +} diff --git a/src/main/java/com/lf/server/controller/sys/RoleController.java b/src/main/java/com/lf/server/controller/sys/RoleController.java new file mode 100644 index 0000000..7bda6f4 --- /dev/null +++ b/src/main/java/com/lf/server/controller/sys/RoleController.java @@ -0,0 +1,252 @@ +package com.lf.server.controller.sys; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.sys.RoleEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.service.all.PermsService; +import com.lf.server.service.sys.RoleService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + *瑙掕壊琛� + * @author SWS + * @date 2022-09.28 + */ +@Api(tags = "杩愮淮绠$悊\\瑙掕壊绠$悊") +@RestController +@RequestMapping("/role") +public class RoleController extends BaseController { + @Autowired + RoleService roleService; + + @Autowired + TokenService tokenService; + + @Autowired + PermsService permsService; + + @SysLog() + @ApiOperation(value = "鏌ヨ璁板綍鏁�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "Admin"), + @ApiImplicitParam(name = "depid", value = "鍗曚綅ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping({"/selectCount"}) + public ResponseMsg<Integer> selectCount(String name, Integer depid) { + try { + int count = roleService.selectCount(name, depid); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "Admin"), + @ApiImplicitParam(name = "depid", value = "鍗曚綅ID", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPage") + public ResponseMsg<List<RoleEntity>> selectByPage(String name, Integer depid, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + List<RoleEntity> rs = roleService.selectByPage(name, depid, pageSize, pageSize * (pageIndex - 1)); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "Admin"), + @ApiImplicitParam(name = "depid", value = "鍗曚綅ID", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<RoleEntity>> selectByPageAndCount(String name, Integer depid, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = roleService.selectCount(name, depid); + if (count == 0) { + return success(0, null); + } + + List<RoleEntity> rs = roleService.selectByPage(name, depid, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "com.lf.server.entity.sys.RoleEntity", paramType = "body", example = "") + }) + @PostMapping(value = "/insertRole", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertRole(@RequestBody RoleEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = roleService.insertRole(entity); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "List<RoleEntity>", paramType = "body", example = "") + }) + @PostMapping(value = "/insertRoles", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertRoles(@RequestBody List<RoleEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (RoleEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + } + + int count = roleService.insertRoles(list); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/deleteRole") + public ResponseMsg<Integer> deleteRole(int id) { + try { + int count = roleService.deleteRole(id); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "List<Integer>", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deleteAuths") + public ResponseMsg<Integer> deleteRoles(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = roleService.deleteRoles(ids); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "RoleEntity", paramType = "body", example = "") + }) + @ResponseBody + @PostMapping(value = "/updateRole", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updateRole(@RequestBody RoleEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = roleService.updateRole(entity); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectRole") + public ResponseMsg<RoleEntity> selectRole(int id) { + try { + RoleEntity roleEntity = roleService.selectRole(id); + + return success(roleEntity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈�") + @GetMapping(value = "/selectRoleAll") + public ResponseMsg<List<RoleEntity>> selectRoleAll() { + try { + List<RoleEntity> list = roleService.selectRoleAll(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } +} diff --git a/src/main/java/com/lf/server/controller/sys/RoleMenuAuthController.java b/src/main/java/com/lf/server/controller/sys/RoleMenuAuthController.java new file mode 100644 index 0000000..9a3918c --- /dev/null +++ b/src/main/java/com/lf/server/controller/sys/RoleMenuAuthController.java @@ -0,0 +1,301 @@ +package com.lf.server.controller.sys; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.sys.RoleMenuAuthEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.service.all.PermsService; +import com.lf.server.service.sys.RoleMenuAuthService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 瑙掕壊-鑿滃崟 + * @author WWW + */ +@Api(tags = "杩愮淮绠$悊\\瑙掕壊鑿滃崟") +@RestController +@RequestMapping("/roleMenuAuth") +public class RoleMenuAuthController extends BaseController { + @Autowired + RoleMenuAuthService roleMenuAuthService; + + @Autowired + TokenService tokenService; + + @Autowired + PermsService permsService; + + @SysLog() + @ApiOperation(value = "鏌ヨ璁板綍鏁�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", required = false, example = "") + }) + @GetMapping({"/selectCount"}) + public ResponseMsg<Integer> selectCount(Integer roleid) { + try { + int count = roleMenuAuthService.selectCount(roleid); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPage") + public ResponseMsg<List<RoleMenuAuthEntity>> selectByPage(Integer roleid, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + List<RoleMenuAuthEntity> rs = roleMenuAuthService.selectByPage(roleid, pageSize, pageSize * (pageIndex - 1)); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<RoleMenuAuthEntity>> selectByPageAndCount(Integer roleid, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + int count = roleMenuAuthService.selectCount(roleid); + if (count == 0) { + return success(0, null); + } + List<RoleMenuAuthEntity> rs = roleMenuAuthService.selectByPage(roleid, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁瑙掕壊ID+鑿滃崟ID鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "menuid", value = "鑿滃崟ID", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageForRole") + public ResponseMsg<List<RoleMenuAuthEntity>> selectByPageForRole(Integer roleid, Integer menuid, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = roleMenuAuthService.selectCountForRole(roleid, menuid); + if (count == 0) { + return success(0, null); + } + + List<RoleMenuAuthEntity> rs = roleMenuAuthService.selectByPageForRole(roleid, menuid, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈�") + @GetMapping(value = "/selectAll") + public ResponseMsg<List<RoleMenuAuthEntity>> selectAll() { + try { + List<RoleMenuAuthEntity> list = roleMenuAuthService.selectAll(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectById") + public ResponseMsg<RoleMenuAuthEntity> selectById(int id) { + try { + RoleMenuAuthEntity entity = roleMenuAuthService.selectById(id); + + return success(entity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "RoleMenuAuthEntity", paramType = "body") + }) + @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insert(@RequestBody RoleMenuAuthEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = roleMenuAuthService.insert(entity); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "RoleMenuAuthEntity", paramType = "body") + }) + @PostMapping(value = "/inserts", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> inserts(@RequestBody List<RoleMenuAuthEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (RoleMenuAuthEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + } + + int count = roleMenuAuthService.inserts(list); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/delete") + public ResponseMsg<Integer> delete(int id) { + try { + int count = roleMenuAuthService.delete(id); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deletes") + public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = roleMenuAuthService.deletes(ids); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "RoleMenuAuthEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/update", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> update(@RequestBody RoleMenuAuthEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = roleMenuAuthService.update(entity); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "RoleMenuAuthEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/updates", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updates(@RequestBody List<RoleMenuAuthEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (RoleMenuAuthEntity entity : list) { + entity.setUpdateUser(ue.getId()); + } + } + + int count = roleMenuAuthService.updates(list); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } +} diff --git a/src/main/java/com/lf/server/controller/sys/RoleResController.java b/src/main/java/com/lf/server/controller/sys/RoleResController.java new file mode 100644 index 0000000..e09b149 --- /dev/null +++ b/src/main/java/com/lf/server/controller/sys/RoleResController.java @@ -0,0 +1,273 @@ +package com.lf.server.controller.sys; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.sys.RoleResEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.service.all.PermsService; +import com.lf.server.service.sys.RoleResService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 瑙掕壊-璧勬簮 + * @author WWW + */ +@Api(tags = "杩愮淮绠$悊\\瑙掕壊璧勬簮") +@RestController +@RequestMapping("/roleRes") +public class RoleResController extends BaseController { + @Autowired + RoleResService roleResService; + + @Autowired + TokenService tokenService; + + @Autowired + PermsService permsService; + + @SysLog() + @ApiOperation(value = "鏌ヨ璁板綍鏁�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", required = false, example = "") + }) + @GetMapping({"/selectCount"}) + public ResponseMsg<Integer> selectCount(Integer roleid) { + try { + int count = roleResService.selectCount(roleid); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPage") + public ResponseMsg<List<RoleResEntity>> selectByPage(Integer roleid, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + List<RoleResEntity> rs = roleResService.selectByPage(roleid, pageSize, pageSize * (pageIndex - 1)); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<RoleResEntity>> selectByPageAndCount(Integer roleid, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + int count = roleResService.selectCount(roleid); + if (count == 0) { + return success(0, null); + } + List<RoleResEntity> rs = roleResService.selectByPage(roleid, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈�") + @GetMapping(value = "/selectAll") + public ResponseMsg<List<RoleResEntity>> selectAll() { + try { + List<RoleResEntity> list = roleResService.selectAll(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectById") + public ResponseMsg<RoleResEntity> selectById(int id) { + try { + RoleResEntity entity = roleResService.selectById(id); + + return success(entity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "RoleResEntity", paramType = "body") + }) + @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insert(@RequestBody RoleResEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = roleResService.insert(entity); + if (count > 0) { + permsService.clearResCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "RoleResEntity", paramType = "body") + }) + @PostMapping(value = "/inserts", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> inserts(@RequestBody List<RoleResEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (RoleResEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + } + + int count = roleResService.inserts(list); + if (count > 0) { + permsService.clearResCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/delete") + public ResponseMsg<Integer> delete(int id) { + try { + int count = roleResService.delete(id); + if (count > 0) { + permsService.clearResCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deletes") + public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = roleResService.deletes(ids); + if (count > 0) { + permsService.clearResCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "RoleResEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/update", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> update(@RequestBody RoleResEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = roleResService.update(entity); + if (count > 0) { + permsService.clearResCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "RoleResEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/updates", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updates(@RequestBody List<RoleResEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (RoleResEntity entity : list) { + entity.setUpdateUser(ue.getId()); + } + } + + int count = roleResService.updates(list); + if (count > 0) { + permsService.clearResCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } +} diff --git a/src/main/java/com/lf/server/controller/sys/RoleUserController.java b/src/main/java/com/lf/server/controller/sys/RoleUserController.java new file mode 100644 index 0000000..e438bbc --- /dev/null +++ b/src/main/java/com/lf/server/controller/sys/RoleUserController.java @@ -0,0 +1,273 @@ +package com.lf.server.controller.sys; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.sys.RoleUserEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.service.all.PermsService; +import com.lf.server.service.sys.RoleUserService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 瑙掕壊-鐢ㄦ埛 + * @author WWW + */ +@Api(tags = "杩愮淮绠$悊\\鐢ㄦ埛瑙掕壊") +@RestController +@RequestMapping("/roleUser") +public class RoleUserController extends BaseController { + @Autowired + RoleUserService roleUserService; + + @Autowired + TokenService tokenService; + + @Autowired + PermsService permsService; + + @SysLog() + @ApiOperation(value = "鏌ヨ璁板綍鏁�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", required = false, example = "") + }) + @GetMapping({"/selectCount"}) + public ResponseMsg<Integer> selectCount(Integer roleid) { + try { + int count = roleUserService.selectCount(roleid); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPage") + public ResponseMsg<List<RoleUserEntity>> selectByPage(Integer roleid, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + List<RoleUserEntity> rs = roleUserService.selectByPage(roleid, pageSize, pageSize * (pageIndex - 1)); + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<RoleUserEntity>> selectByPageAndCount(Integer roleid, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + int count = roleUserService.selectCount(roleid); + if (count == 0) { + return success(0, null); + } + List<RoleUserEntity> rs = roleUserService.selectByPage(roleid, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈�") + @GetMapping(value = "/selectAll") + public ResponseMsg<List<RoleUserEntity>> selectAll() { + try { + List<RoleUserEntity> list = roleUserService.selectAll(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectById") + public ResponseMsg<RoleUserEntity> selectById(int id) { + try { + RoleUserEntity entity = roleUserService.selectById(id); + + return success(entity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "RoleUserEntity", paramType = "body") + }) + @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insert(@RequestBody RoleUserEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = roleUserService.insert(entity); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "RoleUserEntity", paramType = "body") + }) + @PostMapping(value = "/inserts", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> inserts(@RequestBody List<RoleUserEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (RoleUserEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + } + + int count = roleUserService.inserts(list); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/delete") + public ResponseMsg<Integer> delete(int id) { + try { + int count = roleUserService.delete(id); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deletes") + public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = roleUserService.deletes(ids); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "RoleUserEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/update", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> update(@RequestBody RoleUserEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = roleUserService.update(entity); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "RoleUserEntity", paramType = "body") + }) + @ResponseBody + @PostMapping(value = "/updates", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updates(@RequestBody List<RoleUserEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (RoleUserEntity entity : list) { + entity.setUpdateUser(ue.getId()); + } + } + + int count = roleUserService.updates(list); + if (count > 0) { + permsService.clearPermsCache(); + } + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } +} diff --git a/src/main/java/com/lf/server/controller/sys/TokenController.java b/src/main/java/com/lf/server/controller/sys/TokenController.java new file mode 100644 index 0000000..8e5ab92 --- /dev/null +++ b/src/main/java/com/lf/server/controller/sys/TokenController.java @@ -0,0 +1,172 @@ +package com.lf.server.controller.sys; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.sys.TokenEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 浠ょ墝琛� + * @author sws + * @date 2022-09-28 + */ + +@Api(tags = "杩愮淮绠$悊\\浠ょ墝绠$悊") +@RestController +@RequestMapping("/token") +public class TokenController extends BaseController { + @Autowired + TokenService tokenService; + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "浠ょ墝", dataType = "String", paramType = "query", example = "ec101de8-1403-4d8f-ad13-edab8358399b"), + @ApiImplicitParam(name = "type", value = "绫诲瀷", dataType = "Integer", paramType = "query", example = "0"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<TokenEntity>> selectByPageAndCount(String name,Integer type, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + int count = tokenService.selectCount(name,type); + if (count == 0) { + return success(0, null); + } + List<TokenEntity> rs = tokenService.selectByPage(name,type, pageSize, pageSize * (pageIndex - 1)); + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "com.lf.server.entity.sys.TokenEntity", paramType = "body", example = "") + }) + @PostMapping(value = "/insertToken", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertToken(@RequestBody TokenEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = tokenService.insertToken(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "List<TokenEntity>", paramType = "body", example = "") + }) + @PostMapping(value = "/insertTokens", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertTokens(@RequestBody List<TokenEntity> list, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + for (TokenEntity entity : list) { + entity.setCreateUser(ue.getId()); + } + } + + int count = tokenService.insertTokens(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/deleteToken") + public ResponseMsg<Integer> deleteToken(int id) { + try { + int count = tokenService.deleteToken(id); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "List<Integer>", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deleteTokens") + public ResponseMsg<Integer> deleteTokens(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + int count = tokenService.deleteTokens(ids); + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "TokenEntity", paramType = "body", example = "") + }) + @ResponseBody + @PostMapping(value = "/updateToken", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updateToken(@RequestBody TokenEntity entity, HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = tokenService.updateToken(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1658") + }) + @GetMapping(value = "/selectToken") + public ResponseMsg<TokenEntity> selectToken(int id) { + try { + TokenEntity tokenEntity = tokenService.selectToken(id); + + return success(tokenEntity); + } catch (Exception ex) { + return fail(ex, null); + } + } +} diff --git a/src/main/java/com/lf/server/controller/sys/UserController.java b/src/main/java/com/lf/server/controller/sys/UserController.java new file mode 100644 index 0000000..9b415ca --- /dev/null +++ b/src/main/java/com/lf/server/controller/sys/UserController.java @@ -0,0 +1,400 @@ +package com.lf.server.controller.sys; + +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.sys.RoleEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.entity.ctrl.UserUpdateEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.service.sys.TokenService; +import com.lf.server.service.sys.UserService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 鐢ㄦ埛琛� + * @author sws + * @date 2022-09-27 + */ +@Api(tags = "杩愮淮绠$悊\\鐢ㄦ埛绠$悊") +@RestController +@RequestMapping("/user") +public class UserController extends BaseController { + @Autowired + UserService userService; + + @Autowired + TokenService tokenService; + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "uname", value = "鐢ㄦ埛鍚�", dataType = "String", paramType = "query", example = "瀹�"), + @ApiImplicitParam(name = "depcode", value = "鍗曚綅缂栫爜", dataType = "String", paramType = "query", example = "00"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageAndCount") + public ResponseMsg<List<UserEntity>> selectByPageAndCount(String uname, String depcode, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + + int count = userService.selectCount(uname, depcode); + if (count == 0) { + return success(0, null); + } + + List<UserEntity> rs = userService.selectByPage(uname, depcode, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁瑙掕壊+鍗曚綅鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "uname", value = "鐢ㄦ埛鍚�", dataType = "String", paramType = "query", example = "瀹�"), + @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "depcode", value = "鍗曚綅缂栫爜", dataType = "String", paramType = "query", example = "00"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectByPageForRole") + public ResponseMsg<List<UserEntity>> selectByPageForRole(String uname, Integer roleid, String depcode, Integer pageSize, Integer pageIndex) { + try { + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + } + int count = userService.selectCountForRole(uname, roleid, depcode); + if (count == 0) { + return success(0, null); + } + + List<UserEntity> rs = userService.selectByPageForRole(uname, roleid, depcode, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectUser") + public ResponseMsg<UserEntity> selectUser(int id) { + try { + UserEntity userEntity = userService.selectUser(id); + + return success(userEntity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁鐢ㄦ埛ID鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "uid", value = "鐢ㄦ埛ID", dataType = "String", paramType = "query", example = "admin") + }) + @GetMapping(value = "/selectByUid") + public ResponseMsg<UserEntity> selectByUid(String uid) { + try { + if (StringHelper.isEmpty(uid)) { + fail("鐢ㄦ埛ID涓嶈兘涓虹┖", null); + } + + UserEntity userEntity = userService.selectByUid(uid); + + return success(userEntity); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈�") + @GetMapping(value = "/selectUserAll") + public ResponseMsg<List<UserEntity>> selectUserAll() { + try { + List<UserEntity> list = userService.selectUserAll(); + + return success(list); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鏄�/鍚︿负绠$悊鍛�") + @GetMapping(value = "/selectForIsAdmin") + public ResponseMsg<Boolean> selectForIsAdmin(HttpServletRequest req) { + try { + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", false); + } + + Integer rows = userService.selectForIsAdmin(ue.getId()); + + return success("鎴愬姛", rows > 0); + } catch (Exception ex) { + return fail(ex, false); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鏄�/鍚︿负绠$悊鍛�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "鐢ㄦ埛ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectIsAdmin") + public ResponseMsg<Boolean> selectIsAdmin(Integer id) { + try { + UserEntity ue = userService.selectUser(id); + if (ue == null) { + return fail("鐢ㄦ埛涓嶅瓨鍦�", false); + } + + Integer rows = userService.selectForIsAdmin(ue.getId()); + + return success("鎴愬姛", rows > 0); + } catch (Exception ex) { + return fail(ex, false); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ绠$悊鍛樼敤鎴�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "type", value = "绠$悊鍛樼被鍒�", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectAdminUsers") + public ResponseMsg<Object> selectAdminUsers(Integer type) { + try { + if (null == type || type < 1) { + return fail("绠$悊鍛樼被鍒笉鑳戒负绌烘垨灏忎簬1", false); + } + + List<UserEntity> rs = userService.selectAdminUsers(type); + + return success(rs); + } catch (Exception ex) { + return fail(ex, false); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁鐢ㄦ埛ID鏌ヨ瑙掕壊") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "鐢ㄦ埛ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectRoleByUserId") + public ResponseMsg<Object> selectRoleByUserId(Integer id) { + try { + if (null == id || id < 1) { + return fail("鐢ㄦ埛ID涓嶈兘涓虹┖鎴栧皬浜�1", false); + } + + List<RoleEntity> rs = userService.selectRoleByUserId(id); + + return success(rs); + } catch (Exception ex) { + return fail(ex, false); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁瑙掕壊鏌ヨ鐢ㄦ埛") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectUserByRoleId") + public ResponseMsg<Object> selectUserByRoleId(Integer id) { + try { + if (null == id || id < 1) { + return fail("鐢ㄦ埛ID涓嶈兘涓虹┖鎴栧皬浜�1", false); + } + + List<UserEntity> rs = userService.selectUserByRoleId(id); + + return success(rs); + } catch (Exception ex) { + return fail(ex, false); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "com.lf.server.entity.data.UserEntity", paramType = "body", example = "") + }) + @PostMapping(value = "/insertUser", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> insertUser(@RequestBody UserEntity entity, HttpServletRequest req) { + try { + String str = userService.validateNewPwd(entity); + if (str != null) { + return fail(str, -1); + } + + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + int count = userService.insertUser(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鎻掑叆澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "List<UserEntity>", paramType = "body", example = "") + }) + @PostMapping(value = "/insertUsers", produces = "application/json; charset=UTF-8") + @SuppressWarnings("AlibabaRemoveCommentedCode") + public ResponseMsg<Integer> insertUsers(@RequestBody List<UserEntity> list, HttpServletRequest req) { + try { + if (list == null || list.isEmpty()) { + return fail("瀹炰綋绫婚泦鍚堜负绌�", -1); + } + + UserEntity ue = tokenService.getCurrentUser(req); + for (UserEntity entity : list) { + /*String str = userService.validateNewPwd(entity); + if (str != null) { + return fail(str, -1); + }*/ + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + } + + int count = userService.insertUsers(list); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/deleteUser") + public ResponseMsg<Integer> deleteUser(int id) { + try { + int count = userService.deleteUser(id); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鍒犻櫎澶氭潯") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "List<Integer>", paramType = "query", example = "1,2") + }) + @GetMapping(value = "/deleteUsers") + public ResponseMsg<Integer> deleteUsers(@RequestParam List<Integer> ids) { + try { + if (ids == null || ids.isEmpty()) { + return fail("id鏁扮粍涓嶈兘涓虹┖", -1); + } + + int count = userService.deleteUsers(ids); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊涓�鏉�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "UserEntity", paramType = "body", example = "") + }) + @ResponseBody + @PostMapping(value = "/updateUser", produces = "application/json; charset=UTF-8") + @SuppressWarnings("AlibabaRemoveCommentedCode") + public ResponseMsg<Integer> updateUser(@RequestBody UserEntity entity, HttpServletRequest req) { + try { + /*String str = userService.validateOldPwd(entity); + if (str != null) { + return fail(str, -1); + }*/ + + UserEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + entity.setUpdateUser(ue.getId()); + } + + int count = userService.updateUser(entity); + + return success(count); + } catch (Exception ex) { + return fail(ex, -1); + } + } + + @SysLog() + @ApiOperation(value = "鏇存柊澶氫釜鐢ㄦ埛瀵嗙爜") + @ApiImplicitParams({ + @ApiImplicitParam(name = "adminPwd", value = "绠$悊鍛樺瘑鐮�", dataType = "String", paramType = "body", example = ""), + @ApiImplicitParam(name = "newPwd", value = "鏂板瘑鐮�", dataType = "String", paramType = "body", example = ""), + @ApiImplicitParam(name = "ids", value = "鐢ㄦ埛ID闆嗗悎", dataType = "List<Integer>", paramType = "body", example = "") + }) + @PostMapping(value = "/updateUsersPwd", produces = "application/json; charset=UTF-8") + public ResponseMsg<Boolean> updateUsersPwd(@RequestBody UserUpdateEntity uue, HttpServletRequest req) { + try { + if (uue == null || uue.getIds() == null || uue.getIds().isEmpty()) { + return fail("娌℃湁鎵惧埌鏁版嵁", false); + } + + UserEntity ue = tokenService.getCurrentUser(req); + String str = userService.validateAdminPwd(ue, uue.getAdminPwd()); + if (str != null) { + return fail(str, false); + } + + Integer rows = userService.selectForIsAdmin(ue.getId()); + if (rows < 1) { + return fail("鍙厑璁哥鐞嗗憳鎿嶄綔", false); + } + + str = userService.validateNewPwd(ue, uue.getNewPwd()); + if (str != null) { + return fail(str, false); + } + + rows = userService.updateUsersPwd(ue.getId(), ue.getSalt(), uue.getIds()); + + return success(rows > 0 ? "鏇存柊鎴愬姛" : "鏇存柊澶辫触", rows > 0); + } catch (Exception ex) { + return fail(ex, false); + } + } +} diff --git a/src/main/java/com/lf/server/entity/all/AbstractPwdEntity.java b/src/main/java/com/lf/server/entity/all/AbstractPwdEntity.java new file mode 100644 index 0000000..37f7ba9 --- /dev/null +++ b/src/main/java/com/lf/server/entity/all/AbstractPwdEntity.java @@ -0,0 +1,17 @@ +package com.lf.server.entity.all; + +/** + * 瀵嗙爜鎶借薄绫� + * @author WWW + */ +public abstract class AbstractPwdEntity { + private String pwd; + + public String getPwd() { + return pwd; + } + + public void setPwd(String pwd) { + this.pwd = pwd; + } +} diff --git a/src/main/java/com/lf/server/entity/all/BaseEntity.java b/src/main/java/com/lf/server/entity/all/BaseEntity.java new file mode 100644 index 0000000..05e6a18 --- /dev/null +++ b/src/main/java/com/lf/server/entity/all/BaseEntity.java @@ -0,0 +1,174 @@ +package com.lf.server.entity.all; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鍩虹瀹炰綋绫� + * @author WWW + */ +public class BaseEntity implements Serializable { + @TableId(type = IdType.AUTO) + private Integer gid; + + private String eventid; + + private String parentid; + + private String dirid; + + private String depid; + + private Integer verid; + + private Timestamp createtime; + + private Integer createuser; + + private Integer updateuser; + + private Timestamp updatetime; + + @TableField(value = "fn_get_fullname(dirid, 2)", updateStrategy = FieldStrategy.NEVER) + private String dirName; + + @TableField(value = "fn_get_fullname(depid, 1)", updateStrategy = FieldStrategy.NEVER) + private String depName; + + @TableField(value = "fn_ver(verid)", updateStrategy = FieldStrategy.NEVER) + private String verName; + + @TableField(value = "fn_uname(createuser)", updateStrategy = FieldStrategy.NEVER) + private String createName; + + @TableField(value = "fn_uname(updateuser)", updateStrategy = FieldStrategy.NEVER) + private String updateName; + + public BaseEntity() { + } + + public Integer getGid() { + return gid; + } + + public void setGid(Integer gid) { + this.gid = gid; + } + + public String getEventid() { + return eventid; + } + + public void setEventid(String eventid) { + this.eventid = eventid; + } + + public String getParentid() { + return parentid; + } + + public void setParentid(String parentid) { + this.parentid = parentid; + } + + public String getDirid() { + return dirid; + } + + public void setDirid(String dirid) { + this.dirid = dirid; + } + + public String getDepid() { + return depid; + } + + public void setDepid(String depid) { + this.depid = depid; + } + + public Integer getVerid() { + return verid; + } + + public void setVerid(Integer verid) { + this.verid = verid; + } + + public Timestamp getCreatetime() { + return createtime; + } + + public void setCreatetime(Timestamp createtime) { + this.createtime = createtime; + } + + public Integer getCreateuser() { + return createuser; + } + + public void setCreateuser(Integer createuser) { + this.createuser = createuser; + } + + public Integer getUpdateuser() { + return updateuser; + } + + public void setUpdateuser(Integer updateuser) { + this.updateuser = updateuser; + } + + public Timestamp getUpdatetime() { + return updatetime; + } + + public void setUpdatetime(Timestamp updatetime) { + this.updatetime = updatetime; + } + + public String getDirName() { + return dirName; + } + + public void setDirName(String dirName) { + this.dirName = dirName; + } + + public String getDepName() { + return depName; + } + + public void setDepName(String depName) { + this.depName = depName; + } + + public String getVerName() { + return verName; + } + + public void setVerName(String verName) { + this.verName = verName; + } + + public String getCreateName() { + return createName; + } + + public void setCreateName(String createName) { + this.createName = createName; + } + + public String getUpdateName() { + return updateName; + } + + public void setUpdateName(String updateName) { + this.updateName = updateName; + } +} diff --git a/src/main/java/com/lf/server/entity/all/BaseGeoEntity.java b/src/main/java/com/lf/server/entity/all/BaseGeoEntity.java new file mode 100644 index 0000000..74dd489 --- /dev/null +++ b/src/main/java/com/lf/server/entity/all/BaseGeoEntity.java @@ -0,0 +1,20 @@ +package com.lf.server.entity.all; + +import com.baomidou.mybatisplus.annotation.TableField; + +/** + * 绌洪棿鍩虹瀹炰綋绫� + * @author WWW + */ +public class BaseGeoEntity extends BaseEntity { + @TableField(select = false) + private String geom; + + public String getGeom() { + return geom; + } + + public void setGeom(String geom) { + this.geom = geom; + } +} diff --git a/src/main/java/com/lf/server/entity/all/HttpStatus.java b/src/main/java/com/lf/server/entity/all/HttpStatus.java new file mode 100644 index 0000000..103454c --- /dev/null +++ b/src/main/java/com/lf/server/entity/all/HttpStatus.java @@ -0,0 +1,104 @@ +package com.lf.server.entity.all; + +/** + * Http鐘舵�佺爜绫� + * @author WWW + */ +public enum HttpStatus { + /** + * 璇锋眰鎴愬姛 + */ + OK(200,"璇锋眰鎴愬姛"), + + /** + * 璇锋眰鏃犳晥 + */ + BAD_REQUEST(400,"璇锋眰鏃犳晥"), + + /** + * 鏈粡鎺堟潈璁块棶 + */ + UNAUTHORIZED(401,"鏈粡鎺堟潈璁块棶"), + + /** + * 鏈嶅姟璇锋眰鏈壘鍒� + */ + NOT_FOUND(404,"鏈嶅姟璇锋眰鏈壘鍒�"), + + /** + * 绯荤粺閿欒 + */ + ERROR(500,"绯荤粺閿欒"), + + /** + * 瀛樺湪閲嶅鐨勬暟鎹� + */ + UNIQUE_ERROR(500100,"瀛樺湪閲嶅鐨勬暟鎹�"), + + /** + * 鍙傛暟鏍¢獙閿欒 + */ + VALIDATE_ERROR(500101,"鍙傛暟鏍¢獙閿欒"), + + /** + * token閿欒 + */ + TOKEN_ERROR(500102,"token閿欒"), + + /** + * 鐢ㄦ埛鏈櫥闄� + */ + NO_LOGIN_ERROR(500104,"鐢ㄦ埛鏈櫥闄�"), + + /** + * 鐧婚檰澶辫触 + */ + LOGIN_ERROR(500105,"鐧婚檰澶辫触"), + + /** + * 鏃犳潈闄愯闂� + */ + NO_AUTH_ERROR(500106,"鏃犳潈闄愯闂�"), + + /** + * 鐢ㄦ埛鍚嶉敊璇� + */ + LOGIN_USER_ERROR(500107,"鐢ㄦ埛鍚嶉敊璇�"), + + /** + * 瀵嗙爜閿欒 + */ + LOGIN_PWD_ERROR(500108,"瀵嗙爜閿欒"), + + /** + * 鐢ㄦ埛琚攣瀹� + */ + USER_LOCK_ERROR(500109,"鐢ㄦ埛琚攣瀹�"), + + /** + * 瀵嗙爜涓嶅悎瑙勮寖 + */ + PWD_NONSTANDARD(500111,"瀵嗙爜涓嶅悎瑙勮寖"), + + /** + * 瀵嗙爜杩囨湡 + */ + LOGIN_PWD_EXPIRE(500116,"瀵嗙爜杩囨湡"); + + private HttpStatus(int value, String msg) { + this.value = value; + this.msg = msg; + } + + private int value; + + private String msg; + + public int getValue() { + return value; + } + + public String getMsg() { + return msg; + } +} diff --git a/src/main/java/com/lf/server/entity/all/MenusAuthEntity.java b/src/main/java/com/lf/server/entity/all/MenusAuthEntity.java new file mode 100644 index 0000000..338c79a --- /dev/null +++ b/src/main/java/com/lf/server/entity/all/MenusAuthEntity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.all; + +import java.io.Serializable; + +/** + * 鑿滃崟鎺堟潈 + * @author WWW + */ +public class MenusAuthEntity implements Serializable { + private static final long serialVersionUID = -944664756113218L; + + private Integer id; + + private Integer pid; + + private String cnName; + + private String enName; + + private String url; + + private String perms; + + private Integer type; + + private String css; + + private String icon; + + private Integer level; + + private Integer orderNum; + + private Integer isShow; + + public MenusAuthEntity() { + + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getPid() { + return pid; + } + + public void setPid(Integer pid) { + this.pid = pid; + } + + public String getCnName() { + return cnName; + } + + public void setCnName(String cnName) { + this.cnName = cnName; + } + + public String getEnName() { + return enName; + } + + public void setEnName(String enName) { + this.enName = enName; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getPerms() { + return perms; + } + + public void setPerms(String perms) { + this.perms = perms; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + public String getCss() { + return css; + } + + public void setCss(String css) { + this.css = css; + } + + public String getIcon() { + return icon; + } + + public void setIcon(String icon) { + this.icon = icon; + } + + public Integer getLevel() { + return level; + } + + public void setLevel(Integer level) { + this.level = level; + } + + public Integer getOrderNum() { + return orderNum; + } + + public void setOrderNum(Integer orderNum) { + this.orderNum = orderNum; + } + + public Integer getIsShow() { + return isShow; + } + + public void setIsShow(Integer isShow) { + this.isShow = isShow; + } +} diff --git a/src/main/java/com/lf/server/entity/all/PermsAuthEntity.java b/src/main/java/com/lf/server/entity/all/PermsAuthEntity.java new file mode 100644 index 0000000..d8114a5 --- /dev/null +++ b/src/main/java/com/lf/server/entity/all/PermsAuthEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.all; + +import java.io.Serializable; + +/** + * 鏉冮檺鎺堟潈 + * @author WWW + */ +public class PermsAuthEntity implements Serializable { + private static final long serialVersionUID = -8948994757253139554L; + + private Integer id; + + private Integer pid; + + private Integer orderNum; + + private String cnName; + + private String enName; + + private String name; + + private String perms; + + private String tag; + + public PermsAuthEntity() { + + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getPid() { + return pid; + } + + public void setPid(Integer pid) { + this.pid = pid; + } + + public Integer getOrderNum() { + return orderNum; + } + + public void setOrderNum(Integer orderNum) { + this.orderNum = orderNum; + } + + public String getCnName() { + return cnName; + } + + public void setCnName(String cnName) { + this.cnName = cnName; + } + + public String getEnName() { + return enName; + } + + public void setEnName(String enName) { + this.enName = enName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPerms() { + return perms; + } + + public void setPerms(String perms) { + this.perms = perms; + } + + public String getTag() { + return tag; + } + + public void setTag(String tag) { + this.tag = tag; + } +} diff --git a/src/main/java/com/lf/server/entity/all/RedisCacheKey.java b/src/main/java/com/lf/server/entity/all/RedisCacheKey.java new file mode 100644 index 0000000..27bff13 --- /dev/null +++ b/src/main/java/com/lf/server/entity/all/RedisCacheKey.java @@ -0,0 +1,77 @@ +package com.lf.server.entity.all; + +/** + * Redis缂撳瓨閿� + * @author WWW + */ +public class RedisCacheKey { + /** + * 鐧诲綍浠ょ墝閿� + */ + public static String signTokenKey(String key) { + return "sign:token:" + key; + } + + /** + * 鐧诲綍鐢ㄦ埛閿� + */ + public static String signUserKey(String key) { + return "sign:user:" + key; + } + + /** + * 瀵嗙爜閿欒閿� + */ + public static String signPwdError(String key) { + return "sign:pwdError:" + key; + } + + /** + * 鎺堟潈鏍归敭 + */ + public static String permsRootKey() { + return "perms:"; + } + + /** + * 璧勬簮鎺堟潈閿� + */ + public static String permsResKey(String key) { + return "perms:res:" + key; + } + + /** + * 鑿滃崟鎺堟潈閿� + */ + public static String permsMenusKey(String key) { + return "perms:menus:" + key; + } + + /** + * 鏉冮檺鎺堟潈閿� + */ + public static String permsPermsKey(String key) { + return "perms:perms:" + key; + } + + /** + * 鏉冮檺鎺堟潈瀹炰綋閿� + */ + public static String permsPermsEntityKey(String key) { + return "perms:permsEntity:" + key; + } + + /** + * 榛�/鐧藉悕鍗曢敭 + */ + public static String blacklistKey(String key) { + return "blacklist:" + key; + } + + /** + * 鍑犱綍瀵硅薄鐨勭┖闂村弬鑰冮敭 + */ + public static String sridKey(String key) { + return "geom:srid:" + key; + } +} diff --git a/src/main/java/com/lf/server/entity/all/ResAuthEntity.java b/src/main/java/com/lf/server/entity/all/ResAuthEntity.java new file mode 100644 index 0000000..7452a22 --- /dev/null +++ b/src/main/java/com/lf/server/entity/all/ResAuthEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.all; + +import java.io.Serializable; + +/** + * 璧勬簮鎺堟潈 + * @author WWW + */ +public class ResAuthEntity implements Serializable { + private static final long serialVersionUID = 7610553267313397837L; + + private Integer id; + + private String name; + + private String server; + + public ResAuthEntity() { + + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getServer() { + return server; + } + + public void setServer(String server) { + this.server = server; + } +} diff --git a/src/main/java/com/lf/server/entity/all/ResponseMsg.java b/src/main/java/com/lf/server/entity/all/ResponseMsg.java new file mode 100644 index 0000000..3ebb385 --- /dev/null +++ b/src/main/java/com/lf/server/entity/all/ResponseMsg.java @@ -0,0 +1,107 @@ +package com.lf.server.entity.all; + +/** + * 鍝嶅簲娑堟伅绫� + * @author www + * @param <T> 娉涘瀷 + */ +public class ResponseMsg<T> { + public ResponseMsg() { + this.time = System.currentTimeMillis(); + } + + public ResponseMsg(HttpStatus code, T result) { + this.code = code.getValue(); + this.msg = this.code == 200 ? "鎴愬姛" : "澶辫触"; + this.result = result; + this.time = System.currentTimeMillis(); + } + + public ResponseMsg(HttpStatus code, String msg, T result) { + this.code = code.getValue(); + this.msg = msg; + this.result = result; + this.time = System.currentTimeMillis(); + } + + public ResponseMsg(int code, String msg, T result, long time) { + this.code = code; + this.msg = msg; + this.result = result; + this.time = time; + } + + public ResponseMsg(HttpStatus code, long count, T result) { + this.code = code.getValue(); + this.msg = this.code == 200 ? "鎴愬姛" : "澶辫触"; + this.count = count; + this.result = result; + this.time = System.currentTimeMillis(); + } + + public ResponseMsg(HttpStatus code, String msg, long count, T result) { + this.code = code.getValue(); + this.msg = msg; + this.count = count; + this.result = result; + this.time = System.currentTimeMillis(); + } + + public ResponseMsg(int code, String msg, long count, T result, long time) { + this.code = code; + this.msg = msg; + this.count = count; + this.result = result; + this.time = time; + } + + private int code; + + private String msg; + + private long count; + + private T result; + + private long time; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public long getCount() { + return count; + } + + public void setCount(long count) { + this.count = count; + } + + public T getResult() { + return result; + } + + public void setResult(T result) { + this.result = result; + } + + public long getTime() { + return time; + } + + public void setTime(long time) { + this.time = time; + } +} diff --git a/src/main/java/com/lf/server/entity/all/SettingData.java b/src/main/java/com/lf/server/entity/all/SettingData.java new file mode 100644 index 0000000..c903045 --- /dev/null +++ b/src/main/java/com/lf/server/entity/all/SettingData.java @@ -0,0 +1,57 @@ +package com.lf.server.entity.all; + +/** + * 璁剧疆鏁版嵁绫� + * @author WWW + */ +public class SettingData { + /** + * 瀵嗙爜鍑洪敊娆℃暟 + */ + public static int PWD_ERR_COUNT = 5; + + /** + * 鍑洪敊绛夊緟鏃堕棿 + */ + public static int PWD_ERR_TIME = 5; + + /** + * 鑷姩鐧诲嚭鏃堕棿 + */ + public static int AUTO_LOGOUT = 15; + + /** + * 浠ょ墝鏈夋晥鏈� + */ + public static int TOKEN_EXPIRE = 240; + + /** + * 缂撳瓨鏈夋晥鏈� + */ + public static int CACHE_EXPIRE = 240; + + /** + * 鏈�澶ф枃浠舵暟锛�2000 + */ + public static int MAX_FILES = 2001; + + /** + * Cookie鏈夋晥鏈燂細s + */ + public static int COOKIE_MAX_AGE = 4 * 60 * 60; + + /** + * 闄勪欢澶у皬锛欱 + */ + public static long MAX_FILE_SIZE = 50 * 1024 * 1024; + + /** + * 鐢ㄦ埛璁块棶閲� + */ + public static int MAX_USER_LOGIN; + + /** + * 鏈嶅姟涓婇檺 + */ + public static int MAX_SERVERS; +} diff --git a/src/main/java/com/lf/server/entity/all/StaticData.java b/src/main/java/com/lf/server/entity/all/StaticData.java new file mode 100644 index 0000000..ca131ff --- /dev/null +++ b/src/main/java/com/lf/server/entity/all/StaticData.java @@ -0,0 +1,273 @@ +package com.lf.server.entity.all; + +import com.alibaba.fastjson.JSON; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** + * 闈欐�佹暟鎹被 + * @author WWW + */ +public class StaticData { + /** + * 鏉冮檺鎺掗櫎璺緞锛�/proxy锛岃姹傚叏閮ㄥ皬鍐� + */ + public static String[] EXCLUDE_PATH = new String[]{"/sign/", "/perms/", "/fmeit/", "/crds/", "/floatserver/", "/wmts/select", "/onemap/", "/swagger", "/error"}; + + public final static int TWO = 2; + + public final static int FOUR = 4; + + public final static int NINE = 9; + + public final static int TEN = 10; + + public final static int SIXTEEN = 16; + + public final static int ONE_HUNDRED = 100; + + public final static int TWO_HUNDRED = 200; + + public final static int ONE_HUNDRED_THOUSAND = 100000; + + public static final double D1024 = 1024.0; + + public static final double D1050 = 1050.0; + + public static final int I12 = 12; + + public static final int I23 = 23; + + public static final int I24 = 24; + + public static final int I31 = 31; + + public static final int I60 = 60; + + public static final int I90 = 90; + + public static final int I90_NEG = -90; + + public static final int I180 = 180; + + public static final int I180_NEG = -180; + + public static final int I1000 = 1000; + + public static final int I2050 = 2050; + + public static final int I4490 = 4490; + + /** + * 瀛楃1 + */ + public final static String S1 = "1"; + + /** + * 绛夊彿 + */ + public final static String EQ = "="; + + /** + * 瀛楃鐐� + */ + public final static String POINT = "."; + + /** + * 閫楀彿 + */ + public final static String COMMA = ","; + + /** + * 鍗曞紩鍙� + */ + public final static String SINGLE_QUOTES = "'"; + + public final static String BBOREHOLE = "bborehole"; + + /** + * 姝f枩鏉� + */ + public final static String SLASH = "/"; + + public final static String IN = "in"; + + public final static String ZIP = ".zip"; + + public final static String XLS = ".xls"; + + public final static String XLSX = ".xlsx"; + + public final static String MDB = ".mdb"; + + public final static String SHP = ".shp"; + + public final static String GDB = ".gdb"; + + public final static String JPG = ".jpg"; + + public final static String IMG = ".img"; + + public final static String MPT = ".mpt"; + + public final static String D3DML = ".3dml"; + + public final static String TIF = ".tif"; + + public final static String TIFF = ".tiff"; + + public final static String ADMIN = "admin"; + + public final static String SYS_META = "sysmeta"; + + /** + * 鐗堟湰鍙� + */ + public final static String VERSION = "1.0.0"; + + /** + * 浠ょ墝閿� + */ + public final static String TOKEN_KEY = "token"; + + /** + * Cookie涓护鐗岄敭 + */ + public final static String TOKEN_COOKIE_KEY = "token"; + + /** + * 鏂囨湰缂栫爜鏂瑰紡 + */ + public final static String TEXT_ENCODER = "UTF-8"; + + /** + * 鎬昏川妫� + */ + public final static String CHECK_MAIN = "checkMain"; + + /** + * Object瀵硅薄 + */ + public final static String OBJECT = "java.lang.Object"; + + /** + * Cookie涓璬ruid閿� + */ + public final static String DRUID_COOKIE_KEY = "JSESSIONID"; + + public final static String YES = "YES"; + + public final static String NO = "NO"; + + /** + * 绾胯矾 + */ + public final static String ROUTE = "绾胯矾"; + + /** + * 绌胯法瓒� + */ + public final static String CROSSING = "绌胯法瓒�"; + + public final static String LINESTRING = "LINESTRING"; + + public final static String MULTILINESTRING = "MULTILINESTRING"; + + public final static String POLYGON = "POLYGON"; + + public final static String MULTIPOLYGON = "MULTIPOLYGON"; + + public static final String NO_FILE = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.NOT_FOUND, "鏂囦欢鎵句笉鍒�")); + + /** + * 16杩涘埗 + */ + public static final char[] HEX_DIGITS = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; + + /** + * 瀵嗙爜姝e垯琛ㄨ揪寮� + */ + public final static String PWD_REG = "^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$"; + + /** + * MPT鏂囦欢鎵╁睍鍚� + */ + public final static List<String> MPT_EXT = new ArrayList<>(Arrays.asList(".midx", ".strmi", ".ei.midx", ".ei.mpt", ".ei.strmi")); + + /** + * JPG鏂囦欢鎵╁睍鍚� + */ + public final static List<String> JPG_EXT = new ArrayList<>(Arrays.asList(".jgw", ".jpg.aux.xml", ".jpg.xml", ".prj")); + + /** + * IMG鏂囦欢鎵╁睍鍚� + */ + public final static List<String> IMG_EXT = new ArrayList<>(Arrays.asList(".rrd", ".img.aux.xml", ".hdr", ".img.enp", ".img.xml")); + + /** + * TIF鏂囦欢鎵╁睍鍚� + */ + public final static List<String> TIF_EXT = new ArrayList<>(Arrays.asList(".prj", ".tfw", ".tif.ovr", ".tif.aux.xml", ".tif.enp", ".tif.xml")); + + /** + * TIFF鏂囦欢鎵╁睍鍚� + */ + public final static List<String> TIFF_EXT = new ArrayList<>(Arrays.asList(".prj", ".tfw", ".tiff.ovr", ".tiff.aux.xml", ".tiff.enp", ".tiff.xml")); + + /** + * SHP鏂囦欢鎵╁睍鍚� + */ + public final static List<String> SHP_EXT = new ArrayList<>(Arrays.asList(".shx", ".dbf", ".prj", ".cpg")); + + /** + * Mapper鎺掗櫎鎵╁睍鍚� + */ + public final static List<String> MAPPER_EXCLUDE_EXT = new ArrayList<>(Arrays.asList(".img.aux.xml", ".img.xml", ".tif.aux.xml", ".tif.xml", ".tiff.aux.xml", ".tiff.xml", ".shp.xml")); + + /** + * 鎵�鏈夋枃浠舵墿灞曞悕 + */ + public final static List<String> ALL_EXTENSION = new ArrayList<>(Arrays.asList(".txt", ".xml", ".pdf", ".xls", ".xlsx", ".doc", ".docx", ".ppt", ".pptx", ".shp", ".gdb", ".mdb", ".dwg", ".las", ".laz", ".cpt", ".mpt", ".ei.mpt", ".fly", ".efb", ".g3d", ".fbx", ".obj", ".3dm", ".3dml", ".osgb", ".rvt", ".ifc", ".jpg", ".png", ".img", ".tif", ".tiff", ".dem", ".bmp", ".gif", ".rmvb", ".rm", ".mp3", ".mp4", ".avi", ".wma", ".wmv", ".7z", ".rar", ".zip")); + + /** + * 鎻掑叆鎺掗櫎瀛楁 + */ + public final static List<String> INSERT_EXCLUDE_FIELDS = new ArrayList<>(Arrays.asList("gid", "objectid", "updateuser", "updatetime", "shape_leng", "shape_area", "serialVersionUID", "dirName", "depName", "verName", "createName", "updateName")); + + /** + * 鏇存柊鎺掗櫎瀛楁 + */ + public final static List<String> UPDATE_EXCLUDE_FIELDS = new ArrayList<>(Arrays.asList("objectid", "createuser", "createtime", "shape_leng", "shape_area", "serialVersionUID", "dirName", "depName", "verName", "createName", "updateName")); + + /** + * 璇诲彇鎺掗櫎瀛楁 + */ + public final static List<String> READ_EXCLUDE_FIELDS = new ArrayList<>(Arrays.asList("gid", "eventid", "parentid", "objectid", "dirid", "depid", "verid", "createtime", "createuser", "updateuser", "updatetime", "shape_leng", "shape_area", "serialversionuid", "dirname", "depname", "vername", "createname", "updatename")); + + /** + * MDB鎺掗櫎瀛楁 + */ + public final static List<String> MDB_EXCLUDE_FIELDS = new ArrayList<>(Arrays.asList("Shape", "SHAPE_LENG", "Shape_Length", "Shape_Area", "OBJECTID_1")); + + /** + * 鏍囩粯Shp鎺掗櫎瀛楁 + */ + public final static List<String> MARK_EXCLUDE_FIELDS = new ArrayList<>(Arrays.asList("wkt", "geom", "objectid", "shape_leng", "shape_area", "serialVersionUID", "dirName", "depName", "verName", "createName", "updateName")); + + /** + * GDB鎺掗櫎瀛楁 + */ + public final static List<String> GDB_EXCLUDE_FIELDS = new ArrayList<>(Arrays.asList("geom", "objectid", "shape_leng", "shape_area", "serialVersionUID", "dirName", "depName", "verName", "createName", "updateName")); + + /** + * 绠$嚎鍒嗘瀽琛ㄥ悕闆嗗悎 + */ + public final static List<String> PIPE_ANALYSIS_TABS = new ArrayList<>(Arrays.asList("bd.dlg_25w_hydl", "bd.dlg_25w_lrdl", "bd.dlg_25w_lrrl", "bd.dlg_25w_hyda")); + + /** + * 绠$嚎鎺掗櫎瀛楁 + */ + public final static List<String> PIPE_EXCLUDE_FIELDS = new ArrayList<>(Arrays.asList("serialVersionUID", "tabs", "pwd", "gid", "wkt")); +} diff --git a/src/main/java/com/lf/server/entity/bd/BboreholeEntity.java b/src/main/java/com/lf/server/entity/bd/BboreholeEntity.java new file mode 100644 index 0000000..03176b3 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/BboreholeEntity.java @@ -0,0 +1,405 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bborehole + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_borehole") +@EqualsAndHashCode(callSuper = false) +public class BboreholeEntity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private String drilltype; + + private String drillcode; + + private String projname; + + private String mminerals; + + private String holedepth; + + private LocalDate endholtime; + + private String workspname; + + private String custodname; + + private String pac; + + private String path; + + private BigDecimal x; + + private BigDecimal y; + + private String blocation; + + private BigDecimal ostioleh; + + private String odatano; + + private String explineno; + + private String conorg; + + private String testreport; + + private String ogeorecord; + + private String bcore; + + private String dataname; + + private String adatano; + + private LocalDate pendtime; + + private String workdegree; + + private String padatano; + + private String orgcode; + + private String hexplevel; + + private String suporg; + + private String indsector; + + private String address; + + private String postcode; + + private String conname; + + private String telephone; + + private String fax; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + public BboreholeEntity() { + } + + public String getDrilltype() { + return drilltype; + } + + public void setDrilltype(String drilltype) { + this.drilltype = drilltype; + } + + public String getDrillcode() { + return drillcode; + } + + public void setDrillcode(String drillcode) { + this.drillcode = drillcode; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getMminerals() { + return mminerals; + } + + public void setMminerals(String mminerals) { + this.mminerals = mminerals; + } + + public String getHoledepth() { + return holedepth; + } + + public void setHoledepth(String holedepth) { + this.holedepth = holedepth; + } + + public LocalDate getEndholtime() { + return endholtime; + } + + public void setEndholtime(LocalDate endholtime) { + this.endholtime = endholtime; + } + + public String getWorkspname() { + return workspname; + } + + public void setWorkspname(String workspname) { + this.workspname = workspname; + } + + public String getCustodname() { + return custodname; + } + + public void setCustodname(String custodname) { + this.custodname = custodname; + } + + public String getPac() { + return pac; + } + + public void setPac(String pac) { + this.pac = pac; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public BigDecimal getX() { + return x; + } + + public void setX(BigDecimal x) { + this.x = x; + } + + public BigDecimal getY() { + return y; + } + + public void setY(BigDecimal y) { + this.y = y; + } + + public String getBlocation() { + return blocation; + } + + public void setBlocation(String blocation) { + this.blocation = blocation; + } + + public BigDecimal getOstioleh() { + return ostioleh; + } + + public void setOstioleh(BigDecimal ostioleh) { + this.ostioleh = ostioleh; + } + + public String getOdatano() { + return odatano; + } + + public void setOdatano(String odatano) { + this.odatano = odatano; + } + + public String getExplineno() { + return explineno; + } + + public void setExplineno(String explineno) { + this.explineno = explineno; + } + + public String getConorg() { + return conorg; + } + + public void setConorg(String conorg) { + this.conorg = conorg; + } + + public String getTestreport() { + return testreport; + } + + public void setTestreport(String testreport) { + this.testreport = testreport; + } + + public String getOgeorecord() { + return ogeorecord; + } + + public void setOgeorecord(String ogeorecord) { + this.ogeorecord = ogeorecord; + } + + public String getBcore() { + return bcore; + } + + public void setBcore(String bcore) { + this.bcore = bcore; + } + + public String getDataname() { + return dataname; + } + + public void setDataname(String dataname) { + this.dataname = dataname; + } + + public String getAdatano() { + return adatano; + } + + public void setAdatano(String adatano) { + this.adatano = adatano; + } + + public LocalDate getPendtime() { + return pendtime; + } + + public void setPendtime(LocalDate pendtime) { + this.pendtime = pendtime; + } + + public String getWorkdegree() { + return workdegree; + } + + public void setWorkdegree(String workdegree) { + this.workdegree = workdegree; + } + + public String getPadatano() { + return padatano; + } + + public void setPadatano(String padatano) { + this.padatano = padatano; + } + + public String getOrgcode() { + return orgcode; + } + + public void setOrgcode(String orgcode) { + this.orgcode = orgcode; + } + + public String getHexplevel() { + return hexplevel; + } + + public void setHexplevel(String hexplevel) { + this.hexplevel = hexplevel; + } + + public String getSuporg() { + return suporg; + } + + public void setSuporg(String suporg) { + this.suporg = suporg; + } + + public String getIndsector() { + return indsector; + } + + public void setIndsector(String indsector) { + this.indsector = indsector; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getPostcode() { + return postcode; + } + + public void setPostcode(String postcode) { + this.postcode = postcode; + } + + public String getConname() { + return conname; + } + + public void setConname(String conname) { + this.conname = conname; + } + + public String getTelephone() { + return telephone; + } + + public void setTelephone(String telephone) { + this.telephone = telephone; + } + + public String getFax() { + return fax; + } + + public void setFax(String fax) { + this.fax = fax; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/BgeologichazardEntity.java b/src/main/java/com/lf/server/entity/bd/BgeologichazardEntity.java new file mode 100644 index 0000000..5fe0872 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/BgeologichazardEntity.java @@ -0,0 +1,175 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bgeologichazard + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_geologic_hazard") +@EqualsAndHashCode(callSuper = false) +public class BgeologichazardEntity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private String ghazid; + + private String ghaztype; + + private String pac; + + private String infsegname; + + private String dimensions; + + private String control; + + private String projname; + + private String pipename; + + private BigDecimal x; + + private BigDecimal y; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String name; + + public BgeologichazardEntity() { + } + + public String getGhazid() { + return ghazid; + } + + public void setGhazid(String ghazid) { + this.ghazid = ghazid; + } + + public String getGhaztype() { + return ghaztype; + } + + public void setGhaztype(String ghaztype) { + this.ghaztype = ghaztype; + } + + public String getPac() { + return pac; + } + + public void setPac(String pac) { + this.pac = pac; + } + + public String getInfsegname() { + return infsegname; + } + + public void setInfsegname(String infsegname) { + this.infsegname = infsegname; + } + + public String getDimensions() { + return dimensions; + } + + public void setDimensions(String dimensions) { + this.dimensions = dimensions; + } + + public String getControl() { + return control; + } + + public void setControl(String control) { + this.control = control; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public BigDecimal getX() { + return x; + } + + public void setX(BigDecimal x) { + this.x = x; + } + + public BigDecimal getY() { + return y; + } + + public void setY(BigDecimal y) { + this.y = y; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20wboundEntity.java b/src/main/java/com/lf/server/entity/bd/Bhy20wboundEntity.java new file mode 100644 index 0000000..24b0806 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20wboundEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20wbound + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_bound") +@EqualsAndHashCode(callSuper = false) +public class Bhy20wboundEntity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private String chfcac; + + private String m2sLegend; + + private String perimeter; + + private String area; + + public Bhy20wboundEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getPerimeter() { + return perimeter; + } + + public void setPerimeter(String perimeter) { + this.perimeter = perimeter; + } + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20wd21Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20wd21Entity.java new file mode 100644 index 0000000..46b5f58 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20wd21Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20wd21 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_d21") +@EqualsAndHashCode(callSuper = false) +public class Bhy20wd21Entity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private String chfcac; + + private String dsn; + + private String dso; + + private String yseb; + + private String yshb; + + private String ysc; + + private String ysd; + + private String qdfcf; + + private String m2sLegend; + + private String ann; + + private String obid; + + public Bhy20wd21Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getDsn() { + return dsn; + } + + public void setDsn(String dsn) { + this.dsn = dsn; + } + + public String getDso() { + return dso; + } + + public void setDso(String dso) { + this.dso = dso; + } + + public String getYseb() { + return yseb; + } + + public void setYseb(String yseb) { + this.yseb = yseb; + } + + public String getYshb() { + return yshb; + } + + public void setYshb(String yshb) { + this.yshb = yshb; + } + + public String getYsc() { + return ysc; + } + + public void setYsc(String ysc) { + this.ysc = ysc; + } + + public String getYsd() { + return ysd; + } + + public void setYsd(String ysd) { + this.ysd = ysd; + } + + public String getQdfcf() { + return qdfcf; + } + + public void setQdfcf(String qdfcf) { + this.qdfcf = qdfcf; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } + + public String getObid() { + return obid; + } + + public void setObid(String obid) { + this.obid = obid; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20wd23Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20wd23Entity.java new file mode 100644 index 0000000..4571811 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20wd23Entity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20wd23 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_d23") +@EqualsAndHashCode(callSuper = false) +public class Bhy20wd23Entity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private String chfcac; + + private String gzbd; + + private String dzmsg; + + private String ann; + + public Bhy20wd23Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getGzbd() { + return gzbd; + } + + public void setGzbd(String gzbd) { + this.gzbd = gzbd; + } + + public String getDzmsg() { + return dzmsg; + } + + public void setDzmsg(String dzmsg) { + this.dzmsg = dzmsg; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20wd29Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20wd29Entity.java new file mode 100644 index 0000000..e60b639 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20wd29Entity.java @@ -0,0 +1,115 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20wd29 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_d29") +@EqualsAndHashCode(callSuper = false) +public class Bhy20wd29Entity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private String chfcac; + + private String gzee; + + private String gzeab; + + private String gzeca; + + private String gzecd; + + private String gzece; + + private String swah; + + private String m2sLegend; + + private String ann; + + public Bhy20wd29Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getGzee() { + return gzee; + } + + public void setGzee(String gzee) { + this.gzee = gzee; + } + + public String getGzeab() { + return gzeab; + } + + public void setGzeab(String gzeab) { + this.gzeab = gzeab; + } + + public String getGzeca() { + return gzeca; + } + + public void setGzeca(String gzeca) { + this.gzeca = gzeca; + } + + public String getGzecd() { + return gzecd; + } + + public void setGzecd(String gzecd) { + this.gzecd = gzecd; + } + + public String getGzece() { + return gzece; + } + + public void setGzece(String gzece) { + this.gzece = gzece; + } + + public String getSwah() { + return swah; + } + + public void setSwah(String swah) { + this.swah = swah; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20wd31Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20wd31Entity.java new file mode 100644 index 0000000..d6ed78b --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20wd31Entity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20wd31 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_d31") +@EqualsAndHashCode(callSuper = false) +public class Bhy20wd31Entity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private String chfcac; + + private String gzbbga; + + private String gzbbac; + + private String gzbbad; + + private String m2sLegend; + + private String ann; + + private String m2sAngle; + + public Bhy20wd31Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getGzbbga() { + return gzbbga; + } + + public void setGzbbga(String gzbbga) { + this.gzbbga = gzbbga; + } + + public String getGzbbac() { + return gzbbac; + } + + public void setGzbbac(String gzbbac) { + this.gzbbac = gzbbac; + } + + public String getGzbbad() { + return gzbbad; + } + + public void setGzbbad(String gzbbad) { + this.gzbbad = gzbbad; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } + + public String getM2sAngle() { + return m2sAngle; + } + + public void setM2sAngle(String m2sAngle) { + this.m2sAngle = m2sAngle; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20wl21Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20wl21Entity.java new file mode 100644 index 0000000..122fc55 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20wl21Entity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20wl21 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_l21") +@EqualsAndHashCode(callSuper = false) +public class Bhy20wl21Entity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private Integer id; + + private String chfcac; + + private String chfcaa; + + private String chfcad; + + private String m2sLegend; + + private String ann; + + public Bhy20wl21Entity() { + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcaa() { + return chfcaa; + } + + public void setChfcaa(String chfcaa) { + this.chfcaa = chfcaa; + } + + public String getChfcad() { + return chfcad; + } + + public void setChfcad(String chfcad) { + this.chfcad = chfcad; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20wl23Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20wl23Entity.java new file mode 100644 index 0000000..ed9a6b4 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20wl23Entity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20wl23 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_l23") +@EqualsAndHashCode(callSuper = false) +public class Bhy20wl23Entity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private Integer id; + + private String chfcac; + + private String chfcaa; + + private String chfcad; + + private String m2sLegend; + + private String ann; + + public Bhy20wl23Entity() { + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcaa() { + return chfcaa; + } + + public void setChfcaa(String chfcaa) { + this.chfcaa = chfcaa; + } + + public String getChfcad() { + return chfcad; + } + + public void setChfcad(String chfcad) { + this.chfcad = chfcad; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20wl31Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20wl31Entity.java new file mode 100644 index 0000000..0e0d801 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20wl31Entity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20wl31 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_l31") +@EqualsAndHashCode(callSuper = false) +public class Bhy20wl31Entity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private Integer id; + + private String chfcac; + + private String chfcaa; + + private String chfcad; + + private String m2sLegend; + + private String ann; + + public Bhy20wl31Entity() { + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcaa() { + return chfcaa; + } + + public void setChfcaa(String chfcaa) { + this.chfcaa = chfcaa; + } + + public String getChfcad() { + return chfcad; + } + + public void setChfcad(String chfcad) { + this.chfcad = chfcad; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20wl41Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20wl41Entity.java new file mode 100644 index 0000000..7a1666c --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20wl41Entity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20wl41 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_l41") +@EqualsAndHashCode(callSuper = false) +public class Bhy20wl41Entity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private Integer id; + + private String chfcac; + + private String chfcaa; + + private String chfcad; + + private String m2sLegend; + + private String ann; + + public Bhy20wl41Entity() { + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcaa() { + return chfcaa; + } + + public void setChfcaa(String chfcaa) { + this.chfcaa = chfcaa; + } + + public String getChfcad() { + return chfcad; + } + + public void setChfcad(String chfcad) { + this.chfcad = chfcad; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20wl61Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20wl61Entity.java new file mode 100644 index 0000000..46a1cb1 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20wl61Entity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20wl61 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_l61") +@EqualsAndHashCode(callSuper = false) +public class Bhy20wl61Entity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private Integer id; + + private String chfcac; + + private String chfcaa; + + private String chfcad; + + private String m2sLegend; + + private String ann; + + public Bhy20wl61Entity() { + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcaa() { + return chfcaa; + } + + public void setChfcaa(String chfcaa) { + this.chfcaa = chfcaa; + } + + public String getChfcad() { + return chfcad; + } + + public void setChfcad(String chfcad) { + this.chfcad = chfcad; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20wl69Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20wl69Entity.java new file mode 100644 index 0000000..764d009 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20wl69Entity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20wl69 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_l69") +@EqualsAndHashCode(callSuper = false) +public class Bhy20wl69Entity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private Integer id; + + private String chfcac; + + private String chfcad; + + private String m2sLegend; + + private Float m2sAngle; + + private String chfcaa; + + private String ann; + + public Bhy20wl69Entity() { + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcad() { + return chfcad; + } + + public void setChfcad(String chfcad) { + this.chfcad = chfcad; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public Float getM2sAngle() { + return m2sAngle; + } + + public void setM2sAngle(Float m2sAngle) { + this.m2sAngle = m2sAngle; + } + + public String getChfcaa() { + return chfcaa; + } + + public void setChfcaa(String chfcaa) { + this.chfcaa = chfcaa; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20wl71Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20wl71Entity.java new file mode 100644 index 0000000..367cccd --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20wl71Entity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20wl71 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_l71") +@EqualsAndHashCode(callSuper = false) +public class Bhy20wl71Entity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private Integer id; + + private String chfcac; + + private String chfcaa; + + private String chfcad; + + private String chag; + + private String m2sLegend; + + private String ann; + + public Bhy20wl71Entity() { + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcaa() { + return chfcaa; + } + + public void setChfcaa(String chfcaa) { + this.chfcaa = chfcaa; + } + + public String getChfcad() { + return chfcad; + } + + public void setChfcad(String chfcad) { + this.chfcad = chfcad; + } + + public String getChag() { + return chag; + } + + public void setChag(String chag) { + this.chag = chag; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20wl72Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20wl72Entity.java new file mode 100644 index 0000000..513ff94 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20wl72Entity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20wl72 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_l72") +@EqualsAndHashCode(callSuper = false) +public class Bhy20wl72Entity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private String chfcac; + + private String chfcaa; + + private String chfcad; + + private String elev; + + private String m2sLegend; + + private String ann; + + public Bhy20wl72Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcaa() { + return chfcaa; + } + + public void setChfcaa(String chfcaa) { + this.chfcaa = chfcaa; + } + + public String getChfcad() { + return chfcad; + } + + public void setChfcad(String chfcad) { + this.chfcad = chfcad; + } + + public String getElev() { + return elev; + } + + public void setElev(String elev) { + this.elev = elev; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws11Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws11Entity.java new file mode 100644 index 0000000..26630c7 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws11Entity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws11 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s11") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws11Entity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private String chfcac; + + private String swaf; + + private String swafm; + + private String swafa; + + private String m2sLegend; + + private String ann; + + public Bhy20ws11Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getSwaf() { + return swaf; + } + + public void setSwaf(String swaf) { + this.swaf = swaf; + } + + public String getSwafm() { + return swafm; + } + + public void setSwafm(String swafm) { + this.swafm = swafm; + } + + public String getSwafa() { + return swafa; + } + + public void setSwafa(String swafa) { + this.swafa = swafa; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws12Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws12Entity.java new file mode 100644 index 0000000..9b3b54c --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws12Entity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws12 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s12") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws12Entity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private String chfcac; + + private String swaf; + + private String swafm; + + private String swafa; + + private String m2sLegend; + + private String ann; + + public Bhy20ws12Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getSwaf() { + return swaf; + } + + public void setSwaf(String swaf) { + this.swaf = swaf; + } + + public String getSwafm() { + return swafm; + } + + public void setSwafm(String swafm) { + this.swafm = swafm; + } + + public String getSwafa() { + return swafa; + } + + public void setSwafa(String swafa) { + this.swafa = swafa; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws13Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws13Entity.java new file mode 100644 index 0000000..329a66d --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws13Entity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws13 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s13") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws13Entity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private String chfcac; + + private String swaf; + + private String swafm; + + private String swafa; + + private String m2sLegend; + + private String ann; + + public Bhy20ws13Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getSwaf() { + return swaf; + } + + public void setSwaf(String swaf) { + this.swaf = swaf; + } + + public String getSwafm() { + return swafm; + } + + public void setSwafm(String swafm) { + this.swafm = swafm; + } + + public String getSwafa() { + return swafa; + } + + public void setSwafa(String swafa) { + this.swafa = swafa; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws14Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws14Entity.java new file mode 100644 index 0000000..d5c050e --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws14Entity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws14 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s14") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws14Entity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private String chfcac; + + private String swaf; + + private String swafm; + + private String swafa; + + private String m2sLegend; + + private String ann; + + public Bhy20ws14Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getSwaf() { + return swaf; + } + + public void setSwaf(String swaf) { + this.swaf = swaf; + } + + public String getSwafm() { + return swafm; + } + + public void setSwafm(String swafm) { + this.swafm = swafm; + } + + public String getSwafa() { + return swafa; + } + + public void setSwafa(String swafa) { + this.swafa = swafa; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws15Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws15Entity.java new file mode 100644 index 0000000..9dd40fb --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws15Entity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws15 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s15") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws15Entity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private String chfcac; + + private String swaf; + + private String swafm; + + private String swafa; + + private String m2sLegend; + + private String ann; + + public Bhy20ws15Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getSwaf() { + return swaf; + } + + public void setSwaf(String swaf) { + this.swaf = swaf; + } + + public String getSwafm() { + return swafm; + } + + public void setSwafm(String swafm) { + this.swafm = swafm; + } + + public String getSwafa() { + return swafa; + } + + public void setSwafa(String swafa) { + this.swafa = swafa; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws16Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws16Entity.java new file mode 100644 index 0000000..6faf31b --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws16Entity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws16 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s16") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws16Entity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private String chfcac; + + private String swaf; + + private String swafm; + + private String swafa; + + private String m2sLegend; + + private String ann; + + public Bhy20ws16Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getSwaf() { + return swaf; + } + + public void setSwaf(String swaf) { + this.swaf = swaf; + } + + public String getSwafm() { + return swafm; + } + + public void setSwafm(String swafm) { + this.swafm = swafm; + } + + public String getSwafa() { + return swafa; + } + + public void setSwafa(String swafa) { + this.swafa = swafa; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws17Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws17Entity.java new file mode 100644 index 0000000..f44f3a1 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws17Entity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws17 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s17") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws17Entity extends BaseGeoEntity { + private static final long serialVersionUID = 730143165090187904L; + + private String chfcac; + + private String swaf; + + private String swafm; + + private String swafa; + + private String m2sLegend; + + private String ann; + + public Bhy20ws17Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getSwaf() { + return swaf; + } + + public void setSwaf(String swaf) { + this.swaf = swaf; + } + + public String getSwafm() { + return swafm; + } + + public void setSwafm(String swafm) { + this.swafm = swafm; + } + + public String getSwafa() { + return swafa; + } + + public void setSwafa(String swafa) { + this.swafa = swafa; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws18Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws18Entity.java new file mode 100644 index 0000000..2271c57 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws18Entity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws18 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s18") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws18Entity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String swaf; + + private String swafm; + + private String swafa; + + private String m2sLegend; + + private String chfcac; + + private String ann; + + public Bhy20ws18Entity() { + } + + public String getSwaf() { + return swaf; + } + + public void setSwaf(String swaf) { + this.swaf = swaf; + } + + public String getSwafm() { + return swafm; + } + + public void setSwafm(String swafm) { + this.swafm = swafm; + } + + public String getSwafa() { + return swafa; + } + + public void setSwafa(String swafa) { + this.swafa = swafa; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws19Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws19Entity.java new file mode 100644 index 0000000..2e6bb15 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws19Entity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws19 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s19") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws19Entity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String swaf; + + private String swafm; + + private String swafa; + + private String m2sLegend; + + private String chfcac; + + private String ann; + + public Bhy20ws19Entity() { + } + + public String getSwaf() { + return swaf; + } + + public void setSwaf(String swaf) { + this.swaf = swaf; + } + + public String getSwafm() { + return swafm; + } + + public void setSwafm(String swafm) { + this.swafm = swafm; + } + + public String getSwafa() { + return swafa; + } + + public void setSwafa(String swafa) { + this.swafa = swafa; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws21Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws21Entity.java new file mode 100644 index 0000000..61db118 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws21Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws21 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s21") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws21Entity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String chfcac; + + private String swbff; + + private String swddbx; + + private String swddbw; + + private String swddbxa; + + private String swaded; + + private String swddbxb; + + private String swddbwa; + + private String swag; + + private String m2sLegend; + + private String ann; + + public Bhy20ws21Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getSwbff() { + return swbff; + } + + public void setSwbff(String swbff) { + this.swbff = swbff; + } + + public String getSwddbx() { + return swddbx; + } + + public void setSwddbx(String swddbx) { + this.swddbx = swddbx; + } + + public String getSwddbw() { + return swddbw; + } + + public void setSwddbw(String swddbw) { + this.swddbw = swddbw; + } + + public String getSwddbxa() { + return swddbxa; + } + + public void setSwddbxa(String swddbxa) { + this.swddbxa = swddbxa; + } + + public String getSwaded() { + return swaded; + } + + public void setSwaded(String swaded) { + this.swaded = swaded; + } + + public String getSwddbxb() { + return swddbxb; + } + + public void setSwddbxb(String swddbxb) { + this.swddbxb = swddbxb; + } + + public String getSwddbwa() { + return swddbwa; + } + + public void setSwddbwa(String swddbwa) { + this.swddbwa = swddbwa; + } + + public String getSwag() { + return swag; + } + + public void setSwag(String swag) { + this.swag = swag; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws22Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws22Entity.java new file mode 100644 index 0000000..eadfb77 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws22Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws22 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s22") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws22Entity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String chfcac; + + private String swbff; + + private String swddbx; + + private String swddbw; + + private String swddbxa; + + private String swaded; + + private String swddbxb; + + private String swddbwa; + + private String swag; + + private String m2sLegend; + + private String ann; + + public Bhy20ws22Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getSwbff() { + return swbff; + } + + public void setSwbff(String swbff) { + this.swbff = swbff; + } + + public String getSwddbx() { + return swddbx; + } + + public void setSwddbx(String swddbx) { + this.swddbx = swddbx; + } + + public String getSwddbw() { + return swddbw; + } + + public void setSwddbw(String swddbw) { + this.swddbw = swddbw; + } + + public String getSwddbxa() { + return swddbxa; + } + + public void setSwddbxa(String swddbxa) { + this.swddbxa = swddbxa; + } + + public String getSwaded() { + return swaded; + } + + public void setSwaded(String swaded) { + this.swaded = swaded; + } + + public String getSwddbxb() { + return swddbxb; + } + + public void setSwddbxb(String swddbxb) { + this.swddbxb = swddbxb; + } + + public String getSwddbwa() { + return swddbwa; + } + + public void setSwddbwa(String swddbwa) { + this.swddbwa = swddbwa; + } + + public String getSwag() { + return swag; + } + + public void setSwag(String swag) { + this.swag = swag; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws23Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws23Entity.java new file mode 100644 index 0000000..786f222 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws23Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws23 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s23") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws23Entity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String chfcac; + + private String swbff; + + private String swddbx; + + private String swddbw; + + private String swddbxa; + + private String swaded; + + private String swddbxb; + + private String swddbwa; + + private String swag; + + private String m2sLegend; + + private String ann; + + public Bhy20ws23Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getSwbff() { + return swbff; + } + + public void setSwbff(String swbff) { + this.swbff = swbff; + } + + public String getSwddbx() { + return swddbx; + } + + public void setSwddbx(String swddbx) { + this.swddbx = swddbx; + } + + public String getSwddbw() { + return swddbw; + } + + public void setSwddbw(String swddbw) { + this.swddbw = swddbw; + } + + public String getSwddbxa() { + return swddbxa; + } + + public void setSwddbxa(String swddbxa) { + this.swddbxa = swddbxa; + } + + public String getSwaded() { + return swaded; + } + + public void setSwaded(String swaded) { + this.swaded = swaded; + } + + public String getSwddbxb() { + return swddbxb; + } + + public void setSwddbxb(String swddbxb) { + this.swddbxb = swddbxb; + } + + public String getSwddbwa() { + return swddbwa; + } + + public void setSwddbwa(String swddbwa) { + this.swddbwa = swddbwa; + } + + public String getSwag() { + return swag; + } + + public void setSwag(String swag) { + this.swag = swag; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws24Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws24Entity.java new file mode 100644 index 0000000..e39ba56 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws24Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws24 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s24") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws24Entity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String chfcac; + + private String swbff; + + private String swddbx; + + private String swddbw; + + private String swddbxa; + + private String swaded; + + private String swddbxb; + + private String swddbwa; + + private String swag; + + private String m2sLegend; + + private String ann; + + public Bhy20ws24Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getSwbff() { + return swbff; + } + + public void setSwbff(String swbff) { + this.swbff = swbff; + } + + public String getSwddbx() { + return swddbx; + } + + public void setSwddbx(String swddbx) { + this.swddbx = swddbx; + } + + public String getSwddbw() { + return swddbw; + } + + public void setSwddbw(String swddbw) { + this.swddbw = swddbw; + } + + public String getSwddbxa() { + return swddbxa; + } + + public void setSwddbxa(String swddbxa) { + this.swddbxa = swddbxa; + } + + public String getSwaded() { + return swaded; + } + + public void setSwaded(String swaded) { + this.swaded = swaded; + } + + public String getSwddbxb() { + return swddbxb; + } + + public void setSwddbxb(String swddbxb) { + this.swddbxb = swddbxb; + } + + public String getSwddbwa() { + return swddbwa; + } + + public void setSwddbwa(String swddbwa) { + this.swddbwa = swddbwa; + } + + public String getSwag() { + return swag; + } + + public void setSwag(String swag) { + this.swag = swag; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws25Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws25Entity.java new file mode 100644 index 0000000..b788440 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws25Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws25 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s25") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws25Entity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String chfcac; + + private String swbff; + + private String swddbx; + + private String swddbw; + + private String swddbxa; + + private String swaded; + + private String swddbxb; + + private String swddbwa; + + private String swag; + + private String m2sLegend; + + private String ann; + + public Bhy20ws25Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getSwbff() { + return swbff; + } + + public void setSwbff(String swbff) { + this.swbff = swbff; + } + + public String getSwddbx() { + return swddbx; + } + + public void setSwddbx(String swddbx) { + this.swddbx = swddbx; + } + + public String getSwddbw() { + return swddbw; + } + + public void setSwddbw(String swddbw) { + this.swddbw = swddbw; + } + + public String getSwddbxa() { + return swddbxa; + } + + public void setSwddbxa(String swddbxa) { + this.swddbxa = swddbxa; + } + + public String getSwaded() { + return swaded; + } + + public void setSwaded(String swaded) { + this.swaded = swaded; + } + + public String getSwddbxb() { + return swddbxb; + } + + public void setSwddbxb(String swddbxb) { + this.swddbxb = swddbxb; + } + + public String getSwddbwa() { + return swddbwa; + } + + public void setSwddbwa(String swddbwa) { + this.swddbwa = swddbwa; + } + + public String getSwag() { + return swag; + } + + public void setSwag(String swag) { + this.swag = swag; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws26Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws26Entity.java new file mode 100644 index 0000000..c26cb2e --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws26Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws26 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s26") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws26Entity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String chfcac; + + private String swbff; + + private String swddbx; + + private String swddbw; + + private String swddbxa; + + private String swaded; + + private String swddbxb; + + private String swddbwa; + + private String swag; + + private String m2sLegend; + + private String ann; + + public Bhy20ws26Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getSwbff() { + return swbff; + } + + public void setSwbff(String swbff) { + this.swbff = swbff; + } + + public String getSwddbx() { + return swddbx; + } + + public void setSwddbx(String swddbx) { + this.swddbx = swddbx; + } + + public String getSwddbw() { + return swddbw; + } + + public void setSwddbw(String swddbw) { + this.swddbw = swddbw; + } + + public String getSwddbxa() { + return swddbxa; + } + + public void setSwddbxa(String swddbxa) { + this.swddbxa = swddbxa; + } + + public String getSwaded() { + return swaded; + } + + public void setSwaded(String swaded) { + this.swaded = swaded; + } + + public String getSwddbxb() { + return swddbxb; + } + + public void setSwddbxb(String swddbxb) { + this.swddbxb = swddbxb; + } + + public String getSwddbwa() { + return swddbwa; + } + + public void setSwddbwa(String swddbwa) { + this.swddbwa = swddbwa; + } + + public String getSwag() { + return swag; + } + + public void setSwag(String swag) { + this.swag = swag; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws27Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws27Entity.java new file mode 100644 index 0000000..f55d497 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws27Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws27 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s27") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws27Entity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String chfcac; + + private String swbff; + + private String swddbx; + + private String swddbw; + + private String swddbxa; + + private String swaded; + + private String swddbxb; + + private String swddbwa; + + private String swag; + + private String m2sLegend; + + private String ann; + + public Bhy20ws27Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getSwbff() { + return swbff; + } + + public void setSwbff(String swbff) { + this.swbff = swbff; + } + + public String getSwddbx() { + return swddbx; + } + + public void setSwddbx(String swddbx) { + this.swddbx = swddbx; + } + + public String getSwddbw() { + return swddbw; + } + + public void setSwddbw(String swddbw) { + this.swddbw = swddbw; + } + + public String getSwddbxa() { + return swddbxa; + } + + public void setSwddbxa(String swddbxa) { + this.swddbxa = swddbxa; + } + + public String getSwaded() { + return swaded; + } + + public void setSwaded(String swaded) { + this.swaded = swaded; + } + + public String getSwddbxb() { + return swddbxb; + } + + public void setSwddbxb(String swddbxb) { + this.swddbxb = swddbxb; + } + + public String getSwddbwa() { + return swddbwa; + } + + public void setSwddbwa(String swddbwa) { + this.swddbwa = swddbwa; + } + + public String getSwag() { + return swag; + } + + public void setSwag(String swag) { + this.swag = swag; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws28Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws28Entity.java new file mode 100644 index 0000000..ee22428 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws28Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws28 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s28") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws28Entity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String chfcac; + + private String swbff; + + private String swddbx; + + private String swddbw; + + private String swddbxa; + + private String swaded; + + private String swddbxb; + + private String swddbwa; + + private String swag; + + private String m2sLegend; + + private String ann; + + public Bhy20ws28Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getSwbff() { + return swbff; + } + + public void setSwbff(String swbff) { + this.swbff = swbff; + } + + public String getSwddbx() { + return swddbx; + } + + public void setSwddbx(String swddbx) { + this.swddbx = swddbx; + } + + public String getSwddbw() { + return swddbw; + } + + public void setSwddbw(String swddbw) { + this.swddbw = swddbw; + } + + public String getSwddbxa() { + return swddbxa; + } + + public void setSwddbxa(String swddbxa) { + this.swddbxa = swddbxa; + } + + public String getSwaded() { + return swaded; + } + + public void setSwaded(String swaded) { + this.swaded = swaded; + } + + public String getSwddbxb() { + return swddbxb; + } + + public void setSwddbxb(String swddbxb) { + this.swddbxb = swddbxb; + } + + public String getSwddbwa() { + return swddbwa; + } + + public void setSwddbwa(String swddbwa) { + this.swddbwa = swddbwa; + } + + public String getSwag() { + return swag; + } + + public void setSwag(String swag) { + this.swag = swag; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws29Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws29Entity.java new file mode 100644 index 0000000..b6485f6 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws29Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws29 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s29") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws29Entity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String chfcac; + + private String swbff; + + private String swddbx; + + private String swddbw; + + private String swddbxa; + + private String swaded; + + private String swddbxb; + + private String swddbwa; + + private String swag; + + private String m2sLegend; + + private String ann; + + public Bhy20ws29Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getSwbff() { + return swbff; + } + + public void setSwbff(String swbff) { + this.swbff = swbff; + } + + public String getSwddbx() { + return swddbx; + } + + public void setSwddbx(String swddbx) { + this.swddbx = swddbx; + } + + public String getSwddbw() { + return swddbw; + } + + public void setSwddbw(String swddbw) { + this.swddbw = swddbw; + } + + public String getSwddbxa() { + return swddbxa; + } + + public void setSwddbxa(String swddbxa) { + this.swddbxa = swddbxa; + } + + public String getSwaded() { + return swaded; + } + + public void setSwaded(String swaded) { + this.swaded = swaded; + } + + public String getSwddbxb() { + return swddbxb; + } + + public void setSwddbxb(String swddbxb) { + this.swddbxb = swddbxb; + } + + public String getSwddbwa() { + return swddbwa; + } + + public void setSwddbwa(String swddbwa) { + this.swddbwa = swddbwa; + } + + public String getSwag() { + return swag; + } + + public void setSwag(String swag) { + this.swag = swag; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws41Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws41Entity.java new file mode 100644 index 0000000..2077f2b --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws41Entity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws41 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s41") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws41Entity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String chfcac; + + private String swfhe; + + private String m2sLegend; + + private String ann; + + public Bhy20ws41Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getSwfhe() { + return swfhe; + } + + public void setSwfhe(String swfhe) { + this.swfhe = swfhe; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws42Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws42Entity.java new file mode 100644 index 0000000..7de68e2 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws42Entity.java @@ -0,0 +1,105 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws42 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s42") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws42Entity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String chfcac; + + private String chfcad; + + private String swfcb; + + private String swfkz; + + private String swamaj; + + private String swfka; + + private String m2sLegend; + + private String ann; + + public Bhy20ws42Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcad() { + return chfcad; + } + + public void setChfcad(String chfcad) { + this.chfcad = chfcad; + } + + public String getSwfcb() { + return swfcb; + } + + public void setSwfcb(String swfcb) { + this.swfcb = swfcb; + } + + public String getSwfkz() { + return swfkz; + } + + public void setSwfkz(String swfkz) { + this.swfkz = swfkz; + } + + public String getSwamaj() { + return swamaj; + } + + public void setSwamaj(String swamaj) { + this.swamaj = swamaj; + } + + public String getSwfka() { + return swfka; + } + + public void setSwfka(String swfka) { + this.swfka = swfka; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws43Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws43Entity.java new file mode 100644 index 0000000..9ef8a27 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws43Entity.java @@ -0,0 +1,105 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws43 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s43") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws43Entity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String chfcac; + + private String chfcad; + + private String swfcb; + + private String swfkz; + + private String swamaj; + + private String swfka; + + private String m2sLegend; + + private String ann; + + public Bhy20ws43Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcad() { + return chfcad; + } + + public void setChfcad(String chfcad) { + this.chfcad = chfcad; + } + + public String getSwfcb() { + return swfcb; + } + + public void setSwfcb(String swfcb) { + this.swfcb = swfcb; + } + + public String getSwfkz() { + return swfkz; + } + + public void setSwfkz(String swfkz) { + this.swfkz = swfkz; + } + + public String getSwamaj() { + return swamaj; + } + + public void setSwamaj(String swamaj) { + this.swamaj = swamaj; + } + + public String getSwfka() { + return swfka; + } + + public void setSwfka(String swfka) { + this.swfka = swfka; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws51Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws51Entity.java new file mode 100644 index 0000000..26875c4 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws51Entity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws51 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s51") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws51Entity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String chfcac; + + private String chfcaa; + + private String chfcad; + + private String chfcae; + + private String m2sLegend; + + private String ann; + + public Bhy20ws51Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcaa() { + return chfcaa; + } + + public void setChfcaa(String chfcaa) { + this.chfcaa = chfcaa; + } + + public String getChfcad() { + return chfcad; + } + + public void setChfcad(String chfcad) { + this.chfcad = chfcad; + } + + public String getChfcae() { + return chfcae; + } + + public void setChfcae(String chfcae) { + this.chfcae = chfcae; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws61Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws61Entity.java new file mode 100644 index 0000000..667fb0f --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws61Entity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws61 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s61") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws61Entity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String chfcac; + + private String chfcaa; + + private String chfcad; + + private String chfcae; + + private String m2sLegend; + + private String ann; + + public Bhy20ws61Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcaa() { + return chfcaa; + } + + public void setChfcaa(String chfcaa) { + this.chfcaa = chfcaa; + } + + public String getChfcad() { + return chfcad; + } + + public void setChfcad(String chfcad) { + this.chfcad = chfcad; + } + + public String getChfcae() { + return chfcae; + } + + public void setChfcae(String chfcae) { + this.chfcae = chfcae; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20ws81Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20ws81Entity.java new file mode 100644 index 0000000..e79100e --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20ws81Entity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20ws81 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_s81") +@EqualsAndHashCode(callSuper = false) +public class Bhy20ws81Entity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String chfcac; + + private String chfcaa; + + private String chfcad; + + private String swddbx; + + private BigDecimal swibfh; + + private String m2sLegend; + + private String ann; + + public Bhy20ws81Entity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcaa() { + return chfcaa; + } + + public void setChfcaa(String chfcaa) { + this.chfcaa = chfcaa; + } + + public String getChfcad() { + return chfcad; + } + + public void setChfcad(String chfcad) { + this.chfcad = chfcad; + } + + public String getSwddbx() { + return swddbx; + } + + public void setSwddbx(String swddbx) { + this.swddbx = swddbx; + } + + public BigDecimal getSwibfh() { + return swibfh; + } + + public void setSwibfh(BigDecimal swibfh) { + this.swibfh = swibfh; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20wt21Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20wt21Entity.java new file mode 100644 index 0000000..7f164b1 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20wt21Entity.java @@ -0,0 +1,215 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20wt21 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_t21") +@EqualsAndHashCode(callSuper = false) +public class Bhy20wt21Entity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String chamac; + + private String chamaa; + + private String chamdb; + + private String chag; + + private String chai; + + private String ddaebe; + + private String ddaebf; + + private String ddaebg; + + private String ddaebh; + + private String qdaq; + + private String qdae; + + private String qdygg; + + private String qdyh; + + private String qdaf; + + private String ddaeed; + + private String pkigj; + + private String sdafaf; + + private String m2sLegend; + + private String ann; + + public Bhy20wt21Entity() { + } + + public String getChamac() { + return chamac; + } + + public void setChamac(String chamac) { + this.chamac = chamac; + } + + public String getChamaa() { + return chamaa; + } + + public void setChamaa(String chamaa) { + this.chamaa = chamaa; + } + + public String getChamdb() { + return chamdb; + } + + public void setChamdb(String chamdb) { + this.chamdb = chamdb; + } + + public String getChag() { + return chag; + } + + public void setChag(String chag) { + this.chag = chag; + } + + public String getChai() { + return chai; + } + + public void setChai(String chai) { + this.chai = chai; + } + + public String getDdaebe() { + return ddaebe; + } + + public void setDdaebe(String ddaebe) { + this.ddaebe = ddaebe; + } + + public String getDdaebf() { + return ddaebf; + } + + public void setDdaebf(String ddaebf) { + this.ddaebf = ddaebf; + } + + public String getDdaebg() { + return ddaebg; + } + + public void setDdaebg(String ddaebg) { + this.ddaebg = ddaebg; + } + + public String getDdaebh() { + return ddaebh; + } + + public void setDdaebh(String ddaebh) { + this.ddaebh = ddaebh; + } + + public String getQdaq() { + return qdaq; + } + + public void setQdaq(String qdaq) { + this.qdaq = qdaq; + } + + public String getQdae() { + return qdae; + } + + public void setQdae(String qdae) { + this.qdae = qdae; + } + + public String getQdygg() { + return qdygg; + } + + public void setQdygg(String qdygg) { + this.qdygg = qdygg; + } + + public String getQdyh() { + return qdyh; + } + + public void setQdyh(String qdyh) { + this.qdyh = qdyh; + } + + public String getQdaf() { + return qdaf; + } + + public void setQdaf(String qdaf) { + this.qdaf = qdaf; + } + + public String getDdaeed() { + return ddaeed; + } + + public void setDdaeed(String ddaeed) { + this.ddaeed = ddaeed; + } + + public String getPkigj() { + return pkigj; + } + + public void setPkigj(String pkigj) { + this.pkigj = pkigj; + } + + public String getSdafaf() { + return sdafaf; + } + + public void setSdafaf(String sdafaf) { + this.sdafaf = sdafaf; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Bhy20wz21Entity.java b/src/main/java/com/lf/server/entity/bd/Bhy20wz21Entity.java new file mode 100644 index 0000000..19fe4e6 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Bhy20wz21Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhy20wz21 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hy20w_z21") +@EqualsAndHashCode(callSuper = false) +public class Bhy20wz21Entity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String ddcdib; + + private String dsf; + + private String dsbf; + + private String yseb; + + private String yshb; + + private String gcjflq; + + private String m2sLegend; + + private BigDecimal ddcdid; + + private String chfcac; + + private String ann; + + public Bhy20wz21Entity() { + } + + public String getDdcdib() { + return ddcdib; + } + + public void setDdcdib(String ddcdib) { + this.ddcdib = ddcdib; + } + + public String getDsf() { + return dsf; + } + + public void setDsf(String dsf) { + this.dsf = dsf; + } + + public String getDsbf() { + return dsbf; + } + + public void setDsbf(String dsbf) { + this.dsbf = dsbf; + } + + public String getYseb() { + return yseb; + } + + public void setYseb(String yseb) { + this.yseb = yseb; + } + + public String getYshb() { + return yshb; + } + + public void setYshb(String yshb) { + this.yshb = yshb; + } + + public String getGcjflq() { + return gcjflq; + } + + public void setGcjflq(String gcjflq) { + this.gcjflq = gcjflq; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public BigDecimal getDdcdid() { + return ddcdid; + } + + public void setDdcdid(BigDecimal ddcdid) { + this.ddcdid = ddcdid; + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/BhydrogeologyattachEntity.java b/src/main/java/com/lf/server/entity/bd/BhydrogeologyattachEntity.java new file mode 100644 index 0000000..68e99a5 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/BhydrogeologyattachEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bhydrogeologyattach + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_hydrogeology_attach") +@EqualsAndHashCode(callSuper = false) +public class BhydrogeologyattachEntity extends BaseEntity { + private static final long serialVersionUID = 371338138064061376L; + + private Long id; + + private String filename; + + private String fileguid; + + private String filesizes; + + private String path; + + private String tabguid; + + private String tab; + + public BhydrogeologyattachEntity() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getFilename() { + return filename; + } + + public void setFilename(String filename) { + this.filename = filename; + } + + public String getFileguid() { + return fileguid; + } + + public void setFileguid(String fileguid) { + this.fileguid = fileguid; + } + + public String getFilesizes() { + return filesizes; + } + + public void setFilesizes(String filesizes) { + this.filesizes = filesizes; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getTabguid() { + return tabguid; + } + + public void setTabguid(String tabguid) { + this.tabguid = tabguid; + } + + public String getTab() { + return tab; + } + + public void setTab(String tab) { + this.tab = tab; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/BpacfrozensoilEntity.java b/src/main/java/com/lf/server/entity/bd/BpacfrozensoilEntity.java new file mode 100644 index 0000000..de9d611 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/BpacfrozensoilEntity.java @@ -0,0 +1,105 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bpacfrozensoil + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_pac_frozensoil") +@EqualsAndHashCode(callSuper = false) +public class BpacfrozensoilEntity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String pac; + + private String name; + + private String gb; + + private String materiname; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + public BpacfrozensoilEntity() { + } + + public String getPac() { + return pac; + } + + public void setPac(String pac) { + this.pac = pac; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMateriname() { + return materiname; + } + + public void setMateriname(String materiname) { + this.materiname = materiname; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/BpacfrozensoilattachEntity.java b/src/main/java/com/lf/server/entity/bd/BpacfrozensoilattachEntity.java new file mode 100644 index 0000000..d6fa77a --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/BpacfrozensoilattachEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bpacfrozensoilattach + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_pac_frozensoil_attach") +@EqualsAndHashCode(callSuper = false) +public class BpacfrozensoilattachEntity extends BaseEntity { + private static final long serialVersionUID = 371338138064061376L; + + private Long id; + + private String filename; + + private String fileguid; + + private String filesizes; + + private String path; + + private String tabguid; + + private String tab; + + public BpacfrozensoilattachEntity() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getFilename() { + return filename; + } + + public void setFilename(String filename) { + this.filename = filename; + } + + public String getFileguid() { + return fileguid; + } + + public void setFileguid(String fileguid) { + this.fileguid = fileguid; + } + + public String getFilesizes() { + return filesizes; + } + + public void setFilesizes(String filesizes) { + this.filesizes = filesizes; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getTabguid() { + return tabguid; + } + + public void setTabguid(String tabguid) { + this.tabguid = tabguid; + } + + public String getTab() { + return tab; + } + + public void setTab(String tab) { + this.tab = tab; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/BpacgeologichazardEntity.java b/src/main/java/com/lf/server/entity/bd/BpacgeologichazardEntity.java new file mode 100644 index 0000000..f60aa3f --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/BpacgeologichazardEntity.java @@ -0,0 +1,105 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bpacgeologichazard + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_pac_geologic_hazard") +@EqualsAndHashCode(callSuper = false) +public class BpacgeologichazardEntity extends BaseGeoEntity { + private static final long serialVersionUID = 371338138064061376L; + + private String pac; + + private String name; + + private String gb; + + private String materiname; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + public BpacgeologichazardEntity() { + } + + public String getPac() { + return pac; + } + + public void setPac(String pac) { + this.pac = pac; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMateriname() { + return materiname; + } + + public void setMateriname(String materiname) { + this.materiname = materiname; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/BpacgeologichazardattachEntity.java b/src/main/java/com/lf/server/entity/bd/BpacgeologichazardattachEntity.java new file mode 100644 index 0000000..682c453 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/BpacgeologichazardattachEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bpacgeologichazardattach + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_pac_geologic_hazard_attach") +@EqualsAndHashCode(callSuper = false) +public class BpacgeologichazardattachEntity extends BaseEntity { + private static final long serialVersionUID = 12533111037934716L; + + private Long id; + + private String filename; + + private String fileguid; + + private String filesizes; + + private String path; + + private String tabguid; + + private String tab; + + public BpacgeologichazardattachEntity() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getFilename() { + return filename; + } + + public void setFilename(String filename) { + this.filename = filename; + } + + public String getFileguid() { + return fileguid; + } + + public void setFileguid(String fileguid) { + this.fileguid = fileguid; + } + + public String getFilesizes() { + return filesizes; + } + + public void setFilesizes(String filesizes) { + this.filesizes = filesizes; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getTabguid() { + return tabguid; + } + + public void setTabguid(String tabguid) { + this.tabguid = tabguid; + } + + public String getTab() { + return tab; + } + + public void setTab(String tab) { + this.tab = tab; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/BpachydrogeologyEntity.java b/src/main/java/com/lf/server/entity/bd/BpachydrogeologyEntity.java new file mode 100644 index 0000000..63fe627 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/BpachydrogeologyEntity.java @@ -0,0 +1,105 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bpachydrogeology + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_pac_hydrogeology") +@EqualsAndHashCode(callSuper = false) +public class BpachydrogeologyEntity extends BaseGeoEntity { + private static final long serialVersionUID = 12533111037934716L; + + private String pac; + + private String name; + + private String gb; + + private String materiname; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + public BpachydrogeologyEntity() { + } + + public String getPac() { + return pac; + } + + public void setPac(String pac) { + this.pac = pac; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMateriname() { + return materiname; + } + + public void setMateriname(String materiname) { + this.materiname = materiname; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/BpacmarinemeteorologicalEntity.java b/src/main/java/com/lf/server/entity/bd/BpacmarinemeteorologicalEntity.java new file mode 100644 index 0000000..01a5178 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/BpacmarinemeteorologicalEntity.java @@ -0,0 +1,105 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bpacmarinemeteorological + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_pac_marine_meteorological") +@EqualsAndHashCode(callSuper = false) +public class BpacmarinemeteorologicalEntity extends BaseGeoEntity { + private static final long serialVersionUID = 12533111037934716L; + + private String pac; + + private String name; + + private String gb; + + private String materiname; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + public BpacmarinemeteorologicalEntity() { + } + + public String getPac() { + return pac; + } + + public void setPac(String pac) { + this.pac = pac; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMateriname() { + return materiname; + } + + public void setMateriname(String materiname) { + this.materiname = materiname; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/BpacmarinemeteorologicalattachEntity.java b/src/main/java/com/lf/server/entity/bd/BpacmarinemeteorologicalattachEntity.java new file mode 100644 index 0000000..9ee3bfa --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/BpacmarinemeteorologicalattachEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bpacmarinemeteorologicalattach + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_pac_marine_meteorological_attach") +@EqualsAndHashCode(callSuper = false) +public class BpacmarinemeteorologicalattachEntity extends BaseEntity { + private static final long serialVersionUID = 12533111037934716L; + + private Long id; + + private String filename; + + private String fileguid; + + private String filesizes; + + private String path; + + private String tabguid; + + private String tab; + + public BpacmarinemeteorologicalattachEntity() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getFilename() { + return filename; + } + + public void setFilename(String filename) { + this.filename = filename; + } + + public String getFileguid() { + return fileguid; + } + + public void setFileguid(String fileguid) { + this.fileguid = fileguid; + } + + public String getFilesizes() { + return filesizes; + } + + public void setFilesizes(String filesizes) { + this.filesizes = filesizes; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getTabguid() { + return tabguid; + } + + public void setTabguid(String tabguid) { + this.tabguid = tabguid; + } + + public String getTab() { + return tab; + } + + public void setTab(String tab) { + this.tab = tab; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/BpacmeteorologicalEntity.java b/src/main/java/com/lf/server/entity/bd/BpacmeteorologicalEntity.java new file mode 100644 index 0000000..520d72a --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/BpacmeteorologicalEntity.java @@ -0,0 +1,105 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bpacmeteorological + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_pac_meteorological") +@EqualsAndHashCode(callSuper = false) +public class BpacmeteorologicalEntity extends BaseGeoEntity { + private static final long serialVersionUID = 12533111037934716L; + + private String pac; + + private String name; + + private String gb; + + private String materiname; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + public BpacmeteorologicalEntity() { + } + + public String getPac() { + return pac; + } + + public void setPac(String pac) { + this.pac = pac; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMateriname() { + return materiname; + } + + public void setMateriname(String materiname) { + this.materiname = materiname; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/BpacmeteorologicalattachEntity.java b/src/main/java/com/lf/server/entity/bd/BpacmeteorologicalattachEntity.java new file mode 100644 index 0000000..61b44bb --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/BpacmeteorologicalattachEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bpacmeteorologicalattach + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_pac_meteorological_attach") +@EqualsAndHashCode(callSuper = false) +public class BpacmeteorologicalattachEntity extends BaseEntity { + private static final long serialVersionUID = 12533111037934716L; + + private Long id; + + private String filename; + + private String fileguid; + + private String filesizes; + + private String path; + + private String tabguid; + + private String tab; + + public BpacmeteorologicalattachEntity() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getFilename() { + return filename; + } + + public void setFilename(String filename) { + this.filename = filename; + } + + public String getFileguid() { + return fileguid; + } + + public void setFileguid(String fileguid) { + this.fileguid = fileguid; + } + + public String getFilesizes() { + return filesizes; + } + + public void setFilesizes(String filesizes) { + this.filesizes = filesizes; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getTabguid() { + return tabguid; + } + + public void setTabguid(String tabguid) { + this.tabguid = tabguid; + } + + public String getTab() { + return tab; + } + + public void setTab(String tab) { + this.tab = tab; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/BpacregionalgeologyEntity.java b/src/main/java/com/lf/server/entity/bd/BpacregionalgeologyEntity.java new file mode 100644 index 0000000..c3c8dcd --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/BpacregionalgeologyEntity.java @@ -0,0 +1,105 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bpacregionalgeology + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_pac_regional_geology") +@EqualsAndHashCode(callSuper = false) +public class BpacregionalgeologyEntity extends BaseGeoEntity { + private static final long serialVersionUID = 12533111037934716L; + + private String pac; + + private String name; + + private String gb; + + private String materiname; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + public BpacregionalgeologyEntity() { + } + + public String getPac() { + return pac; + } + + public void setPac(String pac) { + this.pac = pac; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMateriname() { + return materiname; + } + + public void setMateriname(String materiname) { + this.materiname = materiname; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wannEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wannEntity.java new file mode 100644 index 0000000..d489497 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wannEntity.java @@ -0,0 +1,75 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wann + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_ann") +@EqualsAndHashCode(callSuper = false) +public class Brg20wannEntity extends BaseGeoEntity { + private static final long serialVersionUID = 12533111037934716L; + + private String chfcac; + + private String ann; + + private String expression; + + private String plfs; + + private String m2sLegend; + + public Brg20wannEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } + + public String getExpression() { + return expression; + } + + public void setExpression(String expression) { + this.expression = expression; + } + + public String getPlfs() { + return plfs; + } + + public void setPlfs(String plfs) { + this.plfs = plfs; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wannaEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wannaEntity.java new file mode 100644 index 0000000..78261e8 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wannaEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wanna + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_anna") +@EqualsAndHashCode(callSuper = false) +public class Brg20wannaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 12533111037934716L; + + private String chfcac; + + private String ann; + + private String expression; + + private String plfs; + + private String m2sLegend; + + private String anngroup; + + public Brg20wannaEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } + + public String getExpression() { + return expression; + } + + public void setExpression(String expression) { + this.expression = expression; + } + + public String getPlfs() { + return plfs; + } + + public void setPlfs(String plfs) { + this.plfs = plfs; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnngroup() { + return anngroup; + } + + public void setAnngroup(String anngroup) { + this.anngroup = anngroup; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wboundEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wboundEntity.java new file mode 100644 index 0000000..b6b865a --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wboundEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wbound + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_bound") +@EqualsAndHashCode(callSuper = false) +public class Brg20wboundEntity extends BaseGeoEntity { + private static final long serialVersionUID = 12533111037934716L; + + private String chfcac; + + private String m2sLegend; + + private BigDecimal perimeter; + + private BigDecimal area; + + public Brg20wboundEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public BigDecimal getPerimeter() { + return perimeter; + } + + public void setPerimeter(BigDecimal perimeter) { + this.perimeter = perimeter; + } + + public BigDecimal getArea() { + return area; + } + + public void setArea(BigDecimal area) { + this.area = area; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd01bEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd01bEntity.java new file mode 100644 index 0000000..cabd585 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd01bEntity.java @@ -0,0 +1,195 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd01b + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d01b") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd01bEntity extends BaseGeoEntity { + private static final long serialVersionUID = 12533111037934716L; + + private String chfcac; + + private String dsn; + + private String dso; + + private String dsp; + + private String yszh; + + private String yseb; + + private String yshb; + + private String ysc; + + private String ysd; + + private String ykbie; + + private String ykbic; + + private String gsaf; + + private String kwbfn; + + private String kcaam; + + private BigDecimal qdfcf; + + private String kcc; + + private String m2sLegend; + + public Brg20wd01bEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getDsn() { + return dsn; + } + + public void setDsn(String dsn) { + this.dsn = dsn; + } + + public String getDso() { + return dso; + } + + public void setDso(String dso) { + this.dso = dso; + } + + public String getDsp() { + return dsp; + } + + public void setDsp(String dsp) { + this.dsp = dsp; + } + + public String getYszh() { + return yszh; + } + + public void setYszh(String yszh) { + this.yszh = yszh; + } + + public String getYseb() { + return yseb; + } + + public void setYseb(String yseb) { + this.yseb = yseb; + } + + public String getYshb() { + return yshb; + } + + public void setYshb(String yshb) { + this.yshb = yshb; + } + + public String getYsc() { + return ysc; + } + + public void setYsc(String ysc) { + this.ysc = ysc; + } + + public String getYsd() { + return ysd; + } + + public void setYsd(String ysd) { + this.ysd = ysd; + } + + public String getYkbie() { + return ykbie; + } + + public void setYkbie(String ykbie) { + this.ykbie = ykbie; + } + + public String getYkbic() { + return ykbic; + } + + public void setYkbic(String ykbic) { + this.ykbic = ykbic; + } + + public String getGsaf() { + return gsaf; + } + + public void setGsaf(String gsaf) { + this.gsaf = gsaf; + } + + public String getKwbfn() { + return kwbfn; + } + + public void setKwbfn(String kwbfn) { + this.kwbfn = kwbfn; + } + + public String getKcaam() { + return kcaam; + } + + public void setKcaam(String kcaam) { + this.kcaam = kcaam; + } + + public BigDecimal getQdfcf() { + return qdfcf; + } + + public void setQdfcf(BigDecimal qdfcf) { + this.qdfcf = qdfcf; + } + + public String getKcc() { + return kcc; + } + + public void setKcc(String kcc) { + this.kcc = kcc; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd01dEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd01dEntity.java new file mode 100644 index 0000000..d7fcbeb --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd01dEntity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd01d + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d01d") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd01dEntity extends BaseGeoEntity { + private static final long serialVersionUID = 12533111037934716L; + + private String chfcac; + + private String dsn; + + private String dso; + + private String yseb; + + private String yshb; + + private String ysc; + + private String ysd; + + private String gsaf; + + private BigDecimal qdfcf; + + private String kcc; + + private String m2sLegend; + + public Brg20wd01dEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getDsn() { + return dsn; + } + + public void setDsn(String dsn) { + this.dsn = dsn; + } + + public String getDso() { + return dso; + } + + public void setDso(String dso) { + this.dso = dso; + } + + public String getYseb() { + return yseb; + } + + public void setYseb(String yseb) { + this.yseb = yseb; + } + + public String getYshb() { + return yshb; + } + + public void setYshb(String yshb) { + this.yshb = yshb; + } + + public String getYsc() { + return ysc; + } + + public void setYsc(String ysc) { + this.ysc = ysc; + } + + public String getYsd() { + return ysd; + } + + public void setYsd(String ysd) { + this.ysd = ysd; + } + + public String getGsaf() { + return gsaf; + } + + public void setGsaf(String gsaf) { + this.gsaf = gsaf; + } + + public BigDecimal getQdfcf() { + return qdfcf; + } + + public void setQdfcf(BigDecimal qdfcf) { + this.qdfcf = qdfcf; + } + + public String getKcc() { + return kcc; + } + + public void setKcc(String kcc) { + this.kcc = kcc; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd01jEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd01jEntity.java new file mode 100644 index 0000000..afb93ef --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd01jEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd01j + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d01j") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd01jEntity extends BaseGeoEntity { + private static final long serialVersionUID = 12533111037934716L; + + private String chfcac; + + private String gzbd; + + private String m2sLegend; + + public Brg20wd01jEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getGzbd() { + return gzbd; + } + + public void setGzbd(String gzbd) { + this.gzbd = gzbd; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd02hEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd02hEntity.java new file mode 100644 index 0000000..efecc15 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd02hEntity.java @@ -0,0 +1,75 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd02h + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d02h") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd02hEntity extends BaseGeoEntity { + private static final long serialVersionUID = 12533111037934716L; + + private String chfcac; + + private String dso; + + private String yseb; + + private String hsfb; + + private String m2sLegend; + + public Brg20wd02hEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getDso() { + return dso; + } + + public void setDso(String dso) { + this.dso = dso; + } + + public String getYseb() { + return yseb; + } + + public void setYseb(String yseb) { + this.yseb = yseb; + } + + public String getHsfb() { + return hsfb; + } + + public void setHsfb(String hsfb) { + this.hsfb = hsfb; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd03dEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd03dEntity.java new file mode 100644 index 0000000..e716e6c --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd03dEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd03d + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d03d") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd03dEntity extends BaseGeoEntity { + private static final long serialVersionUID = 12533111037934716L; + + private String chfcac; + + private String dso; + + private String yseb; + + private String ysah; + + private String kcc; + + private String m2sLegend; + + public Brg20wd03dEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getDso() { + return dso; + } + + public void setDso(String dso) { + this.dso = dso; + } + + public String getYseb() { + return yseb; + } + + public void setYseb(String yseb) { + this.yseb = yseb; + } + + public String getYsah() { + return ysah; + } + + public void setYsah(String ysah) { + this.ysah = ysah; + } + + public String getKcc() { + return kcc; + } + + public void setKcc(String kcc) { + this.kcc = kcc; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd04nEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd04nEntity.java new file mode 100644 index 0000000..fc33349 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd04nEntity.java @@ -0,0 +1,175 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd04n + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d04n") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd04nEntity extends BaseGeoEntity { + private static final long serialVersionUID = 12533111037934716L; + + private String chfcac; + + private String pkiaa; + + private String qdhn; + + private String qdhah; + + private String ysea; + + private String qdhd; + + private String yseb; + + private String yshb; + + private String ysc; + + private String ysd; + + private String ysja; + + private String qdho; + + private String qdhx; + + private String kcc; + + private String m2sLegend; + + public Brg20wd04nEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getPkiaa() { + return pkiaa; + } + + public void setPkiaa(String pkiaa) { + this.pkiaa = pkiaa; + } + + public String getQdhn() { + return qdhn; + } + + public void setQdhn(String qdhn) { + this.qdhn = qdhn; + } + + public String getQdhah() { + return qdhah; + } + + public void setQdhah(String qdhah) { + this.qdhah = qdhah; + } + + public String getYsea() { + return ysea; + } + + public void setYsea(String ysea) { + this.ysea = ysea; + } + + public String getQdhd() { + return qdhd; + } + + public void setQdhd(String qdhd) { + this.qdhd = qdhd; + } + + public String getYseb() { + return yseb; + } + + public void setYseb(String yseb) { + this.yseb = yseb; + } + + public String getYshb() { + return yshb; + } + + public void setYshb(String yshb) { + this.yshb = yshb; + } + + public String getYsc() { + return ysc; + } + + public void setYsc(String ysc) { + this.ysc = ysc; + } + + public String getYsd() { + return ysd; + } + + public void setYsd(String ysd) { + this.ysd = ysd; + } + + public String getYsja() { + return ysja; + } + + public void setYsja(String ysja) { + this.ysja = ysja; + } + + public String getQdho() { + return qdho; + } + + public void setQdho(String qdho) { + this.qdho = qdho; + } + + public String getQdhx() { + return qdhx; + } + + public void setQdhx(String qdhx) { + this.qdhx = qdhx; + } + + public String getKcc() { + return kcc; + } + + public void setKcc(String kcc) { + this.kcc = kcc; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd04pEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd04pEntity.java new file mode 100644 index 0000000..4ebf78e --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd04pEntity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd04p + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d04p") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd04pEntity extends BaseGeoEntity { + private static final long serialVersionUID = 12533111037934716L; + + private String chfcac; + + private String qdhaa; + + private String qdhab; + + private String qdhac; + + private String qdhaf; + + private String qdhag; + + private String ysea; + + private String yseb; + + private String yshb; + + private String ysc; + + private String ysd; + + private String ysb; + + private String qdhx; + + private String qdho; + + private String kcc; + + private String m2sLegend; + + public Brg20wd04pEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getQdhaa() { + return qdhaa; + } + + public void setQdhaa(String qdhaa) { + this.qdhaa = qdhaa; + } + + public String getQdhab() { + return qdhab; + } + + public void setQdhab(String qdhab) { + this.qdhab = qdhab; + } + + public String getQdhac() { + return qdhac; + } + + public void setQdhac(String qdhac) { + this.qdhac = qdhac; + } + + public String getQdhaf() { + return qdhaf; + } + + public void setQdhaf(String qdhaf) { + this.qdhaf = qdhaf; + } + + public String getQdhag() { + return qdhag; + } + + public void setQdhag(String qdhag) { + this.qdhag = qdhag; + } + + public String getYsea() { + return ysea; + } + + public void setYsea(String ysea) { + this.ysea = ysea; + } + + public String getYseb() { + return yseb; + } + + public void setYseb(String yseb) { + this.yseb = yseb; + } + + public String getYshb() { + return yshb; + } + + public void setYshb(String yshb) { + this.yshb = yshb; + } + + public String getYsc() { + return ysc; + } + + public void setYsc(String ysc) { + this.ysc = ysc; + } + + public String getYsd() { + return ysd; + } + + public void setYsd(String ysd) { + this.ysd = ysd; + } + + public String getYsb() { + return ysb; + } + + public void setYsb(String ysb) { + this.ysb = ysb; + } + + public String getQdhx() { + return qdhx; + } + + public void setQdhx(String qdhx) { + this.qdhx = qdhx; + } + + public String getQdho() { + return qdho; + } + + public void setQdho(String qdho) { + this.qdho = qdho; + } + + public String getKcc() { + return kcc; + } + + public void setKcc(String kcc) { + this.kcc = kcc; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd05mEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd05mEntity.java new file mode 100644 index 0000000..248491e --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd05mEntity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd05m + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d05m") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd05mEntity extends BaseGeoEntity { + private static final long serialVersionUID = 12533111037934716L; + + private String chfcac; + + private String ysea; + + private String yseb; + + private String yseage; + + private String yshb; + + private String ysc; + + private String ysd; + + private String qdho; + + private String kcc; + + private String m2sLegend; + + public Brg20wd05mEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getYsea() { + return ysea; + } + + public void setYsea(String ysea) { + this.ysea = ysea; + } + + public String getYseb() { + return yseb; + } + + public void setYseb(String yseb) { + this.yseb = yseb; + } + + public String getYseage() { + return yseage; + } + + public void setYseage(String yseage) { + this.yseage = yseage; + } + + public String getYshb() { + return yshb; + } + + public void setYshb(String yshb) { + this.yshb = yshb; + } + + public String getYsc() { + return ysc; + } + + public void setYsc(String ysc) { + this.ysc = ysc; + } + + public String getYsd() { + return ysd; + } + + public void setYsd(String ysd) { + this.ysd = ysd; + } + + public String getQdho() { + return qdho; + } + + public void setQdho(String qdho) { + this.qdho = qdho; + } + + public String getKcc() { + return kcc; + } + + public void setKcc(String kcc) { + this.kcc = kcc; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd06sEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd06sEntity.java new file mode 100644 index 0000000..cbf6490 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd06sEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd06s + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d06s") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd06sEntity extends BaseGeoEntity { + private static final long serialVersionUID = 12533111037934716L; + + private String chfcac; + + private String kcaj; + + private String kwbh; + + private String m2sLegend; + + public Brg20wd06sEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getKcaj() { + return kcaj; + } + + public void setKcaj(String kcaj) { + this.kcaj = kcaj; + } + + public String getKwbh() { + return kwbh; + } + + public void setKwbh(String kwbh) { + this.kwbh = kwbh; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd07bEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd07bEntity.java new file mode 100644 index 0000000..fe15a8c --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd07bEntity.java @@ -0,0 +1,115 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd07b + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d07b") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd07bEntity extends BaseGeoEntity { + private static final long serialVersionUID = 12533111037934716L; + + private String chfcac; + + private String ysva; + + private String yswa; + + private String yswe; + + private String ysx; + + private String kwbed; + + private String ysvc; + + private String ysvd; + + private String m2sLegend; + + public Brg20wd07bEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getYsva() { + return ysva; + } + + public void setYsva(String ysva) { + this.ysva = ysva; + } + + public String getYswa() { + return yswa; + } + + public void setYswa(String yswa) { + this.yswa = yswa; + } + + public String getYswe() { + return yswe; + } + + public void setYswe(String yswe) { + this.yswe = yswe; + } + + public String getYsx() { + return ysx; + } + + public void setYsx(String ysx) { + this.ysx = ysx; + } + + public String getKwbed() { + return kwbed; + } + + public void setKwbed(String kwbed) { + this.kwbed = kwbed; + } + + public String getYsvc() { + return ysvc; + } + + public void setYsvc(String ysvc) { + this.ysvc = ysvc; + } + + public String getYsvd() { + return ysvd; + } + + public void setYsvd(String ysvd) { + this.ysvd = ysvd; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd07hEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd07hEntity.java new file mode 100644 index 0000000..8e07695 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd07hEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd07h + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d07h") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd07hEntity extends BaseGeoEntity { + private static final long serialVersionUID = 12533111037934716L; + + private String chfcac; + + private String qdimc; + + private String yseb; + + private String yshb; + + private String ysc; + + private String ysd; + + private String m2sLegend; + + public Brg20wd07hEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getQdimc() { + return qdimc; + } + + public void setQdimc(String qdimc) { + this.qdimc = qdimc; + } + + public String getYseb() { + return yseb; + } + + public void setYseb(String yseb) { + this.yseb = yseb; + } + + public String getYshb() { + return yshb; + } + + public void setYshb(String yshb) { + this.yshb = yshb; + } + + public String getYsc() { + return ysc; + } + + public void setYsc(String ysc) { + this.ysc = ysc; + } + + public String getYsd() { + return ysd; + } + + public void setYsd(String ysd) { + this.ysd = ysd; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd08dEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd08dEntity.java new file mode 100644 index 0000000..1cab06c --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd08dEntity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd08d + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d08d") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd08dEntity extends BaseGeoEntity { + private static final long serialVersionUID = 12533111037934716L; + + private String chfcac; + + private String gzee; + + private String gzeab; + + private String gzeca; + + private String gzecd; + + private String gzece; + + private String gzegbn; + + private String gzeha; + + private String gzek; + + private String m2sLegend; + + public Brg20wd08dEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getGzee() { + return gzee; + } + + public void setGzee(String gzee) { + this.gzee = gzee; + } + + public String getGzeab() { + return gzeab; + } + + public void setGzeab(String gzeab) { + this.gzeab = gzeab; + } + + public String getGzeca() { + return gzeca; + } + + public void setGzeca(String gzeca) { + this.gzeca = gzeca; + } + + public String getGzecd() { + return gzecd; + } + + public void setGzecd(String gzecd) { + this.gzecd = gzecd; + } + + public String getGzece() { + return gzece; + } + + public void setGzece(String gzece) { + this.gzece = gzece; + } + + public String getGzegbn() { + return gzegbn; + } + + public void setGzegbn(String gzegbn) { + this.gzegbn = gzegbn; + } + + public String getGzeha() { + return gzeha; + } + + public void setGzeha(String gzeha) { + this.gzeha = gzeha; + } + + public String getGzek() { + return gzek; + } + + public void setGzek(String gzek) { + this.gzek = gzek; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd09gEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd09gEntity.java new file mode 100644 index 0000000..9a58779 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd09gEntity.java @@ -0,0 +1,115 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd09g + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d09g") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd09gEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chfcac; + + private String gzci; + + private String gzeha; + + private String kwbeh; + + private String gzmf; + + private String gzse; + + private String gzafj; + + private String kcc; + + private String m2sLegend; + + public Brg20wd09gEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getGzci() { + return gzci; + } + + public void setGzci(String gzci) { + this.gzci = gzci; + } + + public String getGzeha() { + return gzeha; + } + + public void setGzeha(String gzeha) { + this.gzeha = gzeha; + } + + public String getKwbeh() { + return kwbeh; + } + + public void setKwbeh(String kwbeh) { + this.kwbeh = kwbeh; + } + + public String getGzmf() { + return gzmf; + } + + public void setGzmf(String gzmf) { + this.gzmf = gzmf; + } + + public String getGzse() { + return gzse; + } + + public void setGzse(String gzse) { + this.gzse = gzse; + } + + public String getGzafj() { + return gzafj; + } + + public void setGzafj(String gzafj) { + this.gzafj = gzafj; + } + + public String getKcc() { + return kcc; + } + + public void setKcc(String kcc) { + this.kcc = kcc; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd11kEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd11kEntity.java new file mode 100644 index 0000000..ce6ca0e --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd11kEntity.java @@ -0,0 +1,175 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd11k + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d11k") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd11kEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chfcac; + + private String jjdaj; + + private String kcc; + + private String kcaaw; + + private String kcaai; + + private String kcaah; + + private String kcba; + + private String pkgki; + + private String pkgkb; + + private String pkgkpl; + + private String pkcdd; + + private String hxgah; + + private String kcaoc; + + private String pkd; + + private String m2sLegend; + + public Brg20wd11kEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getJjdaj() { + return jjdaj; + } + + public void setJjdaj(String jjdaj) { + this.jjdaj = jjdaj; + } + + public String getKcc() { + return kcc; + } + + public void setKcc(String kcc) { + this.kcc = kcc; + } + + public String getKcaaw() { + return kcaaw; + } + + public void setKcaaw(String kcaaw) { + this.kcaaw = kcaaw; + } + + public String getKcaai() { + return kcaai; + } + + public void setKcaai(String kcaai) { + this.kcaai = kcaai; + } + + public String getKcaah() { + return kcaah; + } + + public void setKcaah(String kcaah) { + this.kcaah = kcaah; + } + + public String getKcba() { + return kcba; + } + + public void setKcba(String kcba) { + this.kcba = kcba; + } + + public String getPkgki() { + return pkgki; + } + + public void setPkgki(String pkgki) { + this.pkgki = pkgki; + } + + public String getPkgkb() { + return pkgkb; + } + + public void setPkgkb(String pkgkb) { + this.pkgkb = pkgkb; + } + + public String getPkgkpl() { + return pkgkpl; + } + + public void setPkgkpl(String pkgkpl) { + this.pkgkpl = pkgkpl; + } + + public String getPkcdd() { + return pkcdd; + } + + public void setPkcdd(String pkcdd) { + this.pkcdd = pkcdd; + } + + public String getHxgah() { + return hxgah; + } + + public void setHxgah(String hxgah) { + this.hxgah = hxgah; + } + + public String getKcaoc() { + return kcaoc; + } + + public void setKcaoc(String kcaoc) { + this.kcaoc = kcaoc; + } + + public String getPkd() { + return pkd; + } + + public void setPkd(String pkd) { + this.pkd = pkd; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd12cEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd12cEntity.java new file mode 100644 index 0000000..0cb4a83 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd12cEntity.java @@ -0,0 +1,75 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd12c + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d12c") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd12cEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chfcac; + + private String gzbbga; + + private String gzbbac; + + private String gzbbad; + + private String m2sLegend; + + public Brg20wd12cEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getGzbbga() { + return gzbbga; + } + + public void setGzbbga(String gzbbga) { + this.gzbbga = gzbbga; + } + + public String getGzbbac() { + return gzbbac; + } + + public void setGzbbac(String gzbbac) { + this.gzbbac = gzbbac; + } + + public String getGzbbad() { + return gzbbad; + } + + public void setGzbbad(String gzbbad) { + this.gzbbad = gzbbad; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd13hEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd13hEntity.java new file mode 100644 index 0000000..e9bc943 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd13hEntity.java @@ -0,0 +1,75 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd13h + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d13h") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd13hEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chfcac; + + private String gsab; + + private String dsb; + + private String dso; + + private String m2sLegend; + + public Brg20wd13hEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getGsab() { + return gsab; + } + + public void setGsab(String gsab) { + this.gsab = gsab; + } + + public String getDsb() { + return dsb; + } + + public void setDsb(String dsb) { + this.dsb = dsb; + } + + public String getDso() { + return dso; + } + + public void setDso(String dso) { + this.dso = dso; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd13kEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd13kEntity.java new file mode 100644 index 0000000..eda4ce0 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd13kEntity.java @@ -0,0 +1,105 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd13k + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d13k") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd13kEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chfcac; + + private String gcjcbo; + + private String gcjcbn; + + private String tkaa; + + private BigDecimal qdfcf; + + private BigDecimal tkacca; + + private String kcc; + + private String m2sLegend; + + public Brg20wd13kEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getGcjcbo() { + return gcjcbo; + } + + public void setGcjcbo(String gcjcbo) { + this.gcjcbo = gcjcbo; + } + + public String getGcjcbn() { + return gcjcbn; + } + + public void setGcjcbn(String gcjcbn) { + this.gcjcbn = gcjcbn; + } + + public String getTkaa() { + return tkaa; + } + + public void setTkaa(String tkaa) { + this.tkaa = tkaa; + } + + public BigDecimal getQdfcf() { + return qdfcf; + } + + public void setQdfcf(BigDecimal qdfcf) { + this.qdfcf = qdfcf; + } + + public BigDecimal getTkacca() { + return tkacca; + } + + public void setTkacca(BigDecimal tkacca) { + this.tkacca = tkacca; + } + + public String getKcc() { + return kcc; + } + + public void setKcc(String kcc) { + this.kcc = kcc; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd13pEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd13pEntity.java new file mode 100644 index 0000000..ecb79da --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd13pEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd13p + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d13p") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd13pEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chfcac; + + private String qdygk; + + private String qdygm; + + private String qdygl; + + private String qdygd; + + private String m2sLegend; + + public Brg20wd13pEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getQdygk() { + return qdygk; + } + + public void setQdygk(String qdygk) { + this.qdygk = qdygk; + } + + public String getQdygm() { + return qdygm; + } + + public void setQdygm(String qdygm) { + this.qdygm = qdygm; + } + + public String getQdygl() { + return qdygl; + } + + public void setQdygl(String qdygl) { + this.qdygl = qdygl; + } + + public String getQdygd() { + return qdygd; + } + + public void setQdygd(String qdygd) { + this.qdygd = qdygd; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd13qEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd13qEntity.java new file mode 100644 index 0000000..0f56d6c --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd13qEntity.java @@ -0,0 +1,75 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd13q + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d13q") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd13qEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chfcac; + + private String swbgad; + + private String swbgaf; + + private String swbgao; + + private String m2sLegend; + + public Brg20wd13qEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getSwbgad() { + return swbgad; + } + + public void setSwbgad(String swbgad) { + this.swbgad = swbgad; + } + + public String getSwbgaf() { + return swbgaf; + } + + public void setSwbgaf(String swbgaf) { + this.swbgaf = swbgaf; + } + + public String getSwbgao() { + return swbgao; + } + + public void setSwbgao(String swbgao) { + this.swbgao = swbgao; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd13sEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd13sEntity.java new file mode 100644 index 0000000..19512e4 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd13sEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd13s + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d13s") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd13sEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chfcac; + + private String hsde; + + private String hsdi; + + private String m2sLegend; + + public Brg20wd13sEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getHsde() { + return hsde; + } + + public void setHsde(String hsde) { + this.hsde = hsde; + } + + public String getHsdi() { + return hsdi; + } + + public void setHsdi(String hsdi) { + this.hsdi = hsdi; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wd13tEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wd13tEntity.java new file mode 100644 index 0000000..53ed294 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wd13tEntity.java @@ -0,0 +1,105 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wd13t + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_d13t") +@EqualsAndHashCode(callSuper = false) +public class Brg20wd13tEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chfcac; + + private String pkhfb; + + private String hxgie; + + private String dhbia; + + private String dhbhab; + + private String hxgg; + + private String hxgb; + + private String m2sLegend; + + public Brg20wd13tEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getPkhfb() { + return pkhfb; + } + + public void setPkhfb(String pkhfb) { + this.pkhfb = pkhfb; + } + + public String getHxgie() { + return hxgie; + } + + public void setHxgie(String hxgie) { + this.hxgie = hxgie; + } + + public String getDhbia() { + return dhbia; + } + + public void setDhbia(String dhbia) { + this.dhbia = dhbia; + } + + public String getDhbhab() { + return dhbhab; + } + + public void setDhbhab(String dhbhab) { + this.dhbhab = dhbhab; + } + + public String getHxgg() { + return hxgg; + } + + public void setHxgg(String hxgg) { + this.hxgg = hxgg; + } + + public String getHxgb() { + return hxgb; + } + + public void setHxgb(String hxgb) { + this.hxgb = hxgb; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wl01jEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wl01jEntity.java new file mode 100644 index 0000000..f64392e --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wl01jEntity.java @@ -0,0 +1,205 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wl01j + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_l01j") +@EqualsAndHashCode(callSuper = false) +public class Brg20wl01jEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chamac; + + private String chamaa; + + private String chamdb; + + private String chag; + + private String chai; + + private String ddaebe; + + private String ddaebf; + + private String ddaebg; + + private String ddaebh; + + private String qdaq; + + private String qdae; + + private String qdygg; + + private String qdyh; + + private String qdaf; + + private String ddaeed; + + private String pkigj; + + private String sdafaf; + + private String m2sLegend; + + public Brg20wl01jEntity() { + } + + public String getChamac() { + return chamac; + } + + public void setChamac(String chamac) { + this.chamac = chamac; + } + + public String getChamaa() { + return chamaa; + } + + public void setChamaa(String chamaa) { + this.chamaa = chamaa; + } + + public String getChamdb() { + return chamdb; + } + + public void setChamdb(String chamdb) { + this.chamdb = chamdb; + } + + public String getChag() { + return chag; + } + + public void setChag(String chag) { + this.chag = chag; + } + + public String getChai() { + return chai; + } + + public void setChai(String chai) { + this.chai = chai; + } + + public String getDdaebe() { + return ddaebe; + } + + public void setDdaebe(String ddaebe) { + this.ddaebe = ddaebe; + } + + public String getDdaebf() { + return ddaebf; + } + + public void setDdaebf(String ddaebf) { + this.ddaebf = ddaebf; + } + + public String getDdaebg() { + return ddaebg; + } + + public void setDdaebg(String ddaebg) { + this.ddaebg = ddaebg; + } + + public String getDdaebh() { + return ddaebh; + } + + public void setDdaebh(String ddaebh) { + this.ddaebh = ddaebh; + } + + public String getQdaq() { + return qdaq; + } + + public void setQdaq(String qdaq) { + this.qdaq = qdaq; + } + + public String getQdae() { + return qdae; + } + + public void setQdae(String qdae) { + this.qdae = qdae; + } + + public String getQdygg() { + return qdygg; + } + + public void setQdygg(String qdygg) { + this.qdygg = qdygg; + } + + public String getQdyh() { + return qdyh; + } + + public void setQdyh(String qdyh) { + this.qdyh = qdyh; + } + + public String getQdaf() { + return qdaf; + } + + public void setQdaf(String qdaf) { + this.qdaf = qdaf; + } + + public String getDdaeed() { + return ddaeed; + } + + public void setDdaeed(String ddaeed) { + this.ddaeed = ddaeed; + } + + public String getPkigj() { + return pkigj; + } + + public void setPkigj(String pkigj) { + this.pkigj = pkigj; + } + + public String getSdafaf() { + return sdafaf; + } + + public void setSdafaf(String sdafaf) { + this.sdafaf = sdafaf; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wl01tEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wl01tEntity.java new file mode 100644 index 0000000..391de7c --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wl01tEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wl01t + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_l01t") +@EqualsAndHashCode(callSuper = false) +public class Brg20wl01tEntity extends BaseEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String m2sLegend; + + private String idtic; + + private BigDecimal xtic; + + private BigDecimal ytic; + + public Brg20wl01tEntity() { + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getIdtic() { + return idtic; + } + + public void setIdtic(String idtic) { + this.idtic = idtic; + } + + public BigDecimal getXtic() { + return xtic; + } + + public void setXtic(BigDecimal xtic) { + this.xtic = xtic; + } + + public BigDecimal getYtic() { + return ytic; + } + + public void setYtic(BigDecimal ytic) { + this.ytic = ytic; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wl02hEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wl02hEntity.java new file mode 100644 index 0000000..b589f9f --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wl02hEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wl02h + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_l02h") +@EqualsAndHashCode(callSuper = false) +public class Brg20wl02hEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chfcac; + + private String chfcaa; + + private String chfcad; + + private String m2sLegend; + + public Brg20wl02hEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcaa() { + return chfcaa; + } + + public void setChfcaa(String chfcaa) { + this.chfcaa = chfcaa; + } + + public String getChfcad() { + return chfcad; + } + + public void setChfcad(String chfcad) { + this.chfcad = chfcad; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wl02sEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wl02sEntity.java new file mode 100644 index 0000000..61b5771 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wl02sEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wl02s + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_l02s") +@EqualsAndHashCode(callSuper = false) +public class Brg20wl02sEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chfcac; + + private String chfcaa; + + private String chfcad; + + private String m2sLegend; + + public Brg20wl02sEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcaa() { + return chfcaa; + } + + public void setChfcaa(String chfcaa) { + this.chfcaa = chfcaa; + } + + public String getChfcad() { + return chfcad; + } + + public void setChfcad(String chfcad) { + this.chfcad = chfcad; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wl03jEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wl03jEntity.java new file mode 100644 index 0000000..4b484ac --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wl03jEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wl03j + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_l03j") +@EqualsAndHashCode(callSuper = false) +public class Brg20wl03jEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chfcac; + + private String chfcaa; + + private String chfcad; + + private String m2sLegend; + + public Brg20wl03jEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcaa() { + return chfcaa; + } + + public void setChfcaa(String chfcaa) { + this.chfcaa = chfcaa; + } + + public String getChfcad() { + return chfcad; + } + + public void setChfcad(String chfcad) { + this.chfcad = chfcad; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wl04jEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wl04jEntity.java new file mode 100644 index 0000000..62fb5ee --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wl04jEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wl04j + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_l04j") +@EqualsAndHashCode(callSuper = false) +public class Brg20wl04jEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chfcac; + + private String chfcaa; + + private String chfcad; + + private String m2sLegend; + + public Brg20wl04jEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcaa() { + return chfcaa; + } + + public void setChfcaa(String chfcaa) { + this.chfcaa = chfcaa; + } + + public String getChfcad() { + return chfcad; + } + + public void setChfcad(String chfcad) { + this.chfcad = chfcad; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wl05jEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wl05jEntity.java new file mode 100644 index 0000000..4e4b762 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wl05jEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wl05j + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_l05j") +@EqualsAndHashCode(callSuper = false) +public class Brg20wl05jEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chfcac; + + private String chfcaa; + + private String chfcad; + + private String m2sLegend; + + public Brg20wl05jEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcaa() { + return chfcaa; + } + + public void setChfcaa(String chfcaa) { + this.chfcaa = chfcaa; + } + + public String getChfcad() { + return chfcad; + } + + public void setChfcad(String chfcad) { + this.chfcad = chfcad; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wl05xEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wl05xEntity.java new file mode 100644 index 0000000..5a45b58 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wl05xEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wl05x + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_l05x") +@EqualsAndHashCode(callSuper = false) +public class Brg20wl05xEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chfcac; + + private String chfcaa; + + private String chfcad; + + private String m2sLegend; + + public Brg20wl05xEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcaa() { + return chfcaa; + } + + public void setChfcaa(String chfcaa) { + this.chfcaa = chfcaa; + } + + public String getChfcad() { + return chfcad; + } + + public void setChfcad(String chfcad) { + this.chfcad = chfcad; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wl06dEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wl06dEntity.java new file mode 100644 index 0000000..6274963 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wl06dEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wl06d + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_l06d") +@EqualsAndHashCode(callSuper = false) +public class Brg20wl06dEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chfcac; + + private String chfcaa; + + private String m2sLegend; + + private BigDecimal elev; + + public Brg20wl06dEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcaa() { + return chfcaa; + } + + public void setChfcaa(String chfcaa) { + this.chfcaa = chfcaa; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wl06gEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wl06gEntity.java new file mode 100644 index 0000000..5a32b8f --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wl06gEntity.java @@ -0,0 +1,75 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wl06g + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_l06g") +@EqualsAndHashCode(callSuper = false) +public class Brg20wl06gEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chfcac; + + private String chfcaa; + + private String chambc; + + private String m2sLegend; + + private BigDecimal elev; + + public Brg20wl06gEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getChfcaa() { + return chfcaa; + } + + public void setChfcaa(String chfcaa) { + this.chfcaa = chfcaa; + } + + public String getChambc() { + return chambc; + } + + public void setChambc(String chambc) { + this.chambc = chambc; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wwlEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wwlEntity.java new file mode 100644 index 0000000..effb491 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wwlEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wwl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_wl") +@EqualsAndHashCode(callSuper = false) +public class Brg20wwlEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chfcac; + + private BigDecimal perimeter; + + private String m2sLegend; + + private String ann; + + public Brg20wwlEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public BigDecimal getPerimeter() { + return perimeter; + } + + public void setPerimeter(BigDecimal perimeter) { + this.perimeter = perimeter; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getAnn() { + return ann; + } + + public void setAnn(String ann) { + this.ann = ann; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wwpEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wwpEntity.java new file mode 100644 index 0000000..1e2a9b1 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wwpEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wwp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_wp") +@EqualsAndHashCode(callSuper = false) +public class Brg20wwpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chfcac; + + private String m2sLegend; + + private BigDecimal perimeter; + + private BigDecimal area; + + public Brg20wwpEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public BigDecimal getPerimeter() { + return perimeter; + } + + public void setPerimeter(BigDecimal perimeter) { + this.perimeter = perimeter; + } + + public BigDecimal getArea() { + return area; + } + + public void setArea(BigDecimal area) { + this.area = area; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Brg20wwtEntity.java b/src/main/java/com/lf/server/entity/bd/Brg20wwtEntity.java new file mode 100644 index 0000000..7d21639 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Brg20wwtEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Brg20wwt + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.b_rg20w_wt") +@EqualsAndHashCode(callSuper = false) +public class Brg20wwtEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String chfcac; + + private String m2sLegend; + + private String m2sAngle; + + public Brg20wwtEntity() { + } + + public String getChfcac() { + return chfcac; + } + + public void setChfcac(String chfcac) { + this.chfcac = chfcac; + } + + public String getM2sLegend() { + return m2sLegend; + } + + public void setM2sLegend(String m2sLegend) { + this.m2sLegend = m2sLegend; + } + + public String getM2sAngle() { + return m2sAngle; + } + + public void setM2sAngle(String m2sAngle) { + this.m2sAngle = m2sAngle; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100waanpEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100waanpEntity.java new file mode 100644 index 0000000..41da451 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100waanpEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100waanp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_aanp") +@EqualsAndHashCode(callSuper = false) +public class Dlg100waanpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 176153398200940992L; + + private String name; + + private String pinyin; + + private String classes; + + private String maptile; + + public Dlg100waanpEntity() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wagnpEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wagnpEntity.java new file mode 100644 index 0000000..d2dbaaa --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wagnpEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wagnp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_agnp") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wagnpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String name; + + private String pinyin; + + private String classes; + + private String gnid; + + private String townname; + + private String maptile; + + public Dlg100wagnpEntity() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getGnid() { + return gnid; + } + + public void setGnid(String gnid) { + this.gnid = gnid; + } + + public String getTownname() { + return townname; + } + + public void setTownname(String townname) { + this.townname = townname; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wbouaEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wbouaEntity.java new file mode 100644 index 0000000..512b72b --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wbouaEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wboua + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_boua") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wbouaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String pac; + + private String name; + + private String maptile; + + private String gb; + + public Dlg100wbouaEntity() { + } + + public String getPac() { + return pac; + } + + public void setPac(String pac) { + this.pac = pac; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wboulEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wboulEntity.java new file mode 100644 index 0000000..5d8fe7d --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wboulEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wboul + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_boul") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wboulEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String maptile; + + public Dlg100wboulEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wboupEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wboupEntity.java new file mode 100644 index 0000000..f5e8094 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wboupEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wboup + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_boup") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wboupEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String bno; + + private String maptile; + + public Dlg100wboupEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getBno() { + return bno; + } + + public void setBno(String bno) { + this.bno = bno; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wbrgaEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wbrgaEntity.java new file mode 100644 index 0000000..21f3e11 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wbrgaEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wbrga + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_brga") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wbrgaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String name; + + private String maptile; + + public Dlg100wbrgaEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wbrglEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wbrglEntity.java new file mode 100644 index 0000000..6e55fba --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wbrglEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wbrgl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_brgl") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wbrglEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String maptile; + + public Dlg100wbrglEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wbrgpEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wbrgpEntity.java new file mode 100644 index 0000000..a5ef128 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wbrgpEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wbrgp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_brgp") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wbrgpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String name; + + private String maptile; + + public Dlg100wbrgpEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wcptlEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wcptlEntity.java new file mode 100644 index 0000000..0650b10 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wcptlEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wcptl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_cptl") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wcptlEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String maptile; + + public Dlg100wcptlEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wcptpEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wcptpEntity.java new file mode 100644 index 0000000..ac170a7 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wcptpEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wcptp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_cptp") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wcptpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String maptile; + + public Dlg100wcptpEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100whfcaEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100whfcaEntity.java new file mode 100644 index 0000000..50c25ff --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100whfcaEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100whfca + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_hfca") +@EqualsAndHashCode(callSuper = false) +public class Dlg100whfcaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String name; + + private String maptile; + + public Dlg100whfcaEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100whfclEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100whfclEntity.java new file mode 100644 index 0000000..bf03385 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100whfclEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100whfcl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_hfcl") +@EqualsAndHashCode(callSuper = false) +public class Dlg100whfclEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String name; + + private String maptile; + + public Dlg100whfclEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100whfcpEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100whfcpEntity.java new file mode 100644 index 0000000..cc53482 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100whfcpEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100whfcp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_hfcp") +@EqualsAndHashCode(callSuper = false) +public class Dlg100whfcpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String name; + + private String maptile; + + public Dlg100whfcpEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100whydaEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100whydaEntity.java new file mode 100644 index 0000000..142e760 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100whydaEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100whyda + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_hyda") +@EqualsAndHashCode(callSuper = false) +public class Dlg100whydaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String hydc; + + private String name; + + private String vol; + + private String period; + + private String maptile; + + public Dlg100whydaEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getHydc() { + return hydc; + } + + public void setHydc(String hydc) { + this.hydc = hydc; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getVol() { + return vol; + } + + public void setVol(String vol) { + this.vol = vol; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100whydlEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100whydlEntity.java new file mode 100644 index 0000000..1aa4a63 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100whydlEntity.java @@ -0,0 +1,75 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100whydl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_hydl") +@EqualsAndHashCode(callSuper = false) +public class Dlg100whydlEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String hydc; + + private String name; + + private String period; + + private String maptile; + + public Dlg100whydlEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getHydc() { + return hydc; + } + + public void setHydc(String hydc) { + this.hydc = hydc; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100whydpEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100whydpEntity.java new file mode 100644 index 0000000..129ac24 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100whydpEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100whydp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_hydp") +@EqualsAndHashCode(callSuper = false) +public class Dlg100whydpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String name; + + private String angle; + + private String maptile; + + public Dlg100whydpEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getAngle() { + return angle; + } + + public void setAngle(String angle) { + this.angle = angle; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wlfclEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wlfclEntity.java new file mode 100644 index 0000000..99cd99b --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wlfclEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wlfcl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_lfcl") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wlfclEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String name; + + private String maptile; + + public Dlg100wlfclEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wlfcpEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wlfcpEntity.java new file mode 100644 index 0000000..022b0ff --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wlfcpEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wlfcp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_lfcp") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wlfcpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String rn; + + private String name; + + private String period; + + private String brglev; + + private String angle; + + public Dlg100wlfcpEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getRn() { + return rn; + } + + public void setRn(String rn) { + this.rn = rn; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getBrglev() { + return brglev; + } + + public void setBrglev(String brglev) { + this.brglev = brglev; + } + + public String getAngle() { + return angle; + } + + public void setAngle(String angle) { + this.angle = angle; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wlrdlEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wlrdlEntity.java new file mode 100644 index 0000000..43c4a46 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wlrdlEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wlrdl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_lrdl") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wlrdlEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String rn; + + private String name; + + private String rteg; + + private String type; + + private String maptile; + + public Dlg100wlrdlEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getRn() { + return rn; + } + + public void setRn(String rn) { + this.rn = rn; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRteg() { + return rteg; + } + + public void setRteg(String rteg) { + this.rteg = rteg; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wlrrlEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wlrrlEntity.java new file mode 100644 index 0000000..0fe91e1 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wlrrlEntity.java @@ -0,0 +1,75 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wlrrl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_lrrl") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wlrrlEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String rn; + + private String name; + + private String type; + + private String maptile; + + public Dlg100wlrrlEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getRn() { + return rn; + } + + public void setRn(String rn) { + this.rn = rn; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wpiplEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wpiplEntity.java new file mode 100644 index 0000000..e25696b --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wpiplEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wpipl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_pipl") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wpiplEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String maptile; + + private String gb; + + public Dlg100wpiplEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wresaEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wresaEntity.java new file mode 100644 index 0000000..53e0c20 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wresaEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wresa + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_resa") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wresaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String maptile; + + public Dlg100wresaEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wrespEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wrespEntity.java new file mode 100644 index 0000000..71b6ece --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wrespEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wresp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_resp") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wrespEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String maptile; + + private String angle; + + public Dlg100wrespEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getAngle() { + return angle; + } + + public void setAngle(String angle) { + this.angle = angle; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wrfcaEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wrfcaEntity.java new file mode 100644 index 0000000..00fa6f9 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wrfcaEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wrfca + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_rfca") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wrfcaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String name; + + private String maptile; + + public Dlg100wrfcaEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wrfclEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wrfclEntity.java new file mode 100644 index 0000000..719ff15 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wrfclEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wrfcl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_rfcl") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wrfclEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String name; + + private String maptile; + + public Dlg100wrfclEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wrfcpEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wrfcpEntity.java new file mode 100644 index 0000000..2cb0038 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wrfcpEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wrfcp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_rfcp") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wrfcpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 817348371174814464L; + + private String gb; + + private String name; + + private String maptile; + + public Dlg100wrfcpEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wteraEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wteraEntity.java new file mode 100644 index 0000000..3cd91d5 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wteraEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wtera + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_tera") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wteraEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String gb; + + private String maptile; + + public Dlg100wteraEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wterlEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wterlEntity.java new file mode 100644 index 0000000..65df746 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wterlEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wterl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_terl") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wterlEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String gb; + + private BigDecimal elev; + + private String maptile; + + public Dlg100wterlEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wterpEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wterpEntity.java new file mode 100644 index 0000000..877a6e2 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wterpEntity.java @@ -0,0 +1,75 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wterp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_terp") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wterpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String gb; + + private BigDecimal elev; + + private String name; + + private String angle; + + private String maptile; + + public Dlg100wterpEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getAngle() { + return angle; + } + + public void setAngle(String angle) { + this.angle = angle; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wvegaEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wvegaEntity.java new file mode 100644 index 0000000..271017b --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wvegaEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wvega + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_vega") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wvegaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String gb; + + private String type; + + private String maptile; + + public Dlg100wvegaEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg100wvegpEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg100wvegpEntity.java new file mode 100644 index 0000000..47c7563 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg100wvegpEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg100wvegp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_100w_vegp") +@EqualsAndHashCode(callSuper = false) +public class Dlg100wvegpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String gb; + + private String maptile; + + public Dlg100wvegpEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25waanpEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25waanpEntity.java new file mode 100644 index 0000000..0cbf7a9 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25waanpEntity.java @@ -0,0 +1,75 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25waanp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_aanp") +@EqualsAndHashCode(callSuper = false) +public class Dlg25waanpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String gb; + + private String maptile; + + private String classes; + + private String name; + + private String pinyin; + + public Dlg25waanpEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wagnpEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wagnpEntity.java new file mode 100644 index 0000000..a2c0f5e --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wagnpEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wagnp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_agnp") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wagnpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String gb; + + private String name; + + private String townname; + + private String classes; + + private String pinyin; + + private String pac; + + private String maptile; + + public Dlg25wagnpEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getTownname() { + return townname; + } + + public void setTownname(String townname) { + this.townname = townname; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } + + public String getPac() { + return pac; + } + + public void setPac(String pac) { + this.pac = pac; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wbouacEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wbouacEntity.java new file mode 100644 index 0000000..1d0220b --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wbouacEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wbouac + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_boua_c") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wbouacEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String pac; + + private String name; + + private String gb; + + private String maptile; + + public Dlg25wbouacEntity() { + } + + public String getPac() { + return pac; + } + + public void setPac(String pac) { + this.pac = pac; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wbouadEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wbouadEntity.java new file mode 100644 index 0000000..c5ab5ef --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wbouadEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wbouad + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_boua_d") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wbouadEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String pac; + + private String name; + + private String gb; + + private String maptile; + + public Dlg25wbouadEntity() { + } + + public String getPac() { + return pac; + } + + public void setPac(String pac) { + this.pac = pac; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wbouapEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wbouapEntity.java new file mode 100644 index 0000000..fa95fd4 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wbouapEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wbouap + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_boua_p") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wbouapEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String pac; + + private String name; + + private String gb; + + private String maptile; + + public Dlg25wbouapEntity() { + } + + public String getPac() { + return pac; + } + + public void setPac(String pac) { + this.pac = pac; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wboulEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wboulEntity.java new file mode 100644 index 0000000..f1a41fa --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wboulEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wboul + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_boul") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wboulEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String gb; + + private String maptile; + + public Dlg25wboulEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wboupEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wboupEntity.java new file mode 100644 index 0000000..c769742 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wboupEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wboup + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_boup") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wboupEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String bno; + + private String gb; + + private String maptile; + + public Dlg25wboupEntity() { + } + + public String getBno() { + return bno; + } + + public void setBno(String bno) { + this.bno = bno; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wbrgaEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wbrgaEntity.java new file mode 100644 index 0000000..585cee9 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wbrgaEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wbrga + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_brga") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wbrgaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String name; + + private String gb; + + private String maptile; + + public Dlg25wbrgaEntity() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wbrglEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wbrglEntity.java new file mode 100644 index 0000000..6c08099 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wbrglEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wbrgl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_brgl") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wbrglEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String gb; + + private String maptile; + + public Dlg25wbrglEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wbrgpEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wbrgpEntity.java new file mode 100644 index 0000000..3fc0344 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wbrgpEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wbrgp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_brgp") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wbrgpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String name; + + private String gb; + + private String maptile; + + public Dlg25wbrgpEntity() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25whfcaEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25whfcaEntity.java new file mode 100644 index 0000000..810d03d --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25whfcaEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25whfca + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_hfca") +@EqualsAndHashCode(callSuper = false) +public class Dlg25whfcaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String gb; + + private String maptile; + + public Dlg25whfcaEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25whfclEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25whfclEntity.java new file mode 100644 index 0000000..1ef4524 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25whfclEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25whfcl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_hfcl") +@EqualsAndHashCode(callSuper = false) +public class Dlg25whfclEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String gb; + + private String maptile; + + public Dlg25whfclEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25whfcpEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25whfcpEntity.java new file mode 100644 index 0000000..d0df4b3 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25whfcpEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25whfcp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_hfcp") +@EqualsAndHashCode(callSuper = false) +public class Dlg25whfcpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String name; + + private String gb; + + private String maptile; + + public Dlg25whfcpEntity() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25whydaEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25whydaEntity.java new file mode 100644 index 0000000..295cc30 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25whydaEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25whyda + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_hyda") +@EqualsAndHashCode(callSuper = false) +public class Dlg25whydaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String gb; + + private String hydc; + + private String name; + + private String maptile; + + public Dlg25whydaEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getHydc() { + return hydc; + } + + public void setHydc(String hydc) { + this.hydc = hydc; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25whydlEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25whydlEntity.java new file mode 100644 index 0000000..cef7b0e --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25whydlEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25whydl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_hydl") +@EqualsAndHashCode(callSuper = false) +public class Dlg25whydlEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String name; + + private String gb; + + private String maptile; + + public Dlg25whydlEntity() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25whydpEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25whydpEntity.java new file mode 100644 index 0000000..ec95be5 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25whydpEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25whydp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_hydp") +@EqualsAndHashCode(callSuper = false) +public class Dlg25whydpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String name; + + private String angle; + + private String gb; + + private String maptile; + + public Dlg25whydpEntity() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getAngle() { + return angle; + } + + public void setAngle(String angle) { + this.angle = angle; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wlfclEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wlfclEntity.java new file mode 100644 index 0000000..f8d2048 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wlfclEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wlfcl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_lfcl") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wlfclEntity extends BaseGeoEntity { + private static final long serialVersionUID = 980968658337820672L; + + private String gb; + + private String maptile; + + public Dlg25wlfclEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wlfcpEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wlfcpEntity.java new file mode 100644 index 0000000..9e257cf --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wlfcpEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wlfcp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_lfcp") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wlfcpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 622163631311693952L; + + private String rn; + + private String name; + + private String period; + + private String angle; + + private String gb; + + private String maptile; + + public Dlg25wlfcpEntity() { + } + + public String getRn() { + return rn; + } + + public void setRn(String rn) { + this.rn = rn; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getAngle() { + return angle; + } + + public void setAngle(String angle) { + this.angle = angle; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wlrdlEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wlrdlEntity.java new file mode 100644 index 0000000..9d44c86 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wlrdlEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wlrdl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_lrdl") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wlrdlEntity extends BaseGeoEntity { + private static final long serialVersionUID = 622163631311693952L; + + private String rn; + + private String name; + + private String rteg; + + private String type; + + private String gb; + + private String maptile; + + public Dlg25wlrdlEntity() { + } + + public String getRn() { + return rn; + } + + public void setRn(String rn) { + this.rn = rn; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRteg() { + return rteg; + } + + public void setRteg(String rteg) { + this.rteg = rteg; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wlrrlEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wlrrlEntity.java new file mode 100644 index 0000000..5fdbfad --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wlrrlEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wlrrl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_lrrl") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wlrrlEntity extends BaseGeoEntity { + private static final long serialVersionUID = 622163631311693952L; + + private String name; + + private String rn; + + private String gb; + + private String maptile; + + public Dlg25wlrrlEntity() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRn() { + return rn; + } + + public void setRn(String rn) { + this.rn = rn; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wresaEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wresaEntity.java new file mode 100644 index 0000000..5e911e7 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wresaEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wresa + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_resa") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wresaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 622163631311693952L; + + private String gb; + + private String maptile; + + public Dlg25wresaEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wrespEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wrespEntity.java new file mode 100644 index 0000000..1e65a21 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wrespEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wresp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_resp") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wrespEntity extends BaseGeoEntity { + private static final long serialVersionUID = 622163631311693952L; + + private String gb; + + private String maptile; + + public Dlg25wrespEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wrfcaEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wrfcaEntity.java new file mode 100644 index 0000000..8fb221e --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wrfcaEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wrfca + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_rfca") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wrfcaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 622163631311693952L; + + private String gb; + + private String maptile; + + public Dlg25wrfcaEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wrfclEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wrfclEntity.java new file mode 100644 index 0000000..b61b8f3 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wrfclEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wrfcl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_rfcl") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wrfclEntity extends BaseGeoEntity { + private static final long serialVersionUID = 622163631311693952L; + + private String name; + + private String gb; + + private String maptile; + + public Dlg25wrfclEntity() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wrfcpEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wrfcpEntity.java new file mode 100644 index 0000000..15ae932 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wrfcpEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wrfcp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_rfcp") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wrfcpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 622163631311693952L; + + private String name; + + private String gb; + + private String maptile; + + public Dlg25wrfcpEntity() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wteraEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wteraEntity.java new file mode 100644 index 0000000..d4d4a32 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wteraEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wtera + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_tera") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wteraEntity extends BaseGeoEntity { + private static final long serialVersionUID = 622163631311693952L; + + private String gb; + + private String maptile; + + public Dlg25wteraEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wterlEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wterlEntity.java new file mode 100644 index 0000000..89e19b9 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wterlEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wterl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_terl") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wterlEntity extends BaseGeoEntity { + private static final long serialVersionUID = 622163631311693952L; + + private BigDecimal elev; + + private String gb; + + private String maptile; + + public Dlg25wterlEntity() { + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wvegaEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wvegaEntity.java new file mode 100644 index 0000000..eaf421c --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wvegaEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wvega + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_vega") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wvegaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 622163631311693952L; + + private String gb; + + private String maptile; + + public Dlg25wvegaEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/Dlg25wvegpEntity.java b/src/main/java/com/lf/server/entity/bd/Dlg25wvegpEntity.java new file mode 100644 index 0000000..4c4efe7 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/Dlg25wvegpEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg25wvegp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_25w_vegp") +@EqualsAndHashCode(callSuper = false) +public class Dlg25wvegpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 622163631311693952L; + + private String gb; + + private String maptile; + + public Dlg25wvegpEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bd/DlgagnpEntity.java b/src/main/java/com/lf/server/entity/bd/DlgagnpEntity.java new file mode 100644 index 0000000..35863ac --- /dev/null +++ b/src/main/java/com/lf/server/entity/bd/DlgagnpEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgagnp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bd.dlg_agnp") +@EqualsAndHashCode(callSuper = false) +public class DlgagnpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 622163631311693952L; + + private String gb; + + private String name; + + private String classes; + + private String pinyin; + + private String pac; + + private String bsm; + + public DlgagnpEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } + + public String getPac() { + return pac; + } + + public void setPac(String pac) { + this.pac = pac; + } + + public String getBsm() { + return bsm; + } + + public void setBsm(String bsm) { + this.bsm = bsm; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/BsprojectEntity.java b/src/main/java/com/lf/server/entity/bs/BsprojectEntity.java new file mode 100644 index 0000000..ad77376 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/BsprojectEntity.java @@ -0,0 +1,155 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Bsproject + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.bs_project") +@EqualsAndHashCode(callSuper = false) +public class BsprojectEntity extends BaseGeoEntity { + private static final long serialVersionUID = 364080837631635712L; + + private String projname; + + private String projtype; + + private String location; + + private String province; + + private String country; + + private String corpname; + + private String department; + + private String conperiod; + + private String contents; + + private String projstate; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public BsprojectEntity() { + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getProjtype() { + return projtype; + } + + public void setProjtype(String projtype) { + this.projtype = projtype; + } + + public String getLocation() { + return location; + } + + public void setLocation(String location) { + this.location = location; + } + + public String getProvince() { + return province; + } + + public void setProvince(String province) { + this.province = province; + } + + public String getCountry() { + return country; + } + + public void setCountry(String country) { + this.country = country; + } + + public String getCorpname() { + return corpname; + } + + public void setCorpname(String corpname) { + this.corpname = corpname; + } + + public String getDepartment() { + return department; + } + + public void setDepartment(String department) { + this.department = department; + } + + public String getConperiod() { + return conperiod; + } + + public void setConperiod(String conperiod) { + this.conperiod = conperiod; + } + + public String getContents() { + return contents; + } + + public void setContents(String contents) { + this.contents = contents; + } + + public String getProjstate() { + return projstate; + } + + public void setProjstate(String projstate) { + this.projstate = projstate; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1waanpEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1waanpEntity.java new file mode 100644 index 0000000..4ab971b --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1waanpEntity.java @@ -0,0 +1,75 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1waanp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_aanp") +@EqualsAndHashCode(callSuper = false) +public class Dlg1waanpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 364080837631635712L; + + private String maptile; + + private String gb; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg1waanpEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wagnpEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wagnpEntity.java new file mode 100644 index 0000000..781896e --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wagnpEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wagnp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_agnp") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wagnpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 364080837631635712L; + + private String gb; + + private String name; + + private String townname; + + private String classes; + + private String pinyin; + + private String pac; + + private String maptile; + + public Dlg1wagnpEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getTownname() { + return townname; + } + + public void setTownname(String townname) { + this.townname = townname; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } + + public String getPac() { + return pac; + } + + public void setPac(String pac) { + this.pac = pac; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wbouaEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wbouaEntity.java new file mode 100644 index 0000000..8b219d0 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wbouaEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wboua + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_boua") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wbouaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 364080837631635712L; + + private String maptile; + + private String gb; + + private String pac; + + private String name; + + public Dlg1wbouaEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getPac() { + return pac; + } + + public void setPac(String pac) { + this.pac = pac; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wboulEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wboulEntity.java new file mode 100644 index 0000000..715692b --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wboulEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wboul + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_boul") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wboulEntity extends BaseGeoEntity { + private static final long serialVersionUID = 364080837631635712L; + + private String maptile; + + private String gb; + + public Dlg1wboulEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wboupEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wboupEntity.java new file mode 100644 index 0000000..426c587 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wboupEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wboup + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_boup") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wboupEntity extends BaseGeoEntity { + private static final long serialVersionUID = 527701124794642048L; + + private String gb; + + private String bno; + + private String type; + + private String maptile; + + public Dlg1wboupEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getBno() { + return bno; + } + + public void setBno(String bno) { + this.bno = bno; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wcptlEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wcptlEntity.java new file mode 100644 index 0000000..0245f10 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wcptlEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wcptl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_cptl") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wcptlEntity extends BaseGeoEntity { + private static final long serialVersionUID = 527701124794642048L; + + private String maptile; + + private String gb; + + public Dlg1wcptlEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wcptpEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wcptpEntity.java new file mode 100644 index 0000000..f81c9c2 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wcptpEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wcptp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_cptp") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wcptpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 527701124794642048L; + + private String gb; + + private String cno; + + private String name; + + private String tegr; + + private BigDecimal elev; + + private String type; + + private String maptile; + + public Dlg1wcptpEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCno() { + return cno; + } + + public void setCno(String cno) { + this.cno = cno; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getTegr() { + return tegr; + } + + public void setTegr(String tegr) { + this.tegr = tegr; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1whfcaEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1whfcaEntity.java new file mode 100644 index 0000000..cec51f1 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1whfcaEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1whfca + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_hfca") +@EqualsAndHashCode(callSuper = false) +public class Dlg1whfcaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 527701124794642048L; + + private String maptile; + + private String gb; + + private String type; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg1whfcaEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1whfclEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1whfclEntity.java new file mode 100644 index 0000000..30a4b59 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1whfclEntity.java @@ -0,0 +1,115 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1whfcl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_hfcl") +@EqualsAndHashCode(callSuper = false) +public class Dlg1whfclEntity extends BaseGeoEntity { + private static final long serialVersionUID = 527701124794642048L; + + private String maptile; + + private String gb; + + private BigDecimal elev; + + private String material; + + private BigDecimal width; + + private String type; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg1whfclEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getMaterial() { + return material; + } + + public void setMaterial(String material) { + this.material = material; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1whfcpEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1whfcpEntity.java new file mode 100644 index 0000000..96cd7d5 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1whfcpEntity.java @@ -0,0 +1,115 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1whfcp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_hfcp") +@EqualsAndHashCode(callSuper = false) +public class Dlg1whfcpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 527701124794642048L; + + private String maptile; + + private String gb; + + private BigDecimal elev; + + private String material; + + private String type; + + private String angle; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg1whfcpEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getMaterial() { + return material; + } + + public void setMaterial(String material) { + this.material = material; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getAngle() { + return angle; + } + + public void setAngle(String angle) { + this.angle = angle; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1whydaEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1whydaEntity.java new file mode 100644 index 0000000..d290c7b --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1whydaEntity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1whyda + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_hyda") +@EqualsAndHashCode(callSuper = false) +public class Dlg1whydaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 527701124794642048L; + + private String maptile; + + private String gb; + + private String hydc; + + private String vol; + + private String wql; + + private String period; + + private String type; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg1whydaEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getHydc() { + return hydc; + } + + public void setHydc(String hydc) { + this.hydc = hydc; + } + + public String getVol() { + return vol; + } + + public void setVol(String vol) { + this.vol = vol; + } + + public String getWql() { + return wql; + } + + public void setWql(String wql) { + this.wql = wql; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1whydlEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1whydlEntity.java new file mode 100644 index 0000000..21641f5 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1whydlEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1whydl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_hydl") +@EqualsAndHashCode(callSuper = false) +public class Dlg1whydlEntity extends BaseGeoEntity { + private static final long serialVersionUID = 527701124794642048L; + + private String maptile; + + private String gb; + + private String hydc; + + private String period; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg1whydlEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getHydc() { + return hydc; + } + + public void setHydc(String hydc) { + this.hydc = hydc; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1whydpEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1whydpEntity.java new file mode 100644 index 0000000..9052b04 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1whydpEntity.java @@ -0,0 +1,115 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1whydp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_hydp") +@EqualsAndHashCode(callSuper = false) +public class Dlg1whydpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 527701124794642048L; + + private String maptile; + + private String gb; + + private BigDecimal elev; + + private String wql; + + private String type; + + private String angle; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg1whydpEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getWql() { + return wql; + } + + public void setWql(String wql) { + this.wql = wql; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getAngle() { + return angle; + } + + public void setAngle(String angle) { + this.angle = angle; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wlfcaEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wlfcaEntity.java new file mode 100644 index 0000000..384e510 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wlfcaEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wlfca + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_lfca") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wlfcaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 527701124794642048L; + + private String maptile; + + private String gb; + + private String type; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg1wlfcaEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wlfclEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wlfclEntity.java new file mode 100644 index 0000000..e6594a8 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wlfclEntity.java @@ -0,0 +1,115 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wlfcl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_lfcl") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wlfclEntity extends BaseGeoEntity { + private static final long serialVersionUID = 527701124794642048L; + + private String maptile; + + private String gb; + + private BigDecimal width; + + private String period; + + private String type; + + private String name; + + private String classes; + + private String pinyin; + + private BigDecimal weight; + + public Dlg1wlfclEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } + + public BigDecimal getWeight() { + return weight; + } + + public void setWeight(BigDecimal weight) { + this.weight = weight; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wlfcpEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wlfcpEntity.java new file mode 100644 index 0000000..b3658b0 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wlfcpEntity.java @@ -0,0 +1,155 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wlfcp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_lfcp") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wlfcpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 527701124794642048L; + + private String maptile; + + private String gb; + + private BigDecimal elev; + + private String rn; + + private BigDecimal km; + + private String period; + + private String type; + + private String status; + + private String angle; + + private String name; + + private String classes; + + private String pinyin; + + private BigDecimal weight; + + public Dlg1wlfcpEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getRn() { + return rn; + } + + public void setRn(String rn) { + this.rn = rn; + } + + public BigDecimal getKm() { + return km; + } + + public void setKm(BigDecimal km) { + this.km = km; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getAngle() { + return angle; + } + + public void setAngle(String angle) { + this.angle = angle; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } + + public BigDecimal getWeight() { + return weight; + } + + public void setWeight(BigDecimal weight) { + this.weight = weight; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wlrdlEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wlrdlEntity.java new file mode 100644 index 0000000..c03f395 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wlrdlEntity.java @@ -0,0 +1,165 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wlrdl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_lrdl") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wlrdlEntity extends BaseGeoEntity { + private static final long serialVersionUID = 527701124794642048L; + + private String maptile; + + private String gb; + + private String rn; + + private String rdpac; + + private String rteg; + + private String material; + + private String lanes; + + private String sdtf; + + private BigDecimal width; + + private String period; + + private String type; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg1wlrdlEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getRn() { + return rn; + } + + public void setRn(String rn) { + this.rn = rn; + } + + public String getRdpac() { + return rdpac; + } + + public void setRdpac(String rdpac) { + this.rdpac = rdpac; + } + + public String getRteg() { + return rteg; + } + + public void setRteg(String rteg) { + this.rteg = rteg; + } + + public String getMaterial() { + return material; + } + + public void setMaterial(String material) { + this.material = material; + } + + public String getLanes() { + return lanes; + } + + public void setLanes(String lanes) { + this.lanes = lanes; + } + + public String getSdtf() { + return sdtf; + } + + public void setSdtf(String sdtf) { + this.sdtf = sdtf; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wlrrlEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wlrrlEntity.java new file mode 100644 index 0000000..81e4dc3 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wlrrlEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wlrrl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_lrrl") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wlrrlEntity extends BaseGeoEntity { + private static final long serialVersionUID = 527701124794642048L; + + private String gb; + + private String rn; + + private String name; + + private String type; + + private String rteg; + + private String maptile; + + public Dlg1wlrrlEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getRn() { + return rn; + } + + public void setRn(String rn) { + this.rn = rn; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getRteg() { + return rteg; + } + + public void setRteg(String rteg) { + this.rteg = rteg; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wpiplEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wpiplEntity.java new file mode 100644 index 0000000..fc21b24 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wpiplEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wpipl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_pipl") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wpiplEntity extends BaseGeoEntity { + private static final long serialVersionUID = 527701124794642048L; + + private String maptile; + + private String gb; + + private String type; + + private String name; + + private String classes; + + private String pinyin; + + private BigDecimal voltage; + + public Dlg1wpiplEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } + + public BigDecimal getVoltage() { + return voltage; + } + + public void setVoltage(BigDecimal voltage) { + this.voltage = voltage; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wpippEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wpippEntity.java new file mode 100644 index 0000000..455d33a --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wpippEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wpipp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_pipp") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wpippEntity extends BaseGeoEntity { + private static final long serialVersionUID = 527701124794642048L; + + private String maptile; + + private String gb; + + private String angle; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg1wpippEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getAngle() { + return angle; + } + + public void setAngle(String angle) { + this.angle = angle; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wresaEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wresaEntity.java new file mode 100644 index 0000000..0caeeaf --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wresaEntity.java @@ -0,0 +1,75 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wresa + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_resa") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wresaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 168896097768515392L; + + private String maptile; + + private String gb; + + private String period; + + private String type; + + private String status; + + public Dlg1wresaEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wreslEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wreslEntity.java new file mode 100644 index 0000000..8e61048 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wreslEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wresl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_resl") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wreslEntity extends BaseGeoEntity { + private static final long serialVersionUID = 168896097768515392L; + + private String maptile; + + private String gb; + + private String type; + + private String status; + + public Dlg1wreslEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wrespEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wrespEntity.java new file mode 100644 index 0000000..b7d3fcd --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wrespEntity.java @@ -0,0 +1,115 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wresp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_resp") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wrespEntity extends BaseGeoEntity { + private static final long serialVersionUID = 168896097768515392L; + + private String maptile; + + private String gb; + + private String period; + + private String type; + + private String status; + + private String name; + + private String classes; + + private String pinyin; + + private String angle; + + public Dlg1wrespEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } + + public String getAngle() { + return angle; + } + + public void setAngle(String angle) { + this.angle = angle; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wrfcaEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wrfcaEntity.java new file mode 100644 index 0000000..0bcbb40 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wrfcaEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wrfca + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_rfca") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wrfcaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 168896097768515392L; + + private String maptile; + + private String gb; + + private String type; + + private String status; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg1wrfcaEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wrfclEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wrfclEntity.java new file mode 100644 index 0000000..bfc8e62 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wrfclEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wrfcl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_rfcl") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wrfclEntity extends BaseGeoEntity { + private static final long serialVersionUID = 168896097768515392L; + + private String maptile; + + private String gb; + + private String type; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg1wrfclEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wrfcpEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wrfcpEntity.java new file mode 100644 index 0000000..1b5ccf1 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wrfcpEntity.java @@ -0,0 +1,115 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wrfcp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_rfcp") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wrfcpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 168896097768515392L; + + private String maptile; + + private String gb; + + private BigDecimal elev; + + private String type; + + private String status; + + private String angle; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg1wrfcpEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getAngle() { + return angle; + } + + public void setAngle(String angle) { + this.angle = angle; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wteraEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wteraEntity.java new file mode 100644 index 0000000..8cee97e --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wteraEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wtera + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_tera") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wteraEntity extends BaseGeoEntity { + private static final long serialVersionUID = 168896097768515392L; + + private String maptile; + + private String gb; + + private String type; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg1wteraEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wterlEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wterlEntity.java new file mode 100644 index 0000000..cba292c --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wterlEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wterl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_terl") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wterlEntity extends BaseGeoEntity { + private static final long serialVersionUID = 168896097768515392L; + + private String maptile; + + private String gb; + + private BigDecimal elev; + + public Dlg1wterlEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wterpEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wterpEntity.java new file mode 100644 index 0000000..8abf082 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wterpEntity.java @@ -0,0 +1,105 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wterp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_terp") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wterpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 168896097768515392L; + + private String maptile; + + private String gb; + + private BigDecimal elev; + + private String type; + + private String angle; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg1wterpEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getAngle() { + return angle; + } + + public void setAngle(String angle) { + this.angle = angle; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wvegaEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wvegaEntity.java new file mode 100644 index 0000000..85e3e18 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wvegaEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wvega + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_vega") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wvegaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 168896097768515392L; + + private String maptile; + + private String gb; + + private String type; + + private String status; + + public Dlg1wvegaEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wveglEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wveglEntity.java new file mode 100644 index 0000000..c4970e8 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wveglEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wvegl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_vegl") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wveglEntity extends BaseGeoEntity { + private static final long serialVersionUID = 168896097768515392L; + + private String maptile; + + private String gb; + + private String type; + + public Dlg1wveglEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg1wvegpEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg1wvegpEntity.java new file mode 100644 index 0000000..bd18748 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg1wvegpEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg1wvegp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_1w_vegp") +@EqualsAndHashCode(callSuper = false) +public class Dlg1wvegpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 168896097768515392L; + + private String maptile; + + private String gb; + + private String classes; + + public Dlg1wvegpEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5waanpEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5waanpEntity.java new file mode 100644 index 0000000..a571b06 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5waanpEntity.java @@ -0,0 +1,75 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5waanp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_aanp") +@EqualsAndHashCode(callSuper = false) +public class Dlg5waanpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 168896097768515392L; + + private String maptile; + + private String gb; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg5waanpEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wagnpEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wagnpEntity.java new file mode 100644 index 0000000..c2c936d --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wagnpEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wagnp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_agnp") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wagnpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 168896097768515392L; + + private String gb; + + private String name; + + private String townname; + + private String classes; + + private String pinyin; + + private String pac; + + private String maptile; + + public Dlg5wagnpEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getTownname() { + return townname; + } + + public void setTownname(String townname) { + this.townname = townname; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } + + public String getPac() { + return pac; + } + + public void setPac(String pac) { + this.pac = pac; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wbouaEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wbouaEntity.java new file mode 100644 index 0000000..38641d4 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wbouaEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wboua + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_boua") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wbouaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 168896097768515392L; + + private String maptile; + + private String gb; + + private String pac; + + private String name; + + public Dlg5wbouaEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getPac() { + return pac; + } + + public void setPac(String pac) { + this.pac = pac; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wboulEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wboulEntity.java new file mode 100644 index 0000000..9d586b2 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wboulEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wboul + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_boul") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wboulEntity extends BaseGeoEntity { + private static final long serialVersionUID = 168896097768515392L; + + private String maptile; + + private String gb; + + public Dlg5wboulEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wboupEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wboupEntity.java new file mode 100644 index 0000000..13f6469 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wboupEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wboup + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_boup") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wboupEntity extends BaseGeoEntity { + private static final long serialVersionUID = 168896097768515392L; + + private String gb; + + private String bno; + + private String type; + + private String maptile; + + public Dlg5wboupEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getBno() { + return bno; + } + + public void setBno(String bno) { + this.bno = bno; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wcptlEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wcptlEntity.java new file mode 100644 index 0000000..0414232 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wcptlEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wcptl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_cptl") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wcptlEntity extends BaseGeoEntity { + private static final long serialVersionUID = 332516384931521664L; + + private String maptile; + + private String gb; + + public Dlg5wcptlEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wcptpEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wcptpEntity.java new file mode 100644 index 0000000..2db2c5c --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wcptpEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wcptp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_cptp") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wcptpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 332516384931521664L; + + private String gb; + + private String cno; + + private String name; + + private String tegr; + + private BigDecimal elev; + + private String type; + + private String maptile; + + public Dlg5wcptpEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCno() { + return cno; + } + + public void setCno(String cno) { + this.cno = cno; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getTegr() { + return tegr; + } + + public void setTegr(String tegr) { + this.tegr = tegr; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5whfcaEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5whfcaEntity.java new file mode 100644 index 0000000..5f85565 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5whfcaEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5whfca + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_hfca") +@EqualsAndHashCode(callSuper = false) +public class Dlg5whfcaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 332516384931521664L; + + private String maptile; + + private String gb; + + private String type; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg5whfcaEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5whfclEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5whfclEntity.java new file mode 100644 index 0000000..a98431f --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5whfclEntity.java @@ -0,0 +1,115 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5whfcl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_hfcl") +@EqualsAndHashCode(callSuper = false) +public class Dlg5whfclEntity extends BaseGeoEntity { + private static final long serialVersionUID = 332516384931521664L; + + private String maptile; + + private String gb; + + private BigDecimal elev; + + private String material; + + private BigDecimal width; + + private String type; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg5whfclEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getMaterial() { + return material; + } + + public void setMaterial(String material) { + this.material = material; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5whfcpEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5whfcpEntity.java new file mode 100644 index 0000000..760dbd7 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5whfcpEntity.java @@ -0,0 +1,115 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5whfcp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_hfcp") +@EqualsAndHashCode(callSuper = false) +public class Dlg5whfcpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 332516384931521664L; + + private String maptile; + + private String gb; + + private BigDecimal elev; + + private String material; + + private String type; + + private String angle; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg5whfcpEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getMaterial() { + return material; + } + + public void setMaterial(String material) { + this.material = material; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getAngle() { + return angle; + } + + public void setAngle(String angle) { + this.angle = angle; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5whydaEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5whydaEntity.java new file mode 100644 index 0000000..4ddc8cb --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5whydaEntity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5whyda + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_hyda") +@EqualsAndHashCode(callSuper = false) +public class Dlg5whydaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 332516384931521664L; + + private String maptile; + + private String gb; + + private String hydc; + + private String wql; + + private String period; + + private String type; + + private String name; + + private String classes; + + private String pinyin; + + private BigDecimal vol; + + public Dlg5whydaEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getHydc() { + return hydc; + } + + public void setHydc(String hydc) { + this.hydc = hydc; + } + + public String getWql() { + return wql; + } + + public void setWql(String wql) { + this.wql = wql; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } + + public BigDecimal getVol() { + return vol; + } + + public void setVol(BigDecimal vol) { + this.vol = vol; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5whydlEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5whydlEntity.java new file mode 100644 index 0000000..76e45c4 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5whydlEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5whydl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_hydl") +@EqualsAndHashCode(callSuper = false) +public class Dlg5whydlEntity extends BaseGeoEntity { + private static final long serialVersionUID = 332516384931521664L; + + private String maptile; + + private String gb; + + private String hydc; + + private String period; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg5whydlEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getHydc() { + return hydc; + } + + public void setHydc(String hydc) { + this.hydc = hydc; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5whydpEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5whydpEntity.java new file mode 100644 index 0000000..df3086f --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5whydpEntity.java @@ -0,0 +1,115 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5whydp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_hydp") +@EqualsAndHashCode(callSuper = false) +public class Dlg5whydpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 332516384931521664L; + + private String maptile; + + private String gb; + + private BigDecimal elev; + + private String wql; + + private String type; + + private String angle; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg5whydpEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getWql() { + return wql; + } + + public void setWql(String wql) { + this.wql = wql; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getAngle() { + return angle; + } + + public void setAngle(String angle) { + this.angle = angle; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wlfcaEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wlfcaEntity.java new file mode 100644 index 0000000..0f40005 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wlfcaEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wlfca + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_lfca") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wlfcaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 332516384931521664L; + + private String maptile; + + private String gb; + + private String type; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg5wlfcaEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wlfclEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wlfclEntity.java new file mode 100644 index 0000000..0cc4609 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wlfclEntity.java @@ -0,0 +1,115 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wlfcl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_lfcl") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wlfclEntity extends BaseGeoEntity { + private static final long serialVersionUID = 332516384931521664L; + + private String maptile; + + private String gb; + + private BigDecimal width; + + private String period; + + private String type; + + private String name; + + private String classes; + + private String pinyin; + + private BigDecimal weight; + + public Dlg5wlfclEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } + + public BigDecimal getWeight() { + return weight; + } + + public void setWeight(BigDecimal weight) { + this.weight = weight; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wlfcpEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wlfcpEntity.java new file mode 100644 index 0000000..1aebde4 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wlfcpEntity.java @@ -0,0 +1,155 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wlfcp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_lfcp") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wlfcpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 332516384931521664L; + + private String maptile; + + private String gb; + + private BigDecimal elev; + + private String rn; + + private BigDecimal km; + + private String period; + + private String type; + + private String status; + + private String angle; + + private String name; + + private String classes; + + private String pinyin; + + private BigDecimal weight; + + public Dlg5wlfcpEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getRn() { + return rn; + } + + public void setRn(String rn) { + this.rn = rn; + } + + public BigDecimal getKm() { + return km; + } + + public void setKm(BigDecimal km) { + this.km = km; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getAngle() { + return angle; + } + + public void setAngle(String angle) { + this.angle = angle; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } + + public BigDecimal getWeight() { + return weight; + } + + public void setWeight(BigDecimal weight) { + this.weight = weight; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wlrdlEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wlrdlEntity.java new file mode 100644 index 0000000..3dfcacb --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wlrdlEntity.java @@ -0,0 +1,165 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wlrdl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_lrdl") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wlrdlEntity extends BaseGeoEntity { + private static final long serialVersionUID = 332516384931521664L; + + private String maptile; + + private String gb; + + private String rn; + + private String rdpac; + + private String rteg; + + private String material; + + private String lanes; + + private String sdtf; + + private BigDecimal width; + + private String period; + + private String type; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg5wlrdlEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getRn() { + return rn; + } + + public void setRn(String rn) { + this.rn = rn; + } + + public String getRdpac() { + return rdpac; + } + + public void setRdpac(String rdpac) { + this.rdpac = rdpac; + } + + public String getRteg() { + return rteg; + } + + public void setRteg(String rteg) { + this.rteg = rteg; + } + + public String getMaterial() { + return material; + } + + public void setMaterial(String material) { + this.material = material; + } + + public String getLanes() { + return lanes; + } + + public void setLanes(String lanes) { + this.lanes = lanes; + } + + public String getSdtf() { + return sdtf; + } + + public void setSdtf(String sdtf) { + this.sdtf = sdtf; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wlrrlEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wlrrlEntity.java new file mode 100644 index 0000000..69762ea --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wlrrlEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wlrrl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_lrrl") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wlrrlEntity extends BaseGeoEntity { + private static final long serialVersionUID = 332516384931521664L; + + private String gb; + + private String rn; + + private String name; + + private String type; + + private String rteg; + + private String maptile; + + public Dlg5wlrrlEntity() { + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getRn() { + return rn; + } + + public void setRn(String rn) { + this.rn = rn; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getRteg() { + return rteg; + } + + public void setRteg(String rteg) { + this.rteg = rteg; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wpiplEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wpiplEntity.java new file mode 100644 index 0000000..8cf1d95 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wpiplEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wpipl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_pipl") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wpiplEntity extends BaseGeoEntity { + private static final long serialVersionUID = 332516384931521664L; + + private String maptile; + + private String gb; + + private String type; + + private String name; + + private String classes; + + private String pinyin; + + private BigDecimal voltage; + + public Dlg5wpiplEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } + + public BigDecimal getVoltage() { + return voltage; + } + + public void setVoltage(BigDecimal voltage) { + this.voltage = voltage; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wpippEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wpippEntity.java new file mode 100644 index 0000000..5a0186b --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wpippEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wpipp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_pipp") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wpippEntity extends BaseGeoEntity { + private static final long serialVersionUID = 332516384931521664L; + + private String maptile; + + private String gb; + + private String angle; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg5wpippEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getAngle() { + return angle; + } + + public void setAngle(String angle) { + this.angle = angle; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wresaEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wresaEntity.java new file mode 100644 index 0000000..cb5dcb5 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wresaEntity.java @@ -0,0 +1,75 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wresa + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_resa") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wresaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 332516384931521664L; + + private String maptile; + + private String gb; + + private String period; + + private String type; + + private String status; + + public Dlg5wresaEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wreslEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wreslEntity.java new file mode 100644 index 0000000..92a1be7 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wreslEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wresl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_resl") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wreslEntity extends BaseGeoEntity { + private static final long serialVersionUID = 332516384931521664L; + + private String maptile; + + private String gb; + + private String type; + + private String status; + + public Dlg5wreslEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wrespEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wrespEntity.java new file mode 100644 index 0000000..98a87d0 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wrespEntity.java @@ -0,0 +1,115 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wresp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_resp") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wrespEntity extends BaseGeoEntity { + private static final long serialVersionUID = 332516384931521664L; + + private String maptile; + + private String gb; + + private String period; + + private String type; + + private String status; + + private String name; + + private String classes; + + private String pinyin; + + private String angle; + + public Dlg5wrespEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } + + public String getAngle() { + return angle; + } + + public void setAngle(String angle) { + this.angle = angle; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wrfcaEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wrfcaEntity.java new file mode 100644 index 0000000..7f190ab --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wrfcaEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wrfca + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_rfca") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wrfcaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 973711357905394944L; + + private String maptile; + + private String gb; + + private String type; + + private String status; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg5wrfcaEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wrfclEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wrfclEntity.java new file mode 100644 index 0000000..94bf20a --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wrfclEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wrfcl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_rfcl") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wrfclEntity extends BaseGeoEntity { + private static final long serialVersionUID = 973711357905394944L; + + private String maptile; + + private String gb; + + private String type; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg5wrfclEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wrfcpEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wrfcpEntity.java new file mode 100644 index 0000000..d838620 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wrfcpEntity.java @@ -0,0 +1,115 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wrfcp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_rfcp") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wrfcpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 973711357905394944L; + + private String maptile; + + private String gb; + + private BigDecimal elev; + + private String type; + + private String status; + + private String angle; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg5wrfcpEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getAngle() { + return angle; + } + + public void setAngle(String angle) { + this.angle = angle; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wteraEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wteraEntity.java new file mode 100644 index 0000000..3304846 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wteraEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wtera + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_tera") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wteraEntity extends BaseGeoEntity { + private static final long serialVersionUID = 973711357905394944L; + + private String maptile; + + private String gb; + + private String type; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg5wteraEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wterlEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wterlEntity.java new file mode 100644 index 0000000..97e2156 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wterlEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wterl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_terl") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wterlEntity extends BaseGeoEntity { + private static final long serialVersionUID = 973711357905394944L; + + private String maptile; + + private String gb; + + private BigDecimal elev; + + public Dlg5wterlEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wterpEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wterpEntity.java new file mode 100644 index 0000000..ad39ad0 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wterpEntity.java @@ -0,0 +1,105 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wterp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_terp") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wterpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 973711357905394944L; + + private String maptile; + + private String gb; + + private BigDecimal elev; + + private String type; + + private String angle; + + private String name; + + private String classes; + + private String pinyin; + + public Dlg5wterpEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getAngle() { + return angle; + } + + public void setAngle(String angle) { + this.angle = angle; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wvegaEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wvegaEntity.java new file mode 100644 index 0000000..47ea5b8 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wvegaEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wvega + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_vega") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wvegaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 973711357905394944L; + + private String maptile; + + private String gb; + + private String type; + + private String status; + + public Dlg5wvegaEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wveglEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wveglEntity.java new file mode 100644 index 0000000..0565929 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wveglEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wvegl + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_vegl") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wveglEntity extends BaseGeoEntity { + private static final long serialVersionUID = 973711357905394944L; + + private String maptile; + + private String gb; + + private String type; + + public Dlg5wveglEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlg5wvegpEntity.java b/src/main/java/com/lf/server/entity/bs/Dlg5wvegpEntity.java new file mode 100644 index 0000000..1f05b86 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlg5wvegpEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlg5wvegp + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_5w_vegp") +@EqualsAndHashCode(callSuper = false) +public class Dlg5wvegpEntity extends BaseGeoEntity { + private static final long serialVersionUID = 973711357905394944L; + + private String maptile; + + private String gb; + + private String classes; + + public Dlg5wvegpEntity() { + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgbouan1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgbouan1000Entity.java new file mode 100644 index 0000000..498090c --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgbouan1000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgbouan1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_bouan1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgbouan1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 973711357905394944L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgbouan1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgbouan2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgbouan2000Entity.java new file mode 100644 index 0000000..d622c37 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgbouan2000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgbouan2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_bouan2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgbouan2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 973711357905394944L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atPacked; + + private String atGeom; + + public Dlgbouan2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgbouan5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgbouan5000Entity.java new file mode 100644 index 0000000..d7f3323 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgbouan5000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgbouan5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_bouan5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgbouan5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 973711357905394944L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgbouan5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgbouan500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgbouan500Entity.java new file mode 100644 index 0000000..cc85a99 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgbouan500Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgbouan500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_bouan500") +@EqualsAndHashCode(callSuper = false) +public class Dlgbouan500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 973711357905394944L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atPacked; + + private String atGeom; + + public Dlgbouan500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgboulk1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgboulk1000Entity.java new file mode 100644 index 0000000..6aa635a --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgboulk1000Entity.java @@ -0,0 +1,145 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgboulk1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_boulk1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgboulk1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 973711357905394944L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String boucode; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgboulk1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getBoucode() { + return boucode; + } + + public void setBoucode(String boucode) { + this.boucode = boucode; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgboulk2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgboulk2000Entity.java new file mode 100644 index 0000000..d6a7f1a --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgboulk2000Entity.java @@ -0,0 +1,145 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgboulk2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_boulk2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgboulk2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 973711357905394944L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String boucode; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgboulk2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getBoucode() { + return boucode; + } + + public void setBoucode(String boucode) { + this.boucode = boucode; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgboulk5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgboulk5000Entity.java new file mode 100644 index 0000000..9a22853 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgboulk5000Entity.java @@ -0,0 +1,145 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgboulk5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_boulk5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgboulk5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 614906330879268352L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String boucode; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgboulk5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getBoucode() { + return boucode; + } + + public void setBoucode(String boucode) { + this.boucode = boucode; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgboulk500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgboulk500Entity.java new file mode 100644 index 0000000..a82499f --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgboulk500Entity.java @@ -0,0 +1,145 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgboulk500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_boulk500") +@EqualsAndHashCode(callSuper = false) +public class Dlgboulk500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 614906330879268352L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String boucode; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgboulk500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getBoucode() { + return boucode; + } + + public void setBoucode(String boucode) { + this.boucode = boucode; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgbount1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgbount1000Entity.java new file mode 100644 index 0000000..6a3dfca --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgbount1000Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgbount1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_bount1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgbount1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 614906330879268352L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgbount1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgbount2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgbount2000Entity.java new file mode 100644 index 0000000..ca36adf --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgbount2000Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgbount2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_bount2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgbount2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 614906330879268352L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgbount2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgbount5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgbount5000Entity.java new file mode 100644 index 0000000..a7cca33 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgbount5000Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgbount5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_bount5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgbount5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 614906330879268352L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgbount5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgbount500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgbount500Entity.java new file mode 100644 index 0000000..a2dfd2e --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgbount500Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgbount500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_bount500") +@EqualsAndHashCode(callSuper = false) +public class Dlgbount500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 614906330879268352L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgbount500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgboupt1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgboupt1000Entity.java new file mode 100644 index 0000000..2210d86 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgboupt1000Entity.java @@ -0,0 +1,155 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgboupt1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_boupt1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgboupt1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 614906330879268352L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String number; + + private String type; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgboupt1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgboupt2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgboupt2000Entity.java new file mode 100644 index 0000000..0248617 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgboupt2000Entity.java @@ -0,0 +1,155 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgboupt2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_boupt2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgboupt2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 614906330879268352L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String number; + + private String type; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgboupt2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgboupt5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgboupt5000Entity.java new file mode 100644 index 0000000..b2ffe1e --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgboupt5000Entity.java @@ -0,0 +1,155 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgboupt5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_boupt5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgboupt5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 614906330879268352L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String number; + + private String type; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgboupt5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgboupt500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgboupt500Entity.java new file mode 100644 index 0000000..2e3f571 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgboupt500Entity.java @@ -0,0 +1,155 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgboupt500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_boupt500") +@EqualsAndHashCode(callSuper = false) +public class Dlgboupt500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 614906330879268352L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String number; + + private String type; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgboupt500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgctlal1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgctlal1000Entity.java new file mode 100644 index 0000000..9e5a622 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgctlal1000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgctlal1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_ctlal1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgctlal1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 614906330879268352L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgctlal1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgctlal2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgctlal2000Entity.java new file mode 100644 index 0000000..d45c75d --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgctlal2000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgctlal2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_ctlal2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgctlal2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 614906330879268352L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgctlal2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgctlal5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgctlal5000Entity.java new file mode 100644 index 0000000..1437d67 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgctlal5000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgctlal5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_ctlal5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgctlal5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 614906330879268352L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atPacked; + + private String atGeom; + + public Dlgctlal5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgctlal500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgctlal500Entity.java new file mode 100644 index 0000000..d339ca4 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgctlal500Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgctlal500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_ctlal500") +@EqualsAndHashCode(callSuper = false) +public class Dlgctlal500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 614906330879268352L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgctlal500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgctlan1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgctlan1000Entity.java new file mode 100644 index 0000000..49f5e52 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgctlan1000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgctlan1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_ctlan1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgctlan1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 614906330879268352L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atPacked; + + private String atGeom; + + public Dlgctlan1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgctlan2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgctlan2000Entity.java new file mode 100644 index 0000000..1185807 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgctlan2000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgctlan2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_ctlan2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgctlan2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 614906330879268352L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgctlan2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgctlan5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgctlan5000Entity.java new file mode 100644 index 0000000..d9b7769 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgctlan5000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgctlan5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_ctlan5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgctlan5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 778526618042274688L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgctlan5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgctlan500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgctlan500Entity.java new file mode 100644 index 0000000..ddfa373 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgctlan500Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgctlan500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_ctlan500") +@EqualsAndHashCode(callSuper = false) +public class Dlgctlan500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 778526618042274688L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgctlan500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgctllk1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgctllk1000Entity.java new file mode 100644 index 0000000..9841199 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgctllk1000Entity.java @@ -0,0 +1,165 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgctllk1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_ctllk1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgctllk1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 778526618042274688L; + + private String usercode; + + private String gb; + + private String codename; + + private BigDecimal latitude; + + private BigDecimal longitude; + + private BigDecimal northing; + + private BigDecimal easting; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgctllk1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public BigDecimal getLatitude() { + return latitude; + } + + public void setLatitude(BigDecimal latitude) { + this.latitude = latitude; + } + + public BigDecimal getLongitude() { + return longitude; + } + + public void setLongitude(BigDecimal longitude) { + this.longitude = longitude; + } + + public BigDecimal getNorthing() { + return northing; + } + + public void setNorthing(BigDecimal northing) { + this.northing = northing; + } + + public BigDecimal getEasting() { + return easting; + } + + public void setEasting(BigDecimal easting) { + this.easting = easting; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgctllk2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgctllk2000Entity.java new file mode 100644 index 0000000..07c803e --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgctllk2000Entity.java @@ -0,0 +1,165 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgctllk2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_ctllk2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgctllk2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 778526618042274688L; + + private String usercode; + + private String gb; + + private String codename; + + private BigDecimal latitude; + + private BigDecimal longitude; + + private BigDecimal northing; + + private BigDecimal easting; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgctllk2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public BigDecimal getLatitude() { + return latitude; + } + + public void setLatitude(BigDecimal latitude) { + this.latitude = latitude; + } + + public BigDecimal getLongitude() { + return longitude; + } + + public void setLongitude(BigDecimal longitude) { + this.longitude = longitude; + } + + public BigDecimal getNorthing() { + return northing; + } + + public void setNorthing(BigDecimal northing) { + this.northing = northing; + } + + public BigDecimal getEasting() { + return easting; + } + + public void setEasting(BigDecimal easting) { + this.easting = easting; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgctllk5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgctllk5000Entity.java new file mode 100644 index 0000000..e7d1b42 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgctllk5000Entity.java @@ -0,0 +1,165 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgctllk5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_ctllk5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgctllk5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 778526618042274688L; + + private String usercode; + + private String gb; + + private String codename; + + private BigDecimal latitude; + + private BigDecimal longitude; + + private BigDecimal northing; + + private BigDecimal easting; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgctllk5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public BigDecimal getLatitude() { + return latitude; + } + + public void setLatitude(BigDecimal latitude) { + this.latitude = latitude; + } + + public BigDecimal getLongitude() { + return longitude; + } + + public void setLongitude(BigDecimal longitude) { + this.longitude = longitude; + } + + public BigDecimal getNorthing() { + return northing; + } + + public void setNorthing(BigDecimal northing) { + this.northing = northing; + } + + public BigDecimal getEasting() { + return easting; + } + + public void setEasting(BigDecimal easting) { + this.easting = easting; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgctllk500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgctllk500Entity.java new file mode 100644 index 0000000..b668928 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgctllk500Entity.java @@ -0,0 +1,165 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgctllk500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_ctllk500") +@EqualsAndHashCode(callSuper = false) +public class Dlgctllk500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 778526618042274688L; + + private String usercode; + + private String gb; + + private String codename; + + private BigDecimal latitude; + + private BigDecimal longitude; + + private BigDecimal northing; + + private BigDecimal easting; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgctllk500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public BigDecimal getLatitude() { + return latitude; + } + + public void setLatitude(BigDecimal latitude) { + this.latitude = latitude; + } + + public BigDecimal getLongitude() { + return longitude; + } + + public void setLongitude(BigDecimal longitude) { + this.longitude = longitude; + } + + public BigDecimal getNorthing() { + return northing; + } + + public void setNorthing(BigDecimal northing) { + this.northing = northing; + } + + public BigDecimal getEasting() { + return easting; + } + + public void setEasting(BigDecimal easting) { + this.easting = easting; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgctlpt1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgctlpt1000Entity.java new file mode 100644 index 0000000..f5abfe6 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgctlpt1000Entity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgctlpt1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_ctlpt1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgctlpt1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 778526618042274688L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String grade; + + private String type; + + private String coorsystem; + + private String verdatum; + + private BigDecimal northing; + + private BigDecimal easting; + + private BigDecimal elev; + + private BigDecimal latitude; + + private BigDecimal longitude; + + private BigDecimal altitude; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgctlpt1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGrade() { + return grade; + } + + public void setGrade(String grade) { + this.grade = grade; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public BigDecimal getNorthing() { + return northing; + } + + public void setNorthing(BigDecimal northing) { + this.northing = northing; + } + + public BigDecimal getEasting() { + return easting; + } + + public void setEasting(BigDecimal easting) { + this.easting = easting; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public BigDecimal getLatitude() { + return latitude; + } + + public void setLatitude(BigDecimal latitude) { + this.latitude = latitude; + } + + public BigDecimal getLongitude() { + return longitude; + } + + public void setLongitude(BigDecimal longitude) { + this.longitude = longitude; + } + + public BigDecimal getAltitude() { + return altitude; + } + + public void setAltitude(BigDecimal altitude) { + this.altitude = altitude; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgctlpt2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgctlpt2000Entity.java new file mode 100644 index 0000000..ddb8fd4 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgctlpt2000Entity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgctlpt2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_ctlpt2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgctlpt2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 778526618042274688L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String grade; + + private String type; + + private String coorsystem; + + private String verdatum; + + private BigDecimal northing; + + private BigDecimal easting; + + private BigDecimal elev; + + private BigDecimal latitude; + + private BigDecimal longitude; + + private BigDecimal altitude; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgctlpt2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGrade() { + return grade; + } + + public void setGrade(String grade) { + this.grade = grade; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public BigDecimal getNorthing() { + return northing; + } + + public void setNorthing(BigDecimal northing) { + this.northing = northing; + } + + public BigDecimal getEasting() { + return easting; + } + + public void setEasting(BigDecimal easting) { + this.easting = easting; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public BigDecimal getLatitude() { + return latitude; + } + + public void setLatitude(BigDecimal latitude) { + this.latitude = latitude; + } + + public BigDecimal getLongitude() { + return longitude; + } + + public void setLongitude(BigDecimal longitude) { + this.longitude = longitude; + } + + public BigDecimal getAltitude() { + return altitude; + } + + public void setAltitude(BigDecimal altitude) { + this.altitude = altitude; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgctlpt5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgctlpt5000Entity.java new file mode 100644 index 0000000..56de6e5 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgctlpt5000Entity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgctlpt5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_ctlpt5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgctlpt5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 778526618042274688L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String grade; + + private String type; + + private String coorsystem; + + private String verdatum; + + private BigDecimal northing; + + private BigDecimal easting; + + private BigDecimal elev; + + private BigDecimal latitude; + + private BigDecimal longitude; + + private BigDecimal altitude; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgctlpt5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGrade() { + return grade; + } + + public void setGrade(String grade) { + this.grade = grade; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public BigDecimal getNorthing() { + return northing; + } + + public void setNorthing(BigDecimal northing) { + this.northing = northing; + } + + public BigDecimal getEasting() { + return easting; + } + + public void setEasting(BigDecimal easting) { + this.easting = easting; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public BigDecimal getLatitude() { + return latitude; + } + + public void setLatitude(BigDecimal latitude) { + this.latitude = latitude; + } + + public BigDecimal getLongitude() { + return longitude; + } + + public void setLongitude(BigDecimal longitude) { + this.longitude = longitude; + } + + public BigDecimal getAltitude() { + return altitude; + } + + public void setAltitude(BigDecimal altitude) { + this.altitude = altitude; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgctlpt500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgctlpt500Entity.java new file mode 100644 index 0000000..d32398c --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgctlpt500Entity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgctlpt500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_ctlpt500") +@EqualsAndHashCode(callSuper = false) +public class Dlgctlpt500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 778526618042274688L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String grade; + + private String type; + + private String coorsystem; + + private String verdatum; + + private BigDecimal northing; + + private BigDecimal easting; + + private BigDecimal elev; + + private BigDecimal latitude; + + private BigDecimal longitude; + + private BigDecimal altitude; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgctlpt500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGrade() { + return grade; + } + + public void setGrade(String grade) { + this.grade = grade; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public BigDecimal getNorthing() { + return northing; + } + + public void setNorthing(BigDecimal northing) { + this.northing = northing; + } + + public BigDecimal getEasting() { + return easting; + } + + public void setEasting(BigDecimal easting) { + this.easting = easting; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public BigDecimal getLatitude() { + return latitude; + } + + public void setLatitude(BigDecimal latitude) { + this.latitude = latitude; + } + + public BigDecimal getLongitude() { + return longitude; + } + + public void setLongitude(BigDecimal longitude) { + this.longitude = longitude; + } + + public BigDecimal getAltitude() { + return altitude; + } + + public void setAltitude(BigDecimal altitude) { + this.altitude = altitude; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgdpllk1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgdpllk1000Entity.java new file mode 100644 index 0000000..1a6d2ab --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgdpllk1000Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgdpllk1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_dpllk1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgdpllk1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 778526618042274688L; + + private String usercode; + + private String gb; + + private String codename; + + private String projname; + + private String remarks; + + private String source; + + private String maptile; + + private String atGeom; + + private String atPacked; + + private String atAttrib; + + private String atExtend; + + public Dlgdpllk1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgdpllk2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgdpllk2000Entity.java new file mode 100644 index 0000000..1729fbe --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgdpllk2000Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgdpllk2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_dpllk2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgdpllk2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 778526618042274688L; + + private String usercode; + + private String gb; + + private String codename; + + private String projname; + + private String remarks; + + private String source; + + private String maptile; + + private String atGeom; + + private String atPacked; + + private String atAttrib; + + private String atExtend; + + public Dlgdpllk2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgdpllk5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgdpllk5000Entity.java new file mode 100644 index 0000000..5faeb06 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgdpllk5000Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgdpllk5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_dpllk5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgdpllk5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 778526618042274688L; + + private String usercode; + + private String gb; + + private String codename; + + private String projname; + + private String remarks; + + private String source; + + private String maptile; + + private String atGeom; + + private String atPacked; + + private String atAttrib; + + private String atExtend; + + public Dlgdpllk5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgdpllk500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgdpllk500Entity.java new file mode 100644 index 0000000..fbd1c74 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgdpllk500Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgdpllk500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_dpllk500") +@EqualsAndHashCode(callSuper = false) +public class Dlgdpllk500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 778526618042274688L; + + private String usercode; + + private String gb; + + private String codename; + + private String projname; + + private String remarks; + + private String source; + + private String maptile; + + private String atGeom; + + private String atPacked; + + private String atAttrib; + + private String atExtend; + + public Dlgdpllk500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgdplpt1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgdplpt1000Entity.java new file mode 100644 index 0000000..af60798 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgdplpt1000Entity.java @@ -0,0 +1,205 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgdplpt1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_dplpt1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgdplpt1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 778526618042274688L; + + private String usercode; + + private String gb; + + private String codename; + + private String codetype; + + private String cpname; + + private BigDecimal stavalue; + + private BigDecimal turnangle; + + private String deflection; + + private BigDecimal northing; + + private BigDecimal easting; + + private BigDecimal elev; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgdplpt1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getCodetype() { + return codetype; + } + + public void setCodetype(String codetype) { + this.codetype = codetype; + } + + public String getCpname() { + return cpname; + } + + public void setCpname(String cpname) { + this.cpname = cpname; + } + + public BigDecimal getStavalue() { + return stavalue; + } + + public void setStavalue(BigDecimal stavalue) { + this.stavalue = stavalue; + } + + public BigDecimal getTurnangle() { + return turnangle; + } + + public void setTurnangle(BigDecimal turnangle) { + this.turnangle = turnangle; + } + + public String getDeflection() { + return deflection; + } + + public void setDeflection(String deflection) { + this.deflection = deflection; + } + + public BigDecimal getNorthing() { + return northing; + } + + public void setNorthing(BigDecimal northing) { + this.northing = northing; + } + + public BigDecimal getEasting() { + return easting; + } + + public void setEasting(BigDecimal easting) { + this.easting = easting; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgdplpt2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgdplpt2000Entity.java new file mode 100644 index 0000000..36a363d --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgdplpt2000Entity.java @@ -0,0 +1,205 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgdplpt2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_dplpt2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgdplpt2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 778526618042274688L; + + private String usercode; + + private String gb; + + private String codename; + + private String codetype; + + private String cpname; + + private BigDecimal stavalue; + + private BigDecimal turnangle; + + private String deflection; + + private BigDecimal northing; + + private BigDecimal easting; + + private BigDecimal elev; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgdplpt2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getCodetype() { + return codetype; + } + + public void setCodetype(String codetype) { + this.codetype = codetype; + } + + public String getCpname() { + return cpname; + } + + public void setCpname(String cpname) { + this.cpname = cpname; + } + + public BigDecimal getStavalue() { + return stavalue; + } + + public void setStavalue(BigDecimal stavalue) { + this.stavalue = stavalue; + } + + public BigDecimal getTurnangle() { + return turnangle; + } + + public void setTurnangle(BigDecimal turnangle) { + this.turnangle = turnangle; + } + + public String getDeflection() { + return deflection; + } + + public void setDeflection(String deflection) { + this.deflection = deflection; + } + + public BigDecimal getNorthing() { + return northing; + } + + public void setNorthing(BigDecimal northing) { + this.northing = northing; + } + + public BigDecimal getEasting() { + return easting; + } + + public void setEasting(BigDecimal easting) { + this.easting = easting; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgdplpt5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgdplpt5000Entity.java new file mode 100644 index 0000000..4bcfba5 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgdplpt5000Entity.java @@ -0,0 +1,205 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgdplpt5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_dplpt5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgdplpt5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 419721591016148032L; + + private String usercode; + + private String gb; + + private String codename; + + private String codetype; + + private String cpname; + + private BigDecimal stavalue; + + private BigDecimal turnangle; + + private String deflection; + + private BigDecimal northing; + + private BigDecimal easting; + + private BigDecimal elev; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgdplpt5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getCodetype() { + return codetype; + } + + public void setCodetype(String codetype) { + this.codetype = codetype; + } + + public String getCpname() { + return cpname; + } + + public void setCpname(String cpname) { + this.cpname = cpname; + } + + public BigDecimal getStavalue() { + return stavalue; + } + + public void setStavalue(BigDecimal stavalue) { + this.stavalue = stavalue; + } + + public BigDecimal getTurnangle() { + return turnangle; + } + + public void setTurnangle(BigDecimal turnangle) { + this.turnangle = turnangle; + } + + public String getDeflection() { + return deflection; + } + + public void setDeflection(String deflection) { + this.deflection = deflection; + } + + public BigDecimal getNorthing() { + return northing; + } + + public void setNorthing(BigDecimal northing) { + this.northing = northing; + } + + public BigDecimal getEasting() { + return easting; + } + + public void setEasting(BigDecimal easting) { + this.easting = easting; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgdplpt500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgdplpt500Entity.java new file mode 100644 index 0000000..a0eb617 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgdplpt500Entity.java @@ -0,0 +1,205 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgdplpt500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_dplpt500") +@EqualsAndHashCode(callSuper = false) +public class Dlgdplpt500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 419721591016148032L; + + private String usercode; + + private String gb; + + private String codename; + + private String codetype; + + private String cpname; + + private BigDecimal stavalue; + + private BigDecimal turnangle; + + private String deflection; + + private BigDecimal northing; + + private BigDecimal easting; + + private BigDecimal elev; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgdplpt500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getCodetype() { + return codetype; + } + + public void setCodetype(String codetype) { + this.codetype = codetype; + } + + public String getCpname() { + return cpname; + } + + public void setCpname(String cpname) { + this.cpname = cpname; + } + + public BigDecimal getStavalue() { + return stavalue; + } + + public void setStavalue(BigDecimal stavalue) { + this.stavalue = stavalue; + } + + public BigDecimal getTurnangle() { + return turnangle; + } + + public void setTurnangle(BigDecimal turnangle) { + this.turnangle = turnangle; + } + + public String getDeflection() { + return deflection; + } + + public void setDeflection(String deflection) { + this.deflection = deflection; + } + + public BigDecimal getNorthing() { + return northing; + } + + public void setNorthing(BigDecimal northing) { + this.northing = northing; + } + + public BigDecimal getEasting() { + return easting; + } + + public void setEasting(BigDecimal easting) { + this.easting = easting; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydal1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydal1000Entity.java new file mode 100644 index 0000000..40b559a --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydal1000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydal1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydal1000") +@EqualsAndHashCode(callSuper = false) +public class Dlghydal1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 419721591016148032L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atGeom; + + private String atPacked; + + private String atAttrib; + + private String atExtend; + + public Dlghydal1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydal2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydal2000Entity.java new file mode 100644 index 0000000..4bc6fd4 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydal2000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydal2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydal2000") +@EqualsAndHashCode(callSuper = false) +public class Dlghydal2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 419721591016148032L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atGeom; + + private String atPacked; + + private String atAttrib; + + private String atExtend; + + public Dlghydal2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydal5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydal5000Entity.java new file mode 100644 index 0000000..d68bfaa --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydal5000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydal5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydal5000") +@EqualsAndHashCode(callSuper = false) +public class Dlghydal5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 419721591016148032L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atGeom; + + private String atPacked; + + private String atAttrib; + + private String atExtend; + + public Dlghydal5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydal500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydal500Entity.java new file mode 100644 index 0000000..51cd4ef --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydal500Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydal500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydal500") +@EqualsAndHashCode(callSuper = false) +public class Dlghydal500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 419721591016148032L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atGeom; + + private String atPacked; + + private String atAttrib; + + private String atExtend; + + public Dlghydal500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydan1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydan1000Entity.java new file mode 100644 index 0000000..112fd0b --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydan1000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydan1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydan1000") +@EqualsAndHashCode(callSuper = false) +public class Dlghydan1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 419721591016148032L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlghydan1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydan2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydan2000Entity.java new file mode 100644 index 0000000..2b36d13 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydan2000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydan2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydan2000") +@EqualsAndHashCode(callSuper = false) +public class Dlghydan2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 419721591016148032L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlghydan2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydan5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydan5000Entity.java new file mode 100644 index 0000000..8f3322e --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydan5000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydan5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydan5000") +@EqualsAndHashCode(callSuper = false) +public class Dlghydan5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 419721591016148032L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlghydan5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydan500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydan500Entity.java new file mode 100644 index 0000000..ad6cf4a --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydan500Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydan500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydan500") +@EqualsAndHashCode(callSuper = false) +public class Dlghydan500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 419721591016148032L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlghydan500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydap1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydap1000Entity.java new file mode 100644 index 0000000..fa88356 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydap1000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydap1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydap1000") +@EqualsAndHashCode(callSuper = false) +public class Dlghydap1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 419721591016148032L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlghydap1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydap2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydap2000Entity.java new file mode 100644 index 0000000..544294e --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydap2000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydap2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydap2000") +@EqualsAndHashCode(callSuper = false) +public class Dlghydap2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 419721591016148032L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlghydap2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydap5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydap5000Entity.java new file mode 100644 index 0000000..9245770 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydap5000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydap5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydap5000") +@EqualsAndHashCode(callSuper = false) +public class Dlghydap5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 419721591016148032L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlghydap5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydap500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydap500Entity.java new file mode 100644 index 0000000..2048ceb --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydap500Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydap500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydap500") +@EqualsAndHashCode(callSuper = false) +public class Dlghydap500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 419721591016148032L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlghydap500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydlk1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydlk1000Entity.java new file mode 100644 index 0000000..7028e5a --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydlk1000Entity.java @@ -0,0 +1,365 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydlk1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydlk1000") +@EqualsAndHashCode(callSuper = false) +public class Dlghydlk1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 419721591016148032L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String encode; + + private String levelgrade; + + private String wquality; + + private String type; + + private String navprop; + + private String period; + + private String soilprop; + + private BigDecimal width; + + private BigDecimal height; + + private BigDecimal length; + + private BigDecimal depth; + + private BigDecimal elev; + + private String purpose; + + private String vol; + + private String classes; + + private String form; + + private String settling; + + private String tratype; + + private String holes; + + private String tracap; + + private String anntravol; + + private String material; + + private String belwater; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlghydlk1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEncode() { + return encode; + } + + public void setEncode(String encode) { + this.encode = encode; + } + + public String getLevelgrade() { + return levelgrade; + } + + public void setLevelgrade(String levelgrade) { + this.levelgrade = levelgrade; + } + + public String getWquality() { + return wquality; + } + + public void setWquality(String wquality) { + this.wquality = wquality; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getNavprop() { + return navprop; + } + + public void setNavprop(String navprop) { + this.navprop = navprop; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getSoilprop() { + return soilprop; + } + + public void setSoilprop(String soilprop) { + this.soilprop = soilprop; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } + + public BigDecimal getLength() { + return length; + } + + public void setLength(BigDecimal length) { + this.length = length; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public String getVol() { + return vol; + } + + public void setVol(String vol) { + this.vol = vol; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getForm() { + return form; + } + + public void setForm(String form) { + this.form = form; + } + + public String getSettling() { + return settling; + } + + public void setSettling(String settling) { + this.settling = settling; + } + + public String getTratype() { + return tratype; + } + + public void setTratype(String tratype) { + this.tratype = tratype; + } + + public String getHoles() { + return holes; + } + + public void setHoles(String holes) { + this.holes = holes; + } + + public String getTracap() { + return tracap; + } + + public void setTracap(String tracap) { + this.tracap = tracap; + } + + public String getAnntravol() { + return anntravol; + } + + public void setAnntravol(String anntravol) { + this.anntravol = anntravol; + } + + public String getMaterial() { + return material; + } + + public void setMaterial(String material) { + this.material = material; + } + + public String getBelwater() { + return belwater; + } + + public void setBelwater(String belwater) { + this.belwater = belwater; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydlk2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydlk2000Entity.java new file mode 100644 index 0000000..c520efe --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydlk2000Entity.java @@ -0,0 +1,365 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydlk2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydlk2000") +@EqualsAndHashCode(callSuper = false) +public class Dlghydlk2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 419721591016148032L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String encode; + + private String levelgrade; + + private String wquality; + + private String type; + + private String navprop; + + private String period; + + private String soilprop; + + private BigDecimal width; + + private BigDecimal height; + + private BigDecimal length; + + private BigDecimal depth; + + private BigDecimal elev; + + private String purpose; + + private String vol; + + private String classes; + + private String form; + + private String settling; + + private String tratype; + + private String holes; + + private String tracap; + + private String anntravol; + + private String material; + + private String belwater; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlghydlk2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEncode() { + return encode; + } + + public void setEncode(String encode) { + this.encode = encode; + } + + public String getLevelgrade() { + return levelgrade; + } + + public void setLevelgrade(String levelgrade) { + this.levelgrade = levelgrade; + } + + public String getWquality() { + return wquality; + } + + public void setWquality(String wquality) { + this.wquality = wquality; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getNavprop() { + return navprop; + } + + public void setNavprop(String navprop) { + this.navprop = navprop; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getSoilprop() { + return soilprop; + } + + public void setSoilprop(String soilprop) { + this.soilprop = soilprop; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } + + public BigDecimal getLength() { + return length; + } + + public void setLength(BigDecimal length) { + this.length = length; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public String getVol() { + return vol; + } + + public void setVol(String vol) { + this.vol = vol; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getForm() { + return form; + } + + public void setForm(String form) { + this.form = form; + } + + public String getSettling() { + return settling; + } + + public void setSettling(String settling) { + this.settling = settling; + } + + public String getTratype() { + return tratype; + } + + public void setTratype(String tratype) { + this.tratype = tratype; + } + + public String getHoles() { + return holes; + } + + public void setHoles(String holes) { + this.holes = holes; + } + + public String getTracap() { + return tracap; + } + + public void setTracap(String tracap) { + this.tracap = tracap; + } + + public String getAnntravol() { + return anntravol; + } + + public void setAnntravol(String anntravol) { + this.anntravol = anntravol; + } + + public String getMaterial() { + return material; + } + + public void setMaterial(String material) { + this.material = material; + } + + public String getBelwater() { + return belwater; + } + + public void setBelwater(String belwater) { + this.belwater = belwater; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydlk5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydlk5000Entity.java new file mode 100644 index 0000000..754a772 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydlk5000Entity.java @@ -0,0 +1,365 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydlk5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydlk5000") +@EqualsAndHashCode(callSuper = false) +public class Dlghydlk5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 60916563990021384L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String encode; + + private String levelgrade; + + private String wquality; + + private String type; + + private String navprop; + + private String period; + + private String soilprop; + + private BigDecimal width; + + private BigDecimal height; + + private BigDecimal length; + + private BigDecimal depth; + + private BigDecimal elev; + + private String purpose; + + private String vol; + + private String classes; + + private String form; + + private String settling; + + private String tratype; + + private String holes; + + private String tracap; + + private String anntravol; + + private String material; + + private String belwater; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlghydlk5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEncode() { + return encode; + } + + public void setEncode(String encode) { + this.encode = encode; + } + + public String getLevelgrade() { + return levelgrade; + } + + public void setLevelgrade(String levelgrade) { + this.levelgrade = levelgrade; + } + + public String getWquality() { + return wquality; + } + + public void setWquality(String wquality) { + this.wquality = wquality; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getNavprop() { + return navprop; + } + + public void setNavprop(String navprop) { + this.navprop = navprop; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getSoilprop() { + return soilprop; + } + + public void setSoilprop(String soilprop) { + this.soilprop = soilprop; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } + + public BigDecimal getLength() { + return length; + } + + public void setLength(BigDecimal length) { + this.length = length; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public String getVol() { + return vol; + } + + public void setVol(String vol) { + this.vol = vol; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getForm() { + return form; + } + + public void setForm(String form) { + this.form = form; + } + + public String getSettling() { + return settling; + } + + public void setSettling(String settling) { + this.settling = settling; + } + + public String getTratype() { + return tratype; + } + + public void setTratype(String tratype) { + this.tratype = tratype; + } + + public String getHoles() { + return holes; + } + + public void setHoles(String holes) { + this.holes = holes; + } + + public String getTracap() { + return tracap; + } + + public void setTracap(String tracap) { + this.tracap = tracap; + } + + public String getAnntravol() { + return anntravol; + } + + public void setAnntravol(String anntravol) { + this.anntravol = anntravol; + } + + public String getMaterial() { + return material; + } + + public void setMaterial(String material) { + this.material = material; + } + + public String getBelwater() { + return belwater; + } + + public void setBelwater(String belwater) { + this.belwater = belwater; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydlk500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydlk500Entity.java new file mode 100644 index 0000000..0a5d8e8 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydlk500Entity.java @@ -0,0 +1,365 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydlk500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydlk500") +@EqualsAndHashCode(callSuper = false) +public class Dlghydlk500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 419721591016148032L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String encode; + + private String levelgrade; + + private String wquality; + + private String type; + + private String navprop; + + private String period; + + private String soilprop; + + private BigDecimal width; + + private BigDecimal height; + + private BigDecimal length; + + private BigDecimal depth; + + private BigDecimal elev; + + private String purpose; + + private String vol; + + private String classes; + + private String form; + + private String settling; + + private String tratype; + + private String holes; + + private String tracap; + + private String anntravol; + + private String material; + + private String belwater; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlghydlk500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEncode() { + return encode; + } + + public void setEncode(String encode) { + this.encode = encode; + } + + public String getLevelgrade() { + return levelgrade; + } + + public void setLevelgrade(String levelgrade) { + this.levelgrade = levelgrade; + } + + public String getWquality() { + return wquality; + } + + public void setWquality(String wquality) { + this.wquality = wquality; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getNavprop() { + return navprop; + } + + public void setNavprop(String navprop) { + this.navprop = navprop; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getSoilprop() { + return soilprop; + } + + public void setSoilprop(String soilprop) { + this.soilprop = soilprop; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } + + public BigDecimal getLength() { + return length; + } + + public void setLength(BigDecimal length) { + this.length = length; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public String getVol() { + return vol; + } + + public void setVol(String vol) { + this.vol = vol; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getForm() { + return form; + } + + public void setForm(String form) { + this.form = form; + } + + public String getSettling() { + return settling; + } + + public void setSettling(String settling) { + this.settling = settling; + } + + public String getTratype() { + return tratype; + } + + public void setTratype(String tratype) { + this.tratype = tratype; + } + + public String getHoles() { + return holes; + } + + public void setHoles(String holes) { + this.holes = holes; + } + + public String getTracap() { + return tracap; + } + + public void setTracap(String tracap) { + this.tracap = tracap; + } + + public String getAnntravol() { + return anntravol; + } + + public void setAnntravol(String anntravol) { + this.anntravol = anntravol; + } + + public String getMaterial() { + return material; + } + + public void setMaterial(String material) { + this.material = material; + } + + public String getBelwater() { + return belwater; + } + + public void setBelwater(String belwater) { + this.belwater = belwater; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydnt1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydnt1000Entity.java new file mode 100644 index 0000000..5341e45 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydnt1000Entity.java @@ -0,0 +1,365 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydnt1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydnt1000") +@EqualsAndHashCode(callSuper = false) +public class Dlghydnt1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 60916563990021384L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String encode; + + private String levelgrade; + + private String wquality; + + private String type; + + private String navprop; + + private String period; + + private String soilprop; + + private BigDecimal height; + + private BigDecimal length; + + private BigDecimal depth; + + private BigDecimal elev; + + private String purpose; + + private String vol; + + private String classes; + + private String form; + + private String settling; + + private String tratype; + + private String holes; + + private String tracap; + + private String anntravol; + + private String material; + + private String belwater; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + private BigDecimal width; + + public Dlghydnt1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEncode() { + return encode; + } + + public void setEncode(String encode) { + this.encode = encode; + } + + public String getLevelgrade() { + return levelgrade; + } + + public void setLevelgrade(String levelgrade) { + this.levelgrade = levelgrade; + } + + public String getWquality() { + return wquality; + } + + public void setWquality(String wquality) { + this.wquality = wquality; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getNavprop() { + return navprop; + } + + public void setNavprop(String navprop) { + this.navprop = navprop; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getSoilprop() { + return soilprop; + } + + public void setSoilprop(String soilprop) { + this.soilprop = soilprop; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } + + public BigDecimal getLength() { + return length; + } + + public void setLength(BigDecimal length) { + this.length = length; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public String getVol() { + return vol; + } + + public void setVol(String vol) { + this.vol = vol; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getForm() { + return form; + } + + public void setForm(String form) { + this.form = form; + } + + public String getSettling() { + return settling; + } + + public void setSettling(String settling) { + this.settling = settling; + } + + public String getTratype() { + return tratype; + } + + public void setTratype(String tratype) { + this.tratype = tratype; + } + + public String getHoles() { + return holes; + } + + public void setHoles(String holes) { + this.holes = holes; + } + + public String getTracap() { + return tracap; + } + + public void setTracap(String tracap) { + this.tracap = tracap; + } + + public String getAnntravol() { + return anntravol; + } + + public void setAnntravol(String anntravol) { + this.anntravol = anntravol; + } + + public String getMaterial() { + return material; + } + + public void setMaterial(String material) { + this.material = material; + } + + public String getBelwater() { + return belwater; + } + + public void setBelwater(String belwater) { + this.belwater = belwater; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydnt2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydnt2000Entity.java new file mode 100644 index 0000000..fa369fa --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydnt2000Entity.java @@ -0,0 +1,365 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydnt2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydnt2000") +@EqualsAndHashCode(callSuper = false) +public class Dlghydnt2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 60916563990021384L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String encode; + + private String levelgrade; + + private String wquality; + + private String type; + + private String navprop; + + private String period; + + private String soilprop; + + private BigDecimal height; + + private BigDecimal length; + + private BigDecimal depth; + + private BigDecimal elev; + + private String purpose; + + private String vol; + + private String classes; + + private String form; + + private String settling; + + private String tratype; + + private String holes; + + private String tracap; + + private String anntravol; + + private String material; + + private String belwater; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + private BigDecimal width; + + public Dlghydnt2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEncode() { + return encode; + } + + public void setEncode(String encode) { + this.encode = encode; + } + + public String getLevelgrade() { + return levelgrade; + } + + public void setLevelgrade(String levelgrade) { + this.levelgrade = levelgrade; + } + + public String getWquality() { + return wquality; + } + + public void setWquality(String wquality) { + this.wquality = wquality; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getNavprop() { + return navprop; + } + + public void setNavprop(String navprop) { + this.navprop = navprop; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getSoilprop() { + return soilprop; + } + + public void setSoilprop(String soilprop) { + this.soilprop = soilprop; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } + + public BigDecimal getLength() { + return length; + } + + public void setLength(BigDecimal length) { + this.length = length; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public String getVol() { + return vol; + } + + public void setVol(String vol) { + this.vol = vol; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getForm() { + return form; + } + + public void setForm(String form) { + this.form = form; + } + + public String getSettling() { + return settling; + } + + public void setSettling(String settling) { + this.settling = settling; + } + + public String getTratype() { + return tratype; + } + + public void setTratype(String tratype) { + this.tratype = tratype; + } + + public String getHoles() { + return holes; + } + + public void setHoles(String holes) { + this.holes = holes; + } + + public String getTracap() { + return tracap; + } + + public void setTracap(String tracap) { + this.tracap = tracap; + } + + public String getAnntravol() { + return anntravol; + } + + public void setAnntravol(String anntravol) { + this.anntravol = anntravol; + } + + public String getMaterial() { + return material; + } + + public void setMaterial(String material) { + this.material = material; + } + + public String getBelwater() { + return belwater; + } + + public void setBelwater(String belwater) { + this.belwater = belwater; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydnt5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydnt5000Entity.java new file mode 100644 index 0000000..8c84f88 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydnt5000Entity.java @@ -0,0 +1,365 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydnt5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydnt5000") +@EqualsAndHashCode(callSuper = false) +public class Dlghydnt5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 60916563990021384L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String encode; + + private String levelgrade; + + private String wquality; + + private String type; + + private String navprop; + + private String period; + + private String soilprop; + + private BigDecimal height; + + private BigDecimal length; + + private BigDecimal depth; + + private BigDecimal elev; + + private String purpose; + + private String vol; + + private String classes; + + private String form; + + private String settling; + + private String tratype; + + private String holes; + + private String tracap; + + private String anntravol; + + private String material; + + private String belwater; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + private BigDecimal width; + + public Dlghydnt5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEncode() { + return encode; + } + + public void setEncode(String encode) { + this.encode = encode; + } + + public String getLevelgrade() { + return levelgrade; + } + + public void setLevelgrade(String levelgrade) { + this.levelgrade = levelgrade; + } + + public String getWquality() { + return wquality; + } + + public void setWquality(String wquality) { + this.wquality = wquality; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getNavprop() { + return navprop; + } + + public void setNavprop(String navprop) { + this.navprop = navprop; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getSoilprop() { + return soilprop; + } + + public void setSoilprop(String soilprop) { + this.soilprop = soilprop; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } + + public BigDecimal getLength() { + return length; + } + + public void setLength(BigDecimal length) { + this.length = length; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public String getVol() { + return vol; + } + + public void setVol(String vol) { + this.vol = vol; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getForm() { + return form; + } + + public void setForm(String form) { + this.form = form; + } + + public String getSettling() { + return settling; + } + + public void setSettling(String settling) { + this.settling = settling; + } + + public String getTratype() { + return tratype; + } + + public void setTratype(String tratype) { + this.tratype = tratype; + } + + public String getHoles() { + return holes; + } + + public void setHoles(String holes) { + this.holes = holes; + } + + public String getTracap() { + return tracap; + } + + public void setTracap(String tracap) { + this.tracap = tracap; + } + + public String getAnntravol() { + return anntravol; + } + + public void setAnntravol(String anntravol) { + this.anntravol = anntravol; + } + + public String getMaterial() { + return material; + } + + public void setMaterial(String material) { + this.material = material; + } + + public String getBelwater() { + return belwater; + } + + public void setBelwater(String belwater) { + this.belwater = belwater; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydnt500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydnt500Entity.java new file mode 100644 index 0000000..cbe1669 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydnt500Entity.java @@ -0,0 +1,365 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydnt500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydnt500") +@EqualsAndHashCode(callSuper = false) +public class Dlghydnt500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 60916563990021384L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String encode; + + private String levelgrade; + + private String wquality; + + private String type; + + private String navprop; + + private String period; + + private String soilprop; + + private BigDecimal height; + + private BigDecimal length; + + private BigDecimal depth; + + private BigDecimal elev; + + private String purpose; + + private String vol; + + private String classes; + + private String form; + + private String settling; + + private String tratype; + + private String holes; + + private String tracap; + + private String anntravol; + + private String material; + + private String belwater; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + private BigDecimal width; + + public Dlghydnt500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEncode() { + return encode; + } + + public void setEncode(String encode) { + this.encode = encode; + } + + public String getLevelgrade() { + return levelgrade; + } + + public void setLevelgrade(String levelgrade) { + this.levelgrade = levelgrade; + } + + public String getWquality() { + return wquality; + } + + public void setWquality(String wquality) { + this.wquality = wquality; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getNavprop() { + return navprop; + } + + public void setNavprop(String navprop) { + this.navprop = navprop; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getSoilprop() { + return soilprop; + } + + public void setSoilprop(String soilprop) { + this.soilprop = soilprop; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } + + public BigDecimal getLength() { + return length; + } + + public void setLength(BigDecimal length) { + this.length = length; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public String getVol() { + return vol; + } + + public void setVol(String vol) { + this.vol = vol; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getForm() { + return form; + } + + public void setForm(String form) { + this.form = form; + } + + public String getSettling() { + return settling; + } + + public void setSettling(String settling) { + this.settling = settling; + } + + public String getTratype() { + return tratype; + } + + public void setTratype(String tratype) { + this.tratype = tratype; + } + + public String getHoles() { + return holes; + } + + public void setHoles(String holes) { + this.holes = holes; + } + + public String getTracap() { + return tracap; + } + + public void setTracap(String tracap) { + this.tracap = tracap; + } + + public String getAnntravol() { + return anntravol; + } + + public void setAnntravol(String anntravol) { + this.anntravol = anntravol; + } + + public String getMaterial() { + return material; + } + + public void setMaterial(String material) { + this.material = material; + } + + public String getBelwater() { + return belwater; + } + + public void setBelwater(String belwater) { + this.belwater = belwater; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydpt1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydpt1000Entity.java new file mode 100644 index 0000000..fbd0495 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydpt1000Entity.java @@ -0,0 +1,225 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydpt1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydpt1000") +@EqualsAndHashCode(callSuper = false) +public class Dlghydpt1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 60916563990021384L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String encode; + + private String form; + + private String type; + + private BigDecimal depth; + + private BigDecimal elev; + + private BigDecimal direction; + + private BigDecimal flowrate; + + private String tratype; + + private String holes; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlghydpt1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEncode() { + return encode; + } + + public void setEncode(String encode) { + this.encode = encode; + } + + public String getForm() { + return form; + } + + public void setForm(String form) { + this.form = form; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public BigDecimal getFlowrate() { + return flowrate; + } + + public void setFlowrate(BigDecimal flowrate) { + this.flowrate = flowrate; + } + + public String getTratype() { + return tratype; + } + + public void setTratype(String tratype) { + this.tratype = tratype; + } + + public String getHoles() { + return holes; + } + + public void setHoles(String holes) { + this.holes = holes; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydpt2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydpt2000Entity.java new file mode 100644 index 0000000..104f832 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydpt2000Entity.java @@ -0,0 +1,225 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydpt2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydpt2000") +@EqualsAndHashCode(callSuper = false) +public class Dlghydpt2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 60916563990021384L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String encode; + + private String form; + + private String type; + + private BigDecimal depth; + + private BigDecimal elev; + + private BigDecimal direction; + + private BigDecimal flowrate; + + private String tratype; + + private String holes; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlghydpt2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEncode() { + return encode; + } + + public void setEncode(String encode) { + this.encode = encode; + } + + public String getForm() { + return form; + } + + public void setForm(String form) { + this.form = form; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public BigDecimal getFlowrate() { + return flowrate; + } + + public void setFlowrate(BigDecimal flowrate) { + this.flowrate = flowrate; + } + + public String getTratype() { + return tratype; + } + + public void setTratype(String tratype) { + this.tratype = tratype; + } + + public String getHoles() { + return holes; + } + + public void setHoles(String holes) { + this.holes = holes; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydpt5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydpt5000Entity.java new file mode 100644 index 0000000..09b9cab --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydpt5000Entity.java @@ -0,0 +1,225 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydpt5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydpt5000") +@EqualsAndHashCode(callSuper = false) +public class Dlghydpt5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 60916563990021384L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String encode; + + private String form; + + private String type; + + private BigDecimal depth; + + private BigDecimal elev; + + private BigDecimal direction; + + private BigDecimal flowrate; + + private String tratype; + + private String holes; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlghydpt5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEncode() { + return encode; + } + + public void setEncode(String encode) { + this.encode = encode; + } + + public String getForm() { + return form; + } + + public void setForm(String form) { + this.form = form; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public BigDecimal getFlowrate() { + return flowrate; + } + + public void setFlowrate(BigDecimal flowrate) { + this.flowrate = flowrate; + } + + public String getTratype() { + return tratype; + } + + public void setTratype(String tratype) { + this.tratype = tratype; + } + + public String getHoles() { + return holes; + } + + public void setHoles(String holes) { + this.holes = holes; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlghydpt500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlghydpt500Entity.java new file mode 100644 index 0000000..1579979 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlghydpt500Entity.java @@ -0,0 +1,225 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlghydpt500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_hydpt500") +@EqualsAndHashCode(callSuper = false) +public class Dlghydpt500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 60916563990021384L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String encode; + + private String form; + + private String type; + + private BigDecimal depth; + + private BigDecimal elev; + + private BigDecimal direction; + + private BigDecimal flowrate; + + private String tratype; + + private String holes; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlghydpt500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEncode() { + return encode; + } + + public void setEncode(String encode) { + this.encode = encode; + } + + public String getForm() { + return form; + } + + public void setForm(String form) { + this.form = form; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public BigDecimal getFlowrate() { + return flowrate; + } + + public void setFlowrate(BigDecimal flowrate) { + this.flowrate = flowrate; + } + + public String getTratype() { + return tratype; + } + + public void setTratype(String tratype) { + this.tratype = tratype; + } + + public String getHoles() { + return holes; + } + + public void setHoles(String holes) { + this.holes = holes; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgpipal1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgpipal1000Entity.java new file mode 100644 index 0000000..ac7b871 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgpipal1000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgpipal1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_pipal1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgpipal1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 60916563990021384L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgpipal1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgpipal2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgpipal2000Entity.java new file mode 100644 index 0000000..5155abd --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgpipal2000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgpipal2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_pipal2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgpipal2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 60916563990021384L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgpipal2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgpipal5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgpipal5000Entity.java new file mode 100644 index 0000000..d5b8006 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgpipal5000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgpipal5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_pipal5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgpipal5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 60916563990021384L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgpipal5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgpipal500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgpipal500Entity.java new file mode 100644 index 0000000..fa4f5b0 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgpipal500Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgpipal500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_pipal500") +@EqualsAndHashCode(callSuper = false) +public class Dlgpipal500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 60916563990021384L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgpipal500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgpipan1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgpipan1000Entity.java new file mode 100644 index 0000000..ad8ae3b --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgpipan1000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgpipan1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_pipan1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgpipan1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 60916563990021384L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgpipan1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgpipan2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgpipan2000Entity.java new file mode 100644 index 0000000..99ae408 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgpipan2000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgpipan2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_pipan2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgpipan2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 60916563990021384L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgpipan2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgpipan5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgpipan5000Entity.java new file mode 100644 index 0000000..559e6e0 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgpipan5000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgpipan5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_pipan5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgpipan5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 60916563990021384L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgpipan5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgpipan500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgpipan500Entity.java new file mode 100644 index 0000000..ec7b700 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgpipan500Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgpipan500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_pipan500") +@EqualsAndHashCode(callSuper = false) +public class Dlgpipan500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 60916563990021384L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgpipan500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgpiplk1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgpiplk1000Entity.java new file mode 100644 index 0000000..6edb491 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgpiplk1000Entity.java @@ -0,0 +1,165 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgpiplk1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_piplk1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgpiplk1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 224536851153027648L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal voltage; + + private BigDecimal headroom; + + private String type; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgpiplk1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getVoltage() { + return voltage; + } + + public void setVoltage(BigDecimal voltage) { + this.voltage = voltage; + } + + public BigDecimal getHeadroom() { + return headroom; + } + + public void setHeadroom(BigDecimal headroom) { + this.headroom = headroom; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgpiplk2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgpiplk2000Entity.java new file mode 100644 index 0000000..8f73bf4 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgpiplk2000Entity.java @@ -0,0 +1,165 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgpiplk2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_piplk2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgpiplk2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 224536851153027648L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal voltage; + + private BigDecimal headroom; + + private String type; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgpiplk2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getVoltage() { + return voltage; + } + + public void setVoltage(BigDecimal voltage) { + this.voltage = voltage; + } + + public BigDecimal getHeadroom() { + return headroom; + } + + public void setHeadroom(BigDecimal headroom) { + this.headroom = headroom; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgpiplk5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgpiplk5000Entity.java new file mode 100644 index 0000000..c5a6a54 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgpiplk5000Entity.java @@ -0,0 +1,165 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgpiplk5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_piplk5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgpiplk5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 224536851153027648L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal voltage; + + private BigDecimal headroom; + + private String type; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgpiplk5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getVoltage() { + return voltage; + } + + public void setVoltage(BigDecimal voltage) { + this.voltage = voltage; + } + + public BigDecimal getHeadroom() { + return headroom; + } + + public void setHeadroom(BigDecimal headroom) { + this.headroom = headroom; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgpiplk500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgpiplk500Entity.java new file mode 100644 index 0000000..520d023 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgpiplk500Entity.java @@ -0,0 +1,165 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgpiplk500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_piplk500") +@EqualsAndHashCode(callSuper = false) +public class Dlgpiplk500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 224536851153027648L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal voltage; + + private BigDecimal headroom; + + private String type; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgpiplk500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getVoltage() { + return voltage; + } + + public void setVoltage(BigDecimal voltage) { + this.voltage = voltage; + } + + public BigDecimal getHeadroom() { + return headroom; + } + + public void setHeadroom(BigDecimal headroom) { + this.headroom = headroom; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgpipnt1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgpipnt1000Entity.java new file mode 100644 index 0000000..c575497 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgpipnt1000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgpipnt1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_pipnt1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgpipnt1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 224536851153027648L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgpipnt1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgpipnt2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgpipnt2000Entity.java new file mode 100644 index 0000000..266a383 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgpipnt2000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgpipnt2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_pipnt2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgpipnt2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 224536851153027648L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgpipnt2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgpipnt5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgpipnt5000Entity.java new file mode 100644 index 0000000..fc8d538 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgpipnt5000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgpipnt5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_pipnt5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgpipnt5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 224536851153027648L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgpipnt5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgpipnt500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgpipnt500Entity.java new file mode 100644 index 0000000..fac71da --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgpipnt500Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgpipnt500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_pipnt500") +@EqualsAndHashCode(callSuper = false) +public class Dlgpipnt500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 224536851153027648L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgpipnt500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgpippt1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgpippt1000Entity.java new file mode 100644 index 0000000..c044e08 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgpippt1000Entity.java @@ -0,0 +1,165 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgpippt1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_pippt1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgpippt1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 224536851153027648L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String type; + + private BigDecimal direction; + + private String sshape; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgpippt1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public String getSshape() { + return sshape; + } + + public void setSshape(String sshape) { + this.sshape = sshape; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgpippt2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgpippt2000Entity.java new file mode 100644 index 0000000..e06a7b5 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgpippt2000Entity.java @@ -0,0 +1,165 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgpippt2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_pippt2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgpippt2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 224536851153027648L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String type; + + private BigDecimal direction; + + private String sshape; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgpippt2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public String getSshape() { + return sshape; + } + + public void setSshape(String sshape) { + this.sshape = sshape; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgpippt5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgpippt5000Entity.java new file mode 100644 index 0000000..4cefdf1 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgpippt5000Entity.java @@ -0,0 +1,165 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgpippt5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_pippt5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgpippt5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 224536851153027648L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String type; + + private BigDecimal direction; + + private String sshape; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgpippt5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public String getSshape() { + return sshape; + } + + public void setSshape(String sshape) { + this.sshape = sshape; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgpippt500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgpippt500Entity.java new file mode 100644 index 0000000..2d2b40b --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgpippt500Entity.java @@ -0,0 +1,165 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgpippt500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_pippt500") +@EqualsAndHashCode(callSuper = false) +public class Dlgpippt500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 224536851153027648L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String type; + + private BigDecimal direction; + + private String sshape; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgpippt500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public String getSshape() { + return sshape; + } + + public void setSshape(String sshape) { + this.sshape = sshape; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgresal1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgresal1000Entity.java new file mode 100644 index 0000000..f97fd76 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgresal1000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgresal1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_resal1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgresal1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 224536851153027648L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String atExtend; + + private String atAttrib; + + private String atPacked; + + private String maptile; + + private String projname; + + private String atGeom; + + public Dlgresal1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgresal2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgresal2000Entity.java new file mode 100644 index 0000000..f879f12 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgresal2000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgresal2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_resal2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgresal2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 224536851153027648L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String atExtend; + + private String atAttrib; + + private String atPacked; + + private String maptile; + + private String projname; + + private String atGeom; + + public Dlgresal2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgresal5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgresal5000Entity.java new file mode 100644 index 0000000..31c5f67 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgresal5000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgresal5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_resal5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgresal5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 224536851153027648L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + private String maptile; + + private String projname; + + public Dlgresal5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgresal500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgresal500Entity.java new file mode 100644 index 0000000..5824ef9 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgresal500Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgresal500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_resal500") +@EqualsAndHashCode(callSuper = false) +public class Dlgresal500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 224536851153027648L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + private String maptile; + + private String projname; + + public Dlgresal500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgresan1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgresan1000Entity.java new file mode 100644 index 0000000..7820f31 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgresan1000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgresan1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_resan1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgresan1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 224536851153027648L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgresan1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgresan2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgresan2000Entity.java new file mode 100644 index 0000000..6ed452a --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgresan2000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgresan2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_resan2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgresan2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 224536851153027648L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgresan2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgresan5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgresan5000Entity.java new file mode 100644 index 0000000..2d8eaca --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgresan5000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgresan5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_resan5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgresan5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 865731824126900992L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgresan5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgresan500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgresan500Entity.java new file mode 100644 index 0000000..252debd --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgresan500Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgresan500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_resan500") +@EqualsAndHashCode(callSuper = false) +public class Dlgresan500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 865731824126900992L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgresan500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgresap1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgresap1000Entity.java new file mode 100644 index 0000000..9dacf66 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgresap1000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgresap1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_resap1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgresap1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 865731824126900992L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgresap1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgresap2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgresap2000Entity.java new file mode 100644 index 0000000..7b4aa0d --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgresap2000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgresap2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_resap2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgresap2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 865731824126900992L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgresap2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgresap5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgresap5000Entity.java new file mode 100644 index 0000000..b070915 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgresap5000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgresap5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_resap5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgresap5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 865731824126900992L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgresap5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgresap500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgresap500Entity.java new file mode 100644 index 0000000..c33fe5f --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgresap500Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgresap500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_resap500") +@EqualsAndHashCode(callSuper = false) +public class Dlgresap500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 865731824126900992L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgresap500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgreslk1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgreslk1000Entity.java new file mode 100644 index 0000000..0e1a9e8 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgreslk1000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgreslk1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_reslk1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgreslk1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 865731824126900992L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal width; + + private BigDecimal height; + + private BigDecimal direction; + + private String type; + + private String purpose; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgreslk1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgreslk2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgreslk2000Entity.java new file mode 100644 index 0000000..4ae4da5 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgreslk2000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgreslk2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_reslk2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgreslk2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 865731824126900992L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal width; + + private BigDecimal height; + + private BigDecimal direction; + + private String type; + + private String purpose; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgreslk2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgreslk5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgreslk5000Entity.java new file mode 100644 index 0000000..16a15a6 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgreslk5000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgreslk5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_reslk5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgreslk5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 865731824126900992L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal width; + + private BigDecimal height; + + private BigDecimal direction; + + private String type; + + private String purpose; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgreslk5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgreslk500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgreslk500Entity.java new file mode 100644 index 0000000..6414be8 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgreslk500Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgreslk500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_reslk500") +@EqualsAndHashCode(callSuper = false) +public class Dlgreslk500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 865731824126900992L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal width; + + private BigDecimal height; + + private BigDecimal direction; + + private String type; + + private String purpose; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgreslk500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgresnt1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgresnt1000Entity.java new file mode 100644 index 0000000..d046d2e --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgresnt1000Entity.java @@ -0,0 +1,195 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgresnt1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_resnt1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgresnt1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 865731824126900992L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String type; + + private String floors; + + private String unfloors; + + private String strtype; + + private String purpose; + + private BigDecimal width; + + private BigDecimal height; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgresnt1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getFloors() { + return floors; + } + + public void setFloors(String floors) { + this.floors = floors; + } + + public String getUnfloors() { + return unfloors; + } + + public void setUnfloors(String unfloors) { + this.unfloors = unfloors; + } + + public String getStrtype() { + return strtype; + } + + public void setStrtype(String strtype) { + this.strtype = strtype; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgresnt2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgresnt2000Entity.java new file mode 100644 index 0000000..d5c01b0 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgresnt2000Entity.java @@ -0,0 +1,195 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgresnt2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_resnt2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgresnt2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 865731824126900992L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String type; + + private String floors; + + private String unfloors; + + private String strtype; + + private String purpose; + + private BigDecimal width; + + private BigDecimal height; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgresnt2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getFloors() { + return floors; + } + + public void setFloors(String floors) { + this.floors = floors; + } + + public String getUnfloors() { + return unfloors; + } + + public void setUnfloors(String unfloors) { + this.unfloors = unfloors; + } + + public String getStrtype() { + return strtype; + } + + public void setStrtype(String strtype) { + this.strtype = strtype; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgresnt5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgresnt5000Entity.java new file mode 100644 index 0000000..ce1eec6 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgresnt5000Entity.java @@ -0,0 +1,195 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgresnt5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_resnt5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgresnt5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 865731824126900992L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String type; + + private String floors; + + private String unfloors; + + private String strtype; + + private String purpose; + + private BigDecimal width; + + private BigDecimal height; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgresnt5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getFloors() { + return floors; + } + + public void setFloors(String floors) { + this.floors = floors; + } + + public String getUnfloors() { + return unfloors; + } + + public void setUnfloors(String unfloors) { + this.unfloors = unfloors; + } + + public String getStrtype() { + return strtype; + } + + public void setStrtype(String strtype) { + this.strtype = strtype; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgresnt500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgresnt500Entity.java new file mode 100644 index 0000000..adfa3ce --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgresnt500Entity.java @@ -0,0 +1,195 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgresnt500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_resnt500") +@EqualsAndHashCode(callSuper = false) +public class Dlgresnt500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 865731824126900992L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String type; + + private String floors; + + private String unfloors; + + private String strtype; + + private String purpose; + + private BigDecimal width; + + private BigDecimal height; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgresnt500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getFloors() { + return floors; + } + + public void setFloors(String floors) { + this.floors = floors; + } + + public String getUnfloors() { + return unfloors; + } + + public void setUnfloors(String unfloors) { + this.unfloors = unfloors; + } + + public String getStrtype() { + return strtype; + } + + public void setStrtype(String strtype) { + this.strtype = strtype; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgrespt1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgrespt1000Entity.java new file mode 100644 index 0000000..541462a --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgrespt1000Entity.java @@ -0,0 +1,225 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgrespt1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_respt1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgrespt1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 865731824126900992L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal direction; + + private String months; + + private String type; + + private String purpose; + + private BigDecimal depth; + + private String distribute; + + private String content; + + private String sshape; + + private String retype; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgrespt1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public String getMonths() { + return months; + } + + public void setMonths(String months) { + this.months = months; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public String getDistribute() { + return distribute; + } + + public void setDistribute(String distribute) { + this.distribute = distribute; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getSshape() { + return sshape; + } + + public void setSshape(String sshape) { + this.sshape = sshape; + } + + public String getRetype() { + return retype; + } + + public void setRetype(String retype) { + this.retype = retype; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgrespt2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgrespt2000Entity.java new file mode 100644 index 0000000..5065ccb --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgrespt2000Entity.java @@ -0,0 +1,225 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgrespt2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_respt2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgrespt2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 865731824126900992L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal direction; + + private String months; + + private String type; + + private String purpose; + + private BigDecimal depth; + + private String distribute; + + private String content; + + private String sshape; + + private String retype; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgrespt2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public String getMonths() { + return months; + } + + public void setMonths(String months) { + this.months = months; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public String getDistribute() { + return distribute; + } + + public void setDistribute(String distribute) { + this.distribute = distribute; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getSshape() { + return sshape; + } + + public void setSshape(String sshape) { + this.sshape = sshape; + } + + public String getRetype() { + return retype; + } + + public void setRetype(String retype) { + this.retype = retype; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgrespt5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgrespt5000Entity.java new file mode 100644 index 0000000..2f6c2ee --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgrespt5000Entity.java @@ -0,0 +1,225 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgrespt5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_respt5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgrespt5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 29352111289907300L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal direction; + + private String months; + + private String type; + + private String purpose; + + private BigDecimal depth; + + private String distribute; + + private String content; + + private String sshape; + + private String retype; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgrespt5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public String getMonths() { + return months; + } + + public void setMonths(String months) { + this.months = months; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public String getDistribute() { + return distribute; + } + + public void setDistribute(String distribute) { + this.distribute = distribute; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getSshape() { + return sshape; + } + + public void setSshape(String sshape) { + this.sshape = sshape; + } + + public String getRetype() { + return retype; + } + + public void setRetype(String retype) { + this.retype = retype; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgrespt500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgrespt500Entity.java new file mode 100644 index 0000000..4791b39 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgrespt500Entity.java @@ -0,0 +1,225 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgrespt500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_respt500") +@EqualsAndHashCode(callSuper = false) +public class Dlgrespt500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 29352111289907300L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal direction; + + private String months; + + private String type; + + private String purpose; + + private BigDecimal depth; + + private String distribute; + + private String content; + + private String sshape; + + private String retype; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgrespt500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public String getMonths() { + return months; + } + + public void setMonths(String months) { + this.months = months; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public String getDistribute() { + return distribute; + } + + public void setDistribute(String distribute) { + this.distribute = distribute; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getSshape() { + return sshape; + } + + public void setSshape(String sshape) { + this.sshape = sshape; + } + + public String getRetype() { + return retype; + } + + public void setRetype(String retype) { + this.retype = retype; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgteral1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgteral1000Entity.java new file mode 100644 index 0000000..ed32831 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgteral1000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgteral1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_teral1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgteral1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 29352111289907300L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgteral1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgteral2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgteral2000Entity.java new file mode 100644 index 0000000..61c6454 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgteral2000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgteral2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_teral2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgteral2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 29352111289907300L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgteral2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgteral5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgteral5000Entity.java new file mode 100644 index 0000000..7869679 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgteral5000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgteral5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_teral5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgteral5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 29352111289907300L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgteral5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgteral500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgteral500Entity.java new file mode 100644 index 0000000..974c7b4 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgteral500Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgteral500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_teral500") +@EqualsAndHashCode(callSuper = false) +public class Dlgteral500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 29352111289907300L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgteral500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgteran1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgteran1000Entity.java new file mode 100644 index 0000000..27215a7 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgteran1000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgteran1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_teran1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgteran1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 29352111289907300L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atPacked; + + private String atGeom; + + public Dlgteran1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgteran2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgteran2000Entity.java new file mode 100644 index 0000000..199f180 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgteran2000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgteran2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_teran2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgteran2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 29352111289907300L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atPacked; + + private String atGeom; + + public Dlgteran2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgteran5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgteran5000Entity.java new file mode 100644 index 0000000..18b9ceb --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgteran5000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgteran5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_teran5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgteran5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 29352111289907300L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atPacked; + + private String atGeom; + + public Dlgteran5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgteran500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgteran500Entity.java new file mode 100644 index 0000000..e950ebb --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgteran500Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgteran500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_teran500") +@EqualsAndHashCode(callSuper = false) +public class Dlgteran500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 29352111289907300L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atPacked; + + private String atGeom; + + public Dlgteran500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgterlk1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgterlk1000Entity.java new file mode 100644 index 0000000..58ccbb1 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgterlk1000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgterlk1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_terlk1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgterlk1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 29352111289907300L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal elev; + + private BigDecimal width; + + private BigDecimal depth; + + private String type; + + private BigDecimal diffelev; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgterlk1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public BigDecimal getDiffelev() { + return diffelev; + } + + public void setDiffelev(BigDecimal diffelev) { + this.diffelev = diffelev; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgterlk2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgterlk2000Entity.java new file mode 100644 index 0000000..08abb0c --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgterlk2000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgterlk2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_terlk2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgterlk2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 29352111289907300L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal elev; + + private BigDecimal width; + + private BigDecimal depth; + + private String type; + + private BigDecimal diffelev; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgterlk2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public BigDecimal getDiffelev() { + return diffelev; + } + + public void setDiffelev(BigDecimal diffelev) { + this.diffelev = diffelev; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgterlk5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgterlk5000Entity.java new file mode 100644 index 0000000..705190c --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgterlk5000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgterlk5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_terlk5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgterlk5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 29352111289907300L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal elev; + + private BigDecimal width; + + private BigDecimal depth; + + private String type; + + private BigDecimal diffelev; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgterlk5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public BigDecimal getDiffelev() { + return diffelev; + } + + public void setDiffelev(BigDecimal diffelev) { + this.diffelev = diffelev; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgterlk500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgterlk500Entity.java new file mode 100644 index 0000000..18de366 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgterlk500Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgterlk500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_terlk500") +@EqualsAndHashCode(callSuper = false) +public class Dlgterlk500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 29352111289907300L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal elev; + + private BigDecimal width; + + private BigDecimal depth; + + private String type; + + private BigDecimal diffelev; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgterlk500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public BigDecimal getDiffelev() { + return diffelev; + } + + public void setDiffelev(BigDecimal diffelev) { + this.diffelev = diffelev; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgternt1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgternt1000Entity.java new file mode 100644 index 0000000..cdcacb6 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgternt1000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgternt1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_ternt1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgternt1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 29352111289907300L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal diffelev; + + private BigDecimal depth; + + private BigDecimal width; + + private String feature; + + private String type; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgternt1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getDiffelev() { + return diffelev; + } + + public void setDiffelev(BigDecimal diffelev) { + this.diffelev = diffelev; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public String getFeature() { + return feature; + } + + public void setFeature(String feature) { + this.feature = feature; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgternt2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgternt2000Entity.java new file mode 100644 index 0000000..b64459a --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgternt2000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgternt2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_ternt2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgternt2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 29352111289907300L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal diffelev; + + private BigDecimal depth; + + private BigDecimal width; + + private String feature; + + private String type; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgternt2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getDiffelev() { + return diffelev; + } + + public void setDiffelev(BigDecimal diffelev) { + this.diffelev = diffelev; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public String getFeature() { + return feature; + } + + public void setFeature(String feature) { + this.feature = feature; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgternt5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgternt5000Entity.java new file mode 100644 index 0000000..4500712 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgternt5000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgternt5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_ternt5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgternt5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 29352111289907300L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal diffelev; + + private BigDecimal depth; + + private BigDecimal width; + + private String feature; + + private String type; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgternt5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getDiffelev() { + return diffelev; + } + + public void setDiffelev(BigDecimal diffelev) { + this.diffelev = diffelev; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public String getFeature() { + return feature; + } + + public void setFeature(String feature) { + this.feature = feature; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgternt500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgternt500Entity.java new file mode 100644 index 0000000..eeaee43 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgternt500Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgternt500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_ternt500") +@EqualsAndHashCode(callSuper = false) +public class Dlgternt500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 29352111289907300L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal diffelev; + + private BigDecimal depth; + + private BigDecimal width; + + private String feature; + + private String type; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgternt500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getDiffelev() { + return diffelev; + } + + public void setDiffelev(BigDecimal diffelev) { + this.diffelev = diffelev; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public String getFeature() { + return feature; + } + + public void setFeature(String feature) { + this.feature = feature; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgterpt1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgterpt1000Entity.java new file mode 100644 index 0000000..0d0a07d --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgterpt1000Entity.java @@ -0,0 +1,175 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgterpt1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_terpt1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgterpt1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 670547084263780608L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal elev; + + private BigDecimal diffelev; + + private String type; + + private BigDecimal direction; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgterpt1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public BigDecimal getDiffelev() { + return diffelev; + } + + public void setDiffelev(BigDecimal diffelev) { + this.diffelev = diffelev; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgterpt2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgterpt2000Entity.java new file mode 100644 index 0000000..02f7b56 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgterpt2000Entity.java @@ -0,0 +1,175 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgterpt2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_terpt2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgterpt2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 670547084263780608L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal elev; + + private BigDecimal diffelev; + + private String type; + + private BigDecimal direction; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgterpt2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public BigDecimal getDiffelev() { + return diffelev; + } + + public void setDiffelev(BigDecimal diffelev) { + this.diffelev = diffelev; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgterpt5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgterpt5000Entity.java new file mode 100644 index 0000000..a9a14ae --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgterpt5000Entity.java @@ -0,0 +1,175 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgterpt5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_terpt5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgterpt5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 670547084263780608L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal elev; + + private BigDecimal diffelev; + + private String type; + + private BigDecimal direction; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgterpt5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public BigDecimal getDiffelev() { + return diffelev; + } + + public void setDiffelev(BigDecimal diffelev) { + this.diffelev = diffelev; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgterpt500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgterpt500Entity.java new file mode 100644 index 0000000..d3eb267 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgterpt500Entity.java @@ -0,0 +1,175 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgterpt500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_terpt500") +@EqualsAndHashCode(callSuper = false) +public class Dlgterpt500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 670547084263780608L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private BigDecimal elev; + + private BigDecimal diffelev; + + private String type; + + private BigDecimal direction; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgterpt500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public BigDecimal getDiffelev() { + return diffelev; + } + + public void setDiffelev(BigDecimal diffelev) { + this.diffelev = diffelev; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgtraal1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgtraal1000Entity.java new file mode 100644 index 0000000..1b63bd9 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgtraal1000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgtraal1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_traal1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgtraal1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 670547084263780608L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgtraal1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgtraal2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgtraal2000Entity.java new file mode 100644 index 0000000..b8f95a7 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgtraal2000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgtraal2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_traal2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgtraal2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 670547084263780608L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgtraal2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgtraal5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgtraal5000Entity.java new file mode 100644 index 0000000..22791bf --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgtraal5000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgtraal5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_traal5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgtraal5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 670547084263780608L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgtraal5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgtraal500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgtraal500Entity.java new file mode 100644 index 0000000..3317476 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgtraal500Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgtraal500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_traal500") +@EqualsAndHashCode(callSuper = false) +public class Dlgtraal500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 670547084263780608L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgtraal500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgtraan1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgtraan1000Entity.java new file mode 100644 index 0000000..05b6d31 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgtraan1000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgtraan1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_traan1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgtraan1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 670547084263780608L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgtraan1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgtraan2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgtraan2000Entity.java new file mode 100644 index 0000000..5a0049d --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgtraan2000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgtraan2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_traan2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgtraan2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 670547084263780608L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgtraan2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgtraan5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgtraan5000Entity.java new file mode 100644 index 0000000..03f11e1 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgtraan5000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgtraan5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_traan5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgtraan5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 670547084263780608L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgtraan5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgtraan500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgtraan500Entity.java new file mode 100644 index 0000000..39a6328 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgtraan500Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgtraan500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_traan500") +@EqualsAndHashCode(callSuper = false) +public class Dlgtraan500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 670547084263780608L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgtraan500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgtralk1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgtralk1000Entity.java new file mode 100644 index 0000000..eb72af1 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgtralk1000Entity.java @@ -0,0 +1,275 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgtralk1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_tralk1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgtralk1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 670547084263780608L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String encode; + + private String linecode; + + private String linetype; + + private String number; + + private String grade; + + private String pavtype; + + private BigDecimal roadwidth; + + private BigDecimal pavwidth; + + private String conroad; + + private String type; + + private String lanes; + + private BigDecimal length; + + private String purpose; + + private BigDecimal carrying; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgtralk1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEncode() { + return encode; + } + + public void setEncode(String encode) { + this.encode = encode; + } + + public String getLinecode() { + return linecode; + } + + public void setLinecode(String linecode) { + this.linecode = linecode; + } + + public String getLinetype() { + return linetype; + } + + public void setLinetype(String linetype) { + this.linetype = linetype; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getGrade() { + return grade; + } + + public void setGrade(String grade) { + this.grade = grade; + } + + public String getPavtype() { + return pavtype; + } + + public void setPavtype(String pavtype) { + this.pavtype = pavtype; + } + + public BigDecimal getRoadwidth() { + return roadwidth; + } + + public void setRoadwidth(BigDecimal roadwidth) { + this.roadwidth = roadwidth; + } + + public BigDecimal getPavwidth() { + return pavwidth; + } + + public void setPavwidth(BigDecimal pavwidth) { + this.pavwidth = pavwidth; + } + + public String getConroad() { + return conroad; + } + + public void setConroad(String conroad) { + this.conroad = conroad; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getLanes() { + return lanes; + } + + public void setLanes(String lanes) { + this.lanes = lanes; + } + + public BigDecimal getLength() { + return length; + } + + public void setLength(BigDecimal length) { + this.length = length; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public BigDecimal getCarrying() { + return carrying; + } + + public void setCarrying(BigDecimal carrying) { + this.carrying = carrying; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgtralk2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgtralk2000Entity.java new file mode 100644 index 0000000..cfe01db --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgtralk2000Entity.java @@ -0,0 +1,275 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgtralk2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_tralk2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgtralk2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 670547084263780608L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String encode; + + private String linecode; + + private String linetype; + + private String number; + + private String grade; + + private String pavtype; + + private BigDecimal roadwidth; + + private BigDecimal pavwidth; + + private String conroad; + + private String type; + + private String lanes; + + private BigDecimal length; + + private String purpose; + + private BigDecimal carrying; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgtralk2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEncode() { + return encode; + } + + public void setEncode(String encode) { + this.encode = encode; + } + + public String getLinecode() { + return linecode; + } + + public void setLinecode(String linecode) { + this.linecode = linecode; + } + + public String getLinetype() { + return linetype; + } + + public void setLinetype(String linetype) { + this.linetype = linetype; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getGrade() { + return grade; + } + + public void setGrade(String grade) { + this.grade = grade; + } + + public String getPavtype() { + return pavtype; + } + + public void setPavtype(String pavtype) { + this.pavtype = pavtype; + } + + public BigDecimal getRoadwidth() { + return roadwidth; + } + + public void setRoadwidth(BigDecimal roadwidth) { + this.roadwidth = roadwidth; + } + + public BigDecimal getPavwidth() { + return pavwidth; + } + + public void setPavwidth(BigDecimal pavwidth) { + this.pavwidth = pavwidth; + } + + public String getConroad() { + return conroad; + } + + public void setConroad(String conroad) { + this.conroad = conroad; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getLanes() { + return lanes; + } + + public void setLanes(String lanes) { + this.lanes = lanes; + } + + public BigDecimal getLength() { + return length; + } + + public void setLength(BigDecimal length) { + this.length = length; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public BigDecimal getCarrying() { + return carrying; + } + + public void setCarrying(BigDecimal carrying) { + this.carrying = carrying; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgtralk5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgtralk5000Entity.java new file mode 100644 index 0000000..3d76b23 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgtralk5000Entity.java @@ -0,0 +1,275 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgtralk5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_tralk5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgtralk5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 670547084263780608L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String encode; + + private String linecode; + + private String linetype; + + private String number; + + private String grade; + + private String pavtype; + + private BigDecimal roadwidth; + + private BigDecimal pavwidth; + + private String conroad; + + private String type; + + private String lanes; + + private BigDecimal length; + + private String purpose; + + private BigDecimal carrying; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgtralk5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEncode() { + return encode; + } + + public void setEncode(String encode) { + this.encode = encode; + } + + public String getLinecode() { + return linecode; + } + + public void setLinecode(String linecode) { + this.linecode = linecode; + } + + public String getLinetype() { + return linetype; + } + + public void setLinetype(String linetype) { + this.linetype = linetype; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getGrade() { + return grade; + } + + public void setGrade(String grade) { + this.grade = grade; + } + + public String getPavtype() { + return pavtype; + } + + public void setPavtype(String pavtype) { + this.pavtype = pavtype; + } + + public BigDecimal getRoadwidth() { + return roadwidth; + } + + public void setRoadwidth(BigDecimal roadwidth) { + this.roadwidth = roadwidth; + } + + public BigDecimal getPavwidth() { + return pavwidth; + } + + public void setPavwidth(BigDecimal pavwidth) { + this.pavwidth = pavwidth; + } + + public String getConroad() { + return conroad; + } + + public void setConroad(String conroad) { + this.conroad = conroad; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getLanes() { + return lanes; + } + + public void setLanes(String lanes) { + this.lanes = lanes; + } + + public BigDecimal getLength() { + return length; + } + + public void setLength(BigDecimal length) { + this.length = length; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public BigDecimal getCarrying() { + return carrying; + } + + public void setCarrying(BigDecimal carrying) { + this.carrying = carrying; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgtralk500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgtralk500Entity.java new file mode 100644 index 0000000..eab5159 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgtralk500Entity.java @@ -0,0 +1,275 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgtralk500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_tralk500") +@EqualsAndHashCode(callSuper = false) +public class Dlgtralk500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 670547084263780608L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String encode; + + private String linecode; + + private String linetype; + + private String number; + + private String grade; + + private String pavtype; + + private BigDecimal roadwidth; + + private BigDecimal pavwidth; + + private String conroad; + + private String type; + + private String lanes; + + private BigDecimal length; + + private String purpose; + + private BigDecimal carrying; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgtralk500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEncode() { + return encode; + } + + public void setEncode(String encode) { + this.encode = encode; + } + + public String getLinecode() { + return linecode; + } + + public void setLinecode(String linecode) { + this.linecode = linecode; + } + + public String getLinetype() { + return linetype; + } + + public void setLinetype(String linetype) { + this.linetype = linetype; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getGrade() { + return grade; + } + + public void setGrade(String grade) { + this.grade = grade; + } + + public String getPavtype() { + return pavtype; + } + + public void setPavtype(String pavtype) { + this.pavtype = pavtype; + } + + public BigDecimal getRoadwidth() { + return roadwidth; + } + + public void setRoadwidth(BigDecimal roadwidth) { + this.roadwidth = roadwidth; + } + + public BigDecimal getPavwidth() { + return pavwidth; + } + + public void setPavwidth(BigDecimal pavwidth) { + this.pavwidth = pavwidth; + } + + public String getConroad() { + return conroad; + } + + public void setConroad(String conroad) { + this.conroad = conroad; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getLanes() { + return lanes; + } + + public void setLanes(String lanes) { + this.lanes = lanes; + } + + public BigDecimal getLength() { + return length; + } + + public void setLength(BigDecimal length) { + this.length = length; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public BigDecimal getCarrying() { + return carrying; + } + + public void setCarrying(BigDecimal carrying) { + this.carrying = carrying; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgtrant1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgtrant1000Entity.java new file mode 100644 index 0000000..e437d75 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgtrant1000Entity.java @@ -0,0 +1,325 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgtrant1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_trant1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgtrant1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 311742057237654016L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String encode; + + private String number; + + private String grade; + + private String pavtype; + + private BigDecimal roadwidth; + + private BigDecimal pavwidth; + + private String conroad; + + private String lanes; + + private String belroad; + + private String tratype; + + private BigDecimal deadweight; + + private String acrossfea; + + private BigDecimal highlimit; + + private String type; + + private BigDecimal length; + + private String status; + + private String belwater; + + private BigDecimal diffelev; + + private String purpose; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgtrant1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEncode() { + return encode; + } + + public void setEncode(String encode) { + this.encode = encode; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getGrade() { + return grade; + } + + public void setGrade(String grade) { + this.grade = grade; + } + + public String getPavtype() { + return pavtype; + } + + public void setPavtype(String pavtype) { + this.pavtype = pavtype; + } + + public BigDecimal getRoadwidth() { + return roadwidth; + } + + public void setRoadwidth(BigDecimal roadwidth) { + this.roadwidth = roadwidth; + } + + public BigDecimal getPavwidth() { + return pavwidth; + } + + public void setPavwidth(BigDecimal pavwidth) { + this.pavwidth = pavwidth; + } + + public String getConroad() { + return conroad; + } + + public void setConroad(String conroad) { + this.conroad = conroad; + } + + public String getLanes() { + return lanes; + } + + public void setLanes(String lanes) { + this.lanes = lanes; + } + + public String getBelroad() { + return belroad; + } + + public void setBelroad(String belroad) { + this.belroad = belroad; + } + + public String getTratype() { + return tratype; + } + + public void setTratype(String tratype) { + this.tratype = tratype; + } + + public BigDecimal getDeadweight() { + return deadweight; + } + + public void setDeadweight(BigDecimal deadweight) { + this.deadweight = deadweight; + } + + public String getAcrossfea() { + return acrossfea; + } + + public void setAcrossfea(String acrossfea) { + this.acrossfea = acrossfea; + } + + public BigDecimal getHighlimit() { + return highlimit; + } + + public void setHighlimit(BigDecimal highlimit) { + this.highlimit = highlimit; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public BigDecimal getLength() { + return length; + } + + public void setLength(BigDecimal length) { + this.length = length; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getBelwater() { + return belwater; + } + + public void setBelwater(String belwater) { + this.belwater = belwater; + } + + public BigDecimal getDiffelev() { + return diffelev; + } + + public void setDiffelev(BigDecimal diffelev) { + this.diffelev = diffelev; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgtrant2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgtrant2000Entity.java new file mode 100644 index 0000000..964fffe --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgtrant2000Entity.java @@ -0,0 +1,325 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgtrant2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_trant2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgtrant2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 311742057237654016L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String encode; + + private String number; + + private String grade; + + private String pavtype; + + private BigDecimal roadwidth; + + private BigDecimal pavwidth; + + private String conroad; + + private String lanes; + + private String belroad; + + private String tratype; + + private BigDecimal deadweight; + + private String acrossfea; + + private BigDecimal highlimit; + + private String type; + + private BigDecimal length; + + private String status; + + private String belwater; + + private BigDecimal diffelev; + + private String purpose; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgtrant2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEncode() { + return encode; + } + + public void setEncode(String encode) { + this.encode = encode; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getGrade() { + return grade; + } + + public void setGrade(String grade) { + this.grade = grade; + } + + public String getPavtype() { + return pavtype; + } + + public void setPavtype(String pavtype) { + this.pavtype = pavtype; + } + + public BigDecimal getRoadwidth() { + return roadwidth; + } + + public void setRoadwidth(BigDecimal roadwidth) { + this.roadwidth = roadwidth; + } + + public BigDecimal getPavwidth() { + return pavwidth; + } + + public void setPavwidth(BigDecimal pavwidth) { + this.pavwidth = pavwidth; + } + + public String getConroad() { + return conroad; + } + + public void setConroad(String conroad) { + this.conroad = conroad; + } + + public String getLanes() { + return lanes; + } + + public void setLanes(String lanes) { + this.lanes = lanes; + } + + public String getBelroad() { + return belroad; + } + + public void setBelroad(String belroad) { + this.belroad = belroad; + } + + public String getTratype() { + return tratype; + } + + public void setTratype(String tratype) { + this.tratype = tratype; + } + + public BigDecimal getDeadweight() { + return deadweight; + } + + public void setDeadweight(BigDecimal deadweight) { + this.deadweight = deadweight; + } + + public String getAcrossfea() { + return acrossfea; + } + + public void setAcrossfea(String acrossfea) { + this.acrossfea = acrossfea; + } + + public BigDecimal getHighlimit() { + return highlimit; + } + + public void setHighlimit(BigDecimal highlimit) { + this.highlimit = highlimit; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public BigDecimal getLength() { + return length; + } + + public void setLength(BigDecimal length) { + this.length = length; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getBelwater() { + return belwater; + } + + public void setBelwater(String belwater) { + this.belwater = belwater; + } + + public BigDecimal getDiffelev() { + return diffelev; + } + + public void setDiffelev(BigDecimal diffelev) { + this.diffelev = diffelev; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgtrant5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgtrant5000Entity.java new file mode 100644 index 0000000..3b5ed8c --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgtrant5000Entity.java @@ -0,0 +1,325 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgtrant5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_trant5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgtrant5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 311742057237654016L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String encode; + + private String number; + + private String grade; + + private String pavtype; + + private BigDecimal roadwidth; + + private BigDecimal pavwidth; + + private String conroad; + + private String lanes; + + private String belroad; + + private String tratype; + + private BigDecimal deadweight; + + private String acrossfea; + + private BigDecimal highlimit; + + private String type; + + private BigDecimal length; + + private String status; + + private String belwater; + + private BigDecimal diffelev; + + private String purpose; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgtrant5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEncode() { + return encode; + } + + public void setEncode(String encode) { + this.encode = encode; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getGrade() { + return grade; + } + + public void setGrade(String grade) { + this.grade = grade; + } + + public String getPavtype() { + return pavtype; + } + + public void setPavtype(String pavtype) { + this.pavtype = pavtype; + } + + public BigDecimal getRoadwidth() { + return roadwidth; + } + + public void setRoadwidth(BigDecimal roadwidth) { + this.roadwidth = roadwidth; + } + + public BigDecimal getPavwidth() { + return pavwidth; + } + + public void setPavwidth(BigDecimal pavwidth) { + this.pavwidth = pavwidth; + } + + public String getConroad() { + return conroad; + } + + public void setConroad(String conroad) { + this.conroad = conroad; + } + + public String getLanes() { + return lanes; + } + + public void setLanes(String lanes) { + this.lanes = lanes; + } + + public String getBelroad() { + return belroad; + } + + public void setBelroad(String belroad) { + this.belroad = belroad; + } + + public String getTratype() { + return tratype; + } + + public void setTratype(String tratype) { + this.tratype = tratype; + } + + public BigDecimal getDeadweight() { + return deadweight; + } + + public void setDeadweight(BigDecimal deadweight) { + this.deadweight = deadweight; + } + + public String getAcrossfea() { + return acrossfea; + } + + public void setAcrossfea(String acrossfea) { + this.acrossfea = acrossfea; + } + + public BigDecimal getHighlimit() { + return highlimit; + } + + public void setHighlimit(BigDecimal highlimit) { + this.highlimit = highlimit; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public BigDecimal getLength() { + return length; + } + + public void setLength(BigDecimal length) { + this.length = length; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getBelwater() { + return belwater; + } + + public void setBelwater(String belwater) { + this.belwater = belwater; + } + + public BigDecimal getDiffelev() { + return diffelev; + } + + public void setDiffelev(BigDecimal diffelev) { + this.diffelev = diffelev; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgtrant500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgtrant500Entity.java new file mode 100644 index 0000000..1662398 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgtrant500Entity.java @@ -0,0 +1,325 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgtrant500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_trant500") +@EqualsAndHashCode(callSuper = false) +public class Dlgtrant500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 311742057237654016L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String encode; + + private String number; + + private String grade; + + private String pavtype; + + private BigDecimal roadwidth; + + private BigDecimal pavwidth; + + private String conroad; + + private String lanes; + + private String belroad; + + private String tratype; + + private BigDecimal deadweight; + + private String acrossfea; + + private BigDecimal highlimit; + + private String type; + + private BigDecimal length; + + private String status; + + private String belwater; + + private BigDecimal diffelev; + + private String purpose; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgtrant500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEncode() { + return encode; + } + + public void setEncode(String encode) { + this.encode = encode; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getGrade() { + return grade; + } + + public void setGrade(String grade) { + this.grade = grade; + } + + public String getPavtype() { + return pavtype; + } + + public void setPavtype(String pavtype) { + this.pavtype = pavtype; + } + + public BigDecimal getRoadwidth() { + return roadwidth; + } + + public void setRoadwidth(BigDecimal roadwidth) { + this.roadwidth = roadwidth; + } + + public BigDecimal getPavwidth() { + return pavwidth; + } + + public void setPavwidth(BigDecimal pavwidth) { + this.pavwidth = pavwidth; + } + + public String getConroad() { + return conroad; + } + + public void setConroad(String conroad) { + this.conroad = conroad; + } + + public String getLanes() { + return lanes; + } + + public void setLanes(String lanes) { + this.lanes = lanes; + } + + public String getBelroad() { + return belroad; + } + + public void setBelroad(String belroad) { + this.belroad = belroad; + } + + public String getTratype() { + return tratype; + } + + public void setTratype(String tratype) { + this.tratype = tratype; + } + + public BigDecimal getDeadweight() { + return deadweight; + } + + public void setDeadweight(BigDecimal deadweight) { + this.deadweight = deadweight; + } + + public String getAcrossfea() { + return acrossfea; + } + + public void setAcrossfea(String acrossfea) { + this.acrossfea = acrossfea; + } + + public BigDecimal getHighlimit() { + return highlimit; + } + + public void setHighlimit(BigDecimal highlimit) { + this.highlimit = highlimit; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public BigDecimal getLength() { + return length; + } + + public void setLength(BigDecimal length) { + this.length = length; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getBelwater() { + return belwater; + } + + public void setBelwater(String belwater) { + this.belwater = belwater; + } + + public BigDecimal getDiffelev() { + return diffelev; + } + + public void setDiffelev(BigDecimal diffelev) { + this.diffelev = diffelev; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgtrapt1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgtrapt1000Entity.java new file mode 100644 index 0000000..0b77231 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgtrapt1000Entity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgtrapt1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_trapt1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgtrapt1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 311742057237654016L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String stacode; + + private BigDecimal direction; + + private String number; + + private String type; + + private String linename; + + private BigDecimal mileage; + + private String belwater; + + private BigDecimal diffelev; + + private String purpose; + + private String status; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgtrapt1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getStacode() { + return stacode; + } + + public void setStacode(String stacode) { + this.stacode = stacode; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getLinename() { + return linename; + } + + public void setLinename(String linename) { + this.linename = linename; + } + + public BigDecimal getMileage() { + return mileage; + } + + public void setMileage(BigDecimal mileage) { + this.mileage = mileage; + } + + public String getBelwater() { + return belwater; + } + + public void setBelwater(String belwater) { + this.belwater = belwater; + } + + public BigDecimal getDiffelev() { + return diffelev; + } + + public void setDiffelev(BigDecimal diffelev) { + this.diffelev = diffelev; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgtrapt2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgtrapt2000Entity.java new file mode 100644 index 0000000..f79f738 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgtrapt2000Entity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgtrapt2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_trapt2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgtrapt2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 311742057237654016L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String stacode; + + private BigDecimal direction; + + private String number; + + private String type; + + private String linename; + + private BigDecimal mileage; + + private String belwater; + + private BigDecimal diffelev; + + private String purpose; + + private String status; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgtrapt2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getStacode() { + return stacode; + } + + public void setStacode(String stacode) { + this.stacode = stacode; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getLinename() { + return linename; + } + + public void setLinename(String linename) { + this.linename = linename; + } + + public BigDecimal getMileage() { + return mileage; + } + + public void setMileage(BigDecimal mileage) { + this.mileage = mileage; + } + + public String getBelwater() { + return belwater; + } + + public void setBelwater(String belwater) { + this.belwater = belwater; + } + + public BigDecimal getDiffelev() { + return diffelev; + } + + public void setDiffelev(BigDecimal diffelev) { + this.diffelev = diffelev; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgtrapt5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgtrapt5000Entity.java new file mode 100644 index 0000000..0badb0a --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgtrapt5000Entity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgtrapt5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_trapt5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgtrapt5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 311742057237654016L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String stacode; + + private BigDecimal direction; + + private String number; + + private String type; + + private String linename; + + private BigDecimal mileage; + + private String belwater; + + private BigDecimal diffelev; + + private String purpose; + + private String status; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgtrapt5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getStacode() { + return stacode; + } + + public void setStacode(String stacode) { + this.stacode = stacode; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getLinename() { + return linename; + } + + public void setLinename(String linename) { + this.linename = linename; + } + + public BigDecimal getMileage() { + return mileage; + } + + public void setMileage(BigDecimal mileage) { + this.mileage = mileage; + } + + public String getBelwater() { + return belwater; + } + + public void setBelwater(String belwater) { + this.belwater = belwater; + } + + public BigDecimal getDiffelev() { + return diffelev; + } + + public void setDiffelev(BigDecimal diffelev) { + this.diffelev = diffelev; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgtrapt500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgtrapt500Entity.java new file mode 100644 index 0000000..c8864ec --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgtrapt500Entity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgtrapt500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_trapt500") +@EqualsAndHashCode(callSuper = false) +public class Dlgtrapt500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 311742057237654016L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String stacode; + + private BigDecimal direction; + + private String number; + + private String type; + + private String linename; + + private BigDecimal mileage; + + private String belwater; + + private BigDecimal diffelev; + + private String purpose; + + private String status; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgtrapt500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getStacode() { + return stacode; + } + + public void setStacode(String stacode) { + this.stacode = stacode; + } + + public BigDecimal getDirection() { + return direction; + } + + public void setDirection(BigDecimal direction) { + this.direction = direction; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getLinename() { + return linename; + } + + public void setLinename(String linename) { + this.linename = linename; + } + + public BigDecimal getMileage() { + return mileage; + } + + public void setMileage(BigDecimal mileage) { + this.mileage = mileage; + } + + public String getBelwater() { + return belwater; + } + + public void setBelwater(String belwater) { + this.belwater = belwater; + } + + public BigDecimal getDiffelev() { + return diffelev; + } + + public void setDiffelev(BigDecimal diffelev) { + this.diffelev = diffelev; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgvegal1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgvegal1000Entity.java new file mode 100644 index 0000000..01e0c65 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgvegal1000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgvegal1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_vegal1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgvegal1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 311742057237654016L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgvegal1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgvegal2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgvegal2000Entity.java new file mode 100644 index 0000000..a0044b8 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgvegal2000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgvegal2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_vegal2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgvegal2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 311742057237654016L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgvegal2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgvegal5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgvegal5000Entity.java new file mode 100644 index 0000000..49d584e --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgvegal5000Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgvegal5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_vegal5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgvegal5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 311742057237654016L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgvegal5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgvegal500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgvegal500Entity.java new file mode 100644 index 0000000..6b620a9 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgvegal500Entity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgvegal500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_vegal500") +@EqualsAndHashCode(callSuper = false) +public class Dlgvegal500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 311742057237654016L; + + private String usercode; + + private String gb; + + private String codename; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgvegal500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgvegan1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgvegan1000Entity.java new file mode 100644 index 0000000..d69391d --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgvegan1000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgvegan1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_vegan1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgvegan1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 311742057237654016L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgvegan1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgvegan2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgvegan2000Entity.java new file mode 100644 index 0000000..9d0f296 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgvegan2000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgvegan2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_vegan2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgvegan2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 311742057237654016L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgvegan2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgvegan5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgvegan5000Entity.java new file mode 100644 index 0000000..0583c40 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgvegan5000Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgvegan5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_vegan5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgvegan5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 311742057237654016L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgvegan5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgvegan500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgvegan500Entity.java new file mode 100644 index 0000000..c9cd06b --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgvegan500Entity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgvegan500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_vegan500") +@EqualsAndHashCode(callSuper = false) +public class Dlgvegan500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 311742057237654016L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String font; + + private BigDecimal size; + + private BigDecimal angle; + + private String colour; + + private BigDecimal slant; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgvegan500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public BigDecimal getSize() { + return size; + } + + public void setSize(BigDecimal size) { + this.size = size; + } + + public BigDecimal getAngle() { + return angle; + } + + public void setAngle(BigDecimal angle) { + this.angle = angle; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + public BigDecimal getSlant() { + return slant; + } + + public void setSlant(BigDecimal slant) { + this.slant = slant; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgveglk1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgveglk1000Entity.java new file mode 100644 index 0000000..cf6f19b --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgveglk1000Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgveglk1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_veglk1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgveglk1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 311742057237654016L; + + private String usercode; + + private String gb; + + private String codename; + + private String type; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgveglk1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgveglk2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgveglk2000Entity.java new file mode 100644 index 0000000..32f584c --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgveglk2000Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgveglk2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_veglk2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgveglk2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 311742057237654016L; + + private String usercode; + + private String gb; + + private String codename; + + private String type; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgveglk2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgveglk5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgveglk5000Entity.java new file mode 100644 index 0000000..0d62281 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgveglk5000Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgveglk5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_veglk5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgveglk5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 475362344400660288L; + + private String usercode; + + private String gb; + + private String codename; + + private String type; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgveglk5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgveglk500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgveglk500Entity.java new file mode 100644 index 0000000..b1fc68a --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgveglk500Entity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgveglk500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_veglk500") +@EqualsAndHashCode(callSuper = false) +public class Dlgveglk500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 311742057237654016L; + + private String usercode; + + private String gb; + + private String codename; + + private String type; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgveglk500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgvegnt1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgvegnt1000Entity.java new file mode 100644 index 0000000..a043971 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgvegnt1000Entity.java @@ -0,0 +1,195 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgvegnt1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_vegnt1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgvegnt1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 475362344400660288L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String type; + + private String status; + + private String classes; + + private String species; + + private BigDecimal height; + + private String density; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgvegnt1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getSpecies() { + return species; + } + + public void setSpecies(String species) { + this.species = species; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } + + public String getDensity() { + return density; + } + + public void setDensity(String density) { + this.density = density; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgvegnt2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgvegnt2000Entity.java new file mode 100644 index 0000000..64fa1b5 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgvegnt2000Entity.java @@ -0,0 +1,195 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgvegnt2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_vegnt2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgvegnt2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 475362344400660288L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String type; + + private String status; + + private String classes; + + private String species; + + private BigDecimal height; + + private String density; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgvegnt2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getSpecies() { + return species; + } + + public void setSpecies(String species) { + this.species = species; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } + + public String getDensity() { + return density; + } + + public void setDensity(String density) { + this.density = density; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgvegnt5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgvegnt5000Entity.java new file mode 100644 index 0000000..aba9dba --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgvegnt5000Entity.java @@ -0,0 +1,195 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgvegnt5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_vegnt5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgvegnt5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 475362344400660288L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String type; + + private String status; + + private String classes; + + private String species; + + private BigDecimal height; + + private String density; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgvegnt5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getSpecies() { + return species; + } + + public void setSpecies(String species) { + this.species = species; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } + + public String getDensity() { + return density; + } + + public void setDensity(String density) { + this.density = density; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgvegnt500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgvegnt500Entity.java new file mode 100644 index 0000000..a5c9caf --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgvegnt500Entity.java @@ -0,0 +1,195 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgvegnt500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_vegnt500") +@EqualsAndHashCode(callSuper = false) +public class Dlgvegnt500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 475362344400660288L; + + private String usercode; + + private String gb; + + private String codename; + + private String name; + + private String type; + + private String status; + + private String classes; + + private String species; + + private BigDecimal height; + + private String density; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgvegnt500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getClasses() { + return classes; + } + + public void setClasses(String classes) { + this.classes = classes; + } + + public String getSpecies() { + return species; + } + + public void setSpecies(String species) { + this.species = species; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } + + public String getDensity() { + return density; + } + + public void setDensity(String density) { + this.density = density; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgvegpt1000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgvegpt1000Entity.java new file mode 100644 index 0000000..906e937 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgvegpt1000Entity.java @@ -0,0 +1,145 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgvegpt1000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_vegpt1000") +@EqualsAndHashCode(callSuper = false) +public class Dlgvegpt1000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 475362344400660288L; + + private String usercode; + + private String gb; + + private String codename; + + private String type; + + private String number; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgvegpt1000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgvegpt2000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgvegpt2000Entity.java new file mode 100644 index 0000000..febef6d --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgvegpt2000Entity.java @@ -0,0 +1,145 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgvegpt2000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_vegpt2000") +@EqualsAndHashCode(callSuper = false) +public class Dlgvegpt2000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 475362344400660288L; + + private String usercode; + + private String gb; + + private String codename; + + private String type; + + private String number; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgvegpt2000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgvegpt5000Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgvegpt5000Entity.java new file mode 100644 index 0000000..9f24540 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgvegpt5000Entity.java @@ -0,0 +1,145 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgvegpt5000 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_vegpt5000") +@EqualsAndHashCode(callSuper = false) +public class Dlgvegpt5000Entity extends BaseGeoEntity { + private static final long serialVersionUID = 475362344400660288L; + + private String usercode; + + private String gb; + + private String codename; + + private String type; + + private String number; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgvegpt5000Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Dlgvegpt500Entity.java b/src/main/java/com/lf/server/entity/bs/Dlgvegpt500Entity.java new file mode 100644 index 0000000..be7d6ee --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Dlgvegpt500Entity.java @@ -0,0 +1,145 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Dlgvegpt500 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.dlg_vegpt500") +@EqualsAndHashCode(callSuper = false) +public class Dlgvegpt500Entity extends BaseGeoEntity { + private static final long serialVersionUID = 475362344400660288L; + + private String usercode; + + private String gb; + + private String codename; + + private String type; + + private String number; + + private String source; + + private String maptile; + + private String projname; + + private String atExtend; + + private String atAttrib; + + private String atGeom; + + private String atPacked; + + public Dlgvegpt500Entity() { + } + + public String getUsercode() { + return usercode; + } + + public void setUsercode(String usercode) { + this.usercode = usercode; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getCodename() { + return codename; + } + + public void setCodename(String codename) { + this.codename = codename; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getMaptile() { + return maptile; + } + + public void setMaptile(String maptile) { + this.maptile = maptile; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getAtExtend() { + return atExtend; + } + + public void setAtExtend(String atExtend) { + this.atExtend = atExtend; + } + + public String getAtAttrib() { + return atAttrib; + } + + public void setAtAttrib(String atAttrib) { + this.atAttrib = atAttrib; + } + + public String getAtGeom() { + return atGeom; + } + + public void setAtGeom(String atGeom) { + this.atGeom = atGeom; + } + + public String getAtPacked() { + return atPacked; + } + + public void setAtPacked(String atPacked) { + this.atPacked = atPacked; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/GcollapseEntity.java b/src/main/java/com/lf/server/entity/bs/GcollapseEntity.java new file mode 100644 index 0000000..fc85a1a --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/GcollapseEntity.java @@ -0,0 +1,305 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Gcollapse + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.g_collapse") +@EqualsAndHashCode(callSuper = false) +public class GcollapseEntity extends BaseGeoEntity { + private static final long serialVersionUID = 475362344400660288L; + + private String number; + + private String begcpname; + + private BigDecimal inicpvalue; + + private String endcpname; + + private String coorsystem; + + private BigDecimal northing; + + private BigDecimal easting; + + private String name; + + private BigDecimal volume; + + private String position; + + private String makeup; + + private BigDecimal theight; + + private String fmodel; + + private BigDecimal rockmass; + + private BigDecimal seismic; + + private String control; + + private String plot; + + private String structure; + + private String pacname; + + private String infsegname; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private String projname; + + private BigDecimal recpvaule; + + public GcollapseEntity() { + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getBegcpname() { + return begcpname; + } + + public void setBegcpname(String begcpname) { + this.begcpname = begcpname; + } + + public BigDecimal getInicpvalue() { + return inicpvalue; + } + + public void setInicpvalue(BigDecimal inicpvalue) { + this.inicpvalue = inicpvalue; + } + + public String getEndcpname() { + return endcpname; + } + + public void setEndcpname(String endcpname) { + this.endcpname = endcpname; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public BigDecimal getNorthing() { + return northing; + } + + public void setNorthing(BigDecimal northing) { + this.northing = northing; + } + + public BigDecimal getEasting() { + return easting; + } + + public void setEasting(BigDecimal easting) { + this.easting = easting; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getVolume() { + return volume; + } + + public void setVolume(BigDecimal volume) { + this.volume = volume; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getMakeup() { + return makeup; + } + + public void setMakeup(String makeup) { + this.makeup = makeup; + } + + public BigDecimal getTheight() { + return theight; + } + + public void setTheight(BigDecimal theight) { + this.theight = theight; + } + + public String getFmodel() { + return fmodel; + } + + public void setFmodel(String fmodel) { + this.fmodel = fmodel; + } + + public BigDecimal getRockmass() { + return rockmass; + } + + public void setRockmass(BigDecimal rockmass) { + this.rockmass = rockmass; + } + + public BigDecimal getSeismic() { + return seismic; + } + + public void setSeismic(BigDecimal seismic) { + this.seismic = seismic; + } + + public String getControl() { + return control; + } + + public void setControl(String control) { + this.control = control; + } + + public String getPlot() { + return plot; + } + + public void setPlot(String plot) { + this.plot = plot; + } + + public String getStructure() { + return structure; + } + + public void setStructure(String structure) { + this.structure = structure; + } + + public String getPacname() { + return pacname; + } + + public void setPacname(String pacname) { + this.pacname = pacname; + } + + public String getInfsegname() { + return infsegname; + } + + public void setInfsegname(String infsegname) { + this.infsegname = infsegname; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public BigDecimal getRecpvaule() { + return recpvaule; + } + + public void setRecpvaule(BigDecimal recpvaule) { + this.recpvaule = recpvaule; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/GdebrisflowEntity.java b/src/main/java/com/lf/server/entity/bs/GdebrisflowEntity.java new file mode 100644 index 0000000..5f6ab82 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/GdebrisflowEntity.java @@ -0,0 +1,295 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Gdebrisflow + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.g_debrisflow") +@EqualsAndHashCode(callSuper = false) +public class GdebrisflowEntity extends BaseGeoEntity { + private static final long serialVersionUID = 475362344400660288L; + + private String number; + + private String begcpname; + + private BigDecimal inicpvalue; + + private String endcpname; + + private String coorsystem; + + private BigDecimal northing; + + private BigDecimal easting; + + private String name; + + private BigDecimal volume; + + private String position; + + private String makeup; + + private BigDecimal stage; + + private BigDecimal draarea; + + private BigDecimal seismic; + + private String control; + + private String plot; + + private String structure; + + private String pacname; + + private String infsegname; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private String projname; + + private BigDecimal recpvaule; + + public GdebrisflowEntity() { + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getBegcpname() { + return begcpname; + } + + public void setBegcpname(String begcpname) { + this.begcpname = begcpname; + } + + public BigDecimal getInicpvalue() { + return inicpvalue; + } + + public void setInicpvalue(BigDecimal inicpvalue) { + this.inicpvalue = inicpvalue; + } + + public String getEndcpname() { + return endcpname; + } + + public void setEndcpname(String endcpname) { + this.endcpname = endcpname; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public BigDecimal getNorthing() { + return northing; + } + + public void setNorthing(BigDecimal northing) { + this.northing = northing; + } + + public BigDecimal getEasting() { + return easting; + } + + public void setEasting(BigDecimal easting) { + this.easting = easting; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getVolume() { + return volume; + } + + public void setVolume(BigDecimal volume) { + this.volume = volume; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getMakeup() { + return makeup; + } + + public void setMakeup(String makeup) { + this.makeup = makeup; + } + + public BigDecimal getStage() { + return stage; + } + + public void setStage(BigDecimal stage) { + this.stage = stage; + } + + public BigDecimal getDraarea() { + return draarea; + } + + public void setDraarea(BigDecimal draarea) { + this.draarea = draarea; + } + + public BigDecimal getSeismic() { + return seismic; + } + + public void setSeismic(BigDecimal seismic) { + this.seismic = seismic; + } + + public String getControl() { + return control; + } + + public void setControl(String control) { + this.control = control; + } + + public String getPlot() { + return plot; + } + + public void setPlot(String plot) { + this.plot = plot; + } + + public String getStructure() { + return structure; + } + + public void setStructure(String structure) { + this.structure = structure; + } + + public String getPacname() { + return pacname; + } + + public void setPacname(String pacname) { + this.pacname = pacname; + } + + public String getInfsegname() { + return infsegname; + } + + public void setInfsegname(String infsegname) { + this.infsegname = infsegname; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public BigDecimal getRecpvaule() { + return recpvaule; + } + + public void setRecpvaule(BigDecimal recpvaule) { + this.recpvaule = recpvaule; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/GgroundcollapseEntity.java b/src/main/java/com/lf/server/entity/bs/GgroundcollapseEntity.java new file mode 100644 index 0000000..448c236 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/GgroundcollapseEntity.java @@ -0,0 +1,285 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Ggroundcollapse + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.g_ground_collapse") +@EqualsAndHashCode(callSuper = false) +public class GgroundcollapseEntity extends BaseGeoEntity { + private static final long serialVersionUID = 475362344400660288L; + + private String number; + + private String begcpname; + + private BigDecimal inicpvalue; + + private String endcpname; + + private String coorsystem; + + private BigDecimal northing; + + private BigDecimal easting; + + private String name; + + private BigDecimal volume; + + private String position; + + private String infill; + + private Integer tsratio; + + private BigDecimal seismic; + + private String control; + + private String plot; + + private String structure; + + private String pacname; + + private String infsegname; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private String projname; + + private BigDecimal recpvaule; + + public GgroundcollapseEntity() { + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getBegcpname() { + return begcpname; + } + + public void setBegcpname(String begcpname) { + this.begcpname = begcpname; + } + + public BigDecimal getInicpvalue() { + return inicpvalue; + } + + public void setInicpvalue(BigDecimal inicpvalue) { + this.inicpvalue = inicpvalue; + } + + public String getEndcpname() { + return endcpname; + } + + public void setEndcpname(String endcpname) { + this.endcpname = endcpname; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public BigDecimal getNorthing() { + return northing; + } + + public void setNorthing(BigDecimal northing) { + this.northing = northing; + } + + public BigDecimal getEasting() { + return easting; + } + + public void setEasting(BigDecimal easting) { + this.easting = easting; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getVolume() { + return volume; + } + + public void setVolume(BigDecimal volume) { + this.volume = volume; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getInfill() { + return infill; + } + + public void setInfill(String infill) { + this.infill = infill; + } + + public Integer getTsratio() { + return tsratio; + } + + public void setTsratio(Integer tsratio) { + this.tsratio = tsratio; + } + + public BigDecimal getSeismic() { + return seismic; + } + + public void setSeismic(BigDecimal seismic) { + this.seismic = seismic; + } + + public String getControl() { + return control; + } + + public void setControl(String control) { + this.control = control; + } + + public String getPlot() { + return plot; + } + + public void setPlot(String plot) { + this.plot = plot; + } + + public String getStructure() { + return structure; + } + + public void setStructure(String structure) { + this.structure = structure; + } + + public String getPacname() { + return pacname; + } + + public void setPacname(String pacname) { + this.pacname = pacname; + } + + public String getInfsegname() { + return infsegname; + } + + public void setInfsegname(String infsegname) { + this.infsegname = infsegname; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public BigDecimal getRecpvaule() { + return recpvaule; + } + + public void setRecpvaule(BigDecimal recpvaule) { + this.recpvaule = recpvaule; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/GhighandsteepslopeEntity.java b/src/main/java/com/lf/server/entity/bs/GhighandsteepslopeEntity.java new file mode 100644 index 0000000..f510457 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/GhighandsteepslopeEntity.java @@ -0,0 +1,295 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Ghighandsteepslope + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.g_highandsteep_slope") +@EqualsAndHashCode(callSuper = false) +public class GhighandsteepslopeEntity extends BaseGeoEntity { + private static final long serialVersionUID = 475362344400660288L; + + private String number; + + private String begcpname; + + private BigDecimal inicpvalue; + + private String endcpname; + + private String coorsystem; + + private BigDecimal northing; + + private BigDecimal easting; + + private String name; + + private String svolume; + + private String cutandfill; + + private String position; + + private String makeup; + + private String relation; + + private BigDecimal seismic; + + private String control; + + private String plot; + + private String structure; + + private String pacname; + + private String infsegname; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private String projname; + + private BigDecimal recpvaule; + + public GhighandsteepslopeEntity() { + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getBegcpname() { + return begcpname; + } + + public void setBegcpname(String begcpname) { + this.begcpname = begcpname; + } + + public BigDecimal getInicpvalue() { + return inicpvalue; + } + + public void setInicpvalue(BigDecimal inicpvalue) { + this.inicpvalue = inicpvalue; + } + + public String getEndcpname() { + return endcpname; + } + + public void setEndcpname(String endcpname) { + this.endcpname = endcpname; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public BigDecimal getNorthing() { + return northing; + } + + public void setNorthing(BigDecimal northing) { + this.northing = northing; + } + + public BigDecimal getEasting() { + return easting; + } + + public void setEasting(BigDecimal easting) { + this.easting = easting; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getSvolume() { + return svolume; + } + + public void setSvolume(String svolume) { + this.svolume = svolume; + } + + public String getCutandfill() { + return cutandfill; + } + + public void setCutandfill(String cutandfill) { + this.cutandfill = cutandfill; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getMakeup() { + return makeup; + } + + public void setMakeup(String makeup) { + this.makeup = makeup; + } + + public String getRelation() { + return relation; + } + + public void setRelation(String relation) { + this.relation = relation; + } + + public BigDecimal getSeismic() { + return seismic; + } + + public void setSeismic(BigDecimal seismic) { + this.seismic = seismic; + } + + public String getControl() { + return control; + } + + public void setControl(String control) { + this.control = control; + } + + public String getPlot() { + return plot; + } + + public void setPlot(String plot) { + this.plot = plot; + } + + public String getStructure() { + return structure; + } + + public void setStructure(String structure) { + this.structure = structure; + } + + public String getPacname() { + return pacname; + } + + public void setPacname(String pacname) { + this.pacname = pacname; + } + + public String getInfsegname() { + return infsegname; + } + + public void setInfsegname(String infsegname) { + this.infsegname = infsegname; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public BigDecimal getRecpvaule() { + return recpvaule; + } + + public void setRecpvaule(BigDecimal recpvaule) { + this.recpvaule = recpvaule; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/GlandslideEntity.java b/src/main/java/com/lf/server/entity/bs/GlandslideEntity.java new file mode 100644 index 0000000..e6af3a7 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/GlandslideEntity.java @@ -0,0 +1,305 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Glandslide + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.g_landslide") +@EqualsAndHashCode(callSuper = false) +public class GlandslideEntity extends BaseGeoEntity { + private static final long serialVersionUID = 475362344400660288L; + + private String number; + + private String begcpname; + + private BigDecimal inicpvalue; + + private String endcpname; + + private String coorsystem; + + private BigDecimal northing; + + private BigDecimal easting; + + private String name; + + private BigDecimal volume; + + private String position; + + private String makeup; + + private BigDecimal thickness; + + private String smodel; + + private String relation; + + private BigDecimal seismic; + + private String control; + + private String plot; + + private String structure; + + private String pacname; + + private String infsegname; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private String projname; + + private BigDecimal recpvaule; + + public GlandslideEntity() { + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getBegcpname() { + return begcpname; + } + + public void setBegcpname(String begcpname) { + this.begcpname = begcpname; + } + + public BigDecimal getInicpvalue() { + return inicpvalue; + } + + public void setInicpvalue(BigDecimal inicpvalue) { + this.inicpvalue = inicpvalue; + } + + public String getEndcpname() { + return endcpname; + } + + public void setEndcpname(String endcpname) { + this.endcpname = endcpname; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public BigDecimal getNorthing() { + return northing; + } + + public void setNorthing(BigDecimal northing) { + this.northing = northing; + } + + public BigDecimal getEasting() { + return easting; + } + + public void setEasting(BigDecimal easting) { + this.easting = easting; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getVolume() { + return volume; + } + + public void setVolume(BigDecimal volume) { + this.volume = volume; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getMakeup() { + return makeup; + } + + public void setMakeup(String makeup) { + this.makeup = makeup; + } + + public BigDecimal getThickness() { + return thickness; + } + + public void setThickness(BigDecimal thickness) { + this.thickness = thickness; + } + + public String getSmodel() { + return smodel; + } + + public void setSmodel(String smodel) { + this.smodel = smodel; + } + + public String getRelation() { + return relation; + } + + public void setRelation(String relation) { + this.relation = relation; + } + + public BigDecimal getSeismic() { + return seismic; + } + + public void setSeismic(BigDecimal seismic) { + this.seismic = seismic; + } + + public String getControl() { + return control; + } + + public void setControl(String control) { + this.control = control; + } + + public String getPlot() { + return plot; + } + + public void setPlot(String plot) { + this.plot = plot; + } + + public String getStructure() { + return structure; + } + + public void setStructure(String structure) { + this.structure = structure; + } + + public String getPacname() { + return pacname; + } + + public void setPacname(String pacname) { + this.pacname = pacname; + } + + public String getInfsegname() { + return infsegname; + } + + public void setInfsegname(String infsegname) { + this.infsegname = infsegname; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public BigDecimal getRecpvaule() { + return recpvaule; + } + + public void setRecpvaule(BigDecimal recpvaule) { + this.recpvaule = recpvaule; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/GunstableslopeEntity.java b/src/main/java/com/lf/server/entity/bs/GunstableslopeEntity.java new file mode 100644 index 0000000..bdcd88d --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/GunstableslopeEntity.java @@ -0,0 +1,305 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Gunstableslope + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.g_unstable_slope") +@EqualsAndHashCode(callSuper = false) +public class GunstableslopeEntity extends BaseGeoEntity { + private static final long serialVersionUID = 475362344400660288L; + + private String number; + + private String begcpname; + + private BigDecimal inicpvalue; + + private String endcpname; + + private String coorsystem; + + private BigDecimal northing; + + private BigDecimal easting; + + private String name; + + private BigDecimal volume; + + private String position; + + private String makeup; + + private BigDecimal thickness; + + private String smodel; + + private String relation; + + private BigDecimal seismic; + + private String control; + + private String plot; + + private String structure; + + private String pacname; + + private String infsegname; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private String projname; + + private BigDecimal recpvaule; + + public GunstableslopeEntity() { + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getBegcpname() { + return begcpname; + } + + public void setBegcpname(String begcpname) { + this.begcpname = begcpname; + } + + public BigDecimal getInicpvalue() { + return inicpvalue; + } + + public void setInicpvalue(BigDecimal inicpvalue) { + this.inicpvalue = inicpvalue; + } + + public String getEndcpname() { + return endcpname; + } + + public void setEndcpname(String endcpname) { + this.endcpname = endcpname; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public BigDecimal getNorthing() { + return northing; + } + + public void setNorthing(BigDecimal northing) { + this.northing = northing; + } + + public BigDecimal getEasting() { + return easting; + } + + public void setEasting(BigDecimal easting) { + this.easting = easting; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getVolume() { + return volume; + } + + public void setVolume(BigDecimal volume) { + this.volume = volume; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getMakeup() { + return makeup; + } + + public void setMakeup(String makeup) { + this.makeup = makeup; + } + + public BigDecimal getThickness() { + return thickness; + } + + public void setThickness(BigDecimal thickness) { + this.thickness = thickness; + } + + public String getSmodel() { + return smodel; + } + + public void setSmodel(String smodel) { + this.smodel = smodel; + } + + public String getRelation() { + return relation; + } + + public void setRelation(String relation) { + this.relation = relation; + } + + public BigDecimal getSeismic() { + return seismic; + } + + public void setSeismic(BigDecimal seismic) { + this.seismic = seismic; + } + + public String getControl() { + return control; + } + + public void setControl(String control) { + this.control = control; + } + + public String getPlot() { + return plot; + } + + public void setPlot(String plot) { + this.plot = plot; + } + + public String getStructure() { + return structure; + } + + public void setStructure(String structure) { + this.structure = structure; + } + + public String getPacname() { + return pacname; + } + + public void setPacname(String pacname) { + this.pacname = pacname; + } + + public String getInfsegname() { + return infsegname; + } + + public void setInfsegname(String infsegname) { + this.infsegname = infsegname; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public BigDecimal getRecpvaule() { + return recpvaule; + } + + public void setRecpvaule(BigDecimal recpvaule) { + this.recpvaule = recpvaule; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/GwaterdamageEntity.java b/src/main/java/com/lf/server/entity/bs/GwaterdamageEntity.java new file mode 100644 index 0000000..68ec96b --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/GwaterdamageEntity.java @@ -0,0 +1,285 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Gwaterdamage + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.g_water_damage") +@EqualsAndHashCode(callSuper = false) +public class GwaterdamageEntity extends BaseGeoEntity { + private static final long serialVersionUID = 475362344400660288L; + + private String number; + + private String begcpname; + + private BigDecimal inicpvalue; + + private String endcpname; + + private String coorsystem; + + private BigDecimal northing; + + private BigDecimal easting; + + private String name; + + private BigDecimal dlength; + + private String damagetype; + + private String position; + + private BigDecimal depth; + + private BigDecimal seismic; + + private String control; + + private String plot; + + private String structure; + + private String pacname; + + private String infsegname; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private String projname; + + private BigDecimal recpvaule; + + public GwaterdamageEntity() { + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getBegcpname() { + return begcpname; + } + + public void setBegcpname(String begcpname) { + this.begcpname = begcpname; + } + + public BigDecimal getInicpvalue() { + return inicpvalue; + } + + public void setInicpvalue(BigDecimal inicpvalue) { + this.inicpvalue = inicpvalue; + } + + public String getEndcpname() { + return endcpname; + } + + public void setEndcpname(String endcpname) { + this.endcpname = endcpname; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public BigDecimal getNorthing() { + return northing; + } + + public void setNorthing(BigDecimal northing) { + this.northing = northing; + } + + public BigDecimal getEasting() { + return easting; + } + + public void setEasting(BigDecimal easting) { + this.easting = easting; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getDlength() { + return dlength; + } + + public void setDlength(BigDecimal dlength) { + this.dlength = dlength; + } + + public String getDamagetype() { + return damagetype; + } + + public void setDamagetype(String damagetype) { + this.damagetype = damagetype; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public BigDecimal getSeismic() { + return seismic; + } + + public void setSeismic(BigDecimal seismic) { + this.seismic = seismic; + } + + public String getControl() { + return control; + } + + public void setControl(String control) { + this.control = control; + } + + public String getPlot() { + return plot; + } + + public void setPlot(String plot) { + this.plot = plot; + } + + public String getStructure() { + return structure; + } + + public void setStructure(String structure) { + this.structure = structure; + } + + public String getPacname() { + return pacname; + } + + public void setPacname(String pacname) { + this.pacname = pacname; + } + + public String getInfsegname() { + return infsegname; + } + + public void setInfsegname(String infsegname) { + this.infsegname = infsegname; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public BigDecimal getRecpvaule() { + return recpvaule; + } + + public void setRecpvaule(BigDecimal recpvaule) { + this.recpvaule = recpvaule; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/MadministrativedivisionEntity.java b/src/main/java/com/lf/server/entity/bs/MadministrativedivisionEntity.java new file mode 100644 index 0000000..90fe797 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/MadministrativedivisionEntity.java @@ -0,0 +1,225 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Madministrativedivision + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_administrativedivision") +@EqualsAndHashCode(callSuper = false) +public class MadministrativedivisionEntity extends BaseEntity { + private static final long serialVersionUID = 475362344400660288L; + + private String orderid; + + private String begnumber; + + private Double begcpvalue; + + private BigDecimal begvalue; + + private String endcpname; + + private BigDecimal endcpvalue; + + private BigDecimal endvalue; + + private String grepname; + + private String greppinyin; + + private String litpname; + + private String litppinyin; + + private String segname; + + private String projname; + + private String pipename; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + public MadministrativedivisionEntity() { + } + + public String getOrderid() { + return orderid; + } + + public void setOrderid(String orderid) { + this.orderid = orderid; + } + + public String getBegnumber() { + return begnumber; + } + + public void setBegnumber(String begnumber) { + this.begnumber = begnumber; + } + + public Double getBegcpvalue() { + return begcpvalue; + } + + public void setBegcpvalue(Double begcpvalue) { + this.begcpvalue = begcpvalue; + } + + public BigDecimal getBegvalue() { + return begvalue; + } + + public void setBegvalue(BigDecimal begvalue) { + this.begvalue = begvalue; + } + + public String getEndcpname() { + return endcpname; + } + + public void setEndcpname(String endcpname) { + this.endcpname = endcpname; + } + + public BigDecimal getEndcpvalue() { + return endcpvalue; + } + + public void setEndcpvalue(BigDecimal endcpvalue) { + this.endcpvalue = endcpvalue; + } + + public BigDecimal getEndvalue() { + return endvalue; + } + + public void setEndvalue(BigDecimal endvalue) { + this.endvalue = endvalue; + } + + public String getGrepname() { + return grepname; + } + + public void setGrepname(String grepname) { + this.grepname = grepname; + } + + public String getGreppinyin() { + return greppinyin; + } + + public void setGreppinyin(String greppinyin) { + this.greppinyin = greppinyin; + } + + public String getLitpname() { + return litpname; + } + + public void setLitpname(String litpname) { + this.litpname = litpname; + } + + public String getLitppinyin() { + return litppinyin; + } + + public void setLitppinyin(String litppinyin) { + this.litppinyin = litppinyin; + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/McrossingEntity.java b/src/main/java/com/lf/server/entity/bs/McrossingEntity.java new file mode 100644 index 0000000..db6a061 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/McrossingEntity.java @@ -0,0 +1,355 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mcrossing + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_crossing") +@EqualsAndHashCode(callSuper = false) +public class McrossingEntity extends BaseGeoEntity { + private static final long serialVersionUID = 475362344400660288L; + + private BigDecimal x; + + private BigDecimal y; + + private BigDecimal elev; + + private String segname; + + private String projname; + + private String pipename; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private String concompany; + + private String croproname; + + private String crotype; + + private String cromode; + + private String soilprop; + + private BigDecimal croclearh; + + private String stmeasures; + + private BigDecimal crodepth; + + private String cordesc; + + private String croangle; + + private BigDecimal crolength; + + private String begnumber; + + private String endnumber; + + private BigDecimal begcpvalue; + + private BigDecimal endcpvalue; + + private BigDecimal beginlat; + + private BigDecimal beginlon; + + private BigDecimal beginelev; + + private BigDecimal endlat; + + private BigDecimal endlon; + + private BigDecimal endelev; + + public McrossingEntity() { + } + + public BigDecimal getX() { + return x; + } + + public void setX(BigDecimal x) { + this.x = x; + } + + public BigDecimal getY() { + return y; + } + + public void setY(BigDecimal y) { + this.y = y; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public String getConcompany() { + return concompany; + } + + public void setConcompany(String concompany) { + this.concompany = concompany; + } + + public String getCroproname() { + return croproname; + } + + public void setCroproname(String croproname) { + this.croproname = croproname; + } + + public String getCrotype() { + return crotype; + } + + public void setCrotype(String crotype) { + this.crotype = crotype; + } + + public String getCromode() { + return cromode; + } + + public void setCromode(String cromode) { + this.cromode = cromode; + } + + public String getSoilprop() { + return soilprop; + } + + public void setSoilprop(String soilprop) { + this.soilprop = soilprop; + } + + public BigDecimal getCroclearh() { + return croclearh; + } + + public void setCroclearh(BigDecimal croclearh) { + this.croclearh = croclearh; + } + + public String getStmeasures() { + return stmeasures; + } + + public void setStmeasures(String stmeasures) { + this.stmeasures = stmeasures; + } + + public BigDecimal getCrodepth() { + return crodepth; + } + + public void setCrodepth(BigDecimal crodepth) { + this.crodepth = crodepth; + } + + public String getCordesc() { + return cordesc; + } + + public void setCordesc(String cordesc) { + this.cordesc = cordesc; + } + + public String getCroangle() { + return croangle; + } + + public void setCroangle(String croangle) { + this.croangle = croangle; + } + + public BigDecimal getCrolength() { + return crolength; + } + + public void setCrolength(BigDecimal crolength) { + this.crolength = crolength; + } + + public String getBegnumber() { + return begnumber; + } + + public void setBegnumber(String begnumber) { + this.begnumber = begnumber; + } + + public String getEndnumber() { + return endnumber; + } + + public void setEndnumber(String endnumber) { + this.endnumber = endnumber; + } + + public BigDecimal getBegcpvalue() { + return begcpvalue; + } + + public void setBegcpvalue(BigDecimal begcpvalue) { + this.begcpvalue = begcpvalue; + } + + public BigDecimal getEndcpvalue() { + return endcpvalue; + } + + public void setEndcpvalue(BigDecimal endcpvalue) { + this.endcpvalue = endcpvalue; + } + + public BigDecimal getBeginlat() { + return beginlat; + } + + public void setBeginlat(BigDecimal beginlat) { + this.beginlat = beginlat; + } + + public BigDecimal getBeginlon() { + return beginlon; + } + + public void setBeginlon(BigDecimal beginlon) { + this.beginlon = beginlon; + } + + public BigDecimal getBeginelev() { + return beginelev; + } + + public void setBeginelev(BigDecimal beginelev) { + this.beginelev = beginelev; + } + + public BigDecimal getEndlat() { + return endlat; + } + + public void setEndlat(BigDecimal endlat) { + this.endlat = endlat; + } + + public BigDecimal getEndlon() { + return endlon; + } + + public void setEndlon(BigDecimal endlon) { + this.endlon = endlon; + } + + public BigDecimal getEndelev() { + return endelev; + } + + public void setEndelev(BigDecimal endelev) { + this.endelev = endelev; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/MdetactionpipelinepointEntity.java b/src/main/java/com/lf/server/entity/bs/MdetactionpipelinepointEntity.java new file mode 100644 index 0000000..6507a4a --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/MdetactionpipelinepointEntity.java @@ -0,0 +1,325 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdetactionpipelinepoint + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_detaction_pipelinepoint") +@EqualsAndHashCode(callSuper = false) +public class MdetactionpipelinepointEntity extends BaseGeoEntity { + private static final long serialVersionUID = 116557317374533664L; + + private String projname; + + private String plpointnum; + + private String conpointno; + + private String feadesc; + + private String feaadd; + + private BigDecimal diameter; + + private String material; + + private String pressure; + + private String cablesnum; + + private String usedholes; + + private String laying; + + private LocalDate layingdate; + + private String flowto; + + private String owninfo; + + private String meaarea; + + private String dpipetype; + + private LocalDate surveydate; + + private BigDecimal x; + + private BigDecimal y; + + private BigDecimal groundelev; + + private BigDecimal upelev; + + private BigDecimal botelev; + + private BigDecimal depth; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private BigDecimal voltage; + + public MdetactionpipelinepointEntity() { + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPlpointnum() { + return plpointnum; + } + + public void setPlpointnum(String plpointnum) { + this.plpointnum = plpointnum; + } + + public String getConpointno() { + return conpointno; + } + + public void setConpointno(String conpointno) { + this.conpointno = conpointno; + } + + public String getFeadesc() { + return feadesc; + } + + public void setFeadesc(String feadesc) { + this.feadesc = feadesc; + } + + public String getFeaadd() { + return feaadd; + } + + public void setFeaadd(String feaadd) { + this.feaadd = feaadd; + } + + public BigDecimal getDiameter() { + return diameter; + } + + public void setDiameter(BigDecimal diameter) { + this.diameter = diameter; + } + + public String getMaterial() { + return material; + } + + public void setMaterial(String material) { + this.material = material; + } + + public String getPressure() { + return pressure; + } + + public void setPressure(String pressure) { + this.pressure = pressure; + } + + public String getCablesnum() { + return cablesnum; + } + + public void setCablesnum(String cablesnum) { + this.cablesnum = cablesnum; + } + + public String getUsedholes() { + return usedholes; + } + + public void setUsedholes(String usedholes) { + this.usedholes = usedholes; + } + + public String getLaying() { + return laying; + } + + public void setLaying(String laying) { + this.laying = laying; + } + + public LocalDate getLayingdate() { + return layingdate; + } + + public void setLayingdate(LocalDate layingdate) { + this.layingdate = layingdate; + } + + public String getFlowto() { + return flowto; + } + + public void setFlowto(String flowto) { + this.flowto = flowto; + } + + public String getOwninfo() { + return owninfo; + } + + public void setOwninfo(String owninfo) { + this.owninfo = owninfo; + } + + public String getMeaarea() { + return meaarea; + } + + public void setMeaarea(String meaarea) { + this.meaarea = meaarea; + } + + public String getDpipetype() { + return dpipetype; + } + + public void setDpipetype(String dpipetype) { + this.dpipetype = dpipetype; + } + + public LocalDate getSurveydate() { + return surveydate; + } + + public void setSurveydate(LocalDate surveydate) { + this.surveydate = surveydate; + } + + public BigDecimal getX() { + return x; + } + + public void setX(BigDecimal x) { + this.x = x; + } + + public BigDecimal getY() { + return y; + } + + public void setY(BigDecimal y) { + this.y = y; + } + + public BigDecimal getGroundelev() { + return groundelev; + } + + public void setGroundelev(BigDecimal groundelev) { + this.groundelev = groundelev; + } + + public BigDecimal getUpelev() { + return upelev; + } + + public void setUpelev(BigDecimal upelev) { + this.upelev = upelev; + } + + public BigDecimal getBotelev() { + return botelev; + } + + public void setBotelev(BigDecimal botelev) { + this.botelev = botelev; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public BigDecimal getVoltage() { + return voltage; + } + + public void setVoltage(BigDecimal voltage) { + this.voltage = voltage; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/MequipmentnameplateEntity.java b/src/main/java/com/lf/server/entity/bs/MequipmentnameplateEntity.java new file mode 100644 index 0000000..44d6394 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/MequipmentnameplateEntity.java @@ -0,0 +1,175 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mequipmentnameplate + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_equipment_nameplate") +@EqualsAndHashCode(callSuper = false) +public class MequipmentnameplateEntity extends BaseGeoEntity { + private static final long serialVersionUID = 116557317374533664L; + + private String segname; + + private String deviceno; + + private String devicetype; + + private String projname; + + private String pipename; + + private BigDecimal x; + + private BigDecimal y; + + private BigDecimal elev; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private String photono; + + public MequipmentnameplateEntity() { + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getDeviceno() { + return deviceno; + } + + public void setDeviceno(String deviceno) { + this.deviceno = deviceno; + } + + public String getDevicetype() { + return devicetype; + } + + public void setDevicetype(String devicetype) { + this.devicetype = devicetype; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public BigDecimal getX() { + return x; + } + + public void setX(BigDecimal x) { + this.x = x; + } + + public BigDecimal getY() { + return y; + } + + public void setY(BigDecimal y) { + this.y = y; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public String getPhotono() { + return photono; + } + + public void setPhotono(String photono) { + this.photono = photono; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/MequipmentnameplateattachEntity.java b/src/main/java/com/lf/server/entity/bs/MequipmentnameplateattachEntity.java new file mode 100644 index 0000000..7d71a3a --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/MequipmentnameplateattachEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mequipmentnameplateattach + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_equipment_nameplate_attach") +@EqualsAndHashCode(callSuper = false) +public class MequipmentnameplateattachEntity extends BaseEntity { + private static final long serialVersionUID = 116557317374533664L; + + private Long id; + + private String filename; + + private String fileguid; + + private String filesizes; + + private String path; + + private String tabguid; + + private String tab; + + public MequipmentnameplateattachEntity() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getFilename() { + return filename; + } + + public void setFilename(String filename) { + this.filename = filename; + } + + public String getFileguid() { + return fileguid; + } + + public void setFileguid(String fileguid) { + this.fileguid = fileguid; + } + + public String getFilesizes() { + return filesizes; + } + + public void setFilesizes(String filesizes) { + this.filesizes = filesizes; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getTabguid() { + return tabguid; + } + + public void setTabguid(String tabguid) { + this.tabguid = tabguid; + } + + public String getTab() { + return tab; + } + + public void setTab(String tab) { + this.tab = tab; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/MgeocontrolpointEntity.java b/src/main/java/com/lf/server/entity/bs/MgeocontrolpointEntity.java new file mode 100644 index 0000000..21dd5e7 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/MgeocontrolpointEntity.java @@ -0,0 +1,155 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mgeocontrolpoint + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_geocontrolpoint") +@EqualsAndHashCode(callSuper = false) +public class MgeocontrolpointEntity extends BaseGeoEntity { + private static final long serialVersionUID = 116557317374533664L; + + private String segname; + + private String pointnum; + + private String projname; + + private String pipename; + + private BigDecimal x; + + private BigDecimal y; + + private BigDecimal elev; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + public MgeocontrolpointEntity() { + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getPointnum() { + return pointnum; + } + + public void setPointnum(String pointnum) { + this.pointnum = pointnum; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public BigDecimal getX() { + return x; + } + + public void setX(BigDecimal x) { + this.x = x; + } + + public BigDecimal getY() { + return y; + } + + public void setY(BigDecimal y) { + this.y = y; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/MgroundlineEntity.java b/src/main/java/com/lf/server/entity/bs/MgroundlineEntity.java new file mode 100644 index 0000000..ddae42f --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/MgroundlineEntity.java @@ -0,0 +1,165 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mgroundline + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_groundline") +@EqualsAndHashCode(callSuper = false) +public class MgroundlineEntity extends BaseGeoEntity { + private static final long serialVersionUID = 116557317374533664L; + + private String segname; + + private String cpname; + + private BigDecimal stavalue; + + private String projname; + + private String pipename; + + private BigDecimal northing; + + private BigDecimal easting; + + private BigDecimal elev; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + public MgroundlineEntity() { + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getCpname() { + return cpname; + } + + public void setCpname(String cpname) { + this.cpname = cpname; + } + + public BigDecimal getStavalue() { + return stavalue; + } + + public void setStavalue(BigDecimal stavalue) { + this.stavalue = stavalue; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public BigDecimal getNorthing() { + return northing; + } + + public void setNorthing(BigDecimal northing) { + this.northing = northing; + } + + public BigDecimal getEasting() { + return easting; + } + + public void setEasting(BigDecimal easting) { + this.easting = easting; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/MhydraulicprotectionEntity.java b/src/main/java/com/lf/server/entity/bs/MhydraulicprotectionEntity.java new file mode 100644 index 0000000..df8b036 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/MhydraulicprotectionEntity.java @@ -0,0 +1,335 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mhydraulicprotection + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_hydraulic_protection") +@EqualsAndHashCode(callSuper = false) +public class MhydraulicprotectionEntity extends BaseGeoEntity { + private static final long serialVersionUID = 116557317374533664L; + + private String segname; + + private String hydprono; + + private String protname; + + private String subitemno; + + private String photono; + + private String cpname; + + private BigDecimal recpvaule; + + private String prottype; + + private String strsize; + + private BigDecimal length; + + private String measurer; + + private LocalDate meadate; + + private LocalDate accdate; + + private String conclusion; + + private String rwalltype; + + private String material; + + private String quantities; + + private String amount; + + private String projname; + + private String pipename; + + private BigDecimal x; + + private BigDecimal y; + + private BigDecimal elev; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private BigDecimal width; + + private BigDecimal height; + + public MhydraulicprotectionEntity() { + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getHydprono() { + return hydprono; + } + + public void setHydprono(String hydprono) { + this.hydprono = hydprono; + } + + public String getProtname() { + return protname; + } + + public void setProtname(String protname) { + this.protname = protname; + } + + public String getSubitemno() { + return subitemno; + } + + public void setSubitemno(String subitemno) { + this.subitemno = subitemno; + } + + public String getPhotono() { + return photono; + } + + public void setPhotono(String photono) { + this.photono = photono; + } + + public String getCpname() { + return cpname; + } + + public void setCpname(String cpname) { + this.cpname = cpname; + } + + public BigDecimal getRecpvaule() { + return recpvaule; + } + + public void setRecpvaule(BigDecimal recpvaule) { + this.recpvaule = recpvaule; + } + + public String getProttype() { + return prottype; + } + + public void setProttype(String prottype) { + this.prottype = prottype; + } + + public String getStrsize() { + return strsize; + } + + public void setStrsize(String strsize) { + this.strsize = strsize; + } + + public BigDecimal getLength() { + return length; + } + + public void setLength(BigDecimal length) { + this.length = length; + } + + public String getMeasurer() { + return measurer; + } + + public void setMeasurer(String measurer) { + this.measurer = measurer; + } + + public LocalDate getMeadate() { + return meadate; + } + + public void setMeadate(LocalDate meadate) { + this.meadate = meadate; + } + + public LocalDate getAccdate() { + return accdate; + } + + public void setAccdate(LocalDate accdate) { + this.accdate = accdate; + } + + public String getConclusion() { + return conclusion; + } + + public void setConclusion(String conclusion) { + this.conclusion = conclusion; + } + + public String getRwalltype() { + return rwalltype; + } + + public void setRwalltype(String rwalltype) { + this.rwalltype = rwalltype; + } + + public String getMaterial() { + return material; + } + + public void setMaterial(String material) { + this.material = material; + } + + public String getQuantities() { + return quantities; + } + + public void setQuantities(String quantities) { + this.quantities = quantities; + } + + public String getAmount() { + return amount; + } + + public void setAmount(String amount) { + this.amount = amount; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public BigDecimal getX() { + return x; + } + + public void setX(BigDecimal x) { + this.x = x; + } + + public BigDecimal getY() { + return y; + } + + public void setY(BigDecimal y) { + this.y = y; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public BigDecimal getWidth() { + return width; + } + + public void setWidth(BigDecimal width) { + this.width = width; + } + + public BigDecimal getHeight() { + return height; + } + + public void setHeight(BigDecimal height) { + this.height = height; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/MhydraulicprotectionattachEntity.java b/src/main/java/com/lf/server/entity/bs/MhydraulicprotectionattachEntity.java new file mode 100644 index 0000000..ac43432 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/MhydraulicprotectionattachEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mhydraulicprotectionattach + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_hydraulic_protection_attach") +@EqualsAndHashCode(callSuper = false) +public class MhydraulicprotectionattachEntity extends BaseEntity { + private static final long serialVersionUID = 116557317374533664L; + + private Long id; + + private String filename; + + private String fileguid; + + private String filesizes; + + private String path; + + private String tabguid; + + private String tab; + + public MhydraulicprotectionattachEntity() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getFilename() { + return filename; + } + + public void setFilename(String filename) { + this.filename = filename; + } + + public String getFileguid() { + return fileguid; + } + + public void setFileguid(String fileguid) { + this.fileguid = fileguid; + } + + public String getFilesizes() { + return filesizes; + } + + public void setFilesizes(String filesizes) { + this.filesizes = filesizes; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getTabguid() { + return tabguid; + } + + public void setTabguid(String tabguid) { + this.tabguid = tabguid; + } + + public String getTab() { + return tab; + } + + public void setTab(String tab) { + this.tab = tab; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/MmarkerEntity.java b/src/main/java/com/lf/server/entity/bs/MmarkerEntity.java new file mode 100644 index 0000000..3444bbe --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/MmarkerEntity.java @@ -0,0 +1,195 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mmarker + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_marker") +@EqualsAndHashCode(callSuper = false) +public class MmarkerEntity extends BaseGeoEntity { + private static final long serialVersionUID = 116557317374533664L; + + private String segname; + + private String markername; + + private String markertype; + + private String projname; + + private String pipename; + + private BigDecimal stavalue; + + private String photono; + + private LocalDate meadate; + + private BigDecimal x; + + private BigDecimal y; + + private BigDecimal elev; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + public MmarkerEntity() { + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getMarkername() { + return markername; + } + + public void setMarkername(String markername) { + this.markername = markername; + } + + public String getMarkertype() { + return markertype; + } + + public void setMarkertype(String markertype) { + this.markertype = markertype; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public BigDecimal getStavalue() { + return stavalue; + } + + public void setStavalue(BigDecimal stavalue) { + this.stavalue = stavalue; + } + + public String getPhotono() { + return photono; + } + + public void setPhotono(String photono) { + this.photono = photono; + } + + public LocalDate getMeadate() { + return meadate; + } + + public void setMeadate(LocalDate meadate) { + this.meadate = meadate; + } + + public BigDecimal getX() { + return x; + } + + public void setX(BigDecimal x) { + this.x = x; + } + + public BigDecimal getY() { + return y; + } + + public void setY(BigDecimal y) { + this.y = y; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/MmarkerattachEntity.java b/src/main/java/com/lf/server/entity/bs/MmarkerattachEntity.java new file mode 100644 index 0000000..db72693 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/MmarkerattachEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mmarkerattach + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_marker_attach") +@EqualsAndHashCode(callSuper = false) +public class MmarkerattachEntity extends BaseEntity { + private static final long serialVersionUID = 116557317374533664L; + + private Integer id; + + private String filename; + + private String fileguid; + + private String filesizes; + + private String path; + + private String tabguid; + + private String tab; + + public MmarkerattachEntity() { + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getFilename() { + return filename; + } + + public void setFilename(String filename) { + this.filename = filename; + } + + public String getFileguid() { + return fileguid; + } + + public void setFileguid(String fileguid) { + this.fileguid = fileguid; + } + + public String getFilesizes() { + return filesizes; + } + + public void setFilesizes(String filesizes) { + this.filesizes = filesizes; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getTabguid() { + return tabguid; + } + + public void setTabguid(String tabguid) { + this.tabguid = tabguid; + } + + public String getTab() { + return tab; + } + + public void setTab(String tab) { + this.tab = tab; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/MpipelineEntity.java b/src/main/java/com/lf/server/entity/bs/MpipelineEntity.java new file mode 100644 index 0000000..e86d15d --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/MpipelineEntity.java @@ -0,0 +1,205 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mpipeline + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_pipeline") +@EqualsAndHashCode(callSuper = false) +public class MpipelineEntity extends BaseGeoEntity { + private static final long serialVersionUID = 116557317374533664L; + + private String pipename; + + private String medium; + + private BigDecimal pipelength; + + private BigDecimal begstax; + + private BigDecimal begstay; + + private BigDecimal begstaelev; + + private BigDecimal endstax; + + private BigDecimal endstay; + + private BigDecimal endstaelev; + + private String projname; + + private LocalDate startdate; + + private LocalDate producdate; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + public MpipelineEntity() { + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getMedium() { + return medium; + } + + public void setMedium(String medium) { + this.medium = medium; + } + + public BigDecimal getPipelength() { + return pipelength; + } + + public void setPipelength(BigDecimal pipelength) { + this.pipelength = pipelength; + } + + public BigDecimal getBegstax() { + return begstax; + } + + public void setBegstax(BigDecimal begstax) { + this.begstax = begstax; + } + + public BigDecimal getBegstay() { + return begstay; + } + + public void setBegstay(BigDecimal begstay) { + this.begstay = begstay; + } + + public BigDecimal getBegstaelev() { + return begstaelev; + } + + public void setBegstaelev(BigDecimal begstaelev) { + this.begstaelev = begstaelev; + } + + public BigDecimal getEndstax() { + return endstax; + } + + public void setEndstax(BigDecimal endstax) { + this.endstax = endstax; + } + + public BigDecimal getEndstay() { + return endstay; + } + + public void setEndstay(BigDecimal endstay) { + this.endstay = endstay; + } + + public BigDecimal getEndstaelev() { + return endstaelev; + } + + public void setEndstaelev(BigDecimal endstaelev) { + this.endstaelev = endstaelev; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public LocalDate getStartdate() { + return startdate; + } + + public void setStartdate(LocalDate startdate) { + this.startdate = startdate; + } + + public LocalDate getProducdate() { + return producdate; + } + + public void setProducdate(LocalDate producdate) { + this.producdate = producdate; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/MpipelinepointEntity.java b/src/main/java/com/lf/server/entity/bs/MpipelinepointEntity.java new file mode 100644 index 0000000..b0ea0df --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/MpipelinepointEntity.java @@ -0,0 +1,195 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mpipelinepoint + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_pipelinepoint") +@EqualsAndHashCode(callSuper = false) +public class MpipelinepointEntity extends BaseGeoEntity { + private static final long serialVersionUID = 116557317374533664L; + + private String segname; + + private String cpname; + + private String cptype; + + private String projname; + + private String pipename; + + private BigDecimal stavalue; + + private BigDecimal x; + + private BigDecimal y; + + private BigDecimal elev; + + private BigDecimal depth; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private BigDecimal turnangle; + + public MpipelinepointEntity() { + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getCpname() { + return cpname; + } + + public void setCpname(String cpname) { + this.cpname = cpname; + } + + public String getCptype() { + return cptype; + } + + public void setCptype(String cptype) { + this.cptype = cptype; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public BigDecimal getStavalue() { + return stavalue; + } + + public void setStavalue(BigDecimal stavalue) { + this.stavalue = stavalue; + } + + public BigDecimal getX() { + return x; + } + + public void setX(BigDecimal x) { + this.x = x; + } + + public BigDecimal getY() { + return y; + } + + public void setY(BigDecimal y) { + this.y = y; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public BigDecimal getDepth() { + return depth; + } + + public void setDepth(BigDecimal depth) { + this.depth = depth; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public BigDecimal getTurnangle() { + return turnangle; + } + + public void setTurnangle(BigDecimal turnangle) { + this.turnangle = turnangle; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/MpipesegmentEntity.java b/src/main/java/com/lf/server/entity/bs/MpipesegmentEntity.java new file mode 100644 index 0000000..f653ce4 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/MpipesegmentEntity.java @@ -0,0 +1,225 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mpipesegment + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_pipesegment") +@EqualsAndHashCode(callSuper = false) +public class MpipesegmentEntity extends BaseGeoEntity { + private static final long serialVersionUID = 116557317374533664L; + + private String segname; + + private String manorg; + + private String medium; + + private BigDecimal beginx; + + private BigDecimal beginy; + + private BigDecimal beginelev; + + private BigDecimal endx; + + private BigDecimal endy; + + private BigDecimal endelev; + + private BigDecimal mpag; + + private BigDecimal length; + + private String projname; + + private String pipename; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private BigDecimal odiameter; + + public MpipesegmentEntity() { + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getManorg() { + return manorg; + } + + public void setManorg(String manorg) { + this.manorg = manorg; + } + + public String getMedium() { + return medium; + } + + public void setMedium(String medium) { + this.medium = medium; + } + + public BigDecimal getBeginx() { + return beginx; + } + + public void setBeginx(BigDecimal beginx) { + this.beginx = beginx; + } + + public BigDecimal getBeginy() { + return beginy; + } + + public void setBeginy(BigDecimal beginy) { + this.beginy = beginy; + } + + public BigDecimal getBeginelev() { + return beginelev; + } + + public void setBeginelev(BigDecimal beginelev) { + this.beginelev = beginelev; + } + + public BigDecimal getEndx() { + return endx; + } + + public void setEndx(BigDecimal endx) { + this.endx = endx; + } + + public BigDecimal getEndy() { + return endy; + } + + public void setEndy(BigDecimal endy) { + this.endy = endy; + } + + public BigDecimal getEndelev() { + return endelev; + } + + public void setEndelev(BigDecimal endelev) { + this.endelev = endelev; + } + + public BigDecimal getMpag() { + return mpag; + } + + public void setMpag(BigDecimal mpag) { + this.mpag = mpag; + } + + public BigDecimal getLength() { + return length; + } + + public void setLength(BigDecimal length) { + this.length = length; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public BigDecimal getOdiameter() { + return odiameter; + } + + public void setOdiameter(BigDecimal odiameter) { + this.odiameter = odiameter; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/MplanindexfileEntity.java b/src/main/java/com/lf/server/entity/bs/MplanindexfileEntity.java new file mode 100644 index 0000000..463bc93 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/MplanindexfileEntity.java @@ -0,0 +1,205 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mplanindexfile + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_planindexfile") +@EqualsAndHashCode(callSuper = false) +public class MplanindexfileEntity extends BaseEntity { + private static final long serialVersionUID = 116557317374533664L; + + private String begnumber; + + private BigDecimal begcpvalue; + + private BigDecimal begvalue; + + private String endcpname; + + private BigDecimal endcpvalue; + + private BigDecimal endvalue; + + private String scale; + + private String wdgfile; + + private String attribute; + + private String segname; + + private String projname; + + private String pipename; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + public MplanindexfileEntity() { + } + + public String getBegnumber() { + return begnumber; + } + + public void setBegnumber(String begnumber) { + this.begnumber = begnumber; + } + + public BigDecimal getBegcpvalue() { + return begcpvalue; + } + + public void setBegcpvalue(BigDecimal begcpvalue) { + this.begcpvalue = begcpvalue; + } + + public BigDecimal getBegvalue() { + return begvalue; + } + + public void setBegvalue(BigDecimal begvalue) { + this.begvalue = begvalue; + } + + public String getEndcpname() { + return endcpname; + } + + public void setEndcpname(String endcpname) { + this.endcpname = endcpname; + } + + public BigDecimal getEndcpvalue() { + return endcpvalue; + } + + public void setEndcpvalue(BigDecimal endcpvalue) { + this.endcpvalue = endcpvalue; + } + + public BigDecimal getEndvalue() { + return endvalue; + } + + public void setEndvalue(BigDecimal endvalue) { + this.endvalue = endvalue; + } + + public String getScale() { + return scale; + } + + public void setScale(String scale) { + this.scale = scale; + } + + public String getWdgfile() { + return wdgfile; + } + + public void setWdgfile(String wdgfile) { + this.wdgfile = wdgfile; + } + + public String getAttribute() { + return attribute; + } + + public void setAttribute(String attribute) { + this.attribute = attribute; + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/MpoiEntity.java b/src/main/java/com/lf/server/entity/bs/MpoiEntity.java new file mode 100644 index 0000000..78d1e2f --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/MpoiEntity.java @@ -0,0 +1,145 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mpoi + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_poi") +@EqualsAndHashCode(callSuper = false) +public class MpoiEntity extends BaseGeoEntity { + private static final long serialVersionUID = 116557317374533664L; + + private String name; + + private String poitype; + + private String midpoitype; + + private String address; + + private String pipename; + + private String projname; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + public MpoiEntity() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPoitype() { + return poitype; + } + + public void setPoitype(String poitype) { + this.poitype = poitype; + } + + public String getMidpoitype() { + return midpoitype; + } + + public void setMidpoitype(String midpoitype) { + this.midpoitype = midpoitype; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/MscatterpointEntity.java b/src/main/java/com/lf/server/entity/bs/MscatterpointEntity.java new file mode 100644 index 0000000..d8fa5fe --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/MscatterpointEntity.java @@ -0,0 +1,155 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mscatterpoint + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_scatterpoint") +@EqualsAndHashCode(callSuper = false) +public class MscatterpointEntity extends BaseGeoEntity { + private static final long serialVersionUID = 116557317374533664L; + + private String pointnum; + + private BigDecimal x; + + private BigDecimal y; + + private BigDecimal elev; + + private String segname; + + private String projname; + + private String pipename; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + public MscatterpointEntity() { + } + + public String getPointnum() { + return pointnum; + } + + public void setPointnum(String pointnum) { + this.pointnum = pointnum; + } + + public BigDecimal getX() { + return x; + } + + public void setX(BigDecimal x) { + this.x = x; + } + + public BigDecimal getY() { + return y; + } + + public void setY(BigDecimal y) { + this.y = y; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Msitepoint0Entity.java b/src/main/java/com/lf/server/entity/bs/Msitepoint0Entity.java new file mode 100644 index 0000000..4eab672 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Msitepoint0Entity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Msitepoint0 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_sitepoint0") +@EqualsAndHashCode(callSuper = false) +public class Msitepoint0Entity extends BaseGeoEntity { + private static final long serialVersionUID = 116557317374533664L; + + private String pipename; + + private String sitename; + + public Msitepoint0Entity() { + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getSitename() { + return sitename; + } + + public void setSitename(String sitename) { + this.sitename = sitename; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/MsitepointEntity.java b/src/main/java/com/lf/server/entity/bs/MsitepointEntity.java new file mode 100644 index 0000000..36f343d --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/MsitepointEntity.java @@ -0,0 +1,205 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Msitepoint + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_sitepoint") +@EqualsAndHashCode(callSuper = false) +public class MsitepointEntity extends BaseGeoEntity { + private static final long serialVersionUID = 116557317374533664L; + + private BigDecimal x; + + private BigDecimal y; + + private BigDecimal elev; + + private String segname; + + private String projname; + + private String pipename; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private String sitename; + + private String sitedesc; + + private String sitetype; + + private String location; + + private String principal; + + private LocalDate useddate; + + public MsitepointEntity() { + } + + public BigDecimal getX() { + return x; + } + + public void setX(BigDecimal x) { + this.x = x; + } + + public BigDecimal getY() { + return y; + } + + public void setY(BigDecimal y) { + this.y = y; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public String getSitename() { + return sitename; + } + + public void setSitename(String sitename) { + this.sitename = sitename; + } + + public String getSitedesc() { + return sitedesc; + } + + public void setSitedesc(String sitedesc) { + this.sitedesc = sitedesc; + } + + public String getSitetype() { + return sitetype; + } + + public void setSitetype(String sitetype) { + this.sitetype = sitetype; + } + + public String getLocation() { + return location; + } + + public void setLocation(String location) { + this.location = location; + } + + public String getPrincipal() { + return principal; + } + + public void setPrincipal(String principal) { + this.principal = principal; + } + + public LocalDate getUseddate() { + return useddate; + } + + public void setUseddate(LocalDate useddate) { + this.useddate = useddate; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/MsurfacedeformationdataEntity.java b/src/main/java/com/lf/server/entity/bs/MsurfacedeformationdataEntity.java new file mode 100644 index 0000000..b83d0e6 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/MsurfacedeformationdataEntity.java @@ -0,0 +1,175 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Msurfacedeformationdata + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_surface_deformation_data") +@EqualsAndHashCode(callSuper = false) +public class MsurfacedeformationdataEntity extends BaseGeoEntity { + private static final long serialVersionUID = 757752290348406912L; + + private String segname; + + private String defpointno; + + private BigDecimal seqvar; + + private BigDecimal defrate; + + private String sarresult; + + private String projname; + + private String pipename; + + private BigDecimal x; + + private BigDecimal y; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + public MsurfacedeformationdataEntity() { + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getDefpointno() { + return defpointno; + } + + public void setDefpointno(String defpointno) { + this.defpointno = defpointno; + } + + public BigDecimal getSeqvar() { + return seqvar; + } + + public void setSeqvar(BigDecimal seqvar) { + this.seqvar = seqvar; + } + + public BigDecimal getDefrate() { + return defrate; + } + + public void setDefrate(BigDecimal defrate) { + this.defrate = defrate; + } + + public String getSarresult() { + return sarresult; + } + + public void setSarresult(String sarresult) { + this.sarresult = sarresult; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public BigDecimal getX() { + return x; + } + + public void setX(BigDecimal x) { + this.x = x; + } + + public BigDecimal getY() { + return y; + } + + public void setY(BigDecimal y) { + this.y = y; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/MvalvehousepointEntity.java b/src/main/java/com/lf/server/entity/bs/MvalvehousepointEntity.java new file mode 100644 index 0000000..f6a4a0c --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/MvalvehousepointEntity.java @@ -0,0 +1,205 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mvalvehousepoint + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.m_valvehousepoint") +@EqualsAndHashCode(callSuper = false) +public class MvalvehousepointEntity extends BaseGeoEntity { + private static final long serialVersionUID = 757752290348406912L; + + private BigDecimal x; + + private BigDecimal y; + + private BigDecimal elev; + + private String segname; + + private String projname; + + private String pipename; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private String valvehname; + + private String valvehdesc; + + private String valvehtype; + + private String location; + + private String principal; + + private LocalDate useddate; + + public MvalvehousepointEntity() { + } + + public BigDecimal getX() { + return x; + } + + public void setX(BigDecimal x) { + this.x = x; + } + + public BigDecimal getY() { + return y; + } + + public void setY(BigDecimal y) { + this.y = y; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public String getValvehname() { + return valvehname; + } + + public void setValvehname(String valvehname) { + this.valvehname = valvehname; + } + + public String getValvehdesc() { + return valvehdesc; + } + + public void setValvehdesc(String valvehdesc) { + this.valvehdesc = valvehdesc; + } + + public String getValvehtype() { + return valvehtype; + } + + public void setValvehtype(String valvehtype) { + this.valvehtype = valvehtype; + } + + public String getLocation() { + return location; + } + + public void setLocation(String location) { + this.location = location; + } + + public String getPrincipal() { + return principal; + } + + public void setPrincipal(String principal) { + this.principal = principal; + } + + public LocalDate getUseddate() { + return useddate; + } + + public void setUseddate(LocalDate useddate) { + this.useddate = useddate; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/SboreholeEntity.java b/src/main/java/com/lf/server/entity/bs/SboreholeEntity.java new file mode 100644 index 0000000..45d2cce --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/SboreholeEntity.java @@ -0,0 +1,395 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Sborehole + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.s_borehole") +@EqualsAndHashCode(callSuper = false) +public class SboreholeEntity extends BaseGeoEntity { + private static final long serialVersionUID = 757752290348406912L; + + private String drilltype; + + private String drillcode; + + private BigDecimal holedepth; + + private BigDecimal groundelev; + + private String undissamno; + + private String dissampno; + + private String tests; + + private BigDecimal gwaterdep; + + private String gwatertype; + + private BigDecimal wamplitude; + + private LocalDate gwaterdate; + + private String workname; + + private String workarea; + + private String resvalue; + + private String ungeopro; + + private String sperands; + + private String corwands; + + private String parameter; + + private Integer bearingcap; + + private String strdensity; + + private String forwarcon; + + private String portatio; + + private String forcom; + + private BigDecimal conmodulus; + + private String forcoh; + + private String angleofin; + + private String pilefound; + + private String projname; + + private BigDecimal x; + + private BigDecimal y; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private String photono; + + public SboreholeEntity() { + } + + public String getDrilltype() { + return drilltype; + } + + public void setDrilltype(String drilltype) { + this.drilltype = drilltype; + } + + public String getDrillcode() { + return drillcode; + } + + public void setDrillcode(String drillcode) { + this.drillcode = drillcode; + } + + public BigDecimal getHoledepth() { + return holedepth; + } + + public void setHoledepth(BigDecimal holedepth) { + this.holedepth = holedepth; + } + + public BigDecimal getGroundelev() { + return groundelev; + } + + public void setGroundelev(BigDecimal groundelev) { + this.groundelev = groundelev; + } + + public String getUndissamno() { + return undissamno; + } + + public void setUndissamno(String undissamno) { + this.undissamno = undissamno; + } + + public String getDissampno() { + return dissampno; + } + + public void setDissampno(String dissampno) { + this.dissampno = dissampno; + } + + public String getTests() { + return tests; + } + + public void setTests(String tests) { + this.tests = tests; + } + + public BigDecimal getGwaterdep() { + return gwaterdep; + } + + public void setGwaterdep(BigDecimal gwaterdep) { + this.gwaterdep = gwaterdep; + } + + public String getGwatertype() { + return gwatertype; + } + + public void setGwatertype(String gwatertype) { + this.gwatertype = gwatertype; + } + + public BigDecimal getWamplitude() { + return wamplitude; + } + + public void setWamplitude(BigDecimal wamplitude) { + this.wamplitude = wamplitude; + } + + public LocalDate getGwaterdate() { + return gwaterdate; + } + + public void setGwaterdate(LocalDate gwaterdate) { + this.gwaterdate = gwaterdate; + } + + public String getWorkname() { + return workname; + } + + public void setWorkname(String workname) { + this.workname = workname; + } + + public String getWorkarea() { + return workarea; + } + + public void setWorkarea(String workarea) { + this.workarea = workarea; + } + + public String getResvalue() { + return resvalue; + } + + public void setResvalue(String resvalue) { + this.resvalue = resvalue; + } + + public String getUngeopro() { + return ungeopro; + } + + public void setUngeopro(String ungeopro) { + this.ungeopro = ungeopro; + } + + public String getSperands() { + return sperands; + } + + public void setSperands(String sperands) { + this.sperands = sperands; + } + + public String getCorwands() { + return corwands; + } + + public void setCorwands(String corwands) { + this.corwands = corwands; + } + + public String getParameter() { + return parameter; + } + + public void setParameter(String parameter) { + this.parameter = parameter; + } + + public Integer getBearingcap() { + return bearingcap; + } + + public void setBearingcap(Integer bearingcap) { + this.bearingcap = bearingcap; + } + + public String getStrdensity() { + return strdensity; + } + + public void setStrdensity(String strdensity) { + this.strdensity = strdensity; + } + + public String getForwarcon() { + return forwarcon; + } + + public void setForwarcon(String forwarcon) { + this.forwarcon = forwarcon; + } + + public String getPortatio() { + return portatio; + } + + public void setPortatio(String portatio) { + this.portatio = portatio; + } + + public String getForcom() { + return forcom; + } + + public void setForcom(String forcom) { + this.forcom = forcom; + } + + public BigDecimal getConmodulus() { + return conmodulus; + } + + public void setConmodulus(BigDecimal conmodulus) { + this.conmodulus = conmodulus; + } + + public String getForcoh() { + return forcoh; + } + + public void setForcoh(String forcoh) { + this.forcoh = forcoh; + } + + public String getAngleofin() { + return angleofin; + } + + public void setAngleofin(String angleofin) { + this.angleofin = angleofin; + } + + public String getPilefound() { + return pilefound; + } + + public void setPilefound(String pilefound) { + this.pilefound = pilefound; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public BigDecimal getX() { + return x; + } + + public void setX(BigDecimal x) { + this.x = x; + } + + public BigDecimal getY() { + return y; + } + + public void setY(BigDecimal y) { + this.y = y; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public String getPhotono() { + return photono; + } + + public void setPhotono(String photono) { + this.photono = photono; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/SboreholeattachEntity.java b/src/main/java/com/lf/server/entity/bs/SboreholeattachEntity.java new file mode 100644 index 0000000..cef0a5b --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/SboreholeattachEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Sboreholeattach + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.s_borehole_attach") +@EqualsAndHashCode(callSuper = false) +public class SboreholeattachEntity extends BaseEntity { + private static final long serialVersionUID = 757752290348406912L; + + private Long id; + + private String filename; + + private String fileguid; + + private String filesizes; + + private String path; + + private String tabguid; + + private String tab; + + public SboreholeattachEntity() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getFilename() { + return filename; + } + + public void setFilename(String filename) { + this.filename = filename; + } + + public String getFileguid() { + return fileguid; + } + + public void setFileguid(String fileguid) { + this.fileguid = fileguid; + } + + public String getFilesizes() { + return filesizes; + } + + public void setFilesizes(String filesizes) { + this.filesizes = filesizes; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getTabguid() { + return tabguid; + } + + public void setTabguid(String tabguid) { + this.tabguid = tabguid; + } + + public String getTab() { + return tab; + } + + public void setTab(String tab) { + this.tab = tab; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/SexplorationpointEntity.java b/src/main/java/com/lf/server/entity/bs/SexplorationpointEntity.java new file mode 100644 index 0000000..792f188 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/SexplorationpointEntity.java @@ -0,0 +1,215 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Sexplorationpoint + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.s_explorationpoint") +@EqualsAndHashCode(callSuper = false) +public class SexplorationpointEntity extends BaseGeoEntity { + private static final long serialVersionUID = 757752290348406912L; + + private String exppointid; + + private BigDecimal x; + + private BigDecimal y; + + private BigDecimal elev; + + private BigDecimal holedepth; + + private BigDecimal gwaterdep; + + private BigDecimal wamplitude; + + private String drilltype; + + private String segname; + + private String projname; + + private String pipename; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private String photono; + + private String workno; + + public SexplorationpointEntity() { + } + + public String getExppointid() { + return exppointid; + } + + public void setExppointid(String exppointid) { + this.exppointid = exppointid; + } + + public BigDecimal getX() { + return x; + } + + public void setX(BigDecimal x) { + this.x = x; + } + + public BigDecimal getY() { + return y; + } + + public void setY(BigDecimal y) { + this.y = y; + } + + public BigDecimal getElev() { + return elev; + } + + public void setElev(BigDecimal elev) { + this.elev = elev; + } + + public BigDecimal getHoledepth() { + return holedepth; + } + + public void setHoledepth(BigDecimal holedepth) { + this.holedepth = holedepth; + } + + public BigDecimal getGwaterdep() { + return gwaterdep; + } + + public void setGwaterdep(BigDecimal gwaterdep) { + this.gwaterdep = gwaterdep; + } + + public BigDecimal getWamplitude() { + return wamplitude; + } + + public void setWamplitude(BigDecimal wamplitude) { + this.wamplitude = wamplitude; + } + + public String getDrilltype() { + return drilltype; + } + + public void setDrilltype(String drilltype) { + this.drilltype = drilltype; + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public String getPhotono() { + return photono; + } + + public void setPhotono(String photono) { + this.photono = photono; + } + + public String getWorkno() { + return workno; + } + + public void setWorkno(String workno) { + this.workno = workno; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/SexplorationpointstratumEntity.java b/src/main/java/com/lf/server/entity/bs/SexplorationpointstratumEntity.java new file mode 100644 index 0000000..c5f3e64 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/SexplorationpointstratumEntity.java @@ -0,0 +1,205 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Sexplorationpointstratum + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.s_explorationpointstratum") +@EqualsAndHashCode(callSuper = false) +public class SexplorationpointstratumEntity extends BaseEntity { + private static final long serialVersionUID = 757752290348406912L; + + private String pipename; + + private String projname; + + private String exppointid; + + private String mainno; + + private String subno; + + private String geoage; + + private String geoorigin; + + private Double botdepth; + + private Double elev; + + private String geoname; + + private String geotype; + + private String describe; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + public SexplorationpointstratumEntity() { + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getExppointid() { + return exppointid; + } + + public void setExppointid(String exppointid) { + this.exppointid = exppointid; + } + + public String getMainno() { + return mainno; + } + + public void setMainno(String mainno) { + this.mainno = mainno; + } + + public String getSubno() { + return subno; + } + + public void setSubno(String subno) { + this.subno = subno; + } + + public String getGeoage() { + return geoage; + } + + public void setGeoage(String geoage) { + this.geoage = geoage; + } + + public String getGeoorigin() { + return geoorigin; + } + + public void setGeoorigin(String geoorigin) { + this.geoorigin = geoorigin; + } + + public Double getBotdepth() { + return botdepth; + } + + public void setBotdepth(Double botdepth) { + this.botdepth = botdepth; + } + + public Double getElev() { + return elev; + } + + public void setElev(Double elev) { + this.elev = elev; + } + + public String getGeoname() { + return geoname; + } + + public void setGeoname(String geoname) { + this.geoname = geoname; + } + + public String getGeotype() { + return geotype; + } + + public void setGeotype(String geotype) { + this.geotype = geotype; + } + + public String getDescribe() { + return describe; + } + + public void setDescribe(String describe) { + this.describe = describe; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/SgeologicaldataEntity.java b/src/main/java/com/lf/server/entity/bs/SgeologicaldataEntity.java new file mode 100644 index 0000000..48cdeeb --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/SgeologicaldataEntity.java @@ -0,0 +1,195 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Sgeologicaldata + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.s_geological_data") +@EqualsAndHashCode(callSuper = false) +public class SgeologicaldataEntity extends BaseEntity { + private static final long serialVersionUID = 757752290348406912L; + + private String begnumber; + + private BigDecimal begreldist; + + private BigDecimal begvalue; + + private String endcpname; + + private BigDecimal endreldist; + + private BigDecimal endvalue; + + private String describe; + + private BigDecimal soildepth; + + private String segname; + + private String projname; + + private String pipename; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + public SgeologicaldataEntity() { + } + + public String getBegnumber() { + return begnumber; + } + + public void setBegnumber(String begnumber) { + this.begnumber = begnumber; + } + + public BigDecimal getBegreldist() { + return begreldist; + } + + public void setBegreldist(BigDecimal begreldist) { + this.begreldist = begreldist; + } + + public BigDecimal getBegvalue() { + return begvalue; + } + + public void setBegvalue(BigDecimal begvalue) { + this.begvalue = begvalue; + } + + public String getEndcpname() { + return endcpname; + } + + public void setEndcpname(String endcpname) { + this.endcpname = endcpname; + } + + public BigDecimal getEndreldist() { + return endreldist; + } + + public void setEndreldist(BigDecimal endreldist) { + this.endreldist = endreldist; + } + + public BigDecimal getEndvalue() { + return endvalue; + } + + public void setEndvalue(BigDecimal endvalue) { + this.endvalue = endvalue; + } + + public String getDescribe() { + return describe; + } + + public void setDescribe(String describe) { + this.describe = describe; + } + + public BigDecimal getSoildepth() { + return soildepth; + } + + public void setSoildepth(BigDecimal soildepth) { + this.soildepth = soildepth; + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/SprofileindexfileEntity.java b/src/main/java/com/lf/server/entity/bs/SprofileindexfileEntity.java new file mode 100644 index 0000000..8d9b7be --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/SprofileindexfileEntity.java @@ -0,0 +1,205 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Sprofileindexfile + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.s_profile_indexfile") +@EqualsAndHashCode(callSuper = false) +public class SprofileindexfileEntity extends BaseEntity { + private static final long serialVersionUID = 757752290348406912L; + + private String begnumber; + + private BigDecimal begreldist; + + private BigDecimal begvalue; + + private String endcpname; + + private BigDecimal endreldist; + + private BigDecimal endvalue; + + private String crossscale; + + private String verscale; + + private String wdgfile; + + private String segname; + + private String projname; + + private String pipename; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + public SprofileindexfileEntity() { + } + + public String getBegnumber() { + return begnumber; + } + + public void setBegnumber(String begnumber) { + this.begnumber = begnumber; + } + + public BigDecimal getBegreldist() { + return begreldist; + } + + public void setBegreldist(BigDecimal begreldist) { + this.begreldist = begreldist; + } + + public BigDecimal getBegvalue() { + return begvalue; + } + + public void setBegvalue(BigDecimal begvalue) { + this.begvalue = begvalue; + } + + public String getEndcpname() { + return endcpname; + } + + public void setEndcpname(String endcpname) { + this.endcpname = endcpname; + } + + public BigDecimal getEndreldist() { + return endreldist; + } + + public void setEndreldist(BigDecimal endreldist) { + this.endreldist = endreldist; + } + + public BigDecimal getEndvalue() { + return endvalue; + } + + public void setEndvalue(BigDecimal endvalue) { + this.endvalue = endvalue; + } + + public String getCrossscale() { + return crossscale; + } + + public void setCrossscale(String crossscale) { + this.crossscale = crossscale; + } + + public String getVerscale() { + return verscale; + } + + public void setVerscale(String verscale) { + this.verscale = verscale; + } + + public String getWdgfile() { + return wdgfile; + } + + public void setWdgfile(String wdgfile) { + this.wdgfile = wdgfile; + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/SresistivityEntity.java b/src/main/java/com/lf/server/entity/bs/SresistivityEntity.java new file mode 100644 index 0000000..593df47 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/SresistivityEntity.java @@ -0,0 +1,165 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Sresistivity + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.s_resistivity") +@EqualsAndHashCode(callSuper = false) +public class SresistivityEntity extends BaseEntity { + private static final long serialVersionUID = 757752290348406912L; + + private String cpname; + + private BigDecimal cpvalue; + + private BigDecimal stavalue; + + private String resvalue; + + private String valuation; + + private String segname; + + private String projname; + + private String pipename; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + public SresistivityEntity() { + } + + public String getCpname() { + return cpname; + } + + public void setCpname(String cpname) { + this.cpname = cpname; + } + + public BigDecimal getCpvalue() { + return cpvalue; + } + + public void setCpvalue(BigDecimal cpvalue) { + this.cpvalue = cpvalue; + } + + public BigDecimal getStavalue() { + return stavalue; + } + + public void setStavalue(BigDecimal stavalue) { + this.stavalue = stavalue; + } + + public String getResvalue() { + return resvalue; + } + + public void setResvalue(String resvalue) { + this.resvalue = resvalue; + } + + public String getValuation() { + return valuation; + } + + public void setValuation(String valuation) { + this.valuation = valuation; + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/SsurveyinformationEntity.java b/src/main/java/com/lf/server/entity/bs/SsurveyinformationEntity.java new file mode 100644 index 0000000..2050962 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/SsurveyinformationEntity.java @@ -0,0 +1,685 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Ssurveyinformation + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.s_survey_information") +@EqualsAndHashCode(callSuper = false) +public class SsurveyinformationEntity extends BaseEntity { + private static final long serialVersionUID = 757752290348406912L; + + private String segname; + + private String projname; + + private String pipename; + + private String location; + + private String maxwindsp; + + private String winddirect; + + private String rintensity; + + private String maxmtempe; + + private String minmtempe; + + private String sintensity; + + private String seismic; + + private String dsgrouping; + + private String areatype; + + private String seisection; + + private String lipindex; + + private String lipgrade; + + private String ssossoil; + + private String gwattype; + + private String gwatdepth; + + private String amplitude; + + private String waterelev; + + private String gradeosw; + + private String gradeoswsb; + + private String gradeosws; + + private String gradeos; + + private String gradeossb; + + private String gradeoss; + + private String thawgrade; + + private String thawtype; + + private String fsoiltype; + + private String upperlimit; + + private String fsoilgroup; + + private String frosoildep; + + private String frostheave; + + private String frograde; + + private String coltype; + + private String colgrade; + + private String coldepth; + + private String demension; + + private String collayers; + + private String zoomgrade; + + private String atmdepth; + + private String salchename; + + private String salconname; + + private String subdegree; + + private String subgrade; + + private String saltexp; + + private String othersoil; + + private String abnburying; + + private String profile; + + private String agdesc; + + private String uniformity; + + private String strname; + + private String strdepth; + + private String bearingcap; + + private String commodulus; + + private String schemesugg; + + private String basesugg; + + private String conclusion; + + private String version; + + private String datastage; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String workname; + + public SsurveyinformationEntity() { + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getLocation() { + return location; + } + + public void setLocation(String location) { + this.location = location; + } + + public String getMaxwindsp() { + return maxwindsp; + } + + public void setMaxwindsp(String maxwindsp) { + this.maxwindsp = maxwindsp; + } + + public String getWinddirect() { + return winddirect; + } + + public void setWinddirect(String winddirect) { + this.winddirect = winddirect; + } + + public String getRintensity() { + return rintensity; + } + + public void setRintensity(String rintensity) { + this.rintensity = rintensity; + } + + public String getMaxmtempe() { + return maxmtempe; + } + + public void setMaxmtempe(String maxmtempe) { + this.maxmtempe = maxmtempe; + } + + public String getMinmtempe() { + return minmtempe; + } + + public void setMinmtempe(String minmtempe) { + this.minmtempe = minmtempe; + } + + public String getSintensity() { + return sintensity; + } + + public void setSintensity(String sintensity) { + this.sintensity = sintensity; + } + + public String getSeismic() { + return seismic; + } + + public void setSeismic(String seismic) { + this.seismic = seismic; + } + + public String getDsgrouping() { + return dsgrouping; + } + + public void setDsgrouping(String dsgrouping) { + this.dsgrouping = dsgrouping; + } + + public String getAreatype() { + return areatype; + } + + public void setAreatype(String areatype) { + this.areatype = areatype; + } + + public String getSeisection() { + return seisection; + } + + public void setSeisection(String seisection) { + this.seisection = seisection; + } + + public String getLipindex() { + return lipindex; + } + + public void setLipindex(String lipindex) { + this.lipindex = lipindex; + } + + public String getLipgrade() { + return lipgrade; + } + + public void setLipgrade(String lipgrade) { + this.lipgrade = lipgrade; + } + + public String getSsossoil() { + return ssossoil; + } + + public void setSsossoil(String ssossoil) { + this.ssossoil = ssossoil; + } + + public String getGwattype() { + return gwattype; + } + + public void setGwattype(String gwattype) { + this.gwattype = gwattype; + } + + public String getGwatdepth() { + return gwatdepth; + } + + public void setGwatdepth(String gwatdepth) { + this.gwatdepth = gwatdepth; + } + + public String getAmplitude() { + return amplitude; + } + + public void setAmplitude(String amplitude) { + this.amplitude = amplitude; + } + + public String getWaterelev() { + return waterelev; + } + + public void setWaterelev(String waterelev) { + this.waterelev = waterelev; + } + + public String getGradeosw() { + return gradeosw; + } + + public void setGradeosw(String gradeosw) { + this.gradeosw = gradeosw; + } + + public String getGradeoswsb() { + return gradeoswsb; + } + + public void setGradeoswsb(String gradeoswsb) { + this.gradeoswsb = gradeoswsb; + } + + public String getGradeosws() { + return gradeosws; + } + + public void setGradeosws(String gradeosws) { + this.gradeosws = gradeosws; + } + + public String getGradeos() { + return gradeos; + } + + public void setGradeos(String gradeos) { + this.gradeos = gradeos; + } + + public String getGradeossb() { + return gradeossb; + } + + public void setGradeossb(String gradeossb) { + this.gradeossb = gradeossb; + } + + public String getGradeoss() { + return gradeoss; + } + + public void setGradeoss(String gradeoss) { + this.gradeoss = gradeoss; + } + + public String getThawgrade() { + return thawgrade; + } + + public void setThawgrade(String thawgrade) { + this.thawgrade = thawgrade; + } + + public String getThawtype() { + return thawtype; + } + + public void setThawtype(String thawtype) { + this.thawtype = thawtype; + } + + public String getFsoiltype() { + return fsoiltype; + } + + public void setFsoiltype(String fsoiltype) { + this.fsoiltype = fsoiltype; + } + + public String getUpperlimit() { + return upperlimit; + } + + public void setUpperlimit(String upperlimit) { + this.upperlimit = upperlimit; + } + + public String getFsoilgroup() { + return fsoilgroup; + } + + public void setFsoilgroup(String fsoilgroup) { + this.fsoilgroup = fsoilgroup; + } + + public String getFrosoildep() { + return frosoildep; + } + + public void setFrosoildep(String frosoildep) { + this.frosoildep = frosoildep; + } + + public String getFrostheave() { + return frostheave; + } + + public void setFrostheave(String frostheave) { + this.frostheave = frostheave; + } + + public String getFrograde() { + return frograde; + } + + public void setFrograde(String frograde) { + this.frograde = frograde; + } + + public String getColtype() { + return coltype; + } + + public void setColtype(String coltype) { + this.coltype = coltype; + } + + public String getColgrade() { + return colgrade; + } + + public void setColgrade(String colgrade) { + this.colgrade = colgrade; + } + + public String getColdepth() { + return coldepth; + } + + public void setColdepth(String coldepth) { + this.coldepth = coldepth; + } + + public String getDemension() { + return demension; + } + + public void setDemension(String demension) { + this.demension = demension; + } + + public String getCollayers() { + return collayers; + } + + public void setCollayers(String collayers) { + this.collayers = collayers; + } + + public String getZoomgrade() { + return zoomgrade; + } + + public void setZoomgrade(String zoomgrade) { + this.zoomgrade = zoomgrade; + } + + public String getAtmdepth() { + return atmdepth; + } + + public void setAtmdepth(String atmdepth) { + this.atmdepth = atmdepth; + } + + public String getSalchename() { + return salchename; + } + + public void setSalchename(String salchename) { + this.salchename = salchename; + } + + public String getSalconname() { + return salconname; + } + + public void setSalconname(String salconname) { + this.salconname = salconname; + } + + public String getSubdegree() { + return subdegree; + } + + public void setSubdegree(String subdegree) { + this.subdegree = subdegree; + } + + public String getSubgrade() { + return subgrade; + } + + public void setSubgrade(String subgrade) { + this.subgrade = subgrade; + } + + public String getSaltexp() { + return saltexp; + } + + public void setSaltexp(String saltexp) { + this.saltexp = saltexp; + } + + public String getOthersoil() { + return othersoil; + } + + public void setOthersoil(String othersoil) { + this.othersoil = othersoil; + } + + public String getAbnburying() { + return abnburying; + } + + public void setAbnburying(String abnburying) { + this.abnburying = abnburying; + } + + public String getProfile() { + return profile; + } + + public void setProfile(String profile) { + this.profile = profile; + } + + public String getAgdesc() { + return agdesc; + } + + public void setAgdesc(String agdesc) { + this.agdesc = agdesc; + } + + public String getUniformity() { + return uniformity; + } + + public void setUniformity(String uniformity) { + this.uniformity = uniformity; + } + + public String getStrname() { + return strname; + } + + public void setStrname(String strname) { + this.strname = strname; + } + + public String getStrdepth() { + return strdepth; + } + + public void setStrdepth(String strdepth) { + this.strdepth = strdepth; + } + + public String getBearingcap() { + return bearingcap; + } + + public void setBearingcap(String bearingcap) { + this.bearingcap = bearingcap; + } + + public String getCommodulus() { + return commodulus; + } + + public void setCommodulus(String commodulus) { + this.commodulus = commodulus; + } + + public String getSchemesugg() { + return schemesugg; + } + + public void setSchemesugg(String schemesugg) { + this.schemesugg = schemesugg; + } + + public String getBasesugg() { + return basesugg; + } + + public void setBasesugg(String basesugg) { + this.basesugg = basesugg; + } + + public String getConclusion() { + return conclusion; + } + + public void setConclusion(String conclusion) { + this.conclusion = conclusion; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getWorkname() { + return workname; + } + + public void setWorkname(String workname) { + this.workname = workname; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/SsurveyworksiteEntity.java b/src/main/java/com/lf/server/entity/bs/SsurveyworksiteEntity.java new file mode 100644 index 0000000..7c14256 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/SsurveyworksiteEntity.java @@ -0,0 +1,335 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Ssurveyworksite + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.s_surveyworksite") +@EqualsAndHashCode(callSuper = false) +public class SsurveyworksiteEntity extends BaseGeoEntity { + private static final long serialVersionUID = 757752290348406912L; + + private String workno; + + private String workname; + + private String worktype; + + private String areatype; + + private String lipindex; + + private String lipgrade; + + private String gwatdepth; + + private String waterelev; + + private String thawgrade; + + private String thawtype; + + private String fsoiltype; + + private String froelev; + + private String frostheave; + + private String frograde; + + private String coltype; + + private String colgrade; + + private String coldepth; + + private String zoomgrade; + + private String atmdepth; + + private String salchename; + + private String agdesc; + + private String pacname; + + private String infsegname; + + private String pipename; + + private String projname; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + public SsurveyworksiteEntity() { + } + + public String getWorkno() { + return workno; + } + + public void setWorkno(String workno) { + this.workno = workno; + } + + public String getWorkname() { + return workname; + } + + public void setWorkname(String workname) { + this.workname = workname; + } + + public String getWorktype() { + return worktype; + } + + public void setWorktype(String worktype) { + this.worktype = worktype; + } + + public String getAreatype() { + return areatype; + } + + public void setAreatype(String areatype) { + this.areatype = areatype; + } + + public String getLipindex() { + return lipindex; + } + + public void setLipindex(String lipindex) { + this.lipindex = lipindex; + } + + public String getLipgrade() { + return lipgrade; + } + + public void setLipgrade(String lipgrade) { + this.lipgrade = lipgrade; + } + + public String getGwatdepth() { + return gwatdepth; + } + + public void setGwatdepth(String gwatdepth) { + this.gwatdepth = gwatdepth; + } + + public String getWaterelev() { + return waterelev; + } + + public void setWaterelev(String waterelev) { + this.waterelev = waterelev; + } + + public String getThawgrade() { + return thawgrade; + } + + public void setThawgrade(String thawgrade) { + this.thawgrade = thawgrade; + } + + public String getThawtype() { + return thawtype; + } + + public void setThawtype(String thawtype) { + this.thawtype = thawtype; + } + + public String getFsoiltype() { + return fsoiltype; + } + + public void setFsoiltype(String fsoiltype) { + this.fsoiltype = fsoiltype; + } + + public String getFroelev() { + return froelev; + } + + public void setFroelev(String froelev) { + this.froelev = froelev; + } + + public String getFrostheave() { + return frostheave; + } + + public void setFrostheave(String frostheave) { + this.frostheave = frostheave; + } + + public String getFrograde() { + return frograde; + } + + public void setFrograde(String frograde) { + this.frograde = frograde; + } + + public String getColtype() { + return coltype; + } + + public void setColtype(String coltype) { + this.coltype = coltype; + } + + public String getColgrade() { + return colgrade; + } + + public void setColgrade(String colgrade) { + this.colgrade = colgrade; + } + + public String getColdepth() { + return coldepth; + } + + public void setColdepth(String coldepth) { + this.coldepth = coldepth; + } + + public String getZoomgrade() { + return zoomgrade; + } + + public void setZoomgrade(String zoomgrade) { + this.zoomgrade = zoomgrade; + } + + public String getAtmdepth() { + return atmdepth; + } + + public void setAtmdepth(String atmdepth) { + this.atmdepth = atmdepth; + } + + public String getSalchename() { + return salchename; + } + + public void setSalchename(String salchename) { + this.salchename = salchename; + } + + public String getAgdesc() { + return agdesc; + } + + public void setAgdesc(String agdesc) { + this.agdesc = agdesc; + } + + public String getPacname() { + return pacname; + } + + public void setPacname(String pacname) { + this.pacname = pacname; + } + + public String getInfsegname() { + return infsegname; + } + + public void setInfsegname(String infsegname) { + this.infsegname = infsegname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/ThcountyareaEntity.java b/src/main/java/com/lf/server/entity/bs/ThcountyareaEntity.java new file mode 100644 index 0000000..4535e2f --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/ThcountyareaEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Thcountyarea + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.th_county_area") +@EqualsAndHashCode(callSuper = false) +public class ThcountyareaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 757752290348406912L; + + private String cname; + + private String clasid; + + private String gb; + + private Double shapeLength; + + public ThcountyareaEntity() { + } + + public String getCname() { + return cname; + } + + public void setCname(String cname) { + this.cname = cname; + } + + public String getClasid() { + return clasid; + } + + public void setClasid(String clasid) { + this.clasid = clasid; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public Double getShapeLength() { + return shapeLength; + } + + public void setShapeLength(Double shapeLength) { + this.shapeLength = shapeLength; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/ThcountylineEntity.java b/src/main/java/com/lf/server/entity/bs/ThcountylineEntity.java new file mode 100644 index 0000000..ba0bea0 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/ThcountylineEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Thcountyline + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.th_county_line") +@EqualsAndHashCode(callSuper = false) +public class ThcountylineEntity extends BaseGeoEntity { + private static final long serialVersionUID = 757752290348406912L; + + private String clasid; + + private Double shapeLength; + + public ThcountylineEntity() { + } + + public String getClasid() { + return clasid; + } + + public void setClasid(String clasid) { + this.clasid = clasid; + } + + public Double getShapeLength() { + return shapeLength; + } + + public void setShapeLength(Double shapeLength) { + this.shapeLength = shapeLength; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/ThcountypointEntity.java b/src/main/java/com/lf/server/entity/bs/ThcountypointEntity.java new file mode 100644 index 0000000..539998d --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/ThcountypointEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Thcountypoint + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.th_county_point") +@EqualsAndHashCode(callSuper = false) +public class ThcountypointEntity extends BaseGeoEntity { + private static final long serialVersionUID = 757752290348406912L; + + private String cname; + + private String clasid; + + private String gb; + + public ThcountypointEntity() { + } + + public String getCname() { + return cname; + } + + public void setCname(String cname) { + this.cname = cname; + } + + public String getClasid() { + return clasid; + } + + public void setClasid(String clasid) { + this.clasid = clasid; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/ThdistrictareaEntity.java b/src/main/java/com/lf/server/entity/bs/ThdistrictareaEntity.java new file mode 100644 index 0000000..c50c87c --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/ThdistrictareaEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Thdistrictarea + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.th_district_area") +@EqualsAndHashCode(callSuper = false) +public class ThdistrictareaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 757752290348406912L; + + private String cname; + + private String clasid; + + private String gb; + + private Double shapeLength; + + public ThdistrictareaEntity() { + } + + public String getCname() { + return cname; + } + + public void setCname(String cname) { + this.cname = cname; + } + + public String getClasid() { + return clasid; + } + + public void setClasid(String clasid) { + this.clasid = clasid; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public Double getShapeLength() { + return shapeLength; + } + + public void setShapeLength(Double shapeLength) { + this.shapeLength = shapeLength; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/ThdistrictlineEntity.java b/src/main/java/com/lf/server/entity/bs/ThdistrictlineEntity.java new file mode 100644 index 0000000..90bd945 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/ThdistrictlineEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Thdistrictline + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.th_district_line") +@EqualsAndHashCode(callSuper = false) +public class ThdistrictlineEntity extends BaseGeoEntity { + private static final long serialVersionUID = 757752290348406912L; + + private String clasid; + + private Double shapeLength; + + public ThdistrictlineEntity() { + } + + public String getClasid() { + return clasid; + } + + public void setClasid(String clasid) { + this.clasid = clasid; + } + + public Double getShapeLength() { + return shapeLength; + } + + public void setShapeLength(Double shapeLength) { + this.shapeLength = shapeLength; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/ThdistrictpointEntity.java b/src/main/java/com/lf/server/entity/bs/ThdistrictpointEntity.java new file mode 100644 index 0000000..576d9c2 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/ThdistrictpointEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Thdistrictpoint + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.th_district_point") +@EqualsAndHashCode(callSuper = false) +public class ThdistrictpointEntity extends BaseGeoEntity { + private static final long serialVersionUID = 757752290348406912L; + + private String cname; + + private String clasid; + + private String gb; + + public ThdistrictpointEntity() { + } + + public String getCname() { + return cname; + } + + public void setCname(String cname) { + this.cname = cname; + } + + public String getClasid() { + return clasid; + } + + public void setClasid(String clasid) { + this.clasid = clasid; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Thglobecountry01Entity.java b/src/main/java/com/lf/server/entity/bs/Thglobecountry01Entity.java new file mode 100644 index 0000000..cb52aef --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Thglobecountry01Entity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Thglobecountry01 + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.th_globe_country01") +@EqualsAndHashCode(callSuper = false) +public class Thglobecountry01Entity extends BaseGeoEntity { + private static final long serialVersionUID = 921372577511413376L; + + private String cname; + + private String ename; + + private String abename; + + private String clasid; + + private String gb; + + private String nid; + + public Thglobecountry01Entity() { + } + + public String getCname() { + return cname; + } + + public void setCname(String cname) { + this.cname = cname; + } + + public String getEname() { + return ename; + } + + public void setEname(String ename) { + this.ename = ename; + } + + public String getAbename() { + return abename; + } + + public void setAbename(String abename) { + this.abename = abename; + } + + public String getClasid() { + return clasid; + } + + public void setClasid(String clasid) { + this.clasid = clasid; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getNid() { + return nid; + } + + public void setNid(String nid) { + this.nid = nid; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/ThglobecountryEntity.java b/src/main/java/com/lf/server/entity/bs/ThglobecountryEntity.java new file mode 100644 index 0000000..45854ad --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/ThglobecountryEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Thglobecountry + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.th_globe_country") +@EqualsAndHashCode(callSuper = false) +public class ThglobecountryEntity extends BaseGeoEntity { + private static final long serialVersionUID = 757752290348406912L; + + private String cname; + + private String ename; + + private String abename; + + private String clasid; + + private String gb; + + private String nid; + + private Double shapeLength; + + public ThglobecountryEntity() { + } + + public String getCname() { + return cname; + } + + public void setCname(String cname) { + this.cname = cname; + } + + public String getEname() { + return ename; + } + + public void setEname(String ename) { + this.ename = ename; + } + + public String getAbename() { + return abename; + } + + public void setAbename(String abename) { + this.abename = abename; + } + + public String getClasid() { + return clasid; + } + + public void setClasid(String clasid) { + this.clasid = clasid; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public String getNid() { + return nid; + } + + public void setNid(String nid) { + this.nid = nid; + } + + public Double getShapeLength() { + return shapeLength; + } + + public void setShapeLength(Double shapeLength) { + this.shapeLength = shapeLength; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/ThprovinceareaEntity.java b/src/main/java/com/lf/server/entity/bs/ThprovinceareaEntity.java new file mode 100644 index 0000000..03169c5 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/ThprovinceareaEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Thprovincearea + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.th_province_area") +@EqualsAndHashCode(callSuper = false) +public class ThprovinceareaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 921372577511413376L; + + private String cname; + + private String clasid; + + private String gb; + + private Double shapeLength; + + public ThprovinceareaEntity() { + } + + public String getCname() { + return cname; + } + + public void setCname(String cname) { + this.cname = cname; + } + + public String getClasid() { + return clasid; + } + + public void setClasid(String clasid) { + this.clasid = clasid; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } + + public Double getShapeLength() { + return shapeLength; + } + + public void setShapeLength(Double shapeLength) { + this.shapeLength = shapeLength; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/ThprovincelineEntity.java b/src/main/java/com/lf/server/entity/bs/ThprovincelineEntity.java new file mode 100644 index 0000000..5656ed2 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/ThprovincelineEntity.java @@ -0,0 +1,45 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Thprovinceline + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.th_province_line") +@EqualsAndHashCode(callSuper = false) +public class ThprovincelineEntity extends BaseGeoEntity { + private static final long serialVersionUID = 921372577511413376L; + + private String clasid; + + private Double shapeLength; + + public ThprovincelineEntity() { + } + + public String getClasid() { + return clasid; + } + + public void setClasid(String clasid) { + this.clasid = clasid; + } + + public Double getShapeLength() { + return shapeLength; + } + + public void setShapeLength(Double shapeLength) { + this.shapeLength = shapeLength; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/ThprovincepointEntity.java b/src/main/java/com/lf/server/entity/bs/ThprovincepointEntity.java new file mode 100644 index 0000000..b11ab0b --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/ThprovincepointEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Thprovincepoint + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.th_province_point") +@EqualsAndHashCode(callSuper = false) +public class ThprovincepointEntity extends BaseGeoEntity { + private static final long serialVersionUID = 921372577511413376L; + + private String cname; + + private String clasid; + + private String gb; + + public ThprovincepointEntity() { + } + + public String getCname() { + return cname; + } + + public void setCname(String cname) { + this.cname = cname; + } + + public String getClasid() { + return clasid; + } + + public void setClasid(String clasid) { + this.clasid = clasid; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/ThprovincialcapitalEntity.java b/src/main/java/com/lf/server/entity/bs/ThprovincialcapitalEntity.java new file mode 100644 index 0000000..3c747f5 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/ThprovincialcapitalEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Thprovincialcapital + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.th_provincial_capital") +@EqualsAndHashCode(callSuper = false) +public class ThprovincialcapitalEntity extends BaseGeoEntity { + private static final long serialVersionUID = 921372577511413376L; + + private String cname; + + private String clasid; + + private String gb; + + public ThprovincialcapitalEntity() { + } + + public String getCname() { + return cname; + } + + public void setCname(String cname) { + this.cname = cname; + } + + public String getClasid() { + return clasid; + } + + public void setClasid(String clasid) { + this.clasid = clasid; + } + + public String getGb() { + return gb; + } + + public void setGb(String gb) { + this.gb = gb; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/ThstrategicchannelEntity.java b/src/main/java/com/lf/server/entity/bs/ThstrategicchannelEntity.java new file mode 100644 index 0000000..df66bcf --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/ThstrategicchannelEntity.java @@ -0,0 +1,55 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Thstrategicchannel + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.th_strategic_channel") +@EqualsAndHashCode(callSuper = false) +public class ThstrategicchannelEntity extends BaseGeoEntity { + private static final long serialVersionUID = 921372577511413376L; + + private String name; + + private String remarks; + + private Double shapeLength; + + public ThstrategicchannelEntity() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public Double getShapeLength() { + return shapeLength; + } + + public void setShapeLength(Double shapeLength) { + this.shapeLength = shapeLength; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/UsectionlineEntity.java b/src/main/java/com/lf/server/entity/bs/UsectionlineEntity.java new file mode 100644 index 0000000..7323cb0 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/UsectionlineEntity.java @@ -0,0 +1,115 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Usectionline + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.u_sectionline") +@EqualsAndHashCode(callSuper = false) +public class UsectionlineEntity extends BaseGeoEntity { + private static final long serialVersionUID = 109624548866238688L; + + private String projname; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private String sectname; + + private String photono; + + public UsectionlineEntity() { + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public String getSectname() { + return sectname; + } + + public void setSectname(String sectname) { + this.sectname = sectname; + } + + public String getPhotono() { + return photono; + } + + public void setPhotono(String photono) { + this.photono = photono; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/Uundergroundcavern3dattachEntity.java b/src/main/java/com/lf/server/entity/bs/Uundergroundcavern3dattachEntity.java new file mode 100644 index 0000000..ebc58f5 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/Uundergroundcavern3dattachEntity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Uundergroundcavern3dattach + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.u_undergroundcavern_3d_attach") +@EqualsAndHashCode(callSuper = false) +public class Uundergroundcavern3dattachEntity extends BaseEntity { + private static final long serialVersionUID = 921372577511413376L; + + private Long id; + + private String filename; + + private String fileguid; + + private String filesizes; + + private String path; + + private String tabguid; + + private String tab; + + private String modelid; + + private String belongsid; + + private String datastatus; + + private String remarks; + + public Uundergroundcavern3dattachEntity() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getFilename() { + return filename; + } + + public void setFilename(String filename) { + this.filename = filename; + } + + public String getFileguid() { + return fileguid; + } + + public void setFileguid(String fileguid) { + this.fileguid = fileguid; + } + + public String getFilesizes() { + return filesizes; + } + + public void setFilesizes(String filesizes) { + this.filesizes = filesizes; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getTabguid() { + return tabguid; + } + + public void setTabguid(String tabguid) { + this.tabguid = tabguid; + } + + public String getTab() { + return tab; + } + + public void setTab(String tab) { + this.tab = tab; + } + + public String getModelid() { + return modelid; + } + + public void setModelid(String modelid) { + this.modelid = modelid; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/src/main/java/com/lf/server/entity/bs/UundergroundhydrologicalmonitoringEntity.java b/src/main/java/com/lf/server/entity/bs/UundergroundhydrologicalmonitoringEntity.java new file mode 100644 index 0000000..8e661f2 --- /dev/null +++ b/src/main/java/com/lf/server/entity/bs/UundergroundhydrologicalmonitoringEntity.java @@ -0,0 +1,255 @@ +package com.lf.server.entity.bs; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Uundergroundhydrologicalmonitoring + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("bs.u_underground_hydrological_monitoring") +@EqualsAndHashCode(callSuper = false) +public class UundergroundhydrologicalmonitoringEntity extends BaseGeoEntity { + private static final long serialVersionUID = 921372577511413376L; + + private String monorg; + + private String meapname; + + private String meapdesc; + + private String comstatus; + + private String equstatus; + + private BigDecimal waterdepth; + + private String watercount; + + private String watertemp; + + private BigDecimal waterelev; + + private BigDecimal incomlen; + + private String nilometer; + + private BigDecimal mapelev; + + private BigDecimal atmos; + + private String projname; + + private BigDecimal x; + + private BigDecimal y; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private Timestamp obsdate; + + public UundergroundhydrologicalmonitoringEntity() { + } + + public String getMonorg() { + return monorg; + } + + public void setMonorg(String monorg) { + this.monorg = monorg; + } + + public String getMeapname() { + return meapname; + } + + public void setMeapname(String meapname) { + this.meapname = meapname; + } + + public String getMeapdesc() { + return meapdesc; + } + + public void setMeapdesc(String meapdesc) { + this.meapdesc = meapdesc; + } + + public String getComstatus() { + return comstatus; + } + + public void setComstatus(String comstatus) { + this.comstatus = comstatus; + } + + public String getEqustatus() { + return equstatus; + } + + public void setEqustatus(String equstatus) { + this.equstatus = equstatus; + } + + public BigDecimal getWaterdepth() { + return waterdepth; + } + + public void setWaterdepth(BigDecimal waterdepth) { + this.waterdepth = waterdepth; + } + + public String getWatercount() { + return watercount; + } + + public void setWatercount(String watercount) { + this.watercount = watercount; + } + + public String getWatertemp() { + return watertemp; + } + + public void setWatertemp(String watertemp) { + this.watertemp = watertemp; + } + + public BigDecimal getWaterelev() { + return waterelev; + } + + public void setWaterelev(BigDecimal waterelev) { + this.waterelev = waterelev; + } + + public BigDecimal getIncomlen() { + return incomlen; + } + + public void setIncomlen(BigDecimal incomlen) { + this.incomlen = incomlen; + } + + public String getNilometer() { + return nilometer; + } + + public void setNilometer(String nilometer) { + this.nilometer = nilometer; + } + + public BigDecimal getMapelev() { + return mapelev; + } + + public void setMapelev(BigDecimal mapelev) { + this.mapelev = mapelev; + } + + public BigDecimal getAtmos() { + return atmos; + } + + public void setAtmos(BigDecimal atmos) { + this.atmos = atmos; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public BigDecimal getX() { + return x; + } + + public void setX(BigDecimal x) { + this.x = x; + } + + public BigDecimal getY() { + return y; + } + + public void setY(BigDecimal y) { + this.y = y; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public Timestamp getObsdate() { + return obsdate; + } + + public void setObsdate(Timestamp obsdate) { + this.obsdate = obsdate; + } +} diff --git a/src/main/java/com/lf/server/entity/ctrl/CountEntity.java b/src/main/java/com/lf/server/entity/ctrl/CountEntity.java new file mode 100644 index 0000000..c84de19 --- /dev/null +++ b/src/main/java/com/lf/server/entity/ctrl/CountEntity.java @@ -0,0 +1,70 @@ +package com.lf.server.entity.ctrl; + +/** + * 缁熻瀹炰綋绫� + * @author WWW + */ +public class CountEntity { + private Integer no; + + private String m1; + + private String m2; + + private String m3; + + private Long count; + + private Double sizes; + + public CountEntity() { + } + + public Integer getNo() { + return no; + } + + public void setNo(Integer no) { + this.no = no; + } + + public String getM1() { + return m1; + } + + public void setM1(String m1) { + this.m1 = m1; + } + + public String getM2() { + return m2; + } + + public void setM2(String m2) { + this.m2 = m2; + } + + public String getM3() { + return m3; + } + + public void setM3(String m3) { + this.m3 = m3; + } + + public Long getCount() { + return count; + } + + public void setCount(Long count) { + this.count = count; + } + + public Double getSizes() { + return sizes; + } + + public void setSizes(Double sizes) { + this.sizes = sizes; + } +} diff --git a/src/main/java/com/lf/server/entity/ctrl/DownloadReqEntity.java b/src/main/java/com/lf/server/entity/ctrl/DownloadReqEntity.java new file mode 100644 index 0000000..547300b --- /dev/null +++ b/src/main/java/com/lf/server/entity/ctrl/DownloadReqEntity.java @@ -0,0 +1,137 @@ +package com.lf.server.entity.ctrl; + +import com.lf.server.entity.all.AbstractPwdEntity; + +import java.io.Serializable; +import java.util.List; + +/** + * 璇锋眰涓嬭浇瀹炰綋绫� + * @author WWW + */ +public class DownloadReqEntity extends AbstractPwdEntity implements Serializable { + private static final long serialVersionUID = -8624235184539814997L; + + private String guid; + + private List<String> guids; + + private List<Integer> ids; + + private String wkt; + + private List<String> entities; + + private String tab; + + private List<String> tabs; + + private String descr; + + private String filter; + + private List<String> depcodes; + + private String depcode; + + private String dirs; + + public DownloadReqEntity() { + } + + public String getGuid() { + return guid; + } + + public void setGuid(String guid) { + this.guid = guid; + } + + public List<String> getGuids() { + return guids; + } + + public void setGuids(List<String> guids) { + this.guids = guids; + } + + public List<Integer> getIds() { + return ids; + } + + public void setIds(List<Integer> ids) { + this.ids = ids; + } + + public String getWkt() { + return wkt; + } + + public void setWkt(String wkt) { + this.wkt = wkt; + } + + public String getTab() { + return tab; + } + + public void setTab(String tab) { + this.tab = tab; + } + + public List<String> getTabs() { + return tabs; + } + + public void setTabs(List<String> tabs) { + this.tabs = tabs; + } + + public List<String> getEntities() { + return entities; + } + + public void setEntities(List<String> entities) { + this.entities = entities; + } + + public String getDescr() { + return descr; + } + + public void setDescr(String descr) { + this.descr = descr; + } + + public String getFilter() { + return filter; + } + + public void setFilter(String filter) { + this.filter = filter; + } + + public List<String> getDepcodes() { + return depcodes; + } + + public void setDepcodes(List<String> depcodes) { + this.depcodes = depcodes; + } + + public String getDirs() { + return dirs; + } + + public void setDirs(String dirs) { + this.dirs = dirs; + } + + public String getDepcode() { + return depcode; + } + + public void setDepcode(String depcode) { + this.depcode = depcode; + } +} diff --git a/src/main/java/com/lf/server/entity/ctrl/DownloadTileEntity.java b/src/main/java/com/lf/server/entity/ctrl/DownloadTileEntity.java new file mode 100644 index 0000000..660c653 --- /dev/null +++ b/src/main/java/com/lf/server/entity/ctrl/DownloadTileEntity.java @@ -0,0 +1,105 @@ +package com.lf.server.entity.ctrl; + +import com.lf.server.entity.all.AbstractPwdEntity; +import com.lf.server.entity.all.StaticData; + +import java.io.Serializable; + +/** + * 涓嬭浇鐡︾墖瀹炰綋绫� + * @author WWW + */ +public class DownloadTileEntity extends AbstractPwdEntity implements Serializable { + private static final long serialVersionUID = -229710198271495902L; + + private Double xmin; + + private Double ymin; + + private Double xmax; + + private Double ymax; + + private Integer pubid; + + private String title; + + public DownloadTileEntity() { + } + + /** + * 楠岃瘉鍧愭爣 + */ + public String verifyCoords() { + if (null == xmin || null == ymin || null == xmax || null == ymax) { + return "鍥涜嚦鍧愭爣鍊间笉鑳戒负绌�"; + } + if (xmin < StaticData.I180_NEG || xmin > StaticData.I180 || xmax < StaticData.I180_NEG || xmax > StaticData.I180) { + return "X鍧愭爣鍊间笉姝g‘"; + } + if (ymin < StaticData.I90_NEG || ymin > StaticData.I90 || ymax < StaticData.I90_NEG || ymax > StaticData.I90) { + return "Y鍧愭爣鍊间笉姝g‘"; + } + + if (xmin > xmax) { + double x = xmax; + xmin = xmax; + xmax = x; + } + if (ymin > ymax) { + double y = ymax; + ymin = ymax; + ymax = y; + } + + return null; + } + + public Double getXmin() { + return xmin; + } + + public void setXmin(Double xmin) { + this.xmin = xmin; + } + + public Double getYmin() { + return ymin; + } + + public void setYmin(Double ymin) { + this.ymin = ymin; + } + + public Double getXmax() { + return xmax; + } + + public void setXmax(Double xmax) { + this.xmax = xmax; + } + + public Double getYmax() { + return ymax; + } + + public void setYmax(Double ymax) { + this.ymax = ymax; + } + + public Integer getPubid() { + return pubid; + } + + public void setPubid(Integer pubid) { + this.pubid = pubid; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } +} diff --git a/src/main/java/com/lf/server/entity/ctrl/FileInfoEntity.java b/src/main/java/com/lf/server/entity/ctrl/FileInfoEntity.java new file mode 100644 index 0000000..99cd5c2 --- /dev/null +++ b/src/main/java/com/lf/server/entity/ctrl/FileInfoEntity.java @@ -0,0 +1,58 @@ +package com.lf.server.entity.ctrl; + +import java.io.Serializable; + +/** + * 鏂囦欢淇℃伅 + * @author WWW + */ +public class FileInfoEntity implements Serializable { + private static final long serialVersionUID = -674723262772248619L; + + private String fileName; + + private Long size; + + private String md5; + + private String path; + + public FileInfoEntity() { + } + + public FileInfoEntity(String fileName) { + this.fileName = fileName; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public Long getSize() { + return size; + } + + public void setSize(Long size) { + this.size = size; + } + + public String getMd5() { + return md5; + } + + public void setMd5(String md5) { + this.md5 = md5; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } +} diff --git a/src/main/java/com/lf/server/entity/ctrl/FmeReqEntity.java b/src/main/java/com/lf/server/entity/ctrl/FmeReqEntity.java new file mode 100644 index 0000000..26d83a3 --- /dev/null +++ b/src/main/java/com/lf/server/entity/ctrl/FmeReqEntity.java @@ -0,0 +1,100 @@ +package com.lf.server.entity.ctrl; + +/** + * FME璇锋眰瀹炰綋绫� + * @author WWW + */ +public class FmeReqEntity { + public FmeReqEntity() { + } + + /** + * 浠诲姟鍚嶇О + */ + public String names; + + /** + * 椤圭洰鍚嶇О + */ + public String xmmc; + + /** + * 鏁版嵁涓撲笟锛氭祴閲忎笓涓� | 鍕樺療涓撲笟 | 鍦扮伨涓撲笟 | 娲炲簱涓撲笟 | 绾胯矾涓撲笟 + */ + public String sjzy; + + /** + * 鏁版嵁鍒嗙被锛氭暟瀛楀寲鎴愭灉 | 鏁版嵁搴撴垚鏋� | 鍕樺療淇℃伅琛� | 琛ㄦ牸鎴愭灉 + */ + public String sjfl; + + /** + * 寰呮鍘嬬缉鍖� + */ + public String zipPath; + + /** + * WBS琛ㄦ牸 + */ + public String wbsPath; + + /** + * 鏄�/鍚︿负鍦扮伨鏁版嵁锛歒ES | NO + */ + public String isDiZai; + + /** + * 鍦扮伨鏁版嵁绫诲瀷锛氾紙宕╁娌荤悊 | 涓嶇ǔ瀹氭枩鍧℃不鐞� | 鍦伴潰濉岄櫡娌荤悊 | 楂橀櫋杈瑰潯娌荤悊 | 娉ョ煶娴佹不鐞� | 姘存瘉娌荤悊 | 婊戝潯娌荤悊锛� | NO + */ + public String diZaiType; + + /** + * 鍧愭爣绯伙細EPSG:4326 + */ + public String coordinateSystem; + + /** + * 褰卞儚鍒嗚鲸鐜囷紙榛樿0.2m锛� + */ + public double imgResolution = 0.2; + + /** + * 闈�/绾�/鐐归噸鍙犲宸� + */ + public double tolerance = 0.001; + + /** + * 楂樼▼鐐归棿璺濅笂闄� + */ + public double gcdOffset = 20; + + /** + * 鎺у埗鐐归棿璺濅笂闄� + */ + public double kzdOffset = 100; + + /** + * 娴嬪尯鑼冨洿锛堢背锛� + */ + public double rangeOffset = 200; + + /** + * 鎮寕绾挎渶澶ц窛绂� + */ + public double xgMax = 0.005; + + /** + * 楂樼▼涓宸紙m锛� + */ + public double demTolerance = 5; + + /** + * 楂樼▼鍊肩獊鍙樼巼(榛樿鍊�200) + */ + public double demChangeRate = 200; + + /** + * 鐐逛簯瀵嗗害锛堥粯璁�1/m3锛� + */ + public double lazDensity = 1; +} diff --git a/src/main/java/com/lf/server/entity/ctrl/IdNameEntity.java b/src/main/java/com/lf/server/entity/ctrl/IdNameEntity.java new file mode 100644 index 0000000..1c1ac0e --- /dev/null +++ b/src/main/java/com/lf/server/entity/ctrl/IdNameEntity.java @@ -0,0 +1,34 @@ +package com.lf.server.entity.ctrl; + +import java.io.Serializable; + +/** + * ID-鍚嶇О瀹炰綋绫� + * @author WWW + */ +public class IdNameEntity implements Serializable { + private static final long serialVersionUID = -8485687857643406110L; + + private Integer id; + + private String name; + + public IdNameEntity() { + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/src/main/java/com/lf/server/entity/ctrl/KeyValueEntity.java b/src/main/java/com/lf/server/entity/ctrl/KeyValueEntity.java new file mode 100644 index 0000000..432a1da --- /dev/null +++ b/src/main/java/com/lf/server/entity/ctrl/KeyValueEntity.java @@ -0,0 +1,35 @@ +package com.lf.server.entity.ctrl; + +/** + * 閿�煎瀹炰綋绫� + * @author WWW + */ +public class KeyValueEntity { + private String key; + + private String value; + + public KeyValueEntity() { + } + + public KeyValueEntity(String key, String value) { + this.key = key; + this.value = value; + } + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} diff --git a/src/main/java/com/lf/server/entity/ctrl/MarkJsonEntity.java b/src/main/java/com/lf/server/entity/ctrl/MarkJsonEntity.java new file mode 100644 index 0000000..65173d9 --- /dev/null +++ b/src/main/java/com/lf/server/entity/ctrl/MarkJsonEntity.java @@ -0,0 +1,88 @@ +package com.lf.server.entity.ctrl; + +import java.io.Serializable; + +/** + * 鏍囩粯JSON瀹炰綋绫� + * @author WWW + */ +public class MarkJsonEntity implements Serializable { + private static final long serialVersionUID = 7776629022021914001L; + + private Integer id; + + private String name; + + private String type; + + private String fillColor; + + private Double opacity; + + private String bak; + + private String wkt; + + public MarkJsonEntity() { + } + + public MarkJsonEntity(Integer id) { + this.id = id; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getFillColor() { + return fillColor; + } + + public void setFillColor(String fillColor) { + this.fillColor = fillColor; + } + + public Double getOpacity() { + return opacity; + } + + public void setOpacity(Double opacity) { + this.opacity = opacity; + } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } + + public String getWkt() { + return wkt; + } + + public void setWkt(String wkt) { + this.wkt = wkt; + } +} diff --git a/src/main/java/com/lf/server/entity/ctrl/NameValueEntity.java b/src/main/java/com/lf/server/entity/ctrl/NameValueEntity.java new file mode 100644 index 0000000..ad07cda --- /dev/null +++ b/src/main/java/com/lf/server/entity/ctrl/NameValueEntity.java @@ -0,0 +1,35 @@ +package com.lf.server.entity.ctrl; + +/** + * 鍚嶇О鍊煎瀹炰綋绫� + * @author WWW + */ +public class NameValueEntity { + private String name; + + private Object value; + + public NameValueEntity() { + } + + public NameValueEntity(String name, Object value) { + this.name = name; + this.value = value; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Object getValue() { + return value; + } + + public void setValue(Object value) { + this.value = value; + } +} diff --git a/src/main/java/com/lf/server/entity/ctrl/PubEntity.java b/src/main/java/com/lf/server/entity/ctrl/PubEntity.java new file mode 100644 index 0000000..0ab3c87 --- /dev/null +++ b/src/main/java/com/lf/server/entity/ctrl/PubEntity.java @@ -0,0 +1,114 @@ +package com.lf.server.entity.ctrl; + +import io.swagger.models.auth.In; + +import java.util.List; + +/** + * 鍙戝竷瀹炰綋绫� + * @author WWW + */ +public class PubEntity { + public PubEntity() { + } + + private String type; + + private String token; + + private String name; + + private Integer userId; + + private Integer min; + + private Integer max; + + private Integer noData; + + private String dircode; + + private String depcode; + + private List<String> ids; + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getToken() { + return token; + } + + public void setToken(String token) { + this.token = token; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getUserId() { + return userId; + } + + public void setUserId(Integer userId) { + this.userId = userId; + } + + public Integer getMin() { + return min; + } + + public void setMin(Integer min) { + this.min = min; + } + + public Integer getMax() { + return max; + } + + public void setMax(Integer max) { + this.max = max; + } + + public Integer getNoData() { + return noData; + } + + public void setNoData(Integer noData) { + this.noData = noData; + } + + public String getDircode() { + return dircode; + } + + public void setDircode(String dircode) { + this.dircode = dircode; + } + + public String getDepcode() { + return depcode; + } + + public void setDepcode(String depcode) { + this.depcode = depcode; + } + + public List<String> getIds() { + return ids; + } + + public void setIds(List<String> ids) { + this.ids = ids; + } +} diff --git a/src/main/java/com/lf/server/entity/ctrl/RegisterEntity.java b/src/main/java/com/lf/server/entity/ctrl/RegisterEntity.java new file mode 100644 index 0000000..3b3a483 --- /dev/null +++ b/src/main/java/com/lf/server/entity/ctrl/RegisterEntity.java @@ -0,0 +1,144 @@ +package com.lf.server.entity.ctrl; + +import com.lf.server.helper.StringHelper; + +import java.util.ArrayList; +import java.util.List; + +/** + * 娉ㄥ唽绫� + * @author WWW + */ +public class RegisterEntity { + public RegisterEntity() { + } + + public RegisterEntity(String name, String uri, String type) { + tags = new ArrayList<>(); + tags.add(type); + + this.name = name; + this.address = uri; + this.detailUrl = uri; + this.type = type; + this.description = name; + this.isrequest = true; + this.hashid = StringHelper.getGuid(); + this.ispublic = false; + } + + public RegisterEntity(Integer pubid) { + this.reason = "娉ㄥ唽"; + this.serialnum = pubid.toString(); + } + + private List<String> tags; + + private String name; + + private String address; + + private String detailUrl; + + private String type; + + private String description; + + private Boolean isrequest; + + private String hashid; + + private String reason; + + private String serialnum; + + private Boolean ispublic; + + public List<String> getTags() { + return tags; + } + + public void setTags(List<String> tags) { + this.tags = tags; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getDetailUrl() { + return detailUrl; + } + + public void setDetailUrl(String detailUrl) { + this.detailUrl = detailUrl; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Boolean getIsrequest() { + return isrequest; + } + + public void setIsrequest(Boolean isrequest) { + this.isrequest = isrequest; + } + + public String getHashid() { + return hashid; + } + + public void setHashid(String hashid) { + this.hashid = hashid; + } + + public String getReason() { + return reason; + } + + public void setReason(String reason) { + this.reason = reason; + } + + public String getSerialnum() { + return serialnum; + } + + public void setSerialnum(String serialnum) { + this.serialnum = serialnum; + } + + public Boolean getIspublic() { + return ispublic; + } + + public void setIspublic(Boolean ispublic) { + this.ispublic = ispublic; + } +} diff --git a/src/main/java/com/lf/server/entity/ctrl/SdkDecryptDataEntity.java b/src/main/java/com/lf/server/entity/ctrl/SdkDecryptDataEntity.java new file mode 100644 index 0000000..a2fe4ab --- /dev/null +++ b/src/main/java/com/lf/server/entity/ctrl/SdkDecryptDataEntity.java @@ -0,0 +1,82 @@ +package com.lf.server.entity.ctrl; + +import com.alibaba.fastjson.annotation.JSONField; +import com.lf.server.entity.all.StaticData; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +/** + * SDK瑙e瘑鏁版嵁绫� + * @author WWW + */ +public class SdkDecryptDataEntity implements Serializable { + private static final long serialVersionUID = 4119527512820258035L; + + private static List<Integer> registeredModules = new ArrayList<>(); + + static { + for (int i = 1; i <= StaticData.ONE_HUNDRED; i++) { + registeredModules.add(i); + } + } + + public SdkDecryptDataEntity() { + machineId = "e7dd8a96913fb5fe62df6b5a7fd503f4"; + // registeredModules = new int[] { 1, 3, 9, 12, 13, 17, 25, 30, 33, 37 } + message = "OK"; + success = true; + + Calendar calendar = Calendar.getInstance(); + calendar.set(2050, 12, 31); + expireDate = calendar.getTime(); + } + + private String machineId; + + private String message; + + private boolean success; + + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private Date expireDate; + + public String getMachineId() { + return machineId; + } + + public void setMachineId(String machineId) { + this.machineId = machineId; + } + + public List<Integer> getRegisteredModules() { + return registeredModules; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public Date getExpireDate() { + return expireDate; + } + + public void setExpireDate(Date expireDate) { + this.expireDate = expireDate; + } +} diff --git a/src/main/java/com/lf/server/entity/ctrl/SdkDecryptEntity.java b/src/main/java/com/lf/server/entity/ctrl/SdkDecryptEntity.java new file mode 100644 index 0000000..02b2b00 --- /dev/null +++ b/src/main/java/com/lf/server/entity/ctrl/SdkDecryptEntity.java @@ -0,0 +1,48 @@ +package com.lf.server.entity.ctrl; + +import java.io.Serializable; + +/** + * SDK瑙e瘑绫� + * @author WWW + */ +public class SdkDecryptEntity implements Serializable { + private static final long serialVersionUID = 853291437502721609L; + + private int code; + + private String msg; + + private SdkDecryptDataEntity data; + + public SdkDecryptEntity() { + code = 200; + msg = null; + data = new SdkDecryptDataEntity(); + } + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public SdkDecryptDataEntity getData() { + return data; + } + + public void setData(SdkDecryptDataEntity data) { + this.data = data; + } +} + diff --git a/src/main/java/com/lf/server/entity/ctrl/SdkSecretEntity.java b/src/main/java/com/lf/server/entity/ctrl/SdkSecretEntity.java new file mode 100644 index 0000000..e303833 --- /dev/null +++ b/src/main/java/com/lf/server/entity/ctrl/SdkSecretEntity.java @@ -0,0 +1,43 @@ +package com.lf.server.entity.ctrl; + +/** + * SDK鍔犲瘑绫� + * @author WWW + */ +public class SdkSecretEntity { + private int code; + + private String msg; + + private String data; + + public SdkSecretEntity() { + code = 200; + msg = null; + data = "1052f106aed368e0c29b4eec89e03a91e352059a24624d0b4fab38e57943a47a0c81e9c843d9e3b11eaed1e7853b09ad7c603d4f854f0351fa9397fe4a06e0c161ca142d0665289510535743fd11e3c47e5648a031d1240536de3640ef94808fec77d15bfea9e6f3faca2f19d15f89b1fcfe23fa7b2b4f433ba22a7484992f63766cb68a81120288e1638a16b126139833b6f1c35876932a4d730ef68fbfecc4"; + } + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public String getData() { + return data; + } + + public void setData(String data) { + this.data = data; + } +} diff --git a/src/main/java/com/lf/server/entity/ctrl/ShpRecordEntity.java b/src/main/java/com/lf/server/entity/ctrl/ShpRecordEntity.java new file mode 100644 index 0000000..13c1863 --- /dev/null +++ b/src/main/java/com/lf/server/entity/ctrl/ShpRecordEntity.java @@ -0,0 +1,40 @@ +package com.lf.server.entity.ctrl; + +import java.io.Serializable; + +/** + * Shp璁板綍 + * @author WWW + */ +public class ShpRecordEntity implements Serializable { + private static final long serialVersionUID = -1366388818651675941L; + + private String wkt; + + private String csid; + + public ShpRecordEntity() { + + } + + public ShpRecordEntity(String wkt, String csid) { + this.wkt = wkt; + this.csid = csid; + } + + public String getWkt() { + return wkt; + } + + public void setWkt(String wkt) { + this.wkt = wkt; + } + + public String getCsid() { + return csid; + } + + public void setCsid(String csid) { + this.csid = csid; + } +} diff --git a/src/main/java/com/lf/server/entity/ctrl/TabEntity.java b/src/main/java/com/lf/server/entity/ctrl/TabEntity.java new file mode 100644 index 0000000..b7f39f3 --- /dev/null +++ b/src/main/java/com/lf/server/entity/ctrl/TabEntity.java @@ -0,0 +1,84 @@ +package com.lf.server.entity.ctrl; + +import java.io.Serializable; + +/** + * 琛ㄥ疄浣撶被 + * @author WWW + */ +public class TabEntity implements Serializable { + private static final long serialVersionUID = 2786394526795387464L; + + private String ns; + + private String tab; + + private String entity; + + private String tabDesc; + + private String tableType; + + private Integer rows; + + private String bak; + + public TabEntity() { + } + + public String getNs() { + return ns; + } + + public void setNs(String ns) { + this.ns = ns; + } + + public String getTab() { + return tab; + } + + public void setTab(String tab) { + this.tab = tab; + } + + public String getEntity() { + return entity; + } + + public void setEntity(String entity) { + this.entity = entity; + } + + public String getTabDesc() { + return tabDesc; + } + + public void setTabDesc(String tabDesc) { + this.tabDesc = tabDesc; + } + + public String getTableType() { + return tableType; + } + + public void setTableType(String tableType) { + this.tableType = tableType; + } + + public Integer getRows() { + return rows; + } + + public void setRows(Integer rows) { + this.rows = rows; + } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } +} diff --git a/src/main/java/com/lf/server/entity/ctrl/TabMapperEntity.java b/src/main/java/com/lf/server/entity/ctrl/TabMapperEntity.java new file mode 100644 index 0000000..a91a8e8 --- /dev/null +++ b/src/main/java/com/lf/server/entity/ctrl/TabMapperEntity.java @@ -0,0 +1,40 @@ +package com.lf.server.entity.ctrl; + +/** + * 琛ㄦ槧灏勫疄浣撶被 + * @author WWW + */ +public class TabMapperEntity { + public TabMapperEntity() { + } + + public TabMapperEntity(String fileName, String type, String tab, String subPath) { + this.fileName = fileName; + this.type = type; + this.tab = tab; + this.subPath = subPath; + } + + private String eventid; + + private int dirid; + + private int depid; + + private int verid; + + private String fileName; + + private String extName; + + private String type; + + private String subPath; + + private String tab; + + private String entity; + + private Integer rows; + +} diff --git a/src/main/java/com/lf/server/entity/ctrl/UserUpdateEntity.java b/src/main/java/com/lf/server/entity/ctrl/UserUpdateEntity.java new file mode 100644 index 0000000..01b5b35 --- /dev/null +++ b/src/main/java/com/lf/server/entity/ctrl/UserUpdateEntity.java @@ -0,0 +1,46 @@ +package com.lf.server.entity.ctrl; + +import java.io.Serializable; +import java.util.List; + +/** + * 鐢ㄦ埛鏇存柊绫� + * @author WWW + */ +public class UserUpdateEntity implements Serializable { + private static final long serialVersionUID = 8390219588267518254L; + + private String adminPwd; + + private String newPwd; + + private List<Integer> ids; + + public UserUpdateEntity() { + + } + + public String getAdminPwd() { + return adminPwd; + } + + public void setAdminPwd(String adminPwd) { + this.adminPwd = adminPwd; + } + + public String getNewPwd() { + return newPwd; + } + + public void setNewPwd(String newPwd) { + this.newPwd = newPwd; + } + + public List<Integer> getIds() { + return ids; + } + + public void setIds(List<Integer> ids) { + this.ids = ids; + } +} diff --git a/src/main/java/com/lf/server/entity/data/CoordEntity.java b/src/main/java/com/lf/server/entity/data/CoordEntity.java new file mode 100644 index 0000000..3f32ef0 --- /dev/null +++ b/src/main/java/com/lf/server/entity/data/CoordEntity.java @@ -0,0 +1,51 @@ +package com.lf.server.entity.data; + +import java.io.Serializable; + +/** + * 鍧愭爣绯� + * @author WWW + */ +public class CoordEntity implements Serializable { + private static final long serialVersionUID = 5660360983928368364L; + + private Integer id; + + private String epsgcode; + + private String coordinate; + + private String zoning; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getEpsgcode() { + return epsgcode; + } + + public void setEpsgcode(String epsgcode) { + this.epsgcode = epsgcode; + } + + public String getCoordinate() { + return coordinate; + } + + public void setCoordinate(String coordinate) { + this.coordinate = coordinate; + } + + public String getZoning() { + return zoning; + } + + public void setZoning(String zoning) { + this.zoning = zoning; + } +} diff --git a/src/main/java/com/lf/server/entity/data/DictEntity.java b/src/main/java/com/lf/server/entity/data/DictEntity.java new file mode 100644 index 0000000..29ccad6 --- /dev/null +++ b/src/main/java/com/lf/server/entity/data/DictEntity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 瀛楀吀绠$悊 + * @author WWW + */ +public class DictEntity implements Serializable { + private static final long serialVersionUID = -343890141066128689L; + + private int id; + + private String ns; + + private String tab; + + private String tabDesc; + + private String field; + + private String alias; + + private String type; + + private int len; + + private int precision; + + private int orderNum; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String tabletype; + + private String unit; + + private String domainNa; + + private int showtype; + + private int editable; + + private String bak; + + private String createName; + + private String updateName; + + public DictEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getNs() { + return ns; + } + + public void setNs(String ns) { + this.ns = ns; + } + + public String getTab() { + return tab; + } + + public void setTab(String tab) { + this.tab = tab; + } + + public String getTabDesc() { + return tabDesc; + } + + public void setTabDesc(String tabDesc) { + this.tabDesc = tabDesc; + } + + public String getField() { + return field; + } + + public void setField(String field) { + this.field = field; + } + + public String getAlias() { + return alias; + } + + public void setAlias(String alias) { + this.alias = alias; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getLen() { + return len; + } + + public void setLen(int len) { + this.len = len; + } + + public int getPrecision() { + return precision; + } + + public void setPrecision(int precision) { + this.precision = precision; + } + + public int getOrderNum() { + return orderNum; + } + + public void setOrderNum(int orderNum) { + this.orderNum = orderNum; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getTabletype() { + return tabletype; + } + + public void setTabletype(String tabletype) { + this.tabletype = tabletype; + } + + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } + + public String getDomainNa() { + return domainNa; + } + + public void setDomainNa(String domainNa) { + this.domainNa = domainNa; + } + + public int getShowtype() { + return showtype; + } + + public void setShowtype(int showtype) { + this.showtype = showtype; + } + + public int getEditable() { + return editable; + } + + public void setEditable(int editable) { + this.editable = editable; + } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } + + public String getCreateName() { + return createName; + } + + public void setCreateName(String createName) { + this.createName = createName; + } + + public String getUpdateName() { + return updateName; + } + + public void setUpdateName(String updateName) { + this.updateName = updateName; + } +} diff --git a/src/main/java/com/lf/server/entity/data/DirEntity.java b/src/main/java/com/lf/server/entity/data/DirEntity.java new file mode 100644 index 0000000..dae9fb7 --- /dev/null +++ b/src/main/java/com/lf/server/entity/data/DirEntity.java @@ -0,0 +1,170 @@ +package com.lf.server.entity.data; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鐩綍 + * @author WWW + */ +@Data +@AllArgsConstructor +public class DirEntity implements Serializable { + private static final long serialVersionUID = -2184993363389504088L; + + private int id; + + private int pid; + + private String name; + + private String exts; + + private String descr; + + private int level; + + private int orderNum; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String checks; + + private String bak; + + private String code; + + private String fullName; + + public DirEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getPid() { + return pid; + } + + public void setPid(int pid) { + this.pid = pid; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getExts() { + return exts; + } + + public void setExts(String exts) { + this.exts = exts; + } + + public String getDescr() { + return descr; + } + + public void setDescr(String descr) { + this.descr = descr; + } + + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } + + public int getOrderNum() { + return orderNum; + } + + public void setOrderNum(int orderNum) { + this.orderNum = orderNum; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getChecks() { + return checks; + } + + public void setChecks(String checks) { + this.checks = checks; + } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getFullName() { + return fullName; + } + + public void setFullName(String fullName) { + this.fullName = fullName; + } +} diff --git a/src/main/java/com/lf/server/entity/data/DomainEntity.java b/src/main/java/com/lf/server/entity/data/DomainEntity.java new file mode 100644 index 0000000..a1aa594 --- /dev/null +++ b/src/main/java/com/lf/server/entity/data/DomainEntity.java @@ -0,0 +1,145 @@ +package com.lf.server.entity.data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鍊煎煙 + * @author WWW + */ +public class DomainEntity implements Serializable { + private static final long serialVersionUID = -334732819504445760L; + + private int id; + + private String domDesc; + + private String domName; + + private String domCode; + + private String codeDesc; + + private int level; + + private int orderid; + + private String bsm; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String bak; + + public DomainEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getDomDesc() { + return domDesc; + } + + public void setDomDesc(String domDesc) { + this.domDesc = domDesc; + } + + public String getDomName() { + return domName; + } + + public void setDomName(String domName) { + this.domName = domName; + } + + public String getDomCode() { + return domCode; + } + + public void setDomCode(String domCode) { + this.domCode = domCode; + } + + public String getCodeDesc() { + return codeDesc; + } + + public void setCodeDesc(String codeDesc) { + this.codeDesc = codeDesc; + } + + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } + + public int getOrderid() { + return orderid; + } + + public void setOrderid(int orderid) { + this.orderid = orderid; + } + + public String getBsm() { + return bsm; + } + + public void setBsm(String bsm) { + this.bsm = bsm; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } +} diff --git a/src/main/java/com/lf/server/entity/data/DownloadEntity.java b/src/main/java/com/lf/server/entity/data/DownloadEntity.java new file mode 100644 index 0000000..eb14014 --- /dev/null +++ b/src/main/java/com/lf/server/entity/data/DownloadEntity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 涓嬭浇璁板綍 + * @author WWW + */ +public class DownloadEntity implements Serializable { + private static final long serialVersionUID = -767416271272774912L; + + private int id; + + private String name; + + private int type; + + private double sizes; + + private int depid; + + private int dcount; + + private String pwd; + + private String url; + + private String descr; + + private String guid; + + private int createUser; + + private Timestamp createTime; + + private int downloadUser; + + private Timestamp downloadTime; + + private String geom; + + private String bak; + + private String createName; + + public DownloadEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } + + public double getSizes() { + return sizes; + } + + public void setSizes(double sizes) { + this.sizes = sizes; + } + + public int getDepid() { + return depid; + } + + public void setDepid(int depid) { + this.depid = depid; + } + + public int getDcount() { + return dcount; + } + + public void setDcount(int dcount) { + this.dcount = dcount; + } + + public String getPwd() { + return pwd; + } + + public void setPwd(String pwd) { + this.pwd = pwd; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getDescr() { + return descr; + } + + public void setDescr(String descr) { + this.descr = descr; + } + + public String getGuid() { + return guid; + } + + public void setGuid(String guid) { + this.guid = guid; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getDownloadUser() { + return downloadUser; + } + + public void setDownloadUser(int downloadUser) { + this.downloadUser = downloadUser; + } + + public Timestamp getDownloadTime() { + return downloadTime; + } + + public void setDownloadTime(Timestamp downloadTime) { + this.downloadTime = downloadTime; + } + + public String getGeom() { + return geom; + } + + public void setGeom(String geo) { + this.geom = geo; + } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } + + public String getCreateName() { + return createName; + } + + public void setCreateName(String createName) { + this.createName = createName; + } +} diff --git a/src/main/java/com/lf/server/entity/data/FmeLogEntity.java b/src/main/java/com/lf/server/entity/data/FmeLogEntity.java new file mode 100644 index 0000000..5d87ed0 --- /dev/null +++ b/src/main/java/com/lf/server/entity/data/FmeLogEntity.java @@ -0,0 +1,105 @@ +package com.lf.server.entity.data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * FME鏃ュ織琛� + * @author WWW + */ +public class FmeLogEntity implements Serializable { + private static final long serialVersionUID = -1304153743551710249L; + + public FmeLogEntity() { + } + + private Integer id; + + private String parentid; + + private String dirpath; + + private String pgNs; + + private String tcmc; + + private String tcdm; + + private Integer count; + + private Timestamp createTime; + + private Timestamp updateTime; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getParentid() { + return parentid; + } + + public void setParentid(String parentid) { + this.parentid = parentid; + } + + public String getDirpath() { + return dirpath; + } + + public void setDirpath(String dirpath) { + this.dirpath = dirpath; + } + + public String getPgNs() { + return pgNs; + } + + public void setPgNs(String pgNs) { + this.pgNs = pgNs; + } + + public String getTcmc() { + return tcmc; + } + + public void setTcmc(String tcmc) { + this.tcmc = tcmc; + } + + public String getTcdm() { + return tcdm; + } + + public void setTcdm(String tcdm) { + this.tcdm = tcdm; + } + + public Integer getCount() { + return count; + } + + public void setCount(Integer count) { + this.count = count; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } +} diff --git a/src/main/java/com/lf/server/entity/data/LayerEntity.java b/src/main/java/com/lf/server/entity/data/LayerEntity.java new file mode 100644 index 0000000..0f3bbbd --- /dev/null +++ b/src/main/java/com/lf/server/entity/data/LayerEntity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鍥惧眰 + * @author WWW + */ +public class LayerEntity implements Serializable { + private static final long serialVersionUID = -159911666139919168L; + + private int id; + + private int pid; + + private String cnName; + + private String enName; + + private String url; + + private String testUrl; + + private int type; + + private String icon; + + private int level; + + private int orderNum; + + private int isShow; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String bak; + + private String serveType; + + private String dataType; + + private double elev; + + private String ns; + + private Integer pubid; + + private Integer isProject; + + public LayerEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getPid() { + return pid; + } + + public void setPid(int pid) { + this.pid = pid; + } + + public String getCnName() { + return cnName; + } + + public void setCnName(String cnName) { + this.cnName = cnName; + } + + public String getEnName() { + return enName; + } + + public void setEnName(String enName) { + this.enName = enName; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getTestUrl() { + return testUrl; + } + + public void setTestUrl(String testUrl) { + this.testUrl = testUrl; + } + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } + + public String getIcon() { + return icon; + } + + public void setIcon(String icon) { + this.icon = icon; + } + + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } + + public int getOrderNum() { + return orderNum; + } + + public void setOrderNum(int orderNum) { + this.orderNum = orderNum; + } + + public int getIsShow() { + return isShow; + } + + public void setIsShow(int isShow) { + this.isShow = isShow; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } + + public String getServeType() { + return serveType; + } + + public void setServeType(String serveType) { + this.serveType = serveType; + } + + public String getDataType() { + return dataType; + } + + public void setDataType(String dataType) { + this.dataType = dataType; + } + + public double getElev() { + return elev; + } + + public void setElev(double elev) { + this.elev = elev; + } + + public String getNs() { + return ns; + } + + public void setNs(String ns) { + this.ns = ns; + } + + public Integer getPubid() { + return pubid; + } + + public void setPubid(Integer pubid) { + this.pubid = pubid; + } + + public Integer getIsProject() { + return isProject; + } + + public void setIsProject(Integer isProject) { + this.isProject = isProject; + } +} diff --git a/src/main/java/com/lf/server/entity/data/MetaEntity.java b/src/main/java/com/lf/server/entity/data/MetaEntity.java new file mode 100644 index 0000000..1515fd2 --- /dev/null +++ b/src/main/java/com/lf/server/entity/data/MetaEntity.java @@ -0,0 +1,305 @@ +package com.lf.server.entity.data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鍏冩暟鎹� + * @author WWW + */ +public class MetaEntity implements Serializable { + private static final long serialVersionUID = -984838663593325184L; + + private int id; + + private String eventid; + + private int metaid; + + private short ismeta; + + private String dircode; + + private String depcode; + + private int verid; + + private String name; + + private String type; + + private String guid; + + private String path; + + private double sizes; + + private String tab; + + private String layer; + + private int rows; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String bak; + + private String geom; + + private String uname; + + private String depName; + + private String verName; + + private String dirName; + + private Integer downCount; + + private String lastUser; + + private Timestamp lastTime; + + private String url; + + public MetaEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getEventid() { + return eventid; + } + + public void setEventid(String eventid) { + this.eventid = eventid; + } + + public int getMetaid() { + return metaid; + } + + public void setMetaid(int metaid) { + this.metaid = metaid; + } + + public short getIsmeta() { + return ismeta; + } + + public void setIsmeta(short ismeta) { + this.ismeta = ismeta; + } + + public String getDircode() { + return dircode; + } + + public void setDircode(String dircode) { + this.dircode = dircode; + } + + public String getDepcode() { + return depcode; + } + + public void setDepcode(String depcode) { + this.depcode = depcode; + } + + public int getVerid() { + return verid; + } + + public void setVerid(int verid) { + this.verid = verid; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getGuid() { + return guid; + } + + public void setGuid(String guid) { + this.guid = guid; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public double getSizes() { + return sizes; + } + + public void setSizes(double sizes) { + this.sizes = sizes; + } + + public String getTab() { + return tab; + } + + public void setTab(String tab) { + this.tab = tab; + } + + public String getLayer() { + return layer; + } + + public void setLayer(String layer) { + this.layer = layer; + } + + public int getRows() { + return rows; + } + + public void setRows(int rows) { + this.rows = rows; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } + + public String getGeom() { + return geom; + } + + public void setGeom(String geom) { + this.geom = geom; + } + + public String getUname() { + return uname; + } + + public void setUname(String uname) { + this.uname = uname; + } + + public String getDepName() { + return depName; + } + + public void setDepName(String depName) { + this.depName = depName; + } + + public String getVerName() { + return verName; + } + + public void setVerName(String verName) { + this.verName = verName; + } + + public String getDirName() { + return dirName; + } + + public void setDirName(String dirName) { + this.dirName = dirName; + } + + public Integer getDownCount() { + return downCount; + } + + public void setDownCount(Integer downCount) { + this.downCount = downCount; + } + + public String getLastUser() { + return lastUser; + } + + public void setLastUser(String lastUser) { + this.lastUser = lastUser; + } + + public Timestamp getLastTime() { + return lastTime; + } + + public void setLastTime(Timestamp lastTime) { + this.lastTime = lastTime; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } +} diff --git a/src/main/java/com/lf/server/entity/data/MetaFileEntity.java b/src/main/java/com/lf/server/entity/data/MetaFileEntity.java new file mode 100644 index 0000000..f01b35f --- /dev/null +++ b/src/main/java/com/lf/server/entity/data/MetaFileEntity.java @@ -0,0 +1,202 @@ +package com.lf.server.entity.data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鍏冩暟鎹枃浠� + * @author WWW + */ +public class MetaFileEntity implements Serializable { + private static final long serialVersionUID = -3688958480700165163L; + + private String eventid; + + private String dircode; + + private String depcode; + + private int verid; + + private String name; + + private String type; + + private String guid; + + private String path; + + private double sizes; + + private int createUser; + + private Timestamp createTime; + + private String extName; + + private String epsgCode; + + private String tab; + + private String entity; + + private int rows; + + private String msg; + + private Boolean isMeta; + + private String xlsPath; + + public String getEventid() { + return eventid; + } + + public void setEventid(String eventid) { + this.eventid = eventid; + } + + public String getDircode() { + return dircode; + } + + public void setDircode(String dircode) { + this.dircode = dircode; + } + + public String getDepcode() { + return depcode; + } + + public void setDepcode(String depcode) { + this.depcode = depcode; + } + + public int getVerid() { + return verid; + } + + public void setVerid(int verid) { + this.verid = verid; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getGuid() { + return guid; + } + + public void setGuid(String guid) { + this.guid = guid; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public double getSizes() { + return sizes; + } + + public void setSizes(double sizes) { + this.sizes = sizes; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public String getExtName() { + return extName; + } + + public void setExtName(String extName) { + this.extName = extName; + } + + public String getEpsgCode() { + return epsgCode; + } + + public void setEpsgCode(String epsgCode) { + this.epsgCode = epsgCode; + } + + public String getTab() { + return tab; + } + + public void setTab(String tab) { + this.tab = tab; + } + + public String getEntity() { + return entity; + } + + public void setEntity(String entity) { + this.entity = entity; + } + + public int getRows() { + return rows; + } + + public void setRows(int rows) { + this.rows = rows; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public Boolean getIsMeta() { + return isMeta; + } + + public void setIsMeta(Boolean isMeta) { + this.isMeta = isMeta; + } + + public String getXlsPath() { + return xlsPath; + } + + public void setXlsPath(String xlsPath) { + this.xlsPath = xlsPath; + } +} diff --git a/src/main/java/com/lf/server/entity/data/PublishEntity.java b/src/main/java/com/lf/server/entity/data/PublishEntity.java new file mode 100644 index 0000000..bbb6d7f --- /dev/null +++ b/src/main/java/com/lf/server/entity/data/PublishEntity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鏁版嵁鍙戝竷 + * @author WWW + */ +public class PublishEntity implements Serializable { + private static final long serialVersionUID = -386130556178340032L; + + private int id; + + private String regid; + + private String name; + + private String url; + + private String path; + + private String type; + + private int status; + + private String dirid; + + private String depid; + + private int min; + + private int max; + + private String json; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String geom; + + private String bak; + + private String depName; + + private String dirName; + + private String createName; + + private String updateName; + + public PublishEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getRegid() { + return regid; + } + + public void setRegid(String regid) { + this.regid = regid; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getStatus() { + return status; + } + + public void setStatus(int status) { + this.status = status; + } + + public String getDirid() { + return dirid; + } + + public void setDirid(String dirid) { + this.dirid = dirid; + } + + public String getDepid() { + return depid; + } + + public void setDepid(String depid) { + this.depid = depid; + } + + public int getMin() { + return min; + } + + public void setMin(int min) { + this.min = min; + } + + public int getMax() { + return max; + } + + public void setMax(int max) { + this.max = max; + } + + public String getJson() { + return json; + } + + public void setJson(String json) { + this.json = json; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getGeom() { + return geom; + } + + public void setGeom(String geom) { + this.geom = geom; + } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } + + public String getDepName() { + return depName; + } + + public void setDepName(String depName) { + this.depName = depName; + } + + public String getDirName() { + return dirName; + } + + public void setDirName(String dirName) { + this.dirName = dirName; + } + + public String getCreateName() { + return createName; + } + + public void setCreateName(String createName) { + this.createName = createName; + } + + public String getUpdateName() { + return updateName; + } + + public void setUpdateName(String updateName) { + this.updateName = updateName; + } +} diff --git a/src/main/java/com/lf/server/entity/data/StyleEntity.java b/src/main/java/com/lf/server/entity/data/StyleEntity.java new file mode 100644 index 0000000..6508c60 --- /dev/null +++ b/src/main/java/com/lf/server/entity/data/StyleEntity.java @@ -0,0 +1,234 @@ +package com.lf.server.entity.data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鏍峰紡绠$悊 + * @author sws + * @date 2022-09-26 + */ + +public class StyleEntity implements Serializable { + private static final long serialVersionUID = 2421229801055033955L; + + private int id; + + private String name; + + private String type; + + private int dirid; + + private int depid; + + private String ver; + + private int status; + + private String precision; + + private String descr; + + private String fname; + + private String fileGuid; + + private String vname; + + private String viewGuid; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String depName; + + private String dirName; + + private String bak; + + private String createName; + + private String updateName; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getDirid() { + return dirid; + } + + public void setDirid(int dirid) { + this.dirid = dirid; + } + + public int getDepid() { + return depid; + } + + public void setDepid(int depid) { + this.depid = depid; + } + + public String getVer() { + return ver; + } + + public void setVer(String ver) { + this.ver = ver; + } + + public int getStatus() { + return status; + } + + public void setStatus(int status) { + this.status = status; + } + + public String getPrecision() { + return precision; + } + + public void setPrecision(String precision) { + this.precision = precision; + } + + public String getDescr() { + return descr; + } + + public void setDescr(String descr) { + this.descr = descr; + } + + public String getFileGuid() { + return fileGuid; + } + + public void setFileGuid(String fileGuid) { + this.fileGuid = fileGuid; + } + + public String getViewGuid() { + return viewGuid; + } + + public void setViewGuid(String viewGuid) { + this.viewGuid = viewGuid; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getDepName() { + return depName; + } + + public void setDepName(String depName) { + this.depName = depName; + } + + public String getDirName() { + return dirName; + } + + public void setDirName(String dirName) { + this.dirName = dirName; + } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } + + public String getFname() { + return fname; + } + + public void setFname(String fname) { + this.fname = fname; + } + + public String getVname() { + return vname; + } + + public void setVname(String vname) { + this.vname = vname; + } + + public String getCreateName() { + return createName; + } + + public void setCreateName(String createName) { + this.createName = createName; + } + + public String getUpdateName() { + return updateName; + } + + public void setUpdateName(String updateName) { + this.updateName = updateName; + } +} diff --git a/src/main/java/com/lf/server/entity/data/VerEntity.java b/src/main/java/com/lf/server/entity/data/VerEntity.java new file mode 100644 index 0000000..1a57e64 --- /dev/null +++ b/src/main/java/com/lf/server/entity/data/VerEntity.java @@ -0,0 +1,113 @@ +package com.lf.server.entity.data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鐗堟湰琛� + * @author sws + * @date 2022-09-29 + */ +public class VerEntity implements Serializable { + private static final long serialVersionUID = 4765222572551658531L; + + private int id; + + private int dirid; + + private String name; + + private String descr; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String depName; + + private String createName; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getDirid() { + return dirid; + } + + public void setDirid(int dirid) { + this.dirid = dirid; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescr() { + return descr; + } + + public void setDescr(String descr) { + this.descr = descr; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getDepName() { + return depName; + } + + public void setDepName(String depName) { + this.depName = depName; + } + + public String getCreateName() { + return createName; + } + + public void setCreateName(String createName) { + this.createName = createName; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdccompliancefileinformationEntity.java b/src/main/java/com/lf/server/entity/md/MdccompliancefileinformationEntity.java new file mode 100644 index 0000000..590a224 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdccompliancefileinformationEntity.java @@ -0,0 +1,115 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdccompliancefileinformation + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_c_compliance_file_information") +@EqualsAndHashCode(callSuper = false) +public class MdccompliancefileinformationEntity extends BaseEntity { + private static final long serialVersionUID = 349303833371635456L; + + private String productcode; + + private String productname; + + private String producttype; + + private String dataformat; + + private String majorcode; + + private String prodver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdccompliancefileinformationEntity() { + } + + public String getProductcode() { + return productcode; + } + + public void setProductcode(String productcode) { + this.productcode = productcode; + } + + public String getProductname() { + return productname; + } + + public void setProductname(String productname) { + this.productname = productname; + } + + public String getProducttype() { + return producttype; + } + + public void setProducttype(String producttype) { + this.producttype = producttype; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdcdocumentlistinformationEntity.java b/src/main/java/com/lf/server/entity/md/MdcdocumentlistinformationEntity.java new file mode 100644 index 0000000..b72755c --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdcdocumentlistinformationEntity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdcdocumentlistinformation + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_c_document_list_information") +@EqualsAndHashCode(callSuper = false) +public class MdcdocumentlistinformationEntity extends BaseEntity { + private static final long serialVersionUID = 349303833371635456L; + + private String productcode; + + private String productname; + + private String producttype; + + private String majorcode; + + private String productstate; + + private Timestamp submitdate; + + private String designer; + + private String proofreader; + + private String reviewer; + + private String approver; + + private String approval; + + private Integer isarchived; + + private Timestamp archiveddate; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdcdocumentlistinformationEntity() { + } + + public String getProductcode() { + return productcode; + } + + public void setProductcode(String productcode) { + this.productcode = productcode; + } + + public String getProductname() { + return productname; + } + + public void setProductname(String productname) { + this.productname = productname; + } + + public String getProducttype() { + return producttype; + } + + public void setProducttype(String producttype) { + this.producttype = producttype; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public String getProductstate() { + return productstate; + } + + public void setProductstate(String productstate) { + this.productstate = productstate; + } + + public Timestamp getSubmitdate() { + return submitdate; + } + + public void setSubmitdate(Timestamp submitdate) { + this.submitdate = submitdate; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getProofreader() { + return proofreader; + } + + public void setProofreader(String proofreader) { + this.proofreader = proofreader; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getApproval() { + return approval; + } + + public void setApproval(String approval) { + this.approval = approval; + } + + public Integer getIsarchived() { + return isarchived; + } + + public void setIsarchived(Integer isarchived) { + this.isarchived = isarchived; + } + + public Timestamp getArchiveddate() { + return archiveddate; + } + + public void setArchiveddate(Timestamp archiveddate) { + this.archiveddate = archiveddate; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdcprojectEntity.java b/src/main/java/com/lf/server/entity/md/MdcprojectEntity.java new file mode 100644 index 0000000..3812752 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdcprojectEntity.java @@ -0,0 +1,425 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdcproject + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_c_project") +@EqualsAndHashCode(callSuper = false) +public class MdcprojectEntity extends BaseEntity { + private static final long serialVersionUID = 349303833371635456L; + + private String projectcode; + + private String projectname; + + private String virtuecontractcode; + + private String projectphase; + + private String org; + + private String projecttype; + + private String contractway; + + private String risklevel; + + private Timestamp builddate; + + private Timestamp planstartdate; + + private Timestamp planfinishdate; + + private String system; + + private String contractcode; + + private String contractname; + + private Double contractrmbamount; + + private Double investment; + + private String customercode; + + private String customername; + + private String projectowner; + + private String epcorepcc; + + private String pmc; + + private String projectmanager; + + private String projectstate; + + private Timestamp projectstatechangedate; + + private Double builtuparea; + + private Double annualoutput; + + private Double pipelength; + + private Double pipediameter; + + private Double designpressure; + + private Double wallthickness; + + private Double storagecapacity; + + private Double cannumber; + + private Double cablelength; + + private Double projectarchiveprogress; + + private String projectdescribe; + + private String projectregion; + + private String medium; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdcprojectEntity() { + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getVirtuecontractcode() { + return virtuecontractcode; + } + + public void setVirtuecontractcode(String virtuecontractcode) { + this.virtuecontractcode = virtuecontractcode; + } + + public String getProjectphase() { + return projectphase; + } + + public void setProjectphase(String projectphase) { + this.projectphase = projectphase; + } + + public String getOrg() { + return org; + } + + public void setOrg(String org) { + this.org = org; + } + + public String getProjecttype() { + return projecttype; + } + + public void setProjecttype(String projecttype) { + this.projecttype = projecttype; + } + + public String getContractway() { + return contractway; + } + + public void setContractway(String contractway) { + this.contractway = contractway; + } + + public String getRisklevel() { + return risklevel; + } + + public void setRisklevel(String risklevel) { + this.risklevel = risklevel; + } + + public Timestamp getBuilddate() { + return builddate; + } + + public void setBuilddate(Timestamp builddate) { + this.builddate = builddate; + } + + public Timestamp getPlanstartdate() { + return planstartdate; + } + + public void setPlanstartdate(Timestamp planstartdate) { + this.planstartdate = planstartdate; + } + + public Timestamp getPlanfinishdate() { + return planfinishdate; + } + + public void setPlanfinishdate(Timestamp planfinishdate) { + this.planfinishdate = planfinishdate; + } + + public String getSystem() { + return system; + } + + public void setSystem(String system) { + this.system = system; + } + + public String getContractcode() { + return contractcode; + } + + public void setContractcode(String contractcode) { + this.contractcode = contractcode; + } + + public String getContractname() { + return contractname; + } + + public void setContractname(String contractname) { + this.contractname = contractname; + } + + public Double getContractrmbamount() { + return contractrmbamount; + } + + public void setContractrmbamount(Double contractrmbamount) { + this.contractrmbamount = contractrmbamount; + } + + public Double getInvestment() { + return investment; + } + + public void setInvestment(Double investment) { + this.investment = investment; + } + + public String getCustomercode() { + return customercode; + } + + public void setCustomercode(String customercode) { + this.customercode = customercode; + } + + public String getCustomername() { + return customername; + } + + public void setCustomername(String customername) { + this.customername = customername; + } + + public String getProjectowner() { + return projectowner; + } + + public void setProjectowner(String projectowner) { + this.projectowner = projectowner; + } + + public String getEpcorepcc() { + return epcorepcc; + } + + public void setEpcorepcc(String epcorepcc) { + this.epcorepcc = epcorepcc; + } + + public String getPmc() { + return pmc; + } + + public void setPmc(String pmc) { + this.pmc = pmc; + } + + public String getProjectmanager() { + return projectmanager; + } + + public void setProjectmanager(String projectmanager) { + this.projectmanager = projectmanager; + } + + public String getProjectstate() { + return projectstate; + } + + public void setProjectstate(String projectstate) { + this.projectstate = projectstate; + } + + public Timestamp getProjectstatechangedate() { + return projectstatechangedate; + } + + public void setProjectstatechangedate(Timestamp projectstatechangedate) { + this.projectstatechangedate = projectstatechangedate; + } + + public Double getBuiltuparea() { + return builtuparea; + } + + public void setBuiltuparea(Double builtuparea) { + this.builtuparea = builtuparea; + } + + public Double getAnnualoutput() { + return annualoutput; + } + + public void setAnnualoutput(Double annualoutput) { + this.annualoutput = annualoutput; + } + + public Double getPipelength() { + return pipelength; + } + + public void setPipelength(Double pipelength) { + this.pipelength = pipelength; + } + + public Double getPipediameter() { + return pipediameter; + } + + public void setPipediameter(Double pipediameter) { + this.pipediameter = pipediameter; + } + + public Double getDesignpressure() { + return designpressure; + } + + public void setDesignpressure(Double designpressure) { + this.designpressure = designpressure; + } + + public Double getWallthickness() { + return wallthickness; + } + + public void setWallthickness(Double wallthickness) { + this.wallthickness = wallthickness; + } + + public Double getStoragecapacity() { + return storagecapacity; + } + + public void setStoragecapacity(Double storagecapacity) { + this.storagecapacity = storagecapacity; + } + + public Double getCannumber() { + return cannumber; + } + + public void setCannumber(Double cannumber) { + this.cannumber = cannumber; + } + + public Double getCablelength() { + return cablelength; + } + + public void setCablelength(Double cablelength) { + this.cablelength = cablelength; + } + + public Double getProjectarchiveprogress() { + return projectarchiveprogress; + } + + public void setProjectarchiveprogress(Double projectarchiveprogress) { + this.projectarchiveprogress = projectarchiveprogress; + } + + public String getProjectdescribe() { + return projectdescribe; + } + + public void setProjectdescribe(String projectdescribe) { + this.projectdescribe = projectdescribe; + } + + public String getProjectregion() { + return projectregion; + } + + public void setProjectregion(String projectregion) { + this.projectregion = projectregion; + } + + public String getMedium() { + return medium; + } + + public void setMedium(String medium) { + this.medium = medium; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdcprojectorganizationEntity.java b/src/main/java/com/lf/server/entity/md/MdcprojectorganizationEntity.java new file mode 100644 index 0000000..61f5bd2 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdcprojectorganizationEntity.java @@ -0,0 +1,155 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdcprojectorganization + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_c_project_organization") +@EqualsAndHashCode(callSuper = false) +public class MdcprojectorganizationEntity extends BaseEntity { + private static final long serialVersionUID = 349303833371635456L; + + private String projectcode; + + private String projectname; + + private String virtuecontractcode; + + private String projectmanager; + + private String rolecode; + + private String rolename; + + private String majorcode; + + private String majorname; + + private String cCode; + + private String cName; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdcprojectorganizationEntity() { + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getVirtuecontractcode() { + return virtuecontractcode; + } + + public void setVirtuecontractcode(String virtuecontractcode) { + this.virtuecontractcode = virtuecontractcode; + } + + public String getProjectmanager() { + return projectmanager; + } + + public void setProjectmanager(String projectmanager) { + this.projectmanager = projectmanager; + } + + public String getRolecode() { + return rolecode; + } + + public void setRolecode(String rolecode) { + this.rolecode = rolecode; + } + + public String getRolename() { + return rolename; + } + + public void setRolename(String rolename) { + this.rolename = rolename; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public String getMajorname() { + return majorname; + } + + public void setMajorname(String majorname) { + this.majorname = majorname; + } + + public String getcCode() { + return cCode; + } + + public void setcCode(String cCode) { + this.cCode = cCode; + } + + public String getcName() { + return cName; + } + + public void setcName(String cName) { + this.cName = cName; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdcprojectwbsEntity.java b/src/main/java/com/lf/server/entity/md/MdcprojectwbsEntity.java new file mode 100644 index 0000000..4397205 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdcprojectwbsEntity.java @@ -0,0 +1,75 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdcprojectwbs + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_c_project_wbs") +@EqualsAndHashCode(callSuper = false) +public class MdcprojectwbsEntity extends BaseEntity { + private static final long serialVersionUID = 512924120534641728L; + + private String wbscode; + + private String wbsname; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdcprojectwbsEntity() { + } + + public String getWbscode() { + return wbscode; + } + + public void setWbscode(String wbscode) { + this.wbscode = wbscode; + } + + public String getWbsname() { + return wbsname; + } + + public void setWbsname(String wbsname) { + this.wbsname = wbsname; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdcsingleprojectEntity.java b/src/main/java/com/lf/server/entity/md/MdcsingleprojectEntity.java new file mode 100644 index 0000000..f243097 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdcsingleprojectEntity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdcsingleproject + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_c_single_project") +@EqualsAndHashCode(callSuper = false) +public class MdcsingleprojectEntity extends BaseEntity { + private static final long serialVersionUID = 512924120534641728L; + + private String taskcode; + + private String taskname; + + private String projectcode; + + private String projectname; + + private String taskstyle; + + private String taskdescribe; + + private String taskregion; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdcsingleprojectEntity() { + } + + public String getTaskcode() { + return taskcode; + } + + public void setTaskcode(String taskcode) { + this.taskcode = taskcode; + } + + public String getTaskname() { + return taskname; + } + + public void setTaskname(String taskname) { + this.taskname = taskname; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getTaskstyle() { + return taskstyle; + } + + public void setTaskstyle(String taskstyle) { + this.taskstyle = taskstyle; + } + + public String getTaskdescribe() { + return taskdescribe; + } + + public void setTaskdescribe(String taskdescribe) { + this.taskdescribe = taskdescribe; + } + + public String getTaskregion() { + return taskregion; + } + + public void setTaskregion(String taskregion) { + this.taskregion = taskregion; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdgdcgEntity.java b/src/main/java/com/lf/server/entity/md/MdgdcgEntity.java new file mode 100644 index 0000000..6f42ea4 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdgdcgEntity.java @@ -0,0 +1,222 @@ +package com.lf.server.entity.md; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.annotation.ExcelHead; +import com.lf.server.entity.all.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * 绠¢亾鎴愭灉琛� + * @author WWW + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@TableName("md.md_gdcg") +@ExcelHead(headRows = 3,excludeSheets = "灏侀潰,鐩綍") +@EqualsAndHashCode(callSuper = true) +public class MdgdcgEntity extends BaseEntity { + private static final long serialVersionUID = -221347663194025408L; + + @ExcelProperty(index = 0) + private String bh; + + @ExcelProperty(index = 1) + private String gxdh; + + @ExcelProperty(index = 2) + private String ljdh; + + @ExcelProperty(index = 3) + private String msfs; + + @ExcelProperty(index = 4) + private String gxcl; + + @ExcelProperty(index = 5) + private String gjcc; + + @ExcelProperty(index = 6) + private String tz; + + @ExcelProperty(index = 7) + private String fsw; + + @ExcelProperty(index = 8) + private Double x; + + @ExcelProperty(index = 9) + private Double y; + + @ExcelProperty(index = 10) + private Double dm; + + @ExcelProperty(index = 11) + private Double gd; + + @ExcelProperty(index = 12) + private Double gnd; + + @ExcelProperty(index = 13) + private Double ms; + + @ExcelProperty(index = 14) + private String dngs; + + @ExcelProperty(index = 15) + private String gkpl; + + @ExcelProperty(index = 16) + private String dldy; + + @ExcelProperty(index = 17) + private String bz; + + public String getBh() { + return bh; + } + + public void setBh(String bh) { + this.bh = bh; + } + + public String getGxdh() { + return gxdh; + } + + public void setGxdh(String gxdh) { + this.gxdh = gxdh; + } + + public String getLjdh() { + return ljdh; + } + + public void setLjdh(String ljdh) { + this.ljdh = ljdh; + } + + public String getMsfs() { + return msfs; + } + + public void setMsfs(String msfs) { + this.msfs = msfs; + } + + public String getGxcl() { + return gxcl; + } + + public void setGxcl(String gxcl) { + this.gxcl = gxcl; + } + + public String getGjcc() { + return gjcc; + } + + public void setGjcc(String gjcc) { + this.gjcc = gjcc; + } + + public String getTz() { + return tz; + } + + public void setTz(String tz) { + this.tz = tz; + } + + public String getFsw() { + return fsw; + } + + public void setFsw(String fsw) { + this.fsw = fsw; + } + + public Double getX() { + return x; + } + + public void setX(Double x) { + this.x = x; + } + + public Double getY() { + return y; + } + + public void setY(Double y) { + this.y = y; + } + + public Double getDm() { + return dm; + } + + public void setDm(Double dm) { + this.dm = dm; + } + + public Double getGd() { + return gd; + } + + public void setGd(Double gd) { + this.gd = gd; + } + + public Double getGnd() { + return gnd; + } + + public void setGnd(Double gnd) { + this.gnd = gnd; + } + + public Double getMs() { + return ms; + } + + public void setMs(Double ms) { + this.ms = ms; + } + + public String getDngs() { + return dngs; + } + + public void setDngs(String dngs) { + this.dngs = dngs; + } + + public String getGkpl() { + return gkpl; + } + + public void setGkpl(String gkpl) { + this.gkpl = gkpl; + } + + public String getDldy() { + return dldy; + } + + public void setDldy(String dldy) { + this.dldy = dldy; + } + + public String getBz() { + return bz; + } + + public void setBz(String bz) { + this.bz = bz; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdggeologicalhazardcontroldesigndocumentEntity.java b/src/main/java/com/lf/server/entity/md/MdggeologicalhazardcontroldesigndocumentEntity.java new file mode 100644 index 0000000..cbd933a --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdggeologicalhazardcontroldesigndocumentEntity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdggeologicalhazardcontroldesigndocument + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_g_geological_hazard_control_design_document") +@EqualsAndHashCode(callSuper = false) +public class MdggeologicalhazardcontroldesigndocumentEntity extends BaseEntity { + private static final long serialVersionUID = 512924120534641728L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String major; + + private String datasotype; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private Timestamp updadate; + + private String producter; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdggeologicalhazardcontroldesigndocumentEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getDatasotype() { + return datasotype; + } + + public void setDatasotype(String datasotype) { + this.datasotype = datasotype; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdggeologicalhazardmonitoringdesigndocumentEntity.java b/src/main/java/com/lf/server/entity/md/MdggeologicalhazardmonitoringdesigndocumentEntity.java new file mode 100644 index 0000000..43c764f --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdggeologicalhazardmonitoringdesigndocumentEntity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdggeologicalhazardmonitoringdesigndocument + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_g_geological_hazard_monitoring_design_document") +@EqualsAndHashCode(callSuper = false) +public class MdggeologicalhazardmonitoringdesigndocumentEntity extends BaseEntity { + private static final long serialVersionUID = 512924120534641728L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String major; + + private String datasotype; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private Timestamp updadate; + + private String producter; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdggeologicalhazardmonitoringdesigndocumentEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getDatasotype() { + return datasotype; + } + + public void setDatasotype(String datasotype) { + this.datasotype = datasotype; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdggeologicalhazardsitephotosEntity.java b/src/main/java/com/lf/server/entity/md/MdggeologicalhazardsitephotosEntity.java new file mode 100644 index 0000000..7f6d4b7 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdggeologicalhazardsitephotosEntity.java @@ -0,0 +1,245 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdggeologicalhazardsitephotos + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_g_geological_hazard_sitephotos") +@EqualsAndHashCode(callSuper = false) +public class MdggeologicalhazardsitephotosEntity extends BaseEntity { + private static final long serialVersionUID = 512924120534641728L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String taskcode; + + private String taskname; + + private String prodver; + + private String major; + + private String datasotype; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private Timestamp updadate; + + private String producter; + + private String designer; + + private String reviewer; + + private String checker; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdggeologicalhazardsitephotosEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getTaskcode() { + return taskcode; + } + + public void setTaskcode(String taskcode) { + this.taskcode = taskcode; + } + + public String getTaskname() { + return taskname; + } + + public void setTaskname(String taskname) { + this.taskname = taskname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getDatasotype() { + return datasotype; + } + + public void setDatasotype(String datasotype) { + this.datasotype = datasotype; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/Mdggeologichazard3dmodelEntity.java b/src/main/java/com/lf/server/entity/md/Mdggeologichazard3dmodelEntity.java new file mode 100644 index 0000000..8d33346 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/Mdggeologichazard3dmodelEntity.java @@ -0,0 +1,265 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdggeologichazard3dmodel + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_g_geologic_hazard_3dmodel") +@EqualsAndHashCode(callSuper = false) +public class Mdggeologichazard3dmodelEntity extends BaseEntity { + private static final long serialVersionUID = 512924120534641728L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String taskcode; + + private String taskname; + + private String prodver; + + private String owner; + + private String prodrange; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private Timestamp updadate; + + private String datasotype; + + private String prodmethod; + + private String producter; + + private String mapper; + + private String reviewer; + + private String checker; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public Mdggeologichazard3dmodelEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getTaskcode() { + return taskcode; + } + + public void setTaskcode(String taskcode) { + this.taskcode = taskcode; + } + + public String getTaskname() { + return taskname; + } + + public void setTaskname(String taskname) { + this.taskname = taskname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getProdrange() { + return prodrange; + } + + public void setProdrange(String prodrange) { + this.prodrange = prodrange; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getDatasotype() { + return datasotype; + } + + public void setDatasotype(String datasotype) { + this.datasotype = datasotype; + } + + public String getProdmethod() { + return prodmethod; + } + + public void setProdmethod(String prodmethod) { + this.prodmethod = prodmethod; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getMapper() { + return mapper; + } + + public void setMapper(String mapper) { + this.mapper = mapper; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdggeologichazardassessmentdocumentEntity.java b/src/main/java/com/lf/server/entity/md/MdggeologichazardassessmentdocumentEntity.java new file mode 100644 index 0000000..c43ebf2 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdggeologichazardassessmentdocumentEntity.java @@ -0,0 +1,255 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdggeologichazardassessmentdocument + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_g_geologic_hazard_assessmentdocument") +@EqualsAndHashCode(callSuper = false) +public class MdggeologichazardassessmentdocumentEntity extends BaseEntity { + private static final long serialVersionUID = 512924120534641728L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String taskcode; + + private String taskname; + + private String prodver; + + private String major; + + private String datasotype; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private Timestamp updadate; + + private String producter; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdggeologichazardassessmentdocumentEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getTaskcode() { + return taskcode; + } + + public void setTaskcode(String taskcode) { + this.taskcode = taskcode; + } + + public String getTaskname() { + return taskname; + } + + public void setTaskname(String taskname) { + this.taskname = taskname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getDatasotype() { + return datasotype; + } + + public void setDatasotype(String datasotype) { + this.datasotype = datasotype; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdggeologichazardcalculationmodelEntity.java b/src/main/java/com/lf/server/entity/md/MdggeologichazardcalculationmodelEntity.java new file mode 100644 index 0000000..d37015f --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdggeologichazardcalculationmodelEntity.java @@ -0,0 +1,255 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdggeologichazardcalculationmodel + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_g_geologic_hazard_calculationmodel") +@EqualsAndHashCode(callSuper = false) +public class MdggeologichazardcalculationmodelEntity extends BaseEntity { + private static final long serialVersionUID = 512924120534641728L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String taskcode; + + private String taskname; + + private String prodver; + + private String major; + + private String datasotype; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private Timestamp updadate; + + private String producter; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdggeologichazardcalculationmodelEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getTaskcode() { + return taskcode; + } + + public void setTaskcode(String taskcode) { + this.taskcode = taskcode; + } + + public String getTaskname() { + return taskname; + } + + public void setTaskname(String taskname) { + this.taskname = taskname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getDatasotype() { + return datasotype; + } + + public void setDatasotype(String datasotype) { + this.datasotype = datasotype; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdggeologichazardinformationEntity.java b/src/main/java/com/lf/server/entity/md/MdggeologichazardinformationEntity.java new file mode 100644 index 0000000..01733fc --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdggeologichazardinformationEntity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdggeologichazardinformation + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_g_geologic_hazard_information") +@EqualsAndHashCode(callSuper = false) +public class MdggeologichazardinformationEntity extends BaseEntity { + private static final long serialVersionUID = 512924120534641728L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String owner; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp survdate; + + private Timestamp proddate; + + private String datasotype; + + private String prodmethod; + + private String producter; + + private String mapper; + + private String reviewer; + + private String checker; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdggeologichazardinformationEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getSurvdate() { + return survdate; + } + + public void setSurvdate(Timestamp survdate) { + this.survdate = survdate; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getDatasotype() { + return datasotype; + } + + public void setDatasotype(String datasotype) { + this.datasotype = datasotype; + } + + public String getProdmethod() { + return prodmethod; + } + + public void setProdmethod(String prodmethod) { + this.prodmethod = prodmethod; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getMapper() { + return mapper; + } + + public void setMapper(String mapper) { + this.mapper = mapper; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdggeologichazardpointEntity.java b/src/main/java/com/lf/server/entity/md/MdggeologichazardpointEntity.java new file mode 100644 index 0000000..53ac333 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdggeologichazardpointEntity.java @@ -0,0 +1,245 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdggeologichazardpoint + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_g_geologic_hazard_point") +@EqualsAndHashCode(callSuper = false) +public class MdggeologichazardpointEntity extends BaseEntity { + private static final long serialVersionUID = 512924120534641728L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String owner; + + private String prodrange; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private Timestamp updadate; + + private String datasotype; + + private String prodmethod; + + private String producter; + + private String mapper; + + private String reviewer; + + private String checker; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdggeologichazardpointEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getProdrange() { + return prodrange; + } + + public void setProdrange(String prodrange) { + this.prodrange = prodrange; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getDatasotype() { + return datasotype; + } + + public void setDatasotype(String datasotype) { + this.datasotype = datasotype; + } + + public String getProdmethod() { + return prodmethod; + } + + public void setProdmethod(String prodmethod) { + this.prodmethod = prodmethod; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getMapper() { + return mapper; + } + + public void setMapper(String mapper) { + this.mapper = mapper; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdgpacgeologichazardEntity.java b/src/main/java/com/lf/server/entity/md/MdgpacgeologichazardEntity.java new file mode 100644 index 0000000..1d02d17 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdgpacgeologichazardEntity.java @@ -0,0 +1,225 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdgpacgeologichazard + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_g_pac_geologic_hazard") +@EqualsAndHashCode(callSuper = false) +public class MdgpacgeologichazardEntity extends BaseEntity { + private static final long serialVersionUID = 512924120534641728L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String major; + + private String datasotype; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private Timestamp updadate; + + private String producter; + + private String designer; + + private String reviewer; + + private String checker; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdgpacgeologichazardEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getDatasotype() { + return datasotype; + } + + public void setDatasotype(String datasotype) { + this.datasotype = datasotype; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdgtypicalgeologicalhazardmanagementcasesEntity.java b/src/main/java/com/lf/server/entity/md/MdgtypicalgeologicalhazardmanagementcasesEntity.java new file mode 100644 index 0000000..6109934 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdgtypicalgeologicalhazardmanagementcasesEntity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdgtypicalgeologicalhazardmanagementcases + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_g_typical_geological_hazard_management_cases") +@EqualsAndHashCode(callSuper = false) +public class MdgtypicalgeologicalhazardmanagementcasesEntity extends BaseEntity { + private static final long serialVersionUID = 512924120534641728L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String major; + + private String datasotype; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private Timestamp updadate; + + private String producter; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdgtypicalgeologicalhazardmanagementcasesEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getDatasotype() { + return datasotype; + } + + public void setDatasotype(String datasotype) { + this.datasotype = datasotype; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdmdemEntity.java b/src/main/java/com/lf/server/entity/md/MdmdemEntity.java new file mode 100644 index 0000000..c2b705f --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdmdemEntity.java @@ -0,0 +1,415 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdmdem + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_m_dem") +@EqualsAndHashCode(callSuper = false) +public class MdmdemEntity extends BaseGeoEntity { + private static final long serialVersionUID = 512924120534641728L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String taskcode; + + private String taskname; + + private String prodver; + + private String owner; + + private String prodrange; + + private Double prodarea; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp survdate; + + private Timestamp proddate; + + private Timestamp updadate; + + private String sampinte; + + private String coorsystem; + + private String semimajax; + + private Double flatrat; + + private String mapproj; + + private String cntmerdian; + + private String zonemode; + + private String projzoneno; + + private String coordunit; + + private String verdatum; + + private String datasotype; + + private String prodmethod; + + private String producter; + + private String mapper; + + private String reviewer; + + private String checker; + + private String plaerr; + + private String vererr; + + private String grid; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdmdemEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getTaskcode() { + return taskcode; + } + + public void setTaskcode(String taskcode) { + this.taskcode = taskcode; + } + + public String getTaskname() { + return taskname; + } + + public void setTaskname(String taskname) { + this.taskname = taskname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getProdrange() { + return prodrange; + } + + public void setProdrange(String prodrange) { + this.prodrange = prodrange; + } + + public Double getProdarea() { + return prodarea; + } + + public void setProdarea(Double prodarea) { + this.prodarea = prodarea; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getSurvdate() { + return survdate; + } + + public void setSurvdate(Timestamp survdate) { + this.survdate = survdate; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getSampinte() { + return sampinte; + } + + public void setSampinte(String sampinte) { + this.sampinte = sampinte; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public String getSemimajax() { + return semimajax; + } + + public void setSemimajax(String semimajax) { + this.semimajax = semimajax; + } + + public Double getFlatrat() { + return flatrat; + } + + public void setFlatrat(Double flatrat) { + this.flatrat = flatrat; + } + + public String getMapproj() { + return mapproj; + } + + public void setMapproj(String mapproj) { + this.mapproj = mapproj; + } + + public String getCntmerdian() { + return cntmerdian; + } + + public void setCntmerdian(String cntmerdian) { + this.cntmerdian = cntmerdian; + } + + public String getZonemode() { + return zonemode; + } + + public void setZonemode(String zonemode) { + this.zonemode = zonemode; + } + + public String getProjzoneno() { + return projzoneno; + } + + public void setProjzoneno(String projzoneno) { + this.projzoneno = projzoneno; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public String getDatasotype() { + return datasotype; + } + + public void setDatasotype(String datasotype) { + this.datasotype = datasotype; + } + + public String getProdmethod() { + return prodmethod; + } + + public void setProdmethod(String prodmethod) { + this.prodmethod = prodmethod; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getMapper() { + return mapper; + } + + public void setMapper(String mapper) { + this.mapper = mapper; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getPlaerr() { + return plaerr; + } + + public void setPlaerr(String plaerr) { + this.plaerr = plaerr; + } + + public String getVererr() { + return vererr; + } + + public void setVererr(String vererr) { + this.vererr = vererr; + } + + public String getGrid() { + return grid; + } + + public void setGrid(String grid) { + this.grid = grid; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdmdlgEntity.java b/src/main/java/com/lf/server/entity/md/MdmdlgEntity.java new file mode 100644 index 0000000..6f39d28 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdmdlgEntity.java @@ -0,0 +1,455 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdmdlg + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_m_dlg") +@EqualsAndHashCode(callSuper = false) +public class MdmdlgEntity extends BaseGeoEntity { + private static final long serialVersionUID = 512924120534641728L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String taskcode; + + private String taskname; + + private String prodver; + + private String owner; + + private String prodrange; + + private Double prodarea; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private String wheaddno; + + private String layernum; + + private String layername; + + private String continter; + + private Timestamp survdate; + + private Timestamp proddate; + + private Timestamp updadate; + + private String sampinte; + + private String coorsystem; + + private Double semimajax; + + private String flatrat; + + private String mapproj; + + private String cntmerdian; + + private String zonemode; + + private String projzoneno; + + private String coordunit; + + private String verdatum; + + private String datasotype; + + private String prodmethod; + + private String producter; + + private String mapper; + + private String reviewer; + + private String checker; + + private String plaerr; + + private String vererr; + + private String scale; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdmdlgEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getTaskcode() { + return taskcode; + } + + public void setTaskcode(String taskcode) { + this.taskcode = taskcode; + } + + public String getTaskname() { + return taskname; + } + + public void setTaskname(String taskname) { + this.taskname = taskname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getProdrange() { + return prodrange; + } + + public void setProdrange(String prodrange) { + this.prodrange = prodrange; + } + + public Double getProdarea() { + return prodarea; + } + + public void setProdarea(Double prodarea) { + this.prodarea = prodarea; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public String getWheaddno() { + return wheaddno; + } + + public void setWheaddno(String wheaddno) { + this.wheaddno = wheaddno; + } + + public String getLayernum() { + return layernum; + } + + public void setLayernum(String layernum) { + this.layernum = layernum; + } + + public String getLayername() { + return layername; + } + + public void setLayername(String layername) { + this.layername = layername; + } + + public String getContinter() { + return continter; + } + + public void setContinter(String continter) { + this.continter = continter; + } + + public Timestamp getSurvdate() { + return survdate; + } + + public void setSurvdate(Timestamp survdate) { + this.survdate = survdate; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getSampinte() { + return sampinte; + } + + public void setSampinte(String sampinte) { + this.sampinte = sampinte; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public Double getSemimajax() { + return semimajax; + } + + public void setSemimajax(Double semimajax) { + this.semimajax = semimajax; + } + + public String getFlatrat() { + return flatrat; + } + + public void setFlatrat(String flatrat) { + this.flatrat = flatrat; + } + + public String getMapproj() { + return mapproj; + } + + public void setMapproj(String mapproj) { + this.mapproj = mapproj; + } + + public String getCntmerdian() { + return cntmerdian; + } + + public void setCntmerdian(String cntmerdian) { + this.cntmerdian = cntmerdian; + } + + public String getZonemode() { + return zonemode; + } + + public void setZonemode(String zonemode) { + this.zonemode = zonemode; + } + + public String getProjzoneno() { + return projzoneno; + } + + public void setProjzoneno(String projzoneno) { + this.projzoneno = projzoneno; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public String getDatasotype() { + return datasotype; + } + + public void setDatasotype(String datasotype) { + this.datasotype = datasotype; + } + + public String getProdmethod() { + return prodmethod; + } + + public void setProdmethod(String prodmethod) { + this.prodmethod = prodmethod; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getMapper() { + return mapper; + } + + public void setMapper(String mapper) { + this.mapper = mapper; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getPlaerr() { + return plaerr; + } + + public void setPlaerr(String plaerr) { + this.plaerr = plaerr; + } + + public String getVererr() { + return vererr; + } + + public void setVererr(String vererr) { + this.vererr = vererr; + } + + public String getScale() { + return scale; + } + + public void setScale(String scale) { + this.scale = scale; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdmdomEntity.java b/src/main/java/com/lf/server/entity/md/MdmdomEntity.java new file mode 100644 index 0000000..c3cf4c0 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdmdomEntity.java @@ -0,0 +1,425 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdmdom + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_m_dom") +@EqualsAndHashCode(callSuper = false) +public class MdmdomEntity extends BaseGeoEntity { + private static final long serialVersionUID = 512924120534641728L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String taskcode; + + private String taskname; + + private String prodver; + + private String owner; + + private String prodrange; + + private Double prodarea; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp survdate; + + private Timestamp proddate; + + private Timestamp updadate; + + private String sampinte; + + private String coorsystem; + + private Double semimajax; + + private String flatrat; + + private String mapproj; + + private String cntmerdian; + + private String zonemode; + + private String projzoneno; + + private String coordunit; + + private String verdatum; + + private String datasotype; + + private String prodmethod; + + private String producter; + + private String mapper; + + private String reviewer; + + private String checker; + + private String plaerr; + + private String vererr; + + private String imaresol; + + private Integer bandnum; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdmdomEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getTaskcode() { + return taskcode; + } + + public void setTaskcode(String taskcode) { + this.taskcode = taskcode; + } + + public String getTaskname() { + return taskname; + } + + public void setTaskname(String taskname) { + this.taskname = taskname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getProdrange() { + return prodrange; + } + + public void setProdrange(String prodrange) { + this.prodrange = prodrange; + } + + public Double getProdarea() { + return prodarea; + } + + public void setProdarea(Double prodarea) { + this.prodarea = prodarea; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getSurvdate() { + return survdate; + } + + public void setSurvdate(Timestamp survdate) { + this.survdate = survdate; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getSampinte() { + return sampinte; + } + + public void setSampinte(String sampinte) { + this.sampinte = sampinte; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public Double getSemimajax() { + return semimajax; + } + + public void setSemimajax(Double semimajax) { + this.semimajax = semimajax; + } + + public String getFlatrat() { + return flatrat; + } + + public void setFlatrat(String flatrat) { + this.flatrat = flatrat; + } + + public String getMapproj() { + return mapproj; + } + + public void setMapproj(String mapproj) { + this.mapproj = mapproj; + } + + public String getCntmerdian() { + return cntmerdian; + } + + public void setCntmerdian(String cntmerdian) { + this.cntmerdian = cntmerdian; + } + + public String getZonemode() { + return zonemode; + } + + public void setZonemode(String zonemode) { + this.zonemode = zonemode; + } + + public String getProjzoneno() { + return projzoneno; + } + + public void setProjzoneno(String projzoneno) { + this.projzoneno = projzoneno; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public String getDatasotype() { + return datasotype; + } + + public void setDatasotype(String datasotype) { + this.datasotype = datasotype; + } + + public String getProdmethod() { + return prodmethod; + } + + public void setProdmethod(String prodmethod) { + this.prodmethod = prodmethod; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getMapper() { + return mapper; + } + + public void setMapper(String mapper) { + this.mapper = mapper; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getPlaerr() { + return plaerr; + } + + public void setPlaerr(String plaerr) { + this.plaerr = plaerr; + } + + public String getVererr() { + return vererr; + } + + public void setVererr(String vererr) { + this.vererr = vererr; + } + + public String getImaresol() { + return imaresol; + } + + public void setImaresol(String imaresol) { + this.imaresol = imaresol; + } + + public Integer getBandnum() { + return bandnum; + } + + public void setBandnum(Integer bandnum) { + this.bandnum = bandnum; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdmdrgEntity.java b/src/main/java/com/lf/server/entity/md/MdmdrgEntity.java new file mode 100644 index 0000000..1400677 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdmdrgEntity.java @@ -0,0 +1,265 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdmdrg + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_m_drg") +@EqualsAndHashCode(callSuper = false) +public class MdmdrgEntity extends BaseGeoEntity { + private static final long serialVersionUID = 512924120534641728L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String owner; + + private String prodrange; + + private Double prodarea; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String coorsystem; + + private String mapproj; + + private String cntmerdian; + + private String zonemode; + + private String projzoneno; + + private String coordunit; + + private String verdatum; + + private String scale; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdmdrgEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getProdrange() { + return prodrange; + } + + public void setProdrange(String prodrange) { + this.prodrange = prodrange; + } + + public Double getProdarea() { + return prodarea; + } + + public void setProdarea(Double prodarea) { + this.prodarea = prodarea; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public String getMapproj() { + return mapproj; + } + + public void setMapproj(String mapproj) { + this.mapproj = mapproj; + } + + public String getCntmerdian() { + return cntmerdian; + } + + public void setCntmerdian(String cntmerdian) { + this.cntmerdian = cntmerdian; + } + + public String getZonemode() { + return zonemode; + } + + public void setZonemode(String zonemode) { + this.zonemode = zonemode; + } + + public String getProjzoneno() { + return projzoneno; + } + + public void setProjzoneno(String projzoneno) { + this.projzoneno = projzoneno; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public String getScale() { + return scale; + } + + public void setScale(String scale) { + this.scale = scale; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdminsarEntity.java b/src/main/java/com/lf/server/entity/md/MdminsarEntity.java new file mode 100644 index 0000000..43ba0f6 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdminsarEntity.java @@ -0,0 +1,345 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdminsar + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_m_insar") +@EqualsAndHashCode(callSuper = false) +public class MdminsarEntity extends BaseEntity { + private static final long serialVersionUID = 512924120534641728L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String taskcode; + + private String taskname; + + private String prodver; + + private String owner; + + private String major; + + private String datasotype; + + private Double imaresol; + + private String bandtype; + + private String timeinterval; + + private String prodrange; + + private Double prodarea; + + private Double datasize; + + private String coorsystem; + + private String coordunit; + + private String verdatum; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private Timestamp updadate; + + private String producter; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdminsarEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getTaskcode() { + return taskcode; + } + + public void setTaskcode(String taskcode) { + this.taskcode = taskcode; + } + + public String getTaskname() { + return taskname; + } + + public void setTaskname(String taskname) { + this.taskname = taskname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getDatasotype() { + return datasotype; + } + + public void setDatasotype(String datasotype) { + this.datasotype = datasotype; + } + + public Double getImaresol() { + return imaresol; + } + + public void setImaresol(Double imaresol) { + this.imaresol = imaresol; + } + + public String getBandtype() { + return bandtype; + } + + public void setBandtype(String bandtype) { + this.bandtype = bandtype; + } + + public String getTimeinterval() { + return timeinterval; + } + + public void setTimeinterval(String timeinterval) { + this.timeinterval = timeinterval; + } + + public String getProdrange() { + return prodrange; + } + + public void setProdrange(String prodrange) { + this.prodrange = prodrange; + } + + public Double getProdarea() { + return prodarea; + } + + public void setProdarea(Double prodarea) { + this.prodarea = prodarea; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdmobliquephotographymodelEntity.java b/src/main/java/com/lf/server/entity/md/MdmobliquephotographymodelEntity.java new file mode 100644 index 0000000..340a847 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdmobliquephotographymodelEntity.java @@ -0,0 +1,445 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdmobliquephotographymodel + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_m_oblique_photography_model") +@EqualsAndHashCode(callSuper = false) +public class MdmobliquephotographymodelEntity extends BaseEntity { + private static final long serialVersionUID = 512924120534641728L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String taskcode; + + private String taskname; + + private String prodver; + + private String owner; + + private String prodrange; + + private Double prodarea; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp survdate; + + private Timestamp proddate; + + private Timestamp updadate; + + private String sampinte; + + private String coorsystem; + + private String semimajax; + + private Double flatrat; + + private String mapproj; + + private String cntmerdian; + + private String zonemode; + + private String projzoneno; + + private String coordunit; + + private String verdatum; + + private String datasotype; + + private String prodmethod; + + private String fliheight; + + private String poidens; + + private String producter; + + private String mapper; + + private String reviewer; + + private String checker; + + private String plaerr; + + private String vererr; + + private String texres; + + private String imaresol; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdmobliquephotographymodelEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getTaskcode() { + return taskcode; + } + + public void setTaskcode(String taskcode) { + this.taskcode = taskcode; + } + + public String getTaskname() { + return taskname; + } + + public void setTaskname(String taskname) { + this.taskname = taskname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getProdrange() { + return prodrange; + } + + public void setProdrange(String prodrange) { + this.prodrange = prodrange; + } + + public Double getProdarea() { + return prodarea; + } + + public void setProdarea(Double prodarea) { + this.prodarea = prodarea; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getSurvdate() { + return survdate; + } + + public void setSurvdate(Timestamp survdate) { + this.survdate = survdate; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getSampinte() { + return sampinte; + } + + public void setSampinte(String sampinte) { + this.sampinte = sampinte; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public String getSemimajax() { + return semimajax; + } + + public void setSemimajax(String semimajax) { + this.semimajax = semimajax; + } + + public Double getFlatrat() { + return flatrat; + } + + public void setFlatrat(Double flatrat) { + this.flatrat = flatrat; + } + + public String getMapproj() { + return mapproj; + } + + public void setMapproj(String mapproj) { + this.mapproj = mapproj; + } + + public String getCntmerdian() { + return cntmerdian; + } + + public void setCntmerdian(String cntmerdian) { + this.cntmerdian = cntmerdian; + } + + public String getZonemode() { + return zonemode; + } + + public void setZonemode(String zonemode) { + this.zonemode = zonemode; + } + + public String getProjzoneno() { + return projzoneno; + } + + public void setProjzoneno(String projzoneno) { + this.projzoneno = projzoneno; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public String getDatasotype() { + return datasotype; + } + + public void setDatasotype(String datasotype) { + this.datasotype = datasotype; + } + + public String getProdmethod() { + return prodmethod; + } + + public void setProdmethod(String prodmethod) { + this.prodmethod = prodmethod; + } + + public String getFliheight() { + return fliheight; + } + + public void setFliheight(String fliheight) { + this.fliheight = fliheight; + } + + public String getPoidens() { + return poidens; + } + + public void setPoidens(String poidens) { + this.poidens = poidens; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getMapper() { + return mapper; + } + + public void setMapper(String mapper) { + this.mapper = mapper; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getPlaerr() { + return plaerr; + } + + public void setPlaerr(String plaerr) { + this.plaerr = plaerr; + } + + public String getVererr() { + return vererr; + } + + public void setVererr(String vererr) { + this.vererr = vererr; + } + + public String getTexres() { + return texres; + } + + public void setTexres(String texres) { + this.texres = texres; + } + + public String getImaresol() { + return imaresol; + } + + public void setImaresol(String imaresol) { + this.imaresol = imaresol; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdmpointcloudEntity.java b/src/main/java/com/lf/server/entity/md/MdmpointcloudEntity.java new file mode 100644 index 0000000..4f5ebf0 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdmpointcloudEntity.java @@ -0,0 +1,435 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdmpointcloud + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_m_point_cloud") +@EqualsAndHashCode(callSuper = false) +public class MdmpointcloudEntity extends BaseEntity { + private static final long serialVersionUID = 512924120534641728L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String taskcode; + + private String taskname; + + private String prodver; + + private String owner; + + private String prodrange; + + private Double prodarea; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp survdate; + + private Timestamp proddate; + + private Timestamp updadate; + + private String sampinte; + + private String coorsystem; + + private Double semimajax; + + private String flatrat; + + private String mapproj; + + private String cntmerdian; + + private String zonemode; + + private String projzoneno; + + private String coordunit; + + private String verdatum; + + private String datasotype; + + private String prodmethod; + + private String radimod; + + private String fliheight; + + private String poidens; + + private String producter; + + private String mapper; + + private String reviewer; + + private String checker; + + private String plaerr; + + private String vererr; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdmpointcloudEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getTaskcode() { + return taskcode; + } + + public void setTaskcode(String taskcode) { + this.taskcode = taskcode; + } + + public String getTaskname() { + return taskname; + } + + public void setTaskname(String taskname) { + this.taskname = taskname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getProdrange() { + return prodrange; + } + + public void setProdrange(String prodrange) { + this.prodrange = prodrange; + } + + public Double getProdarea() { + return prodarea; + } + + public void setProdarea(Double prodarea) { + this.prodarea = prodarea; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getSurvdate() { + return survdate; + } + + public void setSurvdate(Timestamp survdate) { + this.survdate = survdate; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getSampinte() { + return sampinte; + } + + public void setSampinte(String sampinte) { + this.sampinte = sampinte; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public Double getSemimajax() { + return semimajax; + } + + public void setSemimajax(Double semimajax) { + this.semimajax = semimajax; + } + + public String getFlatrat() { + return flatrat; + } + + public void setFlatrat(String flatrat) { + this.flatrat = flatrat; + } + + public String getMapproj() { + return mapproj; + } + + public void setMapproj(String mapproj) { + this.mapproj = mapproj; + } + + public String getCntmerdian() { + return cntmerdian; + } + + public void setCntmerdian(String cntmerdian) { + this.cntmerdian = cntmerdian; + } + + public String getZonemode() { + return zonemode; + } + + public void setZonemode(String zonemode) { + this.zonemode = zonemode; + } + + public String getProjzoneno() { + return projzoneno; + } + + public void setProjzoneno(String projzoneno) { + this.projzoneno = projzoneno; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public String getDatasotype() { + return datasotype; + } + + public void setDatasotype(String datasotype) { + this.datasotype = datasotype; + } + + public String getProdmethod() { + return prodmethod; + } + + public void setProdmethod(String prodmethod) { + this.prodmethod = prodmethod; + } + + public String getRadimod() { + return radimod; + } + + public void setRadimod(String radimod) { + this.radimod = radimod; + } + + public String getFliheight() { + return fliheight; + } + + public void setFliheight(String fliheight) { + this.fliheight = fliheight; + } + + public String getPoidens() { + return poidens; + } + + public void setPoidens(String poidens) { + this.poidens = poidens; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getMapper() { + return mapper; + } + + public void setMapper(String mapper) { + this.mapper = mapper; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getPlaerr() { + return plaerr; + } + + public void setPlaerr(String plaerr) { + this.plaerr = plaerr; + } + + public String getVererr() { + return vererr; + } + + public void setVererr(String vererr) { + this.vererr = vererr; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdmprofessionaldesignmodelEntity.java b/src/main/java/com/lf/server/entity/md/MdmprofessionaldesignmodelEntity.java new file mode 100644 index 0000000..e12a3ef --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdmprofessionaldesignmodelEntity.java @@ -0,0 +1,415 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdmprofessionaldesignmodel + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_m_professional_design_model") +@EqualsAndHashCode(callSuper = false) +public class MdmprofessionaldesignmodelEntity extends BaseEntity { + private static final long serialVersionUID = 512924120534641728L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String owner; + + private String prodrange; + + private Double prodarea; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp survdate; + + private Timestamp proddate; + + private Timestamp updadate; + + private String sampinte; + + private String coorsystem; + + private String semimajax; + + private Double flatrat; + + private String mapproj; + + private String cntmerdian; + + private String zonemode; + + private String projzoneno; + + private String coordunit; + + private String verdatum; + + private String datasotype; + + private String prodmethod; + + private String producter; + + private String majorcode; + + private String mapper; + + private String reviewer; + + private String checker; + + private String plaerr; + + private String vererr; + + private String texres; + + private String imaresol; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdmprofessionaldesignmodelEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getProdrange() { + return prodrange; + } + + public void setProdrange(String prodrange) { + this.prodrange = prodrange; + } + + public Double getProdarea() { + return prodarea; + } + + public void setProdarea(Double prodarea) { + this.prodarea = prodarea; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getSurvdate() { + return survdate; + } + + public void setSurvdate(Timestamp survdate) { + this.survdate = survdate; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getSampinte() { + return sampinte; + } + + public void setSampinte(String sampinte) { + this.sampinte = sampinte; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public String getSemimajax() { + return semimajax; + } + + public void setSemimajax(String semimajax) { + this.semimajax = semimajax; + } + + public Double getFlatrat() { + return flatrat; + } + + public void setFlatrat(Double flatrat) { + this.flatrat = flatrat; + } + + public String getMapproj() { + return mapproj; + } + + public void setMapproj(String mapproj) { + this.mapproj = mapproj; + } + + public String getCntmerdian() { + return cntmerdian; + } + + public void setCntmerdian(String cntmerdian) { + this.cntmerdian = cntmerdian; + } + + public String getZonemode() { + return zonemode; + } + + public void setZonemode(String zonemode) { + this.zonemode = zonemode; + } + + public String getProjzoneno() { + return projzoneno; + } + + public void setProjzoneno(String projzoneno) { + this.projzoneno = projzoneno; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public String getDatasotype() { + return datasotype; + } + + public void setDatasotype(String datasotype) { + this.datasotype = datasotype; + } + + public String getProdmethod() { + return prodmethod; + } + + public void setProdmethod(String prodmethod) { + this.prodmethod = prodmethod; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public String getMapper() { + return mapper; + } + + public void setMapper(String mapper) { + this.mapper = mapper; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getPlaerr() { + return plaerr; + } + + public void setPlaerr(String plaerr) { + this.plaerr = plaerr; + } + + public String getVererr() { + return vererr; + } + + public void setVererr(String vererr) { + this.vererr = vererr; + } + + public String getTexres() { + return texres; + } + + public void setTexres(String texres) { + this.texres = texres; + } + + public String getImaresol() { + return imaresol; + } + + public void setImaresol(String imaresol) { + this.imaresol = imaresol; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdmqualityinspectionreportEntity.java b/src/main/java/com/lf/server/entity/md/MdmqualityinspectionreportEntity.java new file mode 100644 index 0000000..ddbd3f8 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdmqualityinspectionreportEntity.java @@ -0,0 +1,255 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdmqualityinspectionreport + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_m_quality_inspection_report") +@EqualsAndHashCode(callSuper = false) +public class MdmqualityinspectionreportEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String taskcode; + + private String taskname; + + private String prodver; + + private String majorcode; + + private String datasotype; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private Timestamp updadate; + + private String producter; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdmqualityinspectionreportEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getTaskcode() { + return taskcode; + } + + public void setTaskcode(String taskcode) { + this.taskcode = taskcode; + } + + public String getTaskname() { + return taskname; + } + + public void setTaskname(String taskname) { + this.taskname = taskname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public String getDatasotype() { + return datasotype; + } + + public void setDatasotype(String datasotype) { + this.datasotype = datasotype; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdmsurfacedeformationanalysisreportEntity.java b/src/main/java/com/lf/server/entity/md/MdmsurfacedeformationanalysisreportEntity.java new file mode 100644 index 0000000..0660a67 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdmsurfacedeformationanalysisreportEntity.java @@ -0,0 +1,275 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdmsurfacedeformationanalysisreport + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_m_surface_deformation_analysis_report") +@EqualsAndHashCode(callSuper = false) +public class MdmsurfacedeformationanalysisreportEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String taskcode; + + private String taskname; + + private String prodver; + + private String majorcode; + + private String datasotype; + + private Double imaresol; + + private String bandtype; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private Timestamp updadate; + + private String producter; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdmsurfacedeformationanalysisreportEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getTaskcode() { + return taskcode; + } + + public void setTaskcode(String taskcode) { + this.taskcode = taskcode; + } + + public String getTaskname() { + return taskname; + } + + public void setTaskname(String taskname) { + this.taskname = taskname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public String getDatasotype() { + return datasotype; + } + + public void setDatasotype(String datasotype) { + this.datasotype = datasotype; + } + + public Double getImaresol() { + return imaresol; + } + + public void setImaresol(Double imaresol) { + this.imaresol = imaresol; + } + + public String getBandtype() { + return bandtype; + } + + public void setBandtype(String bandtype) { + this.bandtype = bandtype; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdmtechnicaldesigndocumentEntity.java b/src/main/java/com/lf/server/entity/md/MdmtechnicaldesigndocumentEntity.java new file mode 100644 index 0000000..b52d0db --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdmtechnicaldesigndocumentEntity.java @@ -0,0 +1,225 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdmtechnicaldesigndocument + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_m_technical_design_document") +@EqualsAndHashCode(callSuper = false) +public class MdmtechnicaldesigndocumentEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String majorcode; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private Timestamp updadate; + + private String producter; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdmtechnicaldesigndocumentEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdmtechnicalsummaryreportEntity.java b/src/main/java/com/lf/server/entity/md/MdmtechnicalsummaryreportEntity.java new file mode 100644 index 0000000..61bc7b7 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdmtechnicalsummaryreportEntity.java @@ -0,0 +1,225 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdmtechnicalsummaryreport + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_m_technical_summary_report") +@EqualsAndHashCode(callSuper = false) +public class MdmtechnicalsummaryreportEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String majorcode; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private Timestamp updadate; + + private String producter; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdmtechnicalsummaryreportEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdmterrainmodelEntity.java b/src/main/java/com/lf/server/entity/md/MdmterrainmodelEntity.java new file mode 100644 index 0000000..f52409c --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdmterrainmodelEntity.java @@ -0,0 +1,355 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdmterrainmodel + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_m_terrain_model") +@EqualsAndHashCode(callSuper = false) +public class MdmterrainmodelEntity extends BaseGeoEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String taskcode; + + private String taskname; + + private String prodver; + + private String owner; + + private String prodrange; + + private Double prodarea; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp survdate; + + private Timestamp proddate; + + private Timestamp updadate; + + private String sampinte; + + private String coorsystem; + + private String coordunit; + + private String verdatum; + + private String datasotype; + + private String prodmethod; + + private String producter; + + private String mapper; + + private String reviewer; + + private String checker; + + private String plaerr; + + private String vererr; + + private String imaresol; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdmterrainmodelEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getTaskcode() { + return taskcode; + } + + public void setTaskcode(String taskcode) { + this.taskcode = taskcode; + } + + public String getTaskname() { + return taskname; + } + + public void setTaskname(String taskname) { + this.taskname = taskname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getProdrange() { + return prodrange; + } + + public void setProdrange(String prodrange) { + this.prodrange = prodrange; + } + + public Double getProdarea() { + return prodarea; + } + + public void setProdarea(Double prodarea) { + this.prodarea = prodarea; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getSurvdate() { + return survdate; + } + + public void setSurvdate(Timestamp survdate) { + this.survdate = survdate; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getSampinte() { + return sampinte; + } + + public void setSampinte(String sampinte) { + this.sampinte = sampinte; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public String getDatasotype() { + return datasotype; + } + + public void setDatasotype(String datasotype) { + this.datasotype = datasotype; + } + + public String getProdmethod() { + return prodmethod; + } + + public void setProdmethod(String prodmethod) { + this.prodmethod = prodmethod; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getMapper() { + return mapper; + } + + public void setMapper(String mapper) { + this.mapper = mapper; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getPlaerr() { + return plaerr; + } + + public void setPlaerr(String plaerr) { + this.plaerr = plaerr; + } + + public String getVererr() { + return vererr; + } + + public void setVererr(String vererr) { + this.vererr = vererr; + } + + public String getImaresol() { + return imaresol; + } + + public void setImaresol(String imaresol) { + this.imaresol = imaresol; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdsboreholeEntity.java b/src/main/java/com/lf/server/entity/md/MdsboreholeEntity.java new file mode 100644 index 0000000..0562075 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdsboreholeEntity.java @@ -0,0 +1,165 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdsborehole + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_s_borehole") +@EqualsAndHashCode(callSuper = false) +public class MdsboreholeEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String taskcode; + + private String taskname; + + private String drillno; + + private String drilldate; + + private String drilltype; + + private Double datasize; + + private String confilevel; + + private String coorsystem; + + private String verdatum; + + private String producter; + + private String designer; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdsboreholeEntity() { + } + + public String getTaskcode() { + return taskcode; + } + + public void setTaskcode(String taskcode) { + this.taskcode = taskcode; + } + + public String getTaskname() { + return taskname; + } + + public void setTaskname(String taskname) { + this.taskname = taskname; + } + + public String getDrillno() { + return drillno; + } + + public void setDrillno(String drillno) { + this.drillno = drillno; + } + + public String getDrilldate() { + return drilldate; + } + + public void setDrilldate(String drilldate) { + this.drilldate = drilldate; + } + + public String getDrilltype() { + return drilltype; + } + + public void setDrilltype(String drilltype) { + this.drilltype = drilltype; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/Mdsgeological3dmodelEntity.java b/src/main/java/com/lf/server/entity/md/Mdsgeological3dmodelEntity.java new file mode 100644 index 0000000..c98eb82 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/Mdsgeological3dmodelEntity.java @@ -0,0 +1,315 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdsgeological3dmodel + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_s_geological_3dmodel") +@EqualsAndHashCode(callSuper = false) +public class Mdsgeological3dmodelEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String taskcode; + + private String taskname; + + private String projectcode; + + private String projectname; + + private String stage; + + private String prodver; + + private String owner; + + private String prodrange; + + private Double prodarea; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String coorsystem; + + private String coordunit; + + private String verdatum; + + private String mapper; + + private String reviewer; + + private String checker; + + private String plaerr; + + private String vererr; + + private String texres; + + private String imaresol; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public Mdsgeological3dmodelEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getTaskcode() { + return taskcode; + } + + public void setTaskcode(String taskcode) { + this.taskcode = taskcode; + } + + public String getTaskname() { + return taskname; + } + + public void setTaskname(String taskname) { + this.taskname = taskname; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getStage() { + return stage; + } + + public void setStage(String stage) { + this.stage = stage; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getProdrange() { + return prodrange; + } + + public void setProdrange(String prodrange) { + this.prodrange = prodrange; + } + + public Double getProdarea() { + return prodarea; + } + + public void setProdarea(Double prodarea) { + this.prodarea = prodarea; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public String getMapper() { + return mapper; + } + + public void setMapper(String mapper) { + this.mapper = mapper; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getPlaerr() { + return plaerr; + } + + public void setPlaerr(String plaerr) { + this.plaerr = plaerr; + } + + public String getVererr() { + return vererr; + } + + public void setVererr(String vererr) { + this.vererr = vererr; + } + + public String getTexres() { + return texres; + } + + public void setTexres(String texres) { + this.texres = texres; + } + + public String getImaresol() { + return imaresol; + } + + public void setImaresol(String imaresol) { + this.imaresol = imaresol; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdsgeotechnicalinvestigationreportEntity.java b/src/main/java/com/lf/server/entity/md/MdsgeotechnicalinvestigationreportEntity.java new file mode 100644 index 0000000..95de7f1 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdsgeotechnicalinvestigationreportEntity.java @@ -0,0 +1,245 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdsgeotechnicalinvestigationreport + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_s_geotechnical_investigation_report") +@EqualsAndHashCode(callSuper = false) +public class MdsgeotechnicalinvestigationreportEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String taskcode; + + private String taskname; + + private String projectcode; + + private String projectname; + + private String stage; + + private Timestamp proddate; + + private String dataformat; + + private Double datasize; + + private String confilevel; + + private String coorsystem; + + private String verdatum; + + private String producter; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdsgeotechnicalinvestigationreportEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getTaskcode() { + return taskcode; + } + + public void setTaskcode(String taskcode) { + this.taskcode = taskcode; + } + + public String getTaskname() { + return taskname; + } + + public void setTaskname(String taskname) { + this.taskname = taskname; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getStage() { + return stage; + } + + public void setStage(String stage) { + this.stage = stage; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdsholecolumndiagramEntity.java b/src/main/java/com/lf/server/entity/md/MdsholecolumndiagramEntity.java new file mode 100644 index 0000000..5c8b924 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdsholecolumndiagramEntity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdsholecolumndiagram + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_s_hole_column_diagram") +@EqualsAndHashCode(callSuper = false) +public class MdsholecolumndiagramEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodname; + + private String dataformat; + + private Double datasize; + + private String datasour; + + private String drillno; + + private String drilltype; + + private String coorsystem; + + private Timestamp proddate; + + private String producter; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdsholecolumndiagramEntity() { + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getDatasour() { + return datasour; + } + + public void setDatasour(String datasour) { + this.datasour = datasour; + } + + public String getDrillno() { + return drillno; + } + + public void setDrillno(String drillno) { + this.drillno = drillno; + } + + public String getDrilltype() { + return drilltype; + } + + public void setDrilltype(String drilltype) { + this.drilltype = drilltype; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdshydrogeologicalinformationEntity.java b/src/main/java/com/lf/server/entity/md/MdshydrogeologicalinformationEntity.java new file mode 100644 index 0000000..d3b5301 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdshydrogeologicalinformationEntity.java @@ -0,0 +1,155 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdshydrogeologicalinformation + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_s_hydrogeological_information") +@EqualsAndHashCode(callSuper = false) +public class MdshydrogeologicalinformationEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodname; + + private String prodcode; + + private String dataformat; + + private Double datasize; + + private String scale; + + private String prodrange; + + private String datasour; + + private String division; + + private Timestamp proddate; + + private String producter; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdshydrogeologicalinformationEntity() { + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getScale() { + return scale; + } + + public void setScale(String scale) { + this.scale = scale; + } + + public String getProdrange() { + return prodrange; + } + + public void setProdrange(String prodrange) { + this.prodrange = prodrange; + } + + public String getDatasour() { + return datasour; + } + + public void setDatasour(String datasour) { + this.datasour = datasour; + } + + public String getDivision() { + return division; + } + + public void setDivision(String division) { + this.division = division; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdsmeteorologicalinformationEntity.java b/src/main/java/com/lf/server/entity/md/MdsmeteorologicalinformationEntity.java new file mode 100644 index 0000000..b4c8403 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdsmeteorologicalinformationEntity.java @@ -0,0 +1,155 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdsmeteorologicalinformation + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_s_meteorologicalinformation") +@EqualsAndHashCode(callSuper = false) +public class MdsmeteorologicalinformationEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodname; + + private String prodcode; + + private String dataformat; + + private String datastyle; + + private String proddesc; + + private String prodrange; + + private String datasour; + + private Double datasize; + + private String division; + + private Timestamp date; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdsmeteorologicalinformationEntity() { + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public String getDatastyle() { + return datastyle; + } + + public void setDatastyle(String datastyle) { + this.datastyle = datastyle; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProdrange() { + return prodrange; + } + + public void setProdrange(String prodrange) { + this.prodrange = prodrange; + } + + public String getDatasour() { + return datasour; + } + + public void setDatasour(String datasour) { + this.datasour = datasour; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getDivision() { + return division; + } + + public void setDivision(String division) { + this.division = division; + } + + public Timestamp getDate() { + return date; + } + + public void setDate(Timestamp date) { + this.date = date; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdsprojectevaluationreportEntity.java b/src/main/java/com/lf/server/entity/md/MdsprojectevaluationreportEntity.java new file mode 100644 index 0000000..b522ae2 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdsprojectevaluationreportEntity.java @@ -0,0 +1,205 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdsprojectevaluationreport + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_s_project_evaluation_report") +@EqualsAndHashCode(callSuper = false) +public class MdsprojectevaluationreportEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String producter; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdsprojectevaluationreportEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdsprojectsummaryreportEntity.java b/src/main/java/com/lf/server/entity/md/MdsprojectsummaryreportEntity.java new file mode 100644 index 0000000..7679c67 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdsprojectsummaryreportEntity.java @@ -0,0 +1,205 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdsprojectsummaryreport + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_s_project_summary_report") +@EqualsAndHashCode(callSuper = false) +public class MdsprojectsummaryreportEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String producter; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdsprojectsummaryreportEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdsregionalgeologicalinformationEntity.java b/src/main/java/com/lf/server/entity/md/MdsregionalgeologicalinformationEntity.java new file mode 100644 index 0000000..00ac726 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdsregionalgeologicalinformationEntity.java @@ -0,0 +1,155 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdsregionalgeologicalinformation + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_s_regional_geological_information") +@EqualsAndHashCode(callSuper = false) +public class MdsregionalgeologicalinformationEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodname; + + private String prodcode; + + private String dataformat; + + private Double datasize; + + private String scale; + + private String prodrange; + + private String datasour; + + private String division; + + private Timestamp proddate; + + private String producter; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdsregionalgeologicalinformationEntity() { + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getScale() { + return scale; + } + + public void setScale(String scale) { + this.scale = scale; + } + + public String getProdrange() { + return prodrange; + } + + public void setProdrange(String prodrange) { + this.prodrange = prodrange; + } + + public String getDatasour() { + return datasour; + } + + public void setDatasour(String datasour) { + this.datasour = datasour; + } + + public String getDivision() { + return division; + } + + public void setDivision(String division) { + this.division = division; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdsstandardfrozendepthlineofseasonalfrozensoilEntity.java b/src/main/java/com/lf/server/entity/md/MdsstandardfrozendepthlineofseasonalfrozensoilEntity.java new file mode 100644 index 0000000..e44d812 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdsstandardfrozendepthlineofseasonalfrozensoilEntity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdsstandardfrozendepthlineofseasonalfrozensoil + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_s_standard_frozen_depth_line_of_seasonal_frozen_soil") +@EqualsAndHashCode(callSuper = false) +public class MdsstandardfrozendepthlineofseasonalfrozensoilEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodname; + + private String prodcode; + + private String dataformat; + + private String proddesc; + + private String prodrange; + + private String datasour; + + private Double datasize; + + private String scale; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdsstandardfrozendepthlineofseasonalfrozensoilEntity() { + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProdrange() { + return prodrange; + } + + public void setProdrange(String prodrange) { + this.prodrange = prodrange; + } + + public String getDatasour() { + return datasour; + } + + public void setDatasour(String datasour) { + this.datasour = datasour; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getScale() { + return scale; + } + + public void setScale(String scale) { + this.scale = scale; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdssurveydatabaseEntity.java b/src/main/java/com/lf/server/entity/md/MdssurveydatabaseEntity.java new file mode 100644 index 0000000..ac7aef6 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdssurveydatabaseEntity.java @@ -0,0 +1,185 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdssurveydatabase + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_s_survey_database") +@EqualsAndHashCode(callSuper = false) +public class MdssurveydatabaseEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String taskcode; + + private String taskname; + + private String projectcode; + + private String projectname; + + private String stage; + + private Timestamp proddate; + + private String dataformat; + + private Double datasize; + + private String confilevel; + + private String coorsystem; + + private String verdatum; + + private String producter; + + private String designer; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdssurveydatabaseEntity() { + } + + public String getTaskcode() { + return taskcode; + } + + public void setTaskcode(String taskcode) { + this.taskcode = taskcode; + } + + public String getTaskname() { + return taskname; + } + + public void setTaskname(String taskname) { + this.taskname = taskname; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getStage() { + return stage; + } + + public void setStage(String stage) { + this.stage = stage; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MduasbuiltdrawingofundergroundworksEntity.java b/src/main/java/com/lf/server/entity/md/MduasbuiltdrawingofundergroundworksEntity.java new file mode 100644 index 0000000..73a604c --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MduasbuiltdrawingofundergroundworksEntity.java @@ -0,0 +1,205 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mduasbuiltdrawingofundergroundworks + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_as_built_drawing_of_underground_works") +@EqualsAndHashCode(callSuper = false) +public class MduasbuiltdrawingofundergroundworksEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String majorcode; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MduasbuiltdrawingofundergroundworksEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/Mducaverndesign3dmodelEntity.java b/src/main/java/com/lf/server/entity/md/Mducaverndesign3dmodelEntity.java new file mode 100644 index 0000000..91c0d4d --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/Mducaverndesign3dmodelEntity.java @@ -0,0 +1,265 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mducaverndesign3dmodel + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_cavern_design_3dmodel") +@EqualsAndHashCode(callSuper = false) +public class Mducaverndesign3dmodelEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String owner; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String coorsystem; + + private String coordunit; + + private String verdatum; + + private String mapper; + + private String reviewer; + + private String checker; + + private String plaerr; + + private String vererr; + + private String texres; + + private String imaresol; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public Mducaverndesign3dmodelEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public String getMapper() { + return mapper; + } + + public void setMapper(String mapper) { + this.mapper = mapper; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getPlaerr() { + return plaerr; + } + + public void setPlaerr(String plaerr) { + this.plaerr = plaerr; + } + + public String getVererr() { + return vererr; + } + + public void setVererr(String vererr) { + this.vererr = vererr; + } + + public String getTexres() { + return texres; + } + + public void setTexres(String texres) { + this.texres = texres; + } + + public String getImaresol() { + return imaresol; + } + + public void setImaresol(String imaresol) { + this.imaresol = imaresol; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/Mducaverngeological3dmodelEntity.java b/src/main/java/com/lf/server/entity/md/Mducaverngeological3dmodelEntity.java new file mode 100644 index 0000000..61a1b77 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/Mducaverngeological3dmodelEntity.java @@ -0,0 +1,285 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mducaverngeological3dmodel + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_cavern_geological_3dmodel") +@EqualsAndHashCode(callSuper = false) +public class Mducaverngeological3dmodelEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String owner; + + private String prodrange; + + private Double prodarea; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String coorsystem; + + private String coordunit; + + private String verdatum; + + private String mapper; + + private String reviewer; + + private String checker; + + private String plaerr; + + private String vererr; + + private String texres; + + private String imaresol; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public Mducaverngeological3dmodelEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getProdrange() { + return prodrange; + } + + public void setProdrange(String prodrange) { + this.prodrange = prodrange; + } + + public Double getProdarea() { + return prodarea; + } + + public void setProdarea(Double prodarea) { + this.prodarea = prodarea; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public String getMapper() { + return mapper; + } + + public void setMapper(String mapper) { + this.mapper = mapper; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getPlaerr() { + return plaerr; + } + + public void setPlaerr(String plaerr) { + this.plaerr = plaerr; + } + + public String getVererr() { + return vererr; + } + + public void setVererr(String vererr) { + this.vererr = vererr; + } + + public String getTexres() { + return texres; + } + + public void setTexres(String texres) { + this.texres = texres; + } + + public String getImaresol() { + return imaresol; + } + + public void setImaresol(String imaresol) { + this.imaresol = imaresol; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdudynamicjointsurveysheetEntity.java b/src/main/java/com/lf/server/entity/md/MdudynamicjointsurveysheetEntity.java new file mode 100644 index 0000000..ba8a676 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdudynamicjointsurveysheetEntity.java @@ -0,0 +1,195 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdudynamicjointsurveysheet + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_dynamic_joint_survey_sheet") +@EqualsAndHashCode(callSuper = false) +public class MdudynamicjointsurveysheetEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String majorcode; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String designer; + + private String reviewer; + + private String checker; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdudynamicjointsurveysheetEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdugeneralreportonundergroundengineeringdesignEntity.java b/src/main/java/com/lf/server/entity/md/MdugeneralreportonundergroundengineeringdesignEntity.java new file mode 100644 index 0000000..59b0c20 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdugeneralreportonundergroundengineeringdesignEntity.java @@ -0,0 +1,205 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdugeneralreportonundergroundengineeringdesign + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_general_report_on_underground_engineering_design") +@EqualsAndHashCode(callSuper = false) +public class MdugeneralreportonundergroundengineeringdesignEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String majorcode; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdugeneralreportonundergroundengineeringdesignEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdugeologicalsketchmapEntity.java b/src/main/java/com/lf/server/entity/md/MdugeologicalsketchmapEntity.java new file mode 100644 index 0000000..ccb09b8 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdugeologicalsketchmapEntity.java @@ -0,0 +1,195 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdugeologicalsketchmap + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_geological_sketch_map") +@EqualsAndHashCode(callSuper = false) +public class MdugeologicalsketchmapEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String majorcode; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String designer; + + private String reviewer; + + private String checker; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdugeologicalsketchmapEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MduhydrologicalmonitoringEntity.java b/src/main/java/com/lf/server/entity/md/MduhydrologicalmonitoringEntity.java new file mode 100644 index 0000000..e6be04e --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MduhydrologicalmonitoringEntity.java @@ -0,0 +1,225 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mduhydrologicalmonitoring + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_hydrological_monitoring") +@EqualsAndHashCode(callSuper = false) +public class MduhydrologicalmonitoringEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String borhoname; + + private String borhocode; + + private String prodver; + + private String owner; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp survdate; + + private Timestamp proddate; + + private Timestamp updadate; + + private String sampinte; + + private String vererr; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MduhydrologicalmonitoringEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getBorhoname() { + return borhoname; + } + + public void setBorhoname(String borhoname) { + this.borhoname = borhoname; + } + + public String getBorhocode() { + return borhocode; + } + + public void setBorhocode(String borhocode) { + this.borhocode = borhocode; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getSurvdate() { + return survdate; + } + + public void setSurvdate(Timestamp survdate) { + this.survdate = survdate; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public Timestamp getUpdadate() { + return updadate; + } + + public void setUpdadate(Timestamp updadate) { + this.updadate = updadate; + } + + public String getSampinte() { + return sampinte; + } + + public void setSampinte(String sampinte) { + this.sampinte = sampinte; + } + + public String getVererr() { + return vererr; + } + + public void setVererr(String vererr) { + this.vererr = vererr; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdupreventionandcontroldiagramofconnectingroadwayEntity.java b/src/main/java/com/lf/server/entity/md/MdupreventionandcontroldiagramofconnectingroadwayEntity.java new file mode 100644 index 0000000..fa120c9 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdupreventionandcontroldiagramofconnectingroadwayEntity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdupreventionandcontroldiagramofconnectingroadway + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_prevention_and_control_diagram_of_connecting_roadway") +@EqualsAndHashCode(callSuper = false) +public class MdupreventionandcontroldiagramofconnectingroadwayEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String owner; + + private String majorcode; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String coordunit; + + private String scale; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdupreventionandcontroldiagramofconnectingroadwayEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getScale() { + return scale; + } + + public void setScale(String scale) { + this.scale = scale; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdupreventionandcontroldiagramofconstructionroadwayEntity.java b/src/main/java/com/lf/server/entity/md/MdupreventionandcontroldiagramofconstructionroadwayEntity.java new file mode 100644 index 0000000..905adee --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdupreventionandcontroldiagramofconstructionroadwayEntity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdupreventionandcontroldiagramofconstructionroadway + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_prevention_and_control_diagram_of_construction_roadway") +@EqualsAndHashCode(callSuper = false) +public class MdupreventionandcontroldiagramofconstructionroadwayEntity extends BaseEntity { + private static final long serialVersionUID = 154119093508515072L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String owner; + + private String majorcode; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String coordunit; + + private String scale; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdupreventionandcontroldiagramofconstructionroadwayEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getScale() { + return scale; + } + + public void setScale(String scale) { + this.scale = scale; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdupreventionandcontroldiagramofoilstoragecavernEntity.java b/src/main/java/com/lf/server/entity/md/MdupreventionandcontroldiagramofoilstoragecavernEntity.java new file mode 100644 index 0000000..aff480d --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdupreventionandcontroldiagramofoilstoragecavernEntity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdupreventionandcontroldiagramofoilstoragecavern + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_prevention_and_control_diagram_of_oil_storage_cavern") +@EqualsAndHashCode(callSuper = false) +public class MdupreventionandcontroldiagramofoilstoragecavernEntity extends BaseEntity { + private static final long serialVersionUID = 795314066482388480L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String owner; + + private String majorcode; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String coordunit; + + private String scale; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdupreventionandcontroldiagramofoilstoragecavernEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getScale() { + return scale; + } + + public void setScale(String scale) { + this.scale = scale; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdupreventiondiagramofsealingplugEntity.java b/src/main/java/com/lf/server/entity/md/MdupreventiondiagramofsealingplugEntity.java new file mode 100644 index 0000000..926de90 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdupreventiondiagramofsealingplugEntity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdupreventiondiagramofsealingplug + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_prevention_diagram_of_sealing_plug") +@EqualsAndHashCode(callSuper = false) +public class MdupreventiondiagramofsealingplugEntity extends BaseEntity { + private static final long serialVersionUID = 795314066482388480L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String owner; + + private String majorcode; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String coordunit; + + private String scale; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdupreventiondiagramofsealingplugEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getScale() { + return scale; + } + + public void setScale(String scale) { + this.scale = scale; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MduqvalueconfirmationsheetEntity.java b/src/main/java/com/lf/server/entity/md/MduqvalueconfirmationsheetEntity.java new file mode 100644 index 0000000..cecf503 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MduqvalueconfirmationsheetEntity.java @@ -0,0 +1,195 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mduqvalueconfirmationsheet + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_q_value_confirmation_sheet") +@EqualsAndHashCode(callSuper = false) +public class MduqvalueconfirmationsheetEntity extends BaseEntity { + private static final long serialVersionUID = 795314066482388480L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String majorcode; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String designer; + + private String reviewer; + + private String checker; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MduqvalueconfirmationsheetEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MduseepagecalculationmodelEntity.java b/src/main/java/com/lf/server/entity/md/MduseepagecalculationmodelEntity.java new file mode 100644 index 0000000..af93ab6 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MduseepagecalculationmodelEntity.java @@ -0,0 +1,195 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mduseepagecalculationmodel + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_seepage_calculation_model") +@EqualsAndHashCode(callSuper = false) +public class MduseepagecalculationmodelEntity extends BaseEntity { + private static final long serialVersionUID = 795314066482388480L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String owner; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String mapper; + + private String reviewer; + + private String checker; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MduseepagecalculationmodelEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getMapper() { + return mapper; + } + + public void setMapper(String mapper) { + this.mapper = mapper; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdushaftpreventionandcontroldiagramEntity.java b/src/main/java/com/lf/server/entity/md/MdushaftpreventionandcontroldiagramEntity.java new file mode 100644 index 0000000..9a97bed --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdushaftpreventionandcontroldiagramEntity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdushaftpreventionandcontroldiagram + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_shaft_prevention_and_control_diagram") +@EqualsAndHashCode(callSuper = false) +public class MdushaftpreventionandcontroldiagramEntity extends BaseEntity { + private static final long serialVersionUID = 795314066482388480L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String owner; + + private String majorcode; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String coordunit; + + private String scale; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdushaftpreventionandcontroldiagramEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getScale() { + return scale; + } + + public void setScale(String scale) { + this.scale = scale; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MduspecialdesignreportEntity.java b/src/main/java/com/lf/server/entity/md/MduspecialdesignreportEntity.java new file mode 100644 index 0000000..bcafad9 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MduspecialdesignreportEntity.java @@ -0,0 +1,205 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mduspecialdesignreport + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_special_design_report") +@EqualsAndHashCode(callSuper = false) +public class MduspecialdesignreportEntity extends BaseEntity { + private static final long serialVersionUID = 795314066482388480L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String majorcode; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MduspecialdesignreportEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MduspecialevaluationreportEntity.java b/src/main/java/com/lf/server/entity/md/MduspecialevaluationreportEntity.java new file mode 100644 index 0000000..8b67392 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MduspecialevaluationreportEntity.java @@ -0,0 +1,165 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mduspecialevaluationreport + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_special_evaluation_report") +@EqualsAndHashCode(callSuper = false) +public class MduspecialevaluationreportEntity extends BaseEntity { + private static final long serialVersionUID = 795314066482388480L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String producter; + + private String belongsid; + + private String datastatus; + + private String remarks; + + public MduspecialevaluationreportEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getProducter() { + return producter; + } + + public void setProducter(String producter) { + this.producter = producter; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdustabilitycalculationmodelEntity.java b/src/main/java/com/lf/server/entity/md/MdustabilitycalculationmodelEntity.java new file mode 100644 index 0000000..dd139eb --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdustabilitycalculationmodelEntity.java @@ -0,0 +1,195 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdustabilitycalculationmodel + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_stability_calculation_model") +@EqualsAndHashCode(callSuper = false) +public class MdustabilitycalculationmodelEntity extends BaseEntity { + private static final long serialVersionUID = 795314066482388480L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String owner; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String mapper; + + private String reviewer; + + private String checker; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdustabilitycalculationmodelEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getMapper() { + return mapper; + } + + public void setMapper(String mapper) { + this.mapper = mapper; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdustabilitymonitoringchartEntity.java b/src/main/java/com/lf/server/entity/md/MdustabilitymonitoringchartEntity.java new file mode 100644 index 0000000..119a90a --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdustabilitymonitoringchartEntity.java @@ -0,0 +1,255 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdustabilitymonitoringchart + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_stability_monitoring_chart") +@EqualsAndHashCode(callSuper = false) +public class MdustabilitymonitoringchartEntity extends BaseEntity { + private static final long serialVersionUID = 795314066482388480L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String owner; + + private String majorcode; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String coordunit; + + private String scale; + + private String coorsystem; + + private String verdatum; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdustabilitymonitoringchartEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getScale() { + return scale; + } + + public void setScale(String scale) { + this.scale = scale; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdutechnicalsummaryreportEntity.java b/src/main/java/com/lf/server/entity/md/MdutechnicalsummaryreportEntity.java new file mode 100644 index 0000000..f190a68 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdutechnicalsummaryreportEntity.java @@ -0,0 +1,195 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mdutechnicalsummaryreport + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_technical_summary_report") +@EqualsAndHashCode(callSuper = false) +public class MdutechnicalsummaryreportEntity extends BaseEntity { + private static final long serialVersionUID = 795314066482388480L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String majorcode; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String designer; + + private String reviewer; + + private String checker; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MdutechnicalsummaryreportEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MduundergroundengineeringplanEntity.java b/src/main/java/com/lf/server/entity/md/MduundergroundengineeringplanEntity.java new file mode 100644 index 0000000..fb449d5 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MduundergroundengineeringplanEntity.java @@ -0,0 +1,255 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mduundergroundengineeringplan + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_underground_engineering_plan") +@EqualsAndHashCode(callSuper = false) +public class MduundergroundengineeringplanEntity extends BaseEntity { + private static final long serialVersionUID = 795314066482388480L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String owner; + + private String majorcode; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String coorsystem; + + private String coordunit; + + private String verdatum; + + private String scale; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MduundergroundengineeringplanEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public String getScale() { + return scale; + } + + public void setScale(String scale) { + this.scale = scale; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MduwatercurtainroadwaypreventiondiagramEntity.java b/src/main/java/com/lf/server/entity/md/MduwatercurtainroadwaypreventiondiagramEntity.java new file mode 100644 index 0000000..f4a951a --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MduwatercurtainroadwaypreventiondiagramEntity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mduwatercurtainroadwaypreventiondiagram + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_water_curtain_roadway_prevention_diagram") +@EqualsAndHashCode(callSuper = false) +public class MduwatercurtainroadwaypreventiondiagramEntity extends BaseEntity { + private static final long serialVersionUID = 795314066482388480L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String owner; + + private String majorcode; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String coordunit; + + private String scale; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MduwatercurtainroadwaypreventiondiagramEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getScale() { + return scale; + } + + public void setScale(String scale) { + this.scale = scale; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MduwatersealmonitoringdiagramEntity.java b/src/main/java/com/lf/server/entity/md/MduwatersealmonitoringdiagramEntity.java new file mode 100644 index 0000000..381af38 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MduwatersealmonitoringdiagramEntity.java @@ -0,0 +1,255 @@ +package com.lf.server.entity.md; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Mduwatersealmonitoringdiagram + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("md.md_u_water_seal_monitoring_diagram") +@EqualsAndHashCode(callSuper = false) +public class MduwatersealmonitoringdiagramEntity extends BaseEntity { + private static final long serialVersionUID = 795314066482388480L; + + private String prodcode; + + private String prodname; + + private String proddesc; + + private String projectcode; + + private String projectname; + + private String prodver; + + private String owner; + + private String majorcode; + + private Double datasize; + + private String confilevel; + + private String dataformat; + + private Timestamp proddate; + + private String coordunit; + + private String scale; + + private String coorsystem; + + private String verdatum; + + private String designer; + + private String reviewer; + + private String checker; + + private String approver; + + private String remarks; + + private String belongsid; + + private String datastatus; + + public MduwatersealmonitoringdiagramEntity() { + } + + public String getProdcode() { + return prodcode; + } + + public void setProdcode(String prodcode) { + this.prodcode = prodcode; + } + + public String getProdname() { + return prodname; + } + + public void setProdname(String prodname) { + this.prodname = prodname; + } + + public String getProddesc() { + return proddesc; + } + + public void setProddesc(String proddesc) { + this.proddesc = proddesc; + } + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public String getProdver() { + return prodver; + } + + public void setProdver(String prodver) { + this.prodver = prodver; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getMajorcode() { + return majorcode; + } + + public void setMajorcode(String majorcode) { + this.majorcode = majorcode; + } + + public Double getDatasize() { + return datasize; + } + + public void setDatasize(Double datasize) { + this.datasize = datasize; + } + + public String getConfilevel() { + return confilevel; + } + + public void setConfilevel(String confilevel) { + this.confilevel = confilevel; + } + + public String getDataformat() { + return dataformat; + } + + public void setDataformat(String dataformat) { + this.dataformat = dataformat; + } + + public Timestamp getProddate() { + return proddate; + } + + public void setProddate(Timestamp proddate) { + this.proddate = proddate; + } + + public String getCoordunit() { + return coordunit; + } + + public void setCoordunit(String coordunit) { + this.coordunit = coordunit; + } + + public String getScale() { + return scale; + } + + public void setScale(String scale) { + this.scale = scale; + } + + public String getCoorsystem() { + return coorsystem; + } + + public void setCoorsystem(String coorsystem) { + this.coorsystem = coorsystem; + } + + public String getVerdatum() { + return verdatum; + } + + public void setVerdatum(String verdatum) { + this.verdatum = verdatum; + } + + public String getDesigner() { + return designer; + } + + public void setDesigner(String designer) { + this.designer = designer; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } +} diff --git a/src/main/java/com/lf/server/entity/md/MdzxcgEntity.java b/src/main/java/com/lf/server/entity/md/MdzxcgEntity.java new file mode 100644 index 0000000..ad50001 --- /dev/null +++ b/src/main/java/com/lf/server/entity/md/MdzxcgEntity.java @@ -0,0 +1,90 @@ +package com.lf.server.entity.md; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.annotation.ExcelHead; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * 涓嚎鎴愭灉琛� + * @author WWW + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@TableName("md.md_zxcg") +@ExcelHead(headRows = 1) +@EqualsAndHashCode(callSuper = true) +public class MdzxcgEntity extends BaseGeoEntity { + private static final long serialVersionUID = 686714648588893312L; + + @ExcelProperty(index = 0) + private String zh; + + @ExcelProperty(index = 1) + private Double zj; + + @ExcelProperty(index = 2) + private Double lc; + + @ExcelProperty(index = 3) + private Double x; + + @ExcelProperty(index = 4) + private Double y; + + @ExcelProperty(index = 5) + private Double z; + + public String getZh() { + return zh; + } + + public void setZh(String zh) { + this.zh = zh; + } + + public Double getZj() { + return zj; + } + + public void setZj(Double zj) { + this.zj = zj; + } + + public Double getLc() { + return lc; + } + + public void setLc(Double lc) { + this.lc = lc; + } + + public Double getX() { + return x; + } + + public void setX(Double x) { + this.x = x; + } + + public Double getY() { + return y; + } + + public void setY(Double y) { + this.y = y; + } + + public Double getZ() { + return z; + } + + public void setZ(Double z) { + this.z = z; + } +} diff --git a/src/main/java/com/lf/server/entity/other/CheckOutLicense.java b/src/main/java/com/lf/server/entity/other/CheckOutLicense.java new file mode 100644 index 0000000..136e64d --- /dev/null +++ b/src/main/java/com/lf/server/entity/other/CheckOutLicense.java @@ -0,0 +1,238 @@ +package com.lf.server.entity.other; + +import org.apache.commons.codec.binary.Hex; + +import javax.crypto.Cipher; +import javax.crypto.SecretKey; +import java.io.ByteArrayInputStream; +import java.io.ObjectInputStream; +import java.util.Arrays; +import java.util.Calendar; +import java.util.Random; + +/** + * CheckOutLicense + * @author WWW + */ +@SuppressWarnings("AlibabaUndefineMagicConstant") +public class CheckOutLicense { + public static String createFloatingLicense(int n, String s, long expireDate) { + int[] registeredModules = new int[]{1, 3, 4, 9, 10, 11, 12, 13, 17, 25, 30, 33, 37}; + + long n2; + if ((n2 = System.currentTimeMillis() + 86400000L) > expireDate) { + n2 = expireDate; + } + + CheckOutLicense e = new CheckOutLicense(); + e.a(n2); + e.a(n); + e.cc(s); + e.a(registeredModules); + + return e.aaa(e); + } + + public String aaa(final CheckOutLicense b) { + final CheckOutLicense e = b; + return new String(a(e.a, e.b, e.c)) + new bb().a(new StringBuilder().append(e.ee()).toString()); + } + + private char[] a(final long n, final int[] array, final int i) { + final char[] array2 = new char[48]; + final String b = b(n); + final String value = String.valueOf(i); + + final bb b2 = new bb(); + final String a = b2.a(b); + final String a2 = b2.a(value); + + final cc c = new cc(); + for (int j = 0; j < array.length; ++j) { + c.b(array[j]); + } + + final char[] a3 = c.a(); + for (int k = 0; k < 16; ++k) { + array2[k * 3] = a3[k]; + array2[k * 3 + 1] = a.charAt(k); + array2[k * 3 + 2] = a2.charAt(k); + } + return array2; + } + + private static String b(final long timeInMillis) { + final Calendar instance; + (instance = Calendar.getInstance()).setTimeInMillis(timeInMillis); + final int value = instance.get(1); + final int value2 = instance.get(2); + final int value3 = instance.get(5); + final String substring = Integer.toString(value).substring(2, 4); + String s; + if ((s = Integer.toString(value2 + 1)).length() == 1) { + s = "0".concat(String.valueOf(s)); + } + String s2; + if ((s2 = Integer.toString(value3)).length() == 1) { + s2 = "0".concat(String.valueOf(s2)); + } + return String.valueOf(substring) + s + s2; + } + + public static CheckOutLicense a(String s) { + try { + return null; + } catch (Exception ex) { + return null; + } + } + + public final String ee() { + return this.aa; + } + + private String aa; + private long a; + private int c; + private int[] b; + + public final void a(final long a) { + this.a = a; + } + + public final void a(final int c) { + this.c = c; + } + + public final void a(final int[] b) { + this.b = b; + } + + public final long a() { + return this.a; + } + + public final int[] b() { + return this.b; + } + + public final int c() { + return this.c; + } + + private void cc(String aa) { + this.aa = aa; + } + + @SuppressWarnings("AlibabaClassNamingShouldBeCamel") + public class bb { + private SecretKey a; + + public bb() { + try { + this.a = (SecretKey) new ObjectInputStream(new ByteArrayInputStream(Hex.decodeHex("aced0005737200146a6176612e73656375726974792e4b6579526570bdf94fb3889aa5430200044c0009616c676f726974686d7400124c6a6176612f6c616e672f537472696e673b5b0007656e636f6465647400025b424c0006666f726d617471007e00014c00047479706574001b4c6a6176612f73656375726974792f4b657952657024547970653b7870740003444553757200025b42acf317f8060854e00200007870000000084f5b0e52b33dbf797400035241577e7200196a6176612e73656375726974792e4b6579526570245479706500000000000000001200007872000e6a6176612e6c616e672e456e756d00000000000000001200007870740006534543524554".toCharArray()))).readObject(); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + public String a(final String s) { + try { + final Cipher instance; + (instance = Cipher.getInstance("DES/ECB/PKCS5Padding")).init(1, this.a); + return Hex.encodeHexString(instance.doFinal(s.getBytes())); + } catch (Exception ex) { + return null; + } + } + + public String b(final String s) { + try { + final Cipher instance; + (instance = Cipher.getInstance("DES/ECB/PKCS5Padding")).init(2, this.a); + return new String(instance.doFinal(Hex.decodeHex(s.toCharArray()))); + } catch (Exception ex) { + return null; + } + } + } + + @SuppressWarnings("AlibabaClassNamingShouldBeCamel") + public final class cc { + private int a; + private char[] b; + private int c = 63; + + public cc() { + this.a = 0; + Arrays.fill(this.b = new char[c], '0'); + this.a = new Random().nextInt(16); + String obj; + if ((obj = Integer.toBinaryString(this.a)).length() == 1) { + obj = "000".concat(String.valueOf(obj)); + } else if (obj.length() == 2) { + obj = "00".concat(String.valueOf(obj)); + } else if (obj.length() == 3) { + obj = "0".concat(String.valueOf(obj)); + } + for (int i = 0; i < 4; ++i) { + this.b[i] = obj.charAt(i); + } + } + + public cc(String binaryString) { + this.a = 0; + Arrays.fill(this.b = new char[c], '0'); + final int length; + if ((length = (binaryString = Long.toBinaryString(Long.parseUnsignedLong(binaryString, 16))).length()) <= c) { + for (int i = 0; i < length; ++i) { + this.b[c - length + i] = binaryString.charAt(i); + } + } + final char[] value = new char[4]; + System.arraycopy(this.b, 0, value, 0, 4); + binaryString = new String(value); + this.a = Integer.parseUnsignedInt(binaryString, 2); + } + + @Override + public final String toString() { + String string = ""; + for (int i = 0; i < c; ++i) { + string = String.valueOf(string) + this.b[i]; + } + return string; + } + + public final char[] a() { + final String hexString = Long.toHexString(Long.parseUnsignedLong(this.toString(), 2)); + final int n; + final char[] array; + Arrays.fill(array = new char[n = (c + 1) / 4], '0'); + for (int length = hexString.length(), i = 0; i < length; ++i) { + array[n - length + i] = hexString.charAt(i); + } + return array; + } + + public final boolean a(int c) { + return (c = this.c(c)) < c && this.b[c] == '1' && c >= 4; + } + + private int c(int n) { + if (n >= 0 && n < 59) { + if ((n += 4 + this.a) >= 63) { + n -= 59; + } + return n; + } + return -1; + } + + public final void b(int c) { + if ((c = this.c(c)) < c && c >= 4) { + this.b[c] = '1'; + } + } + } +} diff --git a/src/main/java/com/lf/server/entity/other/FloatServerResponse.java b/src/main/java/com/lf/server/entity/other/FloatServerResponse.java new file mode 100644 index 0000000..de5ed9d --- /dev/null +++ b/src/main/java/com/lf/server/entity/other/FloatServerResponse.java @@ -0,0 +1,107 @@ +package com.lf.server.entity.other; + +import com.lf.server.helper.StringHelper; + +import java.util.Calendar; + +/** + * FloatServerResponse + * @author WWW + */ +public class FloatServerResponse { + private String modules; + + private String id; + + private String expireDate; + + private int processNum; + + private long time; + + private int availableNum; + + private String licenseCode; + + private String localId; + + public FloatServerResponse() { + } + + public FloatServerResponse(ReqParamFloatServer rfs) { + Calendar calendar = Calendar.getInstance(); + calendar.set(Calendar.YEAR, 2025); + + this.id = rfs.getId(); + this.localId = rfs.getLocalId(); + this.availableNum = rfs.getAvailableNum(); + this.time = calendar.getTimeInMillis(); + this.expireDate = StringHelper.YMD_FORMAT.format(this.time); + //this.licenseCode = "78a82f0920de0f557f8177bec1e48601c4dc25e4054a00728e4314b56528d3a1632de5298edee38a65412277977a174fea5d91c452b19ef138dbc2ba089ba632"; + this.licenseCode = CheckOutLicense.createFloatingLicense(rfs.getAvailableNum(), rfs.getId(), this.time); + } + + public String getModules() { + return this.modules; + } + + public void setModules(final String modules) { + this.modules = modules; + } + + public String getId() { + return this.id; + } + + public void setId(final String id) { + this.id = id; + } + + public String getExpireDate() { + return this.expireDate; + } + + public void setExpireDate(final String expireDate) { + this.expireDate = expireDate; + } + + public int getProcessNum() { + return this.processNum; + } + + public void setProcessNum(final int processNum) { + this.processNum = processNum; + } + + public int getAvailableNum() { + return this.availableNum; + } + + public void setAvailableNum(final int availableNum) { + this.availableNum = availableNum; + } + + public long getTime() { + return this.time; + } + + public void setTime(final long time) { + this.time = time; + } + + public String getLicenseCode() { + return this.licenseCode; + } + + public void setLicenseCode(final String licenseCode) { + this.licenseCode = licenseCode; + } + + public String getLocalId() { + return localId; + } + + public void setLocalId(String localId) { + this.localId = localId; + } +} diff --git a/src/main/java/com/lf/server/entity/other/ReqParamFloatServer.java b/src/main/java/com/lf/server/entity/other/ReqParamFloatServer.java new file mode 100644 index 0000000..2342e00 --- /dev/null +++ b/src/main/java/com/lf/server/entity/other/ReqParamFloatServer.java @@ -0,0 +1,143 @@ +package com.lf.server.entity.other; + +import java.net.Inet4Address; +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.net.SocketException; +import java.util.Enumeration; + +/** + * ReqParamFloatServer + * @author WWW + */ +public class ReqParamFloatServer { + private String id; + + private String port; + + private String modules; + + private int availableNum; + + private long time; + + private String localId; + + private String cmdType; + + public ReqParamFloatServer() { + this.localId = a(); + } + + public ReqParamFloatServer(String id, String port) { + this.id = id; + this.port = port; + this.localId = a(); + } + + public String getPort() { + return this.port; + } + + public void setPort(final String port) { + this.port = port; + } + + public String getId() { + return this.id; + } + + public void setId(final String id) { + this.id = id; + } + + public String getModules() { + return this.modules; + } + + public void setModules(final String modules) { + this.modules = modules; + } + + public int getAvailableNum() { + return this.availableNum; + } + + public void setAvailableNum(final int availableNum) { + this.availableNum = availableNum; + } + + public long getTime() { + return this.time; + } + + public void setTime(final long time) { + this.time = time; + } + + public String getLocalId() { + return this.localId; + } + + public String getCmdType() { + return this.cmdType; + } + + public void setCmdType(final String cmdType) { + this.cmdType = cmdType; + } + + public static String a() { + String string = ""; + try { + final Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces(); + while (networkInterfaces.hasMoreElements()) { + final NetworkInterface networkInterface; + if (!(networkInterface = networkInterfaces.nextElement()).isLoopback() && !networkInterface.isVirtual() && networkInterface.isUp()) { + final Enumeration<InetAddress> inetAddresses = networkInterface.getInetAddresses(); + final byte[] hardwareAddress; + if ((hardwareAddress = networkInterface.getHardwareAddress()) == null || networkInterface.getName().contains("docker")) { + continue; + } + while (inetAddresses.hasMoreElements()) { + final InetAddress inetAddress; + if ((inetAddress = inetAddresses.nextElement()) != null && inetAddress instanceof Inet4Address) { + final String a = a(inetAddress); + string = String.valueOf(inetAddress.getHostAddress()) + "|" + a; + if (!a.isEmpty()) { + return string; + } + continue; + } + } + } + } + } catch (SocketException ex) { + // + } + return string; + } + + private static String a(final InetAddress addr) { + String upperCase = ""; + try { + final byte[] hardwareAddress = NetworkInterface.getByInetAddress(addr).getHardwareAddress(); + final StringBuffer sb = new StringBuffer(""); + for (int i = 0; i < hardwareAddress.length; ++i) { + if (i != 0) { + sb.append("-"); + } + final String hexString; + if ((hexString = Integer.toHexString(hardwareAddress[i] & 0xFF)).length() == 1) { + sb.append("0".concat(String.valueOf(hexString))); + } else { + sb.append(hexString); + } + } + upperCase = sb.toString().toUpperCase(); + } catch (Exception ex) { + // + } + return upperCase; + } +} diff --git a/src/main/java/com/lf/server/entity/show/ApplyEntity.java b/src/main/java/com/lf/server/entity/show/ApplyEntity.java new file mode 100644 index 0000000..133beef --- /dev/null +++ b/src/main/java/com/lf/server/entity/show/ApplyEntity.java @@ -0,0 +1,225 @@ +package com.lf.server.entity.show; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鏁版嵁鐢宠 + * @author WWW + */ +public class ApplyEntity implements Serializable { + private static final long serialVersionUID = -849213119060365952L; + + private int id; + + private int userid; + + private String depids; + + private String tabs; + + private String entities; + + private String wkt; + + private String pwd; + + private int status; + + private int count; + + private String descr; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String uname; + + private Integer isVerify; + + private String depcode; + + private String dircodes; + + private String gids; + + private String filters; + + private String guid; + + public ApplyEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getUserid() { + return userid; + } + + public void setUserid(int userid) { + this.userid = userid; + } + + public String getDepids() { + return depids; + } + + public void setDepids(String depids) { + this.depids = depids; + } + + public String getTabs() { + return tabs; + } + + public void setTabs(String tabs) { + this.tabs = tabs; + } + + public String getEntities() { + return entities; + } + + public void setEntities(String entities) { + this.entities = entities; + } + + public String getWkt() { + return wkt; + } + + public void setWkt(String wkt) { + this.wkt = wkt; + } + + public String getPwd() { + return pwd; + } + + public void setPwd(String pwd) { + this.pwd = pwd; + } + + public int getStatus() { + return status; + } + + public void setStatus(int status) { + this.status = status; + } + + public int getCount() { + return count; + } + + public void setCount(int count) { + this.count = count; + } + + public String getDescr() { + return descr; + } + + public void setDescr(String descr) { + this.descr = descr; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getUname() { + return uname; + } + + public void setUname(String uname) { + this.uname = uname; + } + + public Integer getIsVerify() { + return isVerify; + } + + public void setIsVerify(Integer isVerify) { + this.isVerify = isVerify; + } + + public String getDepcode() { + return depcode; + } + + public void setDepcode(String depcode) { + this.depcode = depcode; + } + + public String getDircodes() { + return dircodes; + } + + public void setDircodes(String dircodes) { + this.dircodes = dircodes; + } + + public String getGids() { + return gids; + } + + public void setGids(String gids) { + this.gids = gids; + } + + public String getFilters() { + return filters; + } + + public void setFilters(String filters) { + this.filters = filters; + } + + public String getGuid() { + return guid; + } + + public void setGuid(String guid) { + this.guid = guid; + } +} diff --git a/src/main/java/com/lf/server/entity/show/ExportEntity.java b/src/main/java/com/lf/server/entity/show/ExportEntity.java new file mode 100644 index 0000000..e1e410d --- /dev/null +++ b/src/main/java/com/lf/server/entity/show/ExportEntity.java @@ -0,0 +1,146 @@ +package com.lf.server.entity.show; + +import lombok.AllArgsConstructor; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * 鍦ㄧ嚎鍒跺浘 + * @author WWW + */ +@AllArgsConstructor +@NoArgsConstructor +public class ExportEntity implements Serializable { + private static final long serialVersionUID = -2104359582441796685L; + + private String token; + + private String title; + + private String pageSize; + + private String province; + + private String scale; + + private String resolution; + + private String date; + + private String layers; + + private double rotation; + + private double xmin; + + private double ymin; + + private double ymax; + + private double xmax; + + public String getToken() { + return token; + } + + public void setToken(String token) { + this.token = token; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getPageSize() { + return pageSize; + } + + public void setPageSize(String pageSize) { + this.pageSize = pageSize; + } + + public String getProvince() { + return province; + } + + public void setProvince(String province) { + this.province = province; + } + + public String getScale() { + return scale; + } + + public void setScale(String scale) { + this.scale = scale; + } + + public String getResolution() { + return resolution; + } + + public void setResolution(String resolution) { + this.resolution = resolution; + } + + public String getDate() { + return date; + } + + public void setDate(String date) { + this.date = date; + } + + public String getLayers() { + return layers; + } + + public void setLayers(String layers) { + this.layers = layers; + } + + public double getRotation() { + return rotation; + } + + public void setRotation(double rotation) { + this.rotation = rotation; + } + + public double getXmin() { + return xmin; + } + + public void setXmin(double xmin) { + this.xmin = xmin; + } + + public double getYmin() { + return ymin; + } + + public void setYmin(double ymin) { + this.ymin = ymin; + } + + public double getYmax() { + return ymax; + } + + public void setYmax(double ymax) { + this.ymax = ymax; + } + + public double getXmax() { + return xmax; + } + + public void setXmax(double xmax) { + this.xmax = xmax; + } +} diff --git a/src/main/java/com/lf/server/entity/show/FlowEntity.java b/src/main/java/com/lf/server/entity/show/FlowEntity.java new file mode 100644 index 0000000..e03dc20 --- /dev/null +++ b/src/main/java/com/lf/server/entity/show/FlowEntity.java @@ -0,0 +1,135 @@ +package com.lf.server.entity.show; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鐢宠娴佺▼ + * @author WWW + */ +public class FlowEntity implements Serializable { + private static final long serialVersionUID = -267684465864526336L; + + private int id; + + private int applyid; + + private String depcode; + + private int userid; + + private int status; + + private String descr; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String uname; + + private String depName; + + public FlowEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getApplyid() { + return applyid; + } + + public void setApplyid(int applyid) { + this.applyid = applyid; + } + + public String getDepcode() { + return depcode; + } + + public void setDepcode(String depcode) { + this.depcode = depcode; + } + + public int getUserid() { + return userid; + } + + public void setUserid(int userid) { + this.userid = userid; + } + + public int getStatus() { + return status; + } + + public void setStatus(int status) { + this.status = status; + } + + public String getDescr() { + return descr; + } + + public void setDescr(String descr) { + this.descr = descr; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getUname() { + return uname; + } + + public void setUname(String uname) { + this.uname = uname; + } + + public String getDepName() { + return depName; + } + + public void setDepName(String depName) { + this.depName = depName; + } +} diff --git a/src/main/java/com/lf/server/entity/show/MarkEntity.java b/src/main/java/com/lf/server/entity/show/MarkEntity.java new file mode 100644 index 0000000..266739b --- /dev/null +++ b/src/main/java/com/lf/server/entity/show/MarkEntity.java @@ -0,0 +1,85 @@ +package com.lf.server.entity.show; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鏍囩粯 + * @author WWW + */ +public class MarkEntity implements Serializable { + private static final long serialVersionUID = -865286612354818048L; + + private int id; + + private String name; + + private String wkt; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + public MarkEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getWkt() { + return wkt; + } + + public void setWkt(String wkt) { + this.wkt = wkt; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } +} diff --git a/src/main/java/com/lf/server/entity/show/ModelEntity.java b/src/main/java/com/lf/server/entity/show/ModelEntity.java new file mode 100644 index 0000000..78a0fd0 --- /dev/null +++ b/src/main/java/com/lf/server/entity/show/ModelEntity.java @@ -0,0 +1,155 @@ +package com.lf.server.entity.show; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 妯″瀷 + * @author WWW + */ +public class ModelEntity implements Serializable { + private static final long serialVersionUID = -41778639909708240L; + + private int id; + + private int layerid; + + private String modelid; + + private String guid; + + private String name; + + private String type; + + private String info; + + private String url; + + private String icon; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String bak; + + public ModelEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getLayerid() { + return layerid; + } + + public void setLayerid(int layerid) { + this.layerid = layerid; + } + + public String getModelid() { + return modelid; + } + + public void setModelid(String modelid) { + this.modelid = modelid; + } + + public String getGuid() { + return guid; + } + + public void setGuid(String guid) { + this.guid = guid; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getInfo() { + return info; + } + + public void setInfo(String info) { + this.info = info; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getIcon() { + return icon; + } + + public void setIcon(String icon) { + this.icon = icon; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } +} diff --git a/src/main/java/com/lf/server/entity/show/OneMapEntity.java b/src/main/java/com/lf/server/entity/show/OneMapEntity.java new file mode 100644 index 0000000..7850e96 --- /dev/null +++ b/src/main/java/com/lf/server/entity/show/OneMapEntity.java @@ -0,0 +1,294 @@ +package com.lf.server.entity.show; + +import com.fasterxml.jackson.annotation.JsonIgnore; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 瀹樼綉涓�寮犲浘瀹炰綋 + * + * @author xing + * @date 2023/02/20 + */ +public class OneMapEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * value + */ + @JsonIgnore + private String value; + + /** + * key + */ + @JsonIgnore + private String key; + + private int id; + + private String eventid; + + private int metaid; + + private short ismeta; + + private String dircode; + + private String depcode; + + private int verid; + + private String name; + + private String type; + + private String guid; + + private String path; + + private double sizes; + + private String tab; + + private String layer; + + private int rows; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String bak; + + private String geom; + + private String uname; + + private String depName; + + private String verName; + + private String dirName; + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getEventid() { + return eventid; + } + + public void setEventid(String eventid) { + this.eventid = eventid; + } + + public int getMetaid() { + return metaid; + } + + public void setMetaid(int metaid) { + this.metaid = metaid; + } + + public short getIsmeta() { + return ismeta; + } + + public void setIsmeta(short ismeta) { + this.ismeta = ismeta; + } + + public String getDircode() { + return dircode; + } + + public void setDircode(String dircode) { + this.dircode = dircode; + } + + public String getDepcode() { + return depcode; + } + + public void setDepcode(String depcode) { + this.depcode = depcode; + } + + public int getVerid() { + return verid; + } + + public void setVerid(int verid) { + this.verid = verid; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getGuid() { + return guid; + } + + public void setGuid(String guid) { + this.guid = guid; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public double getSizes() { + return sizes; + } + + public void setSizes(double sizes) { + this.sizes = sizes; + } + + public String getTab() { + return tab; + } + + public void setTab(String tab) { + this.tab = tab; + } + + public String getLayer() { + return layer; + } + + public void setLayer(String layer) { + this.layer = layer; + } + + public int getRows() { + return rows; + } + + public void setRows(int rows) { + this.rows = rows; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } + + public String getGeom() { + return geom; + } + + public void setGeom(String geom) { + this.geom = geom; + } + + public String getUname() { + return uname; + } + + public void setUname(String uname) { + this.uname = uname; + } + + public String getDepName() { + return depName; + } + + public void setDepName(String depName) { + this.depName = depName; + } + + public String getVerName() { + return verName; + } + + public void setVerName(String verName) { + this.verName = verName; + } + + public String getDirName() { + return dirName; + } + + public void setDirName(String dirName) { + this.dirName = dirName; + } +} diff --git a/src/main/java/com/lf/server/entity/show/PipelineEntity.java b/src/main/java/com/lf/server/entity/show/PipelineEntity.java new file mode 100644 index 0000000..9a32f1c --- /dev/null +++ b/src/main/java/com/lf/server/entity/show/PipelineEntity.java @@ -0,0 +1,138 @@ +package com.lf.server.entity.show; + +import com.alibaba.fastjson.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonInclude; + +import java.io.Serializable; +import java.util.List; + +/** + * 绠¢亾鍒嗘瀽瀹炰綋绫� + * + * @author xingjinshuang@smartearth.cn + * @date 2022/12/26 + */ +public class PipelineEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 琛ㄥ悕 + */ + @JSONField(serialize = false) + @JsonInclude(JsonInclude.Include.NON_NULL) + private List<String> tabs; + + /** + * 瀵嗙爜 + */ + @JSONField(serialize = false) + @JsonInclude(JsonInclude.Include.NON_NULL) + private String pwd; + + /** + * 涓婚敭ID + */ + private Integer gid; + + /** + * 绠$嚎 + */ + private String pipeName; + + /** + * 绠℃ + */ + private String segName; + + /** + * 绌胯秺鍚嶇О + */ + private String acrossName; + + /** + * 绌胯秺闀垮害 + */ + private double acrossLength; + + /** + * 澶囨敞 + */ + private String remarks; + + /** + * wkt + */ + private String wkt; + + public Integer getGid() { + return gid; + } + + public void setGid(Integer gid) { + this.gid = gid; + } + + public List<String> getTabs() { + return tabs; + } + + public void setTabs(List<String> tabs) { + this.tabs = tabs; + } + + public String getPwd() { + return pwd; + } + + public void setPwd(String pwd) { + this.pwd = pwd; + } + + public String getPipeName() { + return pipeName; + } + + public void setPipeName(String pipeName) { + this.pipeName = pipeName; + } + + public String getSegName() { + return segName; + } + + public void setSegName(String segName) { + this.segName = segName; + } + + public String getAcrossName() { + return acrossName; + } + + public void setAcrossName(String acrossName) { + this.acrossName = acrossName; + } + + public double getAcrossLength() { + return acrossLength; + } + + public void setAcrossLength(double acrossLength) { + this.acrossLength = acrossLength; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getWkt() { + return wkt; + } + + public void setWkt(String wkt) { + this.wkt = wkt; + } +} diff --git a/src/main/java/com/lf/server/entity/si/PlpipelineaEntity.java b/src/main/java/com/lf/server/entity/si/PlpipelineaEntity.java new file mode 100644 index 0000000..c05ba26 --- /dev/null +++ b/src/main/java/com/lf/server/entity/si/PlpipelineaEntity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.si; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Plpipelinea + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("si.pl_pipeline_a") +@EqualsAndHashCode(callSuper = false) +public class PlpipelineaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 827932414518637696L; + + private String pipename; + + private String medium; + + private Double pipelength; + + private Double begstax; + + private Double begstay; + + private Double begstaelev; + + private Double endstax; + + private Double endstay; + + private Double endstaelev; + + private String projname; + + private Timestamp startdate; + + private Timestamp producdate; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private String mpag; + + private String odiameter; + + private String pipestage; + + public PlpipelineaEntity() { + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getMedium() { + return medium; + } + + public void setMedium(String medium) { + this.medium = medium; + } + + public Double getPipelength() { + return pipelength; + } + + public void setPipelength(Double pipelength) { + this.pipelength = pipelength; + } + + public Double getBegstax() { + return begstax; + } + + public void setBegstax(Double begstax) { + this.begstax = begstax; + } + + public Double getBegstay() { + return begstay; + } + + public void setBegstay(Double begstay) { + this.begstay = begstay; + } + + public Double getBegstaelev() { + return begstaelev; + } + + public void setBegstaelev(Double begstaelev) { + this.begstaelev = begstaelev; + } + + public Double getEndstax() { + return endstax; + } + + public void setEndstax(Double endstax) { + this.endstax = endstax; + } + + public Double getEndstay() { + return endstay; + } + + public void setEndstay(Double endstay) { + this.endstay = endstay; + } + + public Double getEndstaelev() { + return endstaelev; + } + + public void setEndstaelev(Double endstaelev) { + this.endstaelev = endstaelev; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public Timestamp getStartdate() { + return startdate; + } + + public void setStartdate(Timestamp startdate) { + this.startdate = startdate; + } + + public Timestamp getProducdate() { + return producdate; + } + + public void setProducdate(Timestamp producdate) { + this.producdate = producdate; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public String getMpag() { + return mpag; + } + + public void setMpag(String mpag) { + this.mpag = mpag; + } + + public String getOdiameter() { + return odiameter; + } + + public void setOdiameter(String odiameter) { + this.odiameter = odiameter; + } + + public String getPipestage() { + return pipestage; + } + + public void setPipestage(String pipestage) { + this.pipestage = pipestage; + } +} diff --git a/src/main/java/com/lf/server/entity/si/PlpipelinebEntity.java b/src/main/java/com/lf/server/entity/si/PlpipelinebEntity.java new file mode 100644 index 0000000..5cdc0d5 --- /dev/null +++ b/src/main/java/com/lf/server/entity/si/PlpipelinebEntity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.si; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Plpipelineb + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("si.pl_pipeline_b") +@EqualsAndHashCode(callSuper = false) +public class PlpipelinebEntity extends BaseGeoEntity { + private static final long serialVersionUID = 827932414518637696L; + + private String pipename; + + private String medium; + + private Double pipelength; + + private Double begstax; + + private Double begstay; + + private Double begstaelev; + + private Double endstax; + + private Double endstay; + + private Double endstaelev; + + private String projname; + + private Timestamp startdate; + + private Timestamp producdate; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private String mpag; + + private String odiameter; + + private String pipestage; + + public PlpipelinebEntity() { + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getMedium() { + return medium; + } + + public void setMedium(String medium) { + this.medium = medium; + } + + public Double getPipelength() { + return pipelength; + } + + public void setPipelength(Double pipelength) { + this.pipelength = pipelength; + } + + public Double getBegstax() { + return begstax; + } + + public void setBegstax(Double begstax) { + this.begstax = begstax; + } + + public Double getBegstay() { + return begstay; + } + + public void setBegstay(Double begstay) { + this.begstay = begstay; + } + + public Double getBegstaelev() { + return begstaelev; + } + + public void setBegstaelev(Double begstaelev) { + this.begstaelev = begstaelev; + } + + public Double getEndstax() { + return endstax; + } + + public void setEndstax(Double endstax) { + this.endstax = endstax; + } + + public Double getEndstay() { + return endstay; + } + + public void setEndstay(Double endstay) { + this.endstay = endstay; + } + + public Double getEndstaelev() { + return endstaelev; + } + + public void setEndstaelev(Double endstaelev) { + this.endstaelev = endstaelev; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public Timestamp getStartdate() { + return startdate; + } + + public void setStartdate(Timestamp startdate) { + this.startdate = startdate; + } + + public Timestamp getProducdate() { + return producdate; + } + + public void setProducdate(Timestamp producdate) { + this.producdate = producdate; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public String getMpag() { + return mpag; + } + + public void setMpag(String mpag) { + this.mpag = mpag; + } + + public String getOdiameter() { + return odiameter; + } + + public void setOdiameter(String odiameter) { + this.odiameter = odiameter; + } + + public String getPipestage() { + return pipestage; + } + + public void setPipestage(String pipestage) { + this.pipestage = pipestage; + } +} diff --git a/src/main/java/com/lf/server/entity/si/PlpipelinedEntity.java b/src/main/java/com/lf/server/entity/si/PlpipelinedEntity.java new file mode 100644 index 0000000..3f5510e --- /dev/null +++ b/src/main/java/com/lf/server/entity/si/PlpipelinedEntity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.si; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Plpipelined + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("si.pl_pipeline_d") +@EqualsAndHashCode(callSuper = false) +public class PlpipelinedEntity extends BaseGeoEntity { + private static final long serialVersionUID = 827932414518637696L; + + private String pipename; + + private String medium; + + private Double pipelength; + + private Double begstax; + + private Double begstay; + + private Double begstaelev; + + private Double endstax; + + private Double endstay; + + private Double endstaelev; + + private String projname; + + private Timestamp startdate; + + private Timestamp producdate; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private String mpag; + + private String odiameter; + + private String pipestage; + + public PlpipelinedEntity() { + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getMedium() { + return medium; + } + + public void setMedium(String medium) { + this.medium = medium; + } + + public Double getPipelength() { + return pipelength; + } + + public void setPipelength(Double pipelength) { + this.pipelength = pipelength; + } + + public Double getBegstax() { + return begstax; + } + + public void setBegstax(Double begstax) { + this.begstax = begstax; + } + + public Double getBegstay() { + return begstay; + } + + public void setBegstay(Double begstay) { + this.begstay = begstay; + } + + public Double getBegstaelev() { + return begstaelev; + } + + public void setBegstaelev(Double begstaelev) { + this.begstaelev = begstaelev; + } + + public Double getEndstax() { + return endstax; + } + + public void setEndstax(Double endstax) { + this.endstax = endstax; + } + + public Double getEndstay() { + return endstay; + } + + public void setEndstay(Double endstay) { + this.endstay = endstay; + } + + public Double getEndstaelev() { + return endstaelev; + } + + public void setEndstaelev(Double endstaelev) { + this.endstaelev = endstaelev; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public Timestamp getStartdate() { + return startdate; + } + + public void setStartdate(Timestamp startdate) { + this.startdate = startdate; + } + + public Timestamp getProducdate() { + return producdate; + } + + public void setProducdate(Timestamp producdate) { + this.producdate = producdate; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public String getMpag() { + return mpag; + } + + public void setMpag(String mpag) { + this.mpag = mpag; + } + + public String getOdiameter() { + return odiameter; + } + + public void setOdiameter(String odiameter) { + this.odiameter = odiameter; + } + + public String getPipestage() { + return pipestage; + } + + public void setPipestage(String pipestage) { + this.pipestage = pipestage; + } +} diff --git a/src/main/java/com/lf/server/entity/si/PlpipelinefEntity.java b/src/main/java/com/lf/server/entity/si/PlpipelinefEntity.java new file mode 100644 index 0000000..7e7d125 --- /dev/null +++ b/src/main/java/com/lf/server/entity/si/PlpipelinefEntity.java @@ -0,0 +1,235 @@ +package com.lf.server.entity.si; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Plpipelinef + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("si.pl_pipeline_f") +@EqualsAndHashCode(callSuper = false) +public class PlpipelinefEntity extends BaseGeoEntity { + private static final long serialVersionUID = 827932414518637696L; + + private String pipename; + + private String medium; + + private Double pipelength; + + private Double begstax; + + private Double begstay; + + private Double begstaelev; + + private Double endstax; + + private Double endstay; + + private Double endstaelev; + + private String projname; + + private Timestamp startdate; + + private Timestamp producdate; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private String mpag; + + private String odiameter; + + private String pipestage; + + public PlpipelinefEntity() { + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public String getMedium() { + return medium; + } + + public void setMedium(String medium) { + this.medium = medium; + } + + public Double getPipelength() { + return pipelength; + } + + public void setPipelength(Double pipelength) { + this.pipelength = pipelength; + } + + public Double getBegstax() { + return begstax; + } + + public void setBegstax(Double begstax) { + this.begstax = begstax; + } + + public Double getBegstay() { + return begstay; + } + + public void setBegstay(Double begstay) { + this.begstay = begstay; + } + + public Double getBegstaelev() { + return begstaelev; + } + + public void setBegstaelev(Double begstaelev) { + this.begstaelev = begstaelev; + } + + public Double getEndstax() { + return endstax; + } + + public void setEndstax(Double endstax) { + this.endstax = endstax; + } + + public Double getEndstay() { + return endstay; + } + + public void setEndstay(Double endstay) { + this.endstay = endstay; + } + + public Double getEndstaelev() { + return endstaelev; + } + + public void setEndstaelev(Double endstaelev) { + this.endstaelev = endstaelev; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public Timestamp getStartdate() { + return startdate; + } + + public void setStartdate(Timestamp startdate) { + this.startdate = startdate; + } + + public Timestamp getProducdate() { + return producdate; + } + + public void setProducdate(Timestamp producdate) { + this.producdate = producdate; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public String getMpag() { + return mpag; + } + + public void setMpag(String mpag) { + this.mpag = mpag; + } + + public String getOdiameter() { + return odiameter; + } + + public void setOdiameter(String odiameter) { + this.odiameter = odiameter; + } + + public String getPipestage() { + return pipestage; + } + + public void setPipestage(String pipestage) { + this.pipestage = pipestage; + } +} diff --git a/src/main/java/com/lf/server/entity/si/PlpipelinepointaEntity.java b/src/main/java/com/lf/server/entity/si/PlpipelinepointaEntity.java new file mode 100644 index 0000000..1f6dfe1 --- /dev/null +++ b/src/main/java/com/lf/server/entity/si/PlpipelinepointaEntity.java @@ -0,0 +1,205 @@ +package com.lf.server.entity.si; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Plpipelinepointa + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("si.pl_pipelinepoint_a") +@EqualsAndHashCode(callSuper = false) +public class PlpipelinepointaEntity extends BaseGeoEntity { + private static final long serialVersionUID = 827932414518637696L; + + private String segname; + + private String cpname; + + private String cptype; + + private String projname; + + private String pipename; + + private Double stavalue; + + private Double x; + + private Double y; + + private Double elev; + + private Double depth; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private Double turnangle; + + private String pipestage; + + public PlpipelinepointaEntity() { + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getCpname() { + return cpname; + } + + public void setCpname(String cpname) { + this.cpname = cpname; + } + + public String getCptype() { + return cptype; + } + + public void setCptype(String cptype) { + this.cptype = cptype; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public Double getStavalue() { + return stavalue; + } + + public void setStavalue(Double stavalue) { + this.stavalue = stavalue; + } + + public Double getX() { + return x; + } + + public void setX(Double x) { + this.x = x; + } + + public Double getY() { + return y; + } + + public void setY(Double y) { + this.y = y; + } + + public Double getElev() { + return elev; + } + + public void setElev(Double elev) { + this.elev = elev; + } + + public Double getDepth() { + return depth; + } + + public void setDepth(Double depth) { + this.depth = depth; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public Double getTurnangle() { + return turnangle; + } + + public void setTurnangle(Double turnangle) { + this.turnangle = turnangle; + } + + public String getPipestage() { + return pipestage; + } + + public void setPipestage(String pipestage) { + this.pipestage = pipestage; + } +} diff --git a/src/main/java/com/lf/server/entity/si/PlpipelinepointbEntity.java b/src/main/java/com/lf/server/entity/si/PlpipelinepointbEntity.java new file mode 100644 index 0000000..3b98c97 --- /dev/null +++ b/src/main/java/com/lf/server/entity/si/PlpipelinepointbEntity.java @@ -0,0 +1,205 @@ +package com.lf.server.entity.si; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Plpipelinepointb + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("si.pl_pipelinepoint_b") +@EqualsAndHashCode(callSuper = false) +public class PlpipelinepointbEntity extends BaseGeoEntity { + private static final long serialVersionUID = 827932414518637696L; + + private String segname; + + private String cpname; + + private String cptype; + + private String projname; + + private String pipename; + + private Double stavalue; + + private Double x; + + private Double y; + + private Double elev; + + private Double depth; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private Double turnangle; + + private String pipestage; + + public PlpipelinepointbEntity() { + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getCpname() { + return cpname; + } + + public void setCpname(String cpname) { + this.cpname = cpname; + } + + public String getCptype() { + return cptype; + } + + public void setCptype(String cptype) { + this.cptype = cptype; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public Double getStavalue() { + return stavalue; + } + + public void setStavalue(Double stavalue) { + this.stavalue = stavalue; + } + + public Double getX() { + return x; + } + + public void setX(Double x) { + this.x = x; + } + + public Double getY() { + return y; + } + + public void setY(Double y) { + this.y = y; + } + + public Double getElev() { + return elev; + } + + public void setElev(Double elev) { + this.elev = elev; + } + + public Double getDepth() { + return depth; + } + + public void setDepth(Double depth) { + this.depth = depth; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public Double getTurnangle() { + return turnangle; + } + + public void setTurnangle(Double turnangle) { + this.turnangle = turnangle; + } + + public String getPipestage() { + return pipestage; + } + + public void setPipestage(String pipestage) { + this.pipestage = pipestage; + } +} diff --git a/src/main/java/com/lf/server/entity/si/PlpipelinepointdEntity.java b/src/main/java/com/lf/server/entity/si/PlpipelinepointdEntity.java new file mode 100644 index 0000000..6d4acaa --- /dev/null +++ b/src/main/java/com/lf/server/entity/si/PlpipelinepointdEntity.java @@ -0,0 +1,205 @@ +package com.lf.server.entity.si; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Plpipelinepointd + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("si.pl_pipelinepoint_d") +@EqualsAndHashCode(callSuper = false) +public class PlpipelinepointdEntity extends BaseGeoEntity { + private static final long serialVersionUID = 827932414518637696L; + + private String segname; + + private String cpname; + + private String cptype; + + private String projname; + + private String pipename; + + private Double stavalue; + + private Double x; + + private Double y; + + private Double elev; + + private Double depth; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private Double turnangle; + + private String pipestage; + + public PlpipelinepointdEntity() { + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getCpname() { + return cpname; + } + + public void setCpname(String cpname) { + this.cpname = cpname; + } + + public String getCptype() { + return cptype; + } + + public void setCptype(String cptype) { + this.cptype = cptype; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public Double getStavalue() { + return stavalue; + } + + public void setStavalue(Double stavalue) { + this.stavalue = stavalue; + } + + public Double getX() { + return x; + } + + public void setX(Double x) { + this.x = x; + } + + public Double getY() { + return y; + } + + public void setY(Double y) { + this.y = y; + } + + public Double getElev() { + return elev; + } + + public void setElev(Double elev) { + this.elev = elev; + } + + public Double getDepth() { + return depth; + } + + public void setDepth(Double depth) { + this.depth = depth; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public Double getTurnangle() { + return turnangle; + } + + public void setTurnangle(Double turnangle) { + this.turnangle = turnangle; + } + + public String getPipestage() { + return pipestage; + } + + public void setPipestage(String pipestage) { + this.pipestage = pipestage; + } +} diff --git a/src/main/java/com/lf/server/entity/si/PlpipelinepointfEntity.java b/src/main/java/com/lf/server/entity/si/PlpipelinepointfEntity.java new file mode 100644 index 0000000..869cc5c --- /dev/null +++ b/src/main/java/com/lf/server/entity/si/PlpipelinepointfEntity.java @@ -0,0 +1,205 @@ +package com.lf.server.entity.si; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lf.server.entity.all.BaseGeoEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; + +/** + * Plpipelinepointf + * @author WWW + */ +@Data +@AllArgsConstructor +@TableName("si.pl_pipelinepoint_f") +@EqualsAndHashCode(callSuper = false) +public class PlpipelinepointfEntity extends BaseGeoEntity { + private static final long serialVersionUID = 827932414518637696L; + + private String segname; + + private String cpname; + + private String cptype; + + private String projname; + + private String pipename; + + private Double stavalue; + + private Double x; + + private Double y; + + private Double elev; + + private Double depth; + + private String belongs; + + private String belongsid; + + private String datastatus; + + private String remarks; + + private String version; + + private String datastage; + + private Double turnangle; + + private String pipestage; + + public PlpipelinepointfEntity() { + } + + public String getSegname() { + return segname; + } + + public void setSegname(String segname) { + this.segname = segname; + } + + public String getCpname() { + return cpname; + } + + public void setCpname(String cpname) { + this.cpname = cpname; + } + + public String getCptype() { + return cptype; + } + + public void setCptype(String cptype) { + this.cptype = cptype; + } + + public String getProjname() { + return projname; + } + + public void setProjname(String projname) { + this.projname = projname; + } + + public String getPipename() { + return pipename; + } + + public void setPipename(String pipename) { + this.pipename = pipename; + } + + public Double getStavalue() { + return stavalue; + } + + public void setStavalue(Double stavalue) { + this.stavalue = stavalue; + } + + public Double getX() { + return x; + } + + public void setX(Double x) { + this.x = x; + } + + public Double getY() { + return y; + } + + public void setY(Double y) { + this.y = y; + } + + public Double getElev() { + return elev; + } + + public void setElev(Double elev) { + this.elev = elev; + } + + public Double getDepth() { + return depth; + } + + public void setDepth(Double depth) { + this.depth = depth; + } + + public String getBelongs() { + return belongs; + } + + public void setBelongs(String belongs) { + this.belongs = belongs; + } + + public String getBelongsid() { + return belongsid; + } + + public void setBelongsid(String belongsid) { + this.belongsid = belongsid; + } + + public String getDatastatus() { + return datastatus; + } + + public void setDatastatus(String datastatus) { + this.datastatus = datastatus; + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getDatastage() { + return datastage; + } + + public void setDatastage(String datastage) { + this.datastage = datastage; + } + + public Double getTurnangle() { + return turnangle; + } + + public void setTurnangle(Double turnangle) { + this.turnangle = turnangle; + } + + public String getPipestage() { + return pipestage; + } + + public void setPipestage(String pipestage) { + this.pipestage = pipestage; + } +} diff --git a/src/main/java/com/lf/server/entity/sys/ArgsEntity.java b/src/main/java/com/lf/server/entity/sys/ArgsEntity.java new file mode 100644 index 0000000..857d500 --- /dev/null +++ b/src/main/java/com/lf/server/entity/sys/ArgsEntity.java @@ -0,0 +1,145 @@ +package com.lf.server.entity.sys; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鍙傛暟璁剧疆 + * @author WWW + */ +public class ArgsEntity implements Serializable { + private static final long serialVersionUID = -832866207909836938L; + + private int id; + + private String name; + + private int cvalue; + + private int dvalue; + + private int minValue; + + private int maxValue; + + private int times; + + private String descr; + + private String mark; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + public ArgsEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getCvalue() { + return cvalue; + } + + public void setCvalue(int cvalue) { + this.cvalue = cvalue; + } + + public int getDvalue() { + return dvalue; + } + + public void setDvalue(int dvalue) { + this.dvalue = dvalue; + } + + public int getMinValue() { + return minValue; + } + + public void setMinValue(int minValue) { + this.minValue = minValue; + } + + public int getMaxValue() { + return maxValue; + } + + public void setMaxValue(int maxValue) { + this.maxValue = maxValue; + } + + public int getTimes() { + return times; + } + + public void setTimes(int times) { + this.times = times; + } + + public String getDescr() { + return descr; + } + + public void setDescr(String descr) { + this.descr = descr; + } + + public String getMark() { + return mark; + } + + public void setMark(String mark) { + this.mark = mark; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } +} diff --git a/src/main/java/com/lf/server/entity/sys/AttachEntity.java b/src/main/java/com/lf/server/entity/sys/AttachEntity.java new file mode 100644 index 0000000..d81cc87 --- /dev/null +++ b/src/main/java/com/lf/server/entity/sys/AttachEntity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.sys; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 闄勪欢 + * @author WWW + */ +public class AttachEntity implements Serializable { + private static final long serialVersionUID = -106535972611296912L; + + private int id; + + private String name; + + private String tab; + + private String tabGuid; + + private String guid; + + private String path; + + private double sizes; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + public AttachEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getTab() { + return tab; + } + + public void setTab(String tab) { + this.tab = tab; + } + + public String getTabGuid() { + return tabGuid; + } + + public void setTabGuid(String tabGuid) { + this.tabGuid = tabGuid; + } + + public String getGuid() { + return guid; + } + + public void setGuid(String guid) { + this.guid = guid; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public double getSizes() { + return sizes; + } + + public void setSizes(double sizes) { + this.sizes = sizes; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } +} diff --git a/src/main/java/com/lf/server/entity/sys/AuthEntity.java b/src/main/java/com/lf/server/entity/sys/AuthEntity.java new file mode 100644 index 0000000..6e77013 --- /dev/null +++ b/src/main/java/com/lf/server/entity/sys/AuthEntity.java @@ -0,0 +1,113 @@ +package com.lf.server.entity.sys; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鏉冮檺 + * @author sws + * @date 2022-09-28 + */ +public class AuthEntity implements Serializable { + private static final long serialVersionUID = 2590447372444367285L; + + private int id; + + private String name; + + private String tag; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String bak; + + private String createName; + + private String updateName; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getTag() { + return tag; + } + + public void setTag(String tag) { + this.tag = tag; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } + + public String getCreateName() { + return createName; + } + + public void setCreateName(String createName) { + this.createName = createName; + } + + public String getUpdateName() { + return updateName; + } + + public void setUpdateName(String updateName) { + this.updateName = updateName; + } +} diff --git a/src/main/java/com/lf/server/entity/sys/BlacklistEntity.java b/src/main/java/com/lf/server/entity/sys/BlacklistEntity.java new file mode 100644 index 0000000..a59419e --- /dev/null +++ b/src/main/java/com/lf/server/entity/sys/BlacklistEntity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.sys; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 榛戝悕鍗� + * @author WWW + */ +public class BlacklistEntity implements Serializable { + private static final long serialVersionUID = -705887305878981632L; + + private int id; + + private String ip; + + private int type; + + private int visit; + + private String descr; + + private int createUser; + + private String createName; + + private Timestamp createTime; + + private int updateUser; + + private String updateName; + + private Timestamp updateTime; + + public BlacklistEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } + + public int getVisit() { + return visit; + } + + public void setVisit(int visit) { + this.visit = visit; + } + + public String getDescr() { + return descr; + } + + public void setDescr(String descr) { + this.descr = descr; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public String getCreateName() { + return createName; + } + + public void setCreateName(String createName) { + this.createName = createName; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public String getUpdateName() { + return updateName; + } + + public void setUpdateName(String updateName) { + this.updateName = updateName; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } +} diff --git a/src/main/java/com/lf/server/entity/sys/DepEntity.java b/src/main/java/com/lf/server/entity/sys/DepEntity.java new file mode 100644 index 0000000..6373386 --- /dev/null +++ b/src/main/java/com/lf/server/entity/sys/DepEntity.java @@ -0,0 +1,211 @@ +package com.lf.server.entity.sys; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * sys_dep + * @author sws + * @date 2022-09-23 + */ + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class DepEntity implements Serializable { + private static final long serialVersionUID = -3673810416800666364L; + + private int id; + + private int pid; + + private String name; + + private String sname; + + private String code; + + private String uncode; + + private String addr; + + private String contact; + + private String fax; + + private String email; + + private String post; + + private String website; + + private int level; + + private int orderNum; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String bak; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getPid() { + return pid; + } + + public void setPid(int pid) { + this.pid = pid; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getSname() { + return sname; + } + + public void setSname(String sname) { + this.sname = sname; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getUncode() { + return uncode; + } + + public void setUncode(String uncode) { + this.uncode = uncode; + } + + public String getAddr() { + return addr; + } + + public void setAddr(String addr) { + this.addr = addr; + } + + public String getContact() { + return contact; + } + + public void setContact(String contact) { + this.contact = contact; + } + + public String getFax() { + return fax; + } + + public void setFax(String fax) { + this.fax = fax; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getPost() { + return post; + } + + public void setPost(String post) { + this.post = post; + } + + public String getWebsite() { + return website; + } + + public void setWebsite(String website) { + this.website = website; + } + + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } + + public int getOrderNum() { + return orderNum; + } + + public void setOrderNum(int orderNum) { + this.orderNum = orderNum; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } +} diff --git a/src/main/java/com/lf/server/entity/sys/DownlogEntity.java b/src/main/java/com/lf/server/entity/sys/DownlogEntity.java new file mode 100644 index 0000000..eb289e6 --- /dev/null +++ b/src/main/java/com/lf/server/entity/sys/DownlogEntity.java @@ -0,0 +1,125 @@ +package com.lf.server.entity.sys; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 涓嬭浇鏃ュ織 + * @author WWW + */ +public class DownlogEntity implements Serializable { + private static final long serialVersionUID = -295796504381949312L; + + private int id; + + private int downid; + + private String ip; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String uname; + + private String name; + + private int type; + + private double sizes; + + public DownlogEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getDownid() { + return downid; + } + + public void setDownid(int downid) { + this.downid = downid; + } + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getSizes() { + return sizes; + } + + public void setSizes(double sizes) { + this.sizes = sizes; + } + + public String getUname() { + return uname; + } + + public void setUname(String uname) { + this.uname = uname; + } +} diff --git a/src/main/java/com/lf/server/entity/sys/LoginEntity.java b/src/main/java/com/lf/server/entity/sys/LoginEntity.java new file mode 100644 index 0000000..5f3ddc7 --- /dev/null +++ b/src/main/java/com/lf/server/entity/sys/LoginEntity.java @@ -0,0 +1,116 @@ +package com.lf.server.entity.sys; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鐧诲綍鏃ュ織琛� + * @author sws + * @date 2022-09-08 + */ + +public class LoginEntity implements Serializable { + private static final long serialVersionUID = 2156194736679188516L; + + private int id; + + private String uname; + + private int appid; + + private String ip; + + private int type; + + private int status; + + private String descr; + + private int userid; + + private Timestamp optime; + + + + private int count; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getUname() { + return uname; + } + + public void setUname(String uname) { + this.uname = uname; + } + + public int getAppid() { + return appid; + } + + public void setAppid(int appid) { + this.appid = appid; + } + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } + + public int getStatus() { + return status; + } + + public void setStatus(int status) { + this.status = status; + } + + public String getDescr() { + return descr; + } + + public void setDescr(String descr) { + this.descr = descr; + } + + public int getUserid() { + return userid; + } + + public void setUserid(int userid) { + this.userid = userid; + } + + public Timestamp getOptime() { + return optime; + } + + public void setOptime(Timestamp optime) { + this.optime = optime; + } + + public int getCount() { + return count; + } + + public void setCount(int count) { + this.count = count; + } +} diff --git a/src/main/java/com/lf/server/entity/sys/MenuAuthEntity.java b/src/main/java/com/lf/server/entity/sys/MenuAuthEntity.java new file mode 100644 index 0000000..da3d88c --- /dev/null +++ b/src/main/java/com/lf/server/entity/sys/MenuAuthEntity.java @@ -0,0 +1,106 @@ +package com.lf.server.entity.sys; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鑿滃崟-鏉冮檺 + * @author WWW + */ +public class MenuAuthEntity implements Serializable { + private static final long serialVersionUID = -298515079682001408L; + + private int id; + + private int menuid; + + private int authid; + + private String name; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String authName; + + + public MenuAuthEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getMenuid() { + return menuid; + } + + public void setMenuid(int menuid) { + this.menuid = menuid; + } + + public int getAuthid() { + return authid; + } + + public void setAuthid(int authid) { + this.authid = authid; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + public String getAuthName() { + return authName; + } + + public void setAuthName(String authName) { + this.authName = authName; + } + +} diff --git a/src/main/java/com/lf/server/entity/sys/MenuEntity.java b/src/main/java/com/lf/server/entity/sys/MenuEntity.java new file mode 100644 index 0000000..24d9035 --- /dev/null +++ b/src/main/java/com/lf/server/entity/sys/MenuEntity.java @@ -0,0 +1,192 @@ +package com.lf.server.entity.sys; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鑿滃崟 + * @author sws + * @date 2022-09-24 + */ + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class MenuEntity implements Serializable { + private static final long serialVersionUID = -4174396918804003518L; + + private int id; + + private int pid; + + private String cnName; + + private String enName; + + private String url; + + private String perms; + + private int type; + + private String css; + + private String icon; + + private int level; + + private int orderNum; + + private int isShow; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String bak; + + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getPid() { + return pid; + } + + public void setPid(int pid) { + this.pid = pid; + } + + public String getCnName() { + return cnName; + } + + public void setCnName(String cnName) { + this.cnName = cnName; + } + + public String getEnName() { + return enName; + } + + public void setEnName(String enName) { + this.enName = enName; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getPerms() { + return perms; + } + + public void setPerms(String perms) { + this.perms = perms; + } + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } + + public String getCss() { + return css; + } + + public void setCss(String css) { + this.css = css; + } + + public String getIcon() { + return icon; + } + + public void setIcon(String icon) { + this.icon = icon; + } + + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } + + public int getOrderNum() { + return orderNum; + } + + public void setOrderNum(int orderNum) { + this.orderNum = orderNum; + } + + public int getIsShow() { + return isShow; + } + + public void setIsShow(int isShow) { + this.isShow = isShow; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } +} diff --git a/src/main/java/com/lf/server/entity/sys/MetaDownEntity.java b/src/main/java/com/lf/server/entity/sys/MetaDownEntity.java new file mode 100644 index 0000000..1c3f0ad --- /dev/null +++ b/src/main/java/com/lf/server/entity/sys/MetaDownEntity.java @@ -0,0 +1,65 @@ +package com.lf.server.entity.sys; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鍏冩暟鎹�-涓嬭浇 + * @author WWW + */ +public class MetaDownEntity implements Serializable { + private static final long serialVersionUID = -254142742722361696L; + + private int id; + + private int metaid; + + private int downid; + + private int createUser; + + private Timestamp createTime; + + public MetaDownEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getMetaid() { + return metaid; + } + + public void setMetaid(int metaid) { + this.metaid = metaid; + } + + public int getDownid() { + return downid; + } + + public void setDownid(int downid) { + this.downid = downid; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } +} diff --git a/src/main/java/com/lf/server/entity/sys/OperateEntity.java b/src/main/java/com/lf/server/entity/sys/OperateEntity.java new file mode 100644 index 0000000..b87aa35 --- /dev/null +++ b/src/main/java/com/lf/server/entity/sys/OperateEntity.java @@ -0,0 +1,143 @@ +package com.lf.server.entity.sys; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鎿嶄綔鏃ュ織 + * @author sws + * @date 2022-09-28 + */ +public class OperateEntity implements Serializable { + private static final long serialVersionUID = -2335232554888606229L; + + private int id; + + private String uname; + + private String modular1; + + private String modular2; + + private String url; + + private String ip; + + private long exec; + + private String clazz; + + private int type; + + private int userid; + + private Timestamp optime; + + private String bak; + + private int count; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getUname() { + return uname; + } + + public void setUname(String uname) { + this.uname = uname; + } + + public String getModular1() { + return modular1; + } + + public void setModular1(String modular1) { + this.modular1 = modular1; + } + + public String getModular2() { + return modular2; + } + + public void setModular2(String modular2) { + this.modular2 = modular2; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getIp() { + return ip; + } + + public long getExec() { + return exec; + } + + public void setExec(long exec) { + this.exec = exec; + } + + public String getClazz() { + return clazz; + } + + public void setClazz(String clazz) { + this.clazz = clazz; + } + + public void setIp(String ip) { + this.ip = ip; + } + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } + + public int getUserid() { + return userid; + } + + public void setUserid(int userid) { + this.userid = userid; + } + + public Timestamp getOptime() { + return optime; + } + + public void setOptime(Timestamp optime) { + this.optime = optime; + } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } + + public int getCount() { + return count; + } + + public void setCount(int count) { + this.count = count; + } +} diff --git a/src/main/java/com/lf/server/entity/sys/ReportEntity.java b/src/main/java/com/lf/server/entity/sys/ReportEntity.java new file mode 100644 index 0000000..aa3f971 --- /dev/null +++ b/src/main/java/com/lf/server/entity/sys/ReportEntity.java @@ -0,0 +1,145 @@ +package com.lf.server.entity.sys; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鎶ュ憡妯℃澘 + * @author WWW + */ +public class ReportEntity implements Serializable { + private static final long serialVersionUID = -976039118587988992L; + + private int id; + + private String name; + + private String type; + + private String code; + + private String fname; + + private String guid; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String bak; + + private String createName; + + private String updateName; + + public ReportEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getFname() { + return fname; + } + + public void setFname(String fname) { + this.fname = fname; + } + + public String getGuid() { + return guid; + } + + public void setGuid(String guid) { + this.guid = guid; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } + + public String getCreateName() { + return createName; + } + + public void setCreateName(String createName) { + this.createName = createName; + } + + public String getUpdateName() { + return updateName; + } + + public void setUpdateName(String updateName) { + this.updateName = updateName; + } +} diff --git a/src/main/java/com/lf/server/entity/sys/ResEntity.java b/src/main/java/com/lf/server/entity/sys/ResEntity.java new file mode 100644 index 0000000..b0bae57 --- /dev/null +++ b/src/main/java/com/lf/server/entity/sys/ResEntity.java @@ -0,0 +1,210 @@ +package com.lf.server.entity.sys; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * @author user + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ResEntity implements Serializable { + private static final long serialVersionUID = 9047079519693255710L; + + private int id; + + private String name; + + private String server; + + private String source; + + private int depid; + + private String depName; + + private int dirid; + + private String dirName; + + private String code; + + private String descr; + + private String img; + + private int createUser; + + private String createName; + + private Timestamp createTime; + + private int updateUser; + + private String updateName; + + private Timestamp updateTime; + + private String bak; + + + + private String fileGuid; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getServer() { + return server; + } + + public void setServer(String server) { + this.server = server; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public int getDepid() { + return depid; + } + + public void setDepid(int depid) { + this.depid = depid; + } + + public String getDepName() { + return depName; + } + + public void setDepName(String depName) { + this.depName = depName; + } + + public int getDirid() { + return dirid; + } + + public void setDirid(int dirid) { + this.dirid = dirid; + } + + public String getDirName() { + return dirName; + } + + public void setDirName(String dirName) { + this.dirName = dirName; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getDescr() { + return descr; + } + + public void setDescr(String descr) { + this.descr = descr; + } + + public String getImg() { + return img; + } + + public void setImg(String img) { + this.img = img; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public String getCreateName() { + return createName; + } + + public void setCreateName(String createName) { + this.createName = createName; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public String getUpdateName() { + return updateName; + } + + public void setUpdateName(String updateName) { + this.updateName = updateName; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } + + public String getFileGuid() { + return fileGuid; + } + + public void setFileGuid(String fileGuid) { + this.fileGuid = fileGuid; + } +} diff --git a/src/main/java/com/lf/server/entity/sys/ResOpEntity.java b/src/main/java/com/lf/server/entity/sys/ResOpEntity.java new file mode 100644 index 0000000..61eb73f --- /dev/null +++ b/src/main/java/com/lf/server/entity/sys/ResOpEntity.java @@ -0,0 +1,94 @@ +package com.lf.server.entity.sys; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 璧勬簮鎿嶄綔 + * @author sws + * @date 2022-09-28 + */ + +public class ResOpEntity implements Serializable { + private static final long serialVersionUID = -7322438248126715583L; + + private int id; + + private String uname; + + private String name; + + private int resid; + + private int type; + + private String ip; + + private int userid; + + private Timestamp optime; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getUname() { + return uname; + } + + public void setUname(String uname) { + this.uname = uname; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getResid() { + return resid; + } + + public void setResid(int resid) { + this.resid = resid; + } + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + public int getUserid() { + return userid; + } + + public void setUserid(int userid) { + this.userid = userid; + } + + public Timestamp getOptime() { + return optime; + } + + public void setOptime(Timestamp optime) { + this.optime = optime; + } +} diff --git a/src/main/java/com/lf/server/entity/sys/RoleEntity.java b/src/main/java/com/lf/server/entity/sys/RoleEntity.java new file mode 100644 index 0000000..d57b280 --- /dev/null +++ b/src/main/java/com/lf/server/entity/sys/RoleEntity.java @@ -0,0 +1,143 @@ +package com.lf.server.entity.sys; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 瑙掕壊琛� + * @author sws + * @date 2022-09-29 + */ +public class RoleEntity implements Serializable { + private static final long serialVersionUID = -1738125301491645446L; + + private int id; + + private int depid; + + private String name; + + private String descr; + + private int isAdmin; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String bak; + + private String depName; + + private String createName; + + private String updateName; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getDepid() { + return depid; + } + + public void setDepid(int depid) { + this.depid = depid; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescr() { + return descr; + } + + public void setDescr(String descr) { + this.descr = descr; + } + + public int getIsAdmin() { + return isAdmin; + } + + public void setIsAdmin(int isAdmin) { + this.isAdmin = isAdmin; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } + + public String getDepName() { + return depName; + } + + public void setDepName(String depName) { + this.depName = depName; + } + + public String getCreateName() { + return createName; + } + + public void setCreateName(String createName) { + this.createName = createName; + } + + public String getUpdateName() { + return updateName; + } + + public void setUpdateName(String updateName) { + this.updateName = updateName; + } +} diff --git a/src/main/java/com/lf/server/entity/sys/RoleMenuAuthEntity.java b/src/main/java/com/lf/server/entity/sys/RoleMenuAuthEntity.java new file mode 100644 index 0000000..ba72ff2 --- /dev/null +++ b/src/main/java/com/lf/server/entity/sys/RoleMenuAuthEntity.java @@ -0,0 +1,105 @@ +package com.lf.server.entity.sys; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 瑙掕壊-鑿滃崟 + * @author WWW + */ +public class RoleMenuAuthEntity implements Serializable { + private static final long serialVersionUID = -510981272678347904L; + + private int id; + + private int roleid; + + private int menuAuthId; + + private int menuid; + + private String name; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + public RoleMenuAuthEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getRoleid() { + return roleid; + } + + public void setRoleid(int roleid) { + this.roleid = roleid; + } + + public int getMenuAuthId() { + return menuAuthId; + } + + public void setMenuAuthId(int menuAuthId) { + this.menuAuthId = menuAuthId; + } + + public int getMenuid() { + return menuid; + } + + public void setMenuid(int menuid) { + this.menuid = menuid; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } +} diff --git a/src/main/java/com/lf/server/entity/sys/RoleResEntity.java b/src/main/java/com/lf/server/entity/sys/RoleResEntity.java new file mode 100644 index 0000000..e974ba2 --- /dev/null +++ b/src/main/java/com/lf/server/entity/sys/RoleResEntity.java @@ -0,0 +1,107 @@ +package com.lf.server.entity.sys; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 瑙掕壊-璧勬簮 + * @author WWW + */ +public class RoleResEntity implements Serializable { + private static final long serialVersionUID = -634834740606525312L; + + private int id; + + private int roleid; + + private int resid; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String resName; + +private String server; + + + + public RoleResEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getRoleid() { + return roleid; + } + + public void setRoleid(int roleid) { + this.roleid = roleid; + } + + public int getResid() { + return resid; + } + + public void setResid(int resid) { + this.resid = resid; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getResName() { + return resName; + } + + public void setResName(String resName) { + this.resName = resName; + } + public String getServer() { + return server; + } + + public void setServer(String server) { + this.server = server; + } + +} diff --git a/src/main/java/com/lf/server/entity/sys/RoleUserEntity.java b/src/main/java/com/lf/server/entity/sys/RoleUserEntity.java new file mode 100644 index 0000000..201a113 --- /dev/null +++ b/src/main/java/com/lf/server/entity/sys/RoleUserEntity.java @@ -0,0 +1,95 @@ +package com.lf.server.entity.sys; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 瑙掕壊-鐢ㄦ埛 + * @author WWW + */ +public class RoleUserEntity implements Serializable { + private static final long serialVersionUID = -20966072576570360L; + + private int id; + + private int roleid; + + private int userid; + + private String uname; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + public RoleUserEntity() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getRoleid() { + return roleid; + } + + public void setRoleid(int roleid) { + this.roleid = roleid; + } + + public int getUserid() { + return userid; + } + + public void setUserid(int userid) { + this.userid = userid; + } + + public String getUname() { + return uname; + } + + public void setUname(String uname) { + this.uname = uname; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } +} diff --git a/src/main/java/com/lf/server/entity/sys/TokenEntity.java b/src/main/java/com/lf/server/entity/sys/TokenEntity.java new file mode 100644 index 0000000..fc178b5 --- /dev/null +++ b/src/main/java/com/lf/server/entity/sys/TokenEntity.java @@ -0,0 +1,153 @@ +package com.lf.server.entity.sys; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 浠ょ墝琛� + * @author sws + * @date 2022-09-28 + */ +public class TokenEntity implements Serializable { + private static final long serialVersionUID = 1419309705830103150L; + + private int id; + + private String uname; + + private String token; + + private int duration; + + private Timestamp expire; + + private int type; + + private String ip; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String createName; + + private String updateName; + + private int autoLogOut; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getUname() { + return uname; + } + + public void setUname(String uname) { + this.uname = uname; + } + + public String getToken() { + return token; + } + + public void setToken(String token) { + this.token = token; + } + + public int getDuration() { + return duration; + } + + public void setDuration(int duration) { + this.duration = duration; + } + + public Timestamp getExpire() { + return expire; + } + + public void setExpire(Timestamp expire) { + this.expire = expire; + } + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getCreateName() { + return createName; + } + + public void setCreateName(String createName) { + this.createName = createName; + } + + public String getUpdateName() { + return updateName; + } + + public void setUpdateName(String updateName) { + this.updateName = updateName; + } + + public int getAutoLogOut() { + return autoLogOut; + } + + public void setAutoLogOut(int autoLogOut) { + this.autoLogOut = autoLogOut; + } +} diff --git a/src/main/java/com/lf/server/entity/sys/UserEntity.java b/src/main/java/com/lf/server/entity/sys/UserEntity.java new file mode 100644 index 0000000..20140a3 --- /dev/null +++ b/src/main/java/com/lf/server/entity/sys/UserEntity.java @@ -0,0 +1,233 @@ +package com.lf.server.entity.sys; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 鐢ㄦ埛琛� + * @author sws + * @date 2022-09-27 + */ +public class UserEntity implements Serializable { + private static final long serialVersionUID = 5676976561729666299L; + + private int id; + + private int depid; + + private String depcode; + + private String uid; + + private String uname; + + private String pwd; + + private String salt; + + private String depName; + + private int sex; + + private String natives; + + private String contact; + + private String job; + + private String email; + + private String addr; + + private String edu; + + private String idcard; + + private int status; + + private int createUser; + + private Timestamp createTime; + + private int updateUser; + + private Timestamp updateTime; + + private String bak; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getDepid() { + return depid; + } + + public void setDepid(int depid) { + this.depid = depid; + } + + public String getDepcode() { + return depcode; + } + + public void setDepcode(String depcode) { + this.depcode = depcode; + } + + public String getUid() { + return uid; + } + + public void setUid(String uid) { + this.uid = uid; + } + + public String getUname() { + return uname; + } + + public void setUname(String uname) { + this.uname = uname; + } + + public String getPwd() { + return pwd; + } + + public void setPwd(String pwd) { + this.pwd = pwd; + } + + public String getSalt() { + return salt; + } + + public void setSalt(String salt) { + this.salt = salt; + } + + public String getDepName() { + return depName; + } + + public void setDepName(String depName) { + this.depName = depName; + } + + public int getSex() { + return sex; + } + + public void setSex(int sex) { + this.sex = sex; + } + + public String getNatives() { + return natives; + } + + public void setNatives(String natives) { + this.natives = natives; + } + + public String getContact() { + return contact; + } + + public void setContact(String contact) { + this.contact = contact; + } + + public String getJob() { + return job; + } + + public void setJob(String job) { + this.job = job; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getAddr() { + return addr; + } + + public void setAddr(String addr) { + this.addr = addr; + } + + public String getEdu() { + return edu; + } + + public void setEdu(String edu) { + this.edu = edu; + } + + public String getIdcard() { + return idcard; + } + + public void setIdcard(String idcard) { + this.idcard = idcard; + } + + public int getStatus() { + return status; + } + + public void setStatus(int status) { + this.status = status; + } + + public int getCreateUser() { + return createUser; + } + + public void setCreateUser(int createUser) { + this.createUser = createUser; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public void setCreateTime(Timestamp createTime) { + this.createTime = createTime; + } + + public int getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(int updateUser) { + this.updateUser = updateUser; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } +} diff --git a/src/main/java/com/lf/server/extend/CustomizedSqlInjector.java b/src/main/java/com/lf/server/extend/CustomizedSqlInjector.java new file mode 100644 index 0000000..54ac506 --- /dev/null +++ b/src/main/java/com/lf/server/extend/CustomizedSqlInjector.java @@ -0,0 +1,26 @@ +package com.lf.server.extend; + +import com.baomidou.mybatisplus.core.injector.AbstractMethod; +import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector; +import com.baomidou.mybatisplus.core.metadata.TableInfo; + +import java.util.List; + +/** + * 鑷畾涔夋柟娉昐QL娉ㄥ叆鍣� + * @author WWW + */ +public class CustomizedSqlInjector extends DefaultSqlInjector { + /** + * 濡傛灉鍙渶澧炲姞鏂规硶锛屼繚鐣檓ybatis plus鑷甫鏂规硶锛� + * 鍙互鍏堣幏鍙杝uper.getMethodList()锛屽啀娣诲姞add + */ + @Override + public List<AbstractMethod> getMethodList(Class<?> mapperClass, TableInfo tableInfo) { + List<AbstractMethod> methodList = super.getMethodList(mapperClass, tableInfo); + methodList.add(new InsertBatchMethod()); + methodList.add(new UpdateBatchMethod()); + + return methodList; + } +} diff --git a/src/main/java/com/lf/server/extend/InsertBatchMethod.java b/src/main/java/com/lf/server/extend/InsertBatchMethod.java new file mode 100644 index 0000000..9031eba --- /dev/null +++ b/src/main/java/com/lf/server/extend/InsertBatchMethod.java @@ -0,0 +1,76 @@ +package com.lf.server.extend; + +import com.baomidou.mybatisplus.core.injector.AbstractMethod; +import com.baomidou.mybatisplus.core.metadata.TableFieldInfo; +import com.baomidou.mybatisplus.core.metadata.TableInfo; +import com.lf.server.entity.all.StaticData; +import org.apache.ibatis.executor.keygen.NoKeyGenerator; +import org.apache.ibatis.mapping.MappedStatement; +import org.apache.ibatis.mapping.SqlSource; + +/** + * 鎵归噺鎻掑叆鏂规硶 + * @author WWW + */ +@SuppressWarnings("ALL") +public class InsertBatchMethod extends AbstractMethod { + /** + * insert into user(id, name, age) values (1, "a", 17), (2, "b", 18); + * <script> + * insert into user(id, name, age) values + * <foreach collection="list" item="item" index="index" open="(" separator="),(" close=")"> + * #{item.id}, #{item.name}, #{item.age} + * </foreach> + * </script> + */ + @Override + public MappedStatement injectMappedStatement(Class<?> mapperClass, Class<?> modelClass, TableInfo tableInfo) { + final String sql = "<script>insert into %s %s values %s</script>"; + final String fieldSql = prepareFieldSql(tableInfo); + final String valueSql = prepareValuesSql(tableInfo); + final String sqlResult = String.format(sql, tableInfo.getTableName(), fieldSql, valueSql); + + SqlSource sqlSource = languageDriver.createSqlSource(configuration, sqlResult, modelClass); + + // 绗笁涓弬鏁板繀椤诲拰RootMapper鐨勮嚜瀹氫箟鏂规硶鍚嶄竴鑷� + return this.addInsertMappedStatement(mapperClass, modelClass, "insertBatch", sqlSource, new NoKeyGenerator(), null, null); + } + + private String prepareFieldSql(TableInfo tableInfo) { + StringBuilder fieldSql = new StringBuilder(); + // fieldSql.append(tableInfo.getKeyColumn()).append(",") + // tableInfo.getFieldList().forEach(x -> fieldSql.append(x.getColumn()).append(",")) + for (TableFieldInfo f : tableInfo.getFieldList()) { + if (StaticData.INSERT_EXCLUDE_FIELDS.contains(f.getProperty())) { + continue; + } + + fieldSql.append(f.getColumn()).append(","); + } + + fieldSql.delete(fieldSql.length() - 1, fieldSql.length()); + fieldSql.insert(0, "("); + fieldSql.append(")"); + + return fieldSql.toString(); + } + + private String prepareValuesSql(TableInfo tableInfo) { + final StringBuilder valueSql = new StringBuilder(); + valueSql.append("<foreach collection=\"list\" item=\"item\" index=\"index\" open=\"(\" separator=\"),(\" close=\")\">"); + // valueSql.append("#{item.").append(tableInfo.getKeyProperty()).append("},") + // tableInfo.getFieldList().forEach(x -> valueSql.append("#{item.").append(x.getProperty()).append("},")) + for (TableFieldInfo f : tableInfo.getFieldList()) { + if (StaticData.INSERT_EXCLUDE_FIELDS.contains(f.getProperty())) { + continue; + } + + valueSql.append("geom".equals(f.getProperty()) ? "${item." : "#{item.").append(f.getProperty()).append("},"); + } + + valueSql.delete(valueSql.length() - 1, valueSql.length()); + valueSql.append("</foreach>"); + + return valueSql.toString(); + } +} diff --git a/src/main/java/com/lf/server/extend/UpdateBatchMethod.java b/src/main/java/com/lf/server/extend/UpdateBatchMethod.java new file mode 100644 index 0000000..2daa675 --- /dev/null +++ b/src/main/java/com/lf/server/extend/UpdateBatchMethod.java @@ -0,0 +1,86 @@ +package com.lf.server.extend; + +import com.baomidou.mybatisplus.core.injector.AbstractMethod; +import com.baomidou.mybatisplus.core.metadata.TableFieldInfo; +import com.baomidou.mybatisplus.core.metadata.TableInfo; +import com.baomidou.mybatisplus.core.toolkit.sql.SqlScriptUtils; +import com.lf.server.entity.all.StaticData; +import org.apache.ibatis.mapping.MappedStatement; +import org.apache.ibatis.mapping.SqlSource; + +/** + * 鎵归噺鏇存柊鏂规硶 + * @author WWW + */ +@SuppressWarnings("ALL") +public class UpdateBatchMethod extends AbstractMethod { + /** + * update user set name = "a", age = 17 where id = 1; + * update user set name = "b", age = 18 where id = 2; + * <script> + * <foreach collection="list" item="item" separator=";"> + * update user + * <set> + * <if test="item.name != null and item.name != ''"> + * name = #{item.name,jdbcType=VARCHAR}, + * </if> + * <if test="item.age != null"> + * age = #{item.age,jdbcType=INTEGER}, + * </if> + * </set> + * where id = #{item.id,jdbcType=INTEGER} + * </foreach> + * </script> + */ + @Override + public MappedStatement injectMappedStatement(Class<?> mapperClass, Class<?> modelClass, TableInfo tableInfo) { + String sql = "<script>\n<foreach collection=\"list\" item=\"item\" separator=\";\">\nupdate %s %s where %s=#{%s} %s\n</foreach>\n</script>"; + String additional = tableInfo.isWithVersion() ? tableInfo.getVersionFieldInfo().getVersionOli("item", "item.") : "" + tableInfo.getLogicDeleteSql(true, true); + //String setSql = sqlSet(tableInfo.isWithLogicDelete(), false, tableInfo, false, "item", "item."); + String setSql = getSqlSet(tableInfo.isWithLogicDelete(), false, tableInfo, false, "item", "item."); + String sqlResult = String.format(sql, tableInfo.getTableName(), setSql, tableInfo.getKeyColumn(), "item." + tableInfo.getKeyProperty(), additional); + + // update %s %s where %s=#{%s} %s + // update tab set a=#{a} where gid=1 + + SqlSource sqlSource = languageDriver.createSqlSource(configuration, sqlResult, modelClass); + + // 绗笁涓弬鏁板繀椤诲拰RootMapper鐨勮嚜瀹氫箟鏂规硶鍚嶄竴鑷� + return this.addUpdateMappedStatement(mapperClass, modelClass, "updateBatch", sqlSource); + } + + private String getSqlSet(boolean logic, boolean ew, TableInfo table, boolean judgeAliasNull, final String alias, final String prefix) { + // String sqlScript = table.getAllSqlSet(logic, prefix); + String sqlScript = getSqlSet(table); + if (judgeAliasNull) { + sqlScript = SqlScriptUtils.convertIf(sqlScript, String.format("%s != null", alias), true); + } + if (ew) { + sqlScript = sqlScript + "\n"; + sqlScript = sqlScript + this.convertIfEwParam("ew.sqlSet", false); + } + + sqlScript = SqlScriptUtils.convertSet(sqlScript); + + return sqlScript; + } + + private String getSqlSet(TableInfo tableInfo) { + StringBuilder sb = new StringBuilder(); + for (TableFieldInfo f : tableInfo.getFieldList()) { + if (StaticData.UPDATE_EXCLUDE_FIELDS.contains(f.getProperty())) { + continue; + } + + if ("geom".equals(f.getProperty())) { + sb.append("<if test=\"item['geom'] != null\">geom=${item.geom},</if>\n"); + continue; + } + + sb.append(String.format("<if test=\"item['%s'] != null\">%s=#{item.%s},</if>\n", f.getProperty(), f.getColumn(), f.getProperty())); + } + sb.deleteCharAt(sb.length() - 1); + + return sb.toString(); + } +} diff --git a/src/main/java/com/lf/server/helper/AccessHelper.java b/src/main/java/com/lf/server/helper/AccessHelper.java new file mode 100644 index 0000000..49b648d --- /dev/null +++ b/src/main/java/com/lf/server/helper/AccessHelper.java @@ -0,0 +1,107 @@ +package com.lf.server.helper; + +import com.lf.server.entity.all.StaticData; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.sql.*; +import java.util.*; + +/** + * Access甯姪绫� + * @author WWW + */ +public class AccessHelper { + private final static Log log = LogFactory.getLog(AccessHelper.class); + + /** + * 璇诲彇.mdb鏂囦欢 + * + * @param mdbPath mdb鏂囦欢鍦板潃 + * @param username 鐢ㄦ埛鍚� + * @param password 瀵嗙爜 + */ + public static List<Map<String, Object>> readMdb(String mdbPath, String username, String password) { + List<Map<String, Object>> list = new ArrayList<>(); + + Connection conn = null; + PreparedStatement ps = null; + ResultSet tables = null; + ResultSet rs = null; + + try { + Properties prop = new Properties(); + prop.put("charSet", "UTF-8"); + prop.put("user", username); + prop.put("password", password); + + String dbUrl = "jdbc:ucanaccess://" + mdbPath; + Class.forName("net.ucanaccess.jdbc.UcanaccessDriver").newInstance(); + + conn = DriverManager.getConnection(dbUrl, prop); + tables = conn.getMetaData().getTables(mdbPath, null, null, new String[]{"TABLE"}); + while (tables.next()) { + Map<String, Object> tableMap = new HashMap<>(4); + Set<String> columnList = new HashSet<>(); + List<Map<String, String>> dataList = new ArrayList<>(); + + String tableName = tables.getString(3); + ps = conn.prepareStatement("select * from " + tableName); + rs = ps.executeQuery(); + + ResultSetMetaData data = rs.getMetaData(); + while (rs.next()) { + Map<String, String> map = new HashMap<>(5); + for (int i = 1; i <= data.getColumnCount(); i++) { + String columnName = data.getColumnName(i); + if (StaticData.MDB_EXCLUDE_FIELDS.contains(columnName)) { + continue; + } + + map.put(columnName, rs.getString(i)); + columnList.add(columnName); + } + dataList.add(map); + } + + tableMap.put("name", tableName); + tableMap.put("column", columnList); + tableMap.put("data", dataList); + list.add(tableMap); + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } finally { + closeA1l(conn, ps, tables, rs); + } + + return list; + } + + /** + * 鍏抽棴鎵�鏈夌殑璧勬簮閾炬帴 + * + * @param conn 杩炴帴 + * @param ps 鎵ц璇彞 + * @param tables 缁撴灉闆� + * @param rs 缁撴灉闆� + */ + private static void closeA1l(Connection conn, PreparedStatement ps, ResultSet tables, ResultSet rs) { + try { + if (null != rs) { + rs.close(); + } + if (null != tables) { + tables.close(); + } + if (null != ps) { + ps.close(); + } + if (null != conn) { + conn.close(); + } + } catch (Exception ex) { + // + } + } +} \ No newline at end of file diff --git a/src/main/java/com/lf/server/helper/AesHelper.java b/src/main/java/com/lf/server/helper/AesHelper.java new file mode 100644 index 0000000..78efbfc --- /dev/null +++ b/src/main/java/com/lf/server/helper/AesHelper.java @@ -0,0 +1,129 @@ +package com.lf.server.helper; + +import javax.crypto.Cipher; +import javax.crypto.KeyGenerator; +import javax.crypto.spec.SecretKeySpec; +import java.util.Base64; + +/** + * AES鍔犲瘑甯姪 + * @author WWW + */ +@SuppressWarnings("restriction") +public class AesHelper { + /** + * 瀵嗛挜闀垮害蹇呴』鏄�16 + */ + private static final String DEFAULT_KEY = "A#s_lF_sErve_k.y"; + + private static final String KEY_ALGORITHM = "AES"; + + /** + * 绠楁硶 + */ + private static final String ALGORITHMSTR = "AES/ECB/PKCS5Padding"; + + /** + * aes瑙e瘑 + * + * @param encrypt 鍐呭 + * @return + * @throws Exception + */ + public static String decrypt(String encrypt) throws Exception { + return decrypt(encrypt, DEFAULT_KEY); + } + + /** + * aes鍔犲瘑 + * + * @param content 鍐呭 + * @return + * @throws Exception + */ + public static String encrypt(String content) throws Exception { + return encrypt(content, DEFAULT_KEY); + } + + /** + * base 64 encode + * + * @param bytes 寰呯紪鐮佺殑byte[] + * @return 缂栫爜鍚庣殑base64 code + */ + private static String base64Encode(byte[] bytes) { + return Base64.getEncoder().encodeToString(bytes); + } + + /** + * base 64 decode + * + * @param base64Code 寰呰В鐮佺殑base64 code + * @return 瑙g爜鍚庣殑byte[] + * @throws Exception + */ + private static byte[] base64Decode(String base64Code) { + return StringHelper.isEmpty(base64Code) ? null : Base64.getDecoder().decode(base64Code); + } + + /** + * AES鍔犲瘑 + * + * @param content 寰呭姞瀵嗙殑鍐呭 + * @param encryptKey 鍔犲瘑瀵嗛挜 + * @return 鍔犲瘑鍚庣殑byte[] + * @throws Exception + */ + private static byte[] aesEncryptToBytes(String content, String encryptKey) throws Exception { + // KeyGenerator kGen = KeyGenerator.getInstance(KEY_ALGORITHM) + // kGen.init(128) + + Cipher cipher = Cipher.getInstance(ALGORITHMSTR); + cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(encryptKey.getBytes(), KEY_ALGORITHM)); + + return cipher.doFinal(content.getBytes("utf-8")); + } + + /** + * AES鍔犲瘑涓篵ase 64 code + * + * @param content 寰呭姞瀵嗙殑鍐呭 + * @param encryptKey 鍔犲瘑瀵嗛挜 + * @return 鍔犲瘑鍚庣殑base 64 code + * @throws Exception + */ + public static String encrypt(String content, String encryptKey) throws Exception { + return base64Encode(aesEncryptToBytes(content, encryptKey)); + } + + /** + * 灏哹ase 64 code AES瑙e瘑 + * + * @param encryptStr 寰呰В瀵嗙殑base 64 code + * @param decryptKey 瑙e瘑瀵嗛挜 + * @return 瑙e瘑鍚庣殑string + * @throws Exception + */ + public static String decrypt(String encryptStr, String decryptKey) throws Exception { + return StringHelper.isEmpty(encryptStr) ? null : aesDecryptByBytes(base64Decode(encryptStr), decryptKey); + } + + /** + * AES瑙e瘑 + * + * @param encryptBytes 寰呰В瀵嗙殑byte[] + * @param decryptKey 瑙e瘑瀵嗛挜 + * @return 瑙e瘑鍚庣殑String + * @throws Exception + */ + private static String aesDecryptByBytes(byte[] encryptBytes, String decryptKey) throws Exception { + // KeyGenerator kGen = KeyGenerator.getInstance(KEY_ALGORITHM) + // kGen.init(128) + + Cipher cipher = Cipher.getInstance(ALGORITHMSTR); + cipher.init(Cipher.DECRYPT_MODE, new SecretKeySpec(decryptKey.getBytes(), KEY_ALGORITHM)); + byte[] decryptBytes = cipher.doFinal(encryptBytes); + + return new String(decryptBytes); + } +} diff --git a/src/main/java/com/lf/server/helper/ClassHelper.java b/src/main/java/com/lf/server/helper/ClassHelper.java new file mode 100644 index 0000000..6befd3a --- /dev/null +++ b/src/main/java/com/lf/server/helper/ClassHelper.java @@ -0,0 +1,135 @@ +package com.lf.server.helper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lf.server.mapper.all.BasicMapper; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.aop.support.AopUtils; + +import java.lang.reflect.Type; + +/** + * 绫诲府鍔╃被 + * @author WWW + */ +public class ClassHelper { + private final static Log log = LogFactory.getLog(ClassHelper.class); + + /** + * 鏍规嵁绫诲悕鍒涘缓瀹炰緥 + * + * @param className 绫诲悕 + * @return 瀹炰綋 + */ + public static Object createInstance(String className) { + try { + Class clazz = Class.forName(className); + Object obj = clazz.newInstance(); + + return obj; + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return null; + } + } + + /** + * 鑾峰彇Bean + * + * @param className 绫诲悕 + * @return Bean + */ + public static Object getBean(String className) { + try { + Object obj = SpringContextHelper.getBean(className); + + return obj; + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return null; + } + } + + /** + * 鑾峰彇鐖禡apper + * + * @param name Mapper鍚� + * @return BaseMapper + */ + public static BasicMapper getBasicMapper(String name) { + if (StringHelper.isEmpty(name)) { + return null; + } + + Object obj = getBean(name.trim() + "Mapper"); + if (!(obj instanceof BasicMapper)) { + return null; + } + + return (BasicMapper) obj; + } + + /** + * 鑾峰彇绌洪棿鐖禡apper + * + * @param name Mapper鍚� + * @return GeomBaseMapper + */ + public static GeomBaseMapper getGeoBaseMapper(String name) { + if (StringHelper.isEmpty(name)) { + return null; + } + + Object obj = getBean(name.trim() + "Mapper"); + if (!(obj instanceof GeomBaseMapper)) { + return null; + } + + return (GeomBaseMapper) obj; + } + + /** + * 鑾峰彇绫诲悕 + * + * @param baseMapper 鐖禡apper + * @return 绫诲悕 + */ + public static String getClassName(BaseMapper baseMapper) { + Type[] genericInterfaces = AopUtils.getTargetClass(baseMapper).getGenericInterfaces(); + + return genericInterfaces[0].getTypeName(); + } + + /** + * 鏍规嵁Mapper绫诲悕鑾峰彇瀹炰綋绫荤殑Class + * + * @param className Mapper绫诲悕 + * @return 瀹炰綋绫荤殑Class + */ + public static Class getEntityClass(String className) { + try { + className = className.replace(".mapper", ".entity").replace("Mapper", "Entity"); + Class clazz = Class.forName(className); + + return clazz; + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return null; + } + } + + + /** + * 鏍规嵁BaseMapper鍒涘缓瀹炰綋绫� + * + * @param baseMapper 鐖禡apper + * @return 瀹炰綋绫� + */ + public static Object createEntityByMapper(BaseMapper baseMapper) { + String className = getClassName(baseMapper); + className = className.replace(".mapper", ".entity").replace("Mapper", "Entity"); + + return createInstance(className); + } +} diff --git a/src/main/java/com/lf/server/helper/EnumHelper.java b/src/main/java/com/lf/server/helper/EnumHelper.java new file mode 100644 index 0000000..824757e --- /dev/null +++ b/src/main/java/com/lf/server/helper/EnumHelper.java @@ -0,0 +1,84 @@ +package com.lf.server.helper; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.lang.reflect.Method; + +/** + * 鏋氫妇甯姪绫� + * @author WWW + */ +public class EnumHelper { + private static final String GETTER_PREFIX = "get"; + + private static Log log = LogFactory.getLog(EnumHelper.class); + + /** + * 鏍规嵁鍚嶇О鑾峰彇鏋氫妇 + * + * @param clazz 鏋氫妇绫诲瀷 + * @param name 鏋氫妇鐨勫悕绉帮紝濡傦細SqlParamType涓殑AND + * @return 杩斿洖鏋氫妇鍊� + */ + public static <T extends Enum<T>> T nameOf(Class<T> clazz, String name) { + return Enum.valueOf(clazz, name); + } + + /** + * 鏍规嵁灞炴�у悕+鍊艰幏鍙栨灇涓� + * + * @param clazz 鏋氫妇绫诲瀷 + * @param propertyName 瀛楁,濡俷ame,id + * @param value 鍊�,濡傚紶涓� + * @return 杩斿洖鏋氫妇鍊� + */ + public static <T extends Enum<T>> T getByString(Class<T> clazz, String propertyName, String value) { + String getterMethodName = GETTER_PREFIX + StringHelper.firstCharToUpperCase(propertyName); + T result = null; + try { + T[] arr = clazz.getEnumConstants(); + Method targetMethod = clazz.getDeclaredMethod(getterMethodName); + String typeCodeVal = null; + for (T entity : arr) { + typeCodeVal = targetMethod.invoke(entity).toString(); + if (typeCodeVal.contentEquals(value)) { + result = entity; + break; + } + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + + return result; + } + + /** + * 鏍规嵁鏁存暟鑾峰彇鏋氫妇 + * + * @param clazz 鏋氫妇绫诲瀷 + * @param propertyName 瀛楁,濡� age + * @param value 鍊�,濡�18 + * @return 杩斿洖鏋氫妇鍊� + */ + public static <T extends Enum<T>> T getByInt(Class<T> clazz, String propertyName, int value) { + String getterMethodName = GETTER_PREFIX + StringHelper.firstCharToUpperCase(propertyName); + T result = null; + try { + T[] arr = clazz.getEnumConstants(); + Method targetMethod = clazz.getDeclaredMethod(getterMethodName); + int typeCodeVal; + for (T entity : arr) { + typeCodeVal = Integer.parseInt(targetMethod.invoke(entity).toString()); + if (typeCodeVal == value) { + result = entity; + break; + } + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + return result; + } +} diff --git a/src/main/java/com/lf/server/helper/ExcelHelper.java b/src/main/java/com/lf/server/helper/ExcelHelper.java new file mode 100644 index 0000000..060653c --- /dev/null +++ b/src/main/java/com/lf/server/helper/ExcelHelper.java @@ -0,0 +1,97 @@ +package com.lf.server.helper; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelReader; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.enums.WriteDirectionEnum; +import com.alibaba.excel.event.AnalysisEventListener; +import com.alibaba.excel.read.metadata.ReadSheet; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.metadata.fill.FillConfig; +import com.alibaba.excel.write.metadata.fill.FillWrapper; +import com.lf.server.annotation.ExcelHead; + +import java.util.*; + +/** + * Excel甯姪绫� + * @author WWW + */ +public class ExcelHelper { + /** + * 璇诲彇Excel + * + * @param pathName 鏂囦欢璺緞 + * @param <T> 娉涘瀷绫� + * @return 娉涘瀷绫婚泦鍚� + */ + public static <T> List<T> readExcel(Class<?> clazz, String pathName) { + ExcelHead head = getExcelHead(clazz); + int headRowNumber = head == null ? 1 : head.headRows(); + String[] strs = null == head || StringHelper.isEmpty(head.excludeSheets()) ? null : head.excludeSheets().split(","); + List<String> excludeSheets = null == strs ? null : Arrays.asList(strs); + + List<T> list = new ArrayList<T>(); + ExcelReader reader = EasyExcel.read(pathName, clazz, new AnalysisEventListener<T>() { + @Override + public void invoke(T t, AnalysisContext context) { + list.add(t); + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + // + } + }).headRowNumber(headRowNumber).build(); + + List<ReadSheet> sheets = reader.excelExecutor().sheetList(); + for (ReadSheet sheet : sheets) { + if (strs != null && excludeSheets.contains(sheet.getSheetName())) { + continue; + } + + reader.read(sheet); + } + reader.finish(); + + return list; + } + + /** + * 鑾峰彇Excel澶存敞瑙g被 + * + * @param clazz Class + * @param <T> 娉涘瀷绫� + * @return 澶磋鏁� + */ + public static <T> ExcelHead getExcelHead(Class<?> clazz) { + ExcelHead head = clazz.getAnnotation(ExcelHead.class); + + return head; + } + + /** + * 鍐欏叆Excel妯℃澘 + * + * @param source 婧愭枃浠讹紙妯℃澘锛� + * @param target 鐩綍鏂囦欢 + * @param map 鏁版嵁婧� + */ + public static <T> void writeToTemplate(String source, String target, Map<String, List<T>> map) { + // 鏍规嵁妯℃澘鍐欏叆鏁版嵁锛屽鏋滅洰鏍囨枃浠朵笉瀛樺湪锛屽垯鑷姩鍒涘缓鏂囦欢 + ExcelWriter excelWriter = EasyExcel.write(target).withTemplate(source).build(); + + // 鍦ㄥ伐浣滅翱0涓啓鍏ユ暟鎹紝濡傛灉妯℃澘涓笉瀛樺湪缁冧範宸ヤ綔绨匡紝鍒欎細鍦ㄧ洰鏍囨枃浠朵腑鑷姩鍒涘缓 + WriteSheet writeSheet = EasyExcel.writerSheet(0).build(); + + // 鍨傜洿鍐欏叆鏁版嵁锛屽鏋滆姘村钩鍐欏叆锛屽皢VERTICAL鏇挎崲涓篐ORIZONTAL + FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.VERTICAL).build(); + + // 鍐欏叆鏁版嵁 + map.forEach((k, v) -> excelWriter.fill(new FillWrapper(k, v), fillConfig, writeSheet)); + + // 缁撴潫鍐欏叆 + excelWriter.finish(); + } +} diff --git a/src/main/java/com/lf/server/helper/FileHelper.java b/src/main/java/com/lf/server/helper/FileHelper.java new file mode 100644 index 0000000..5c3f682 --- /dev/null +++ b/src/main/java/com/lf/server/helper/FileHelper.java @@ -0,0 +1,449 @@ +package com.lf.server.helper; + +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.data.MetaFileEntity; +import com.twmacinta.util.MD5; +import org.apache.commons.codec.digest.DigestUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.io.*; +import java.nio.ByteBuffer; +import java.nio.channels.FileChannel; +import java.nio.charset.StandardCharsets; +import java.security.MessageDigest; +import java.text.DecimalFormat; +import java.util.List; +import java.util.Objects; + +/** + * 鏂囦欢甯姪绫� + * @author WWW + */ +public class FileHelper { + private final static Log log = LogFactory.getLog(FileHelper.class); + + /** + * 鑾峰彇鏂囦欢鍚� + * + * @param file + * @return + */ + public static String getFileName(String file) { + int idx = file.lastIndexOf(File.separator); + if (idx > -1) { + return file.substring(idx + 1); + } + + return ""; + } + + /** + * 鑾峰彇鏂囦欢鎵╁睍鍚� + */ + public static String getExtension(File file) { + if (file == null) { + return null; + } + + String fileName = file.getName().toLowerCase(); + + int idx = fileName.indexOf(StaticData.POINT); + if (idx == -1) { + return ""; + } + + return fileName.substring(idx); + } + + /** + * 鑾峰彇鏂囦欢鎵╁睍鍚� + */ + public static String getExtension(String fileName) { + if (StringHelper.isEmpty(fileName)) { + return ""; + } + + int idx = fileName.lastIndexOf(StaticData.POINT); + if (idx == -1) { + return ""; + } + + return fileName.substring(idx).toLowerCase(); + } + + /** + * 鑾峰彇澶氱敤閫斾簰鑱旂綉閭欢鎵╁睍绫诲瀷 + * + * @param ext 鏂囦欢鎵╁睍鍚� + * @return + */ + public static String getMime(String ext) { + switch (ext) { + // 鍥剧墖 + case ".tif": + case ".tiff": + return "image/tiff"; + case ".img": + return "application/x-img"; + case ".gif": + return "image/gif"; + case ".jpg": + case ".jpeg": + return "image/jpeg"; + case ".png": + return "image/png"; + // 闊�/瑙嗛 + case ".mp3": + return "audio/mp3"; + case ".mp4": + return "video/mpeg4"; + case ".avi": + return "video/avi"; + case ".mpg": + case ".mpeg": + return "video/mpg"; + case ".wav": + return "audio/wav"; + case ".wma": + return "audio/x-ms-wma"; + case ".swf": + return "application/x-shockwave-flash"; + case ".wmv": + return "video/x-ms-wmv"; + case ".rm": + return "application/vnd.rn-realmedia"; + case ".rmvb": + return "application/vnd.rn-realmedia-vbr"; + // 缃戦〉 + case ".js": + return "application/x-javascript"; + case ".css": + return "text/css"; + case ".asp": + return "text/asp"; + case ".mht": + return "message/rfc822"; + case ".jsp": + case ".htm": + case ".html": + case ".xhtml": + return "text/html"; + case ".xml": + case ".svg": + return "text/xml"; + // 鏂囦欢 + case ".txt": + return "text/plain"; + case ".dbf": + return "application/x-dbf"; + case ".mdb": + return "application/msaccess"; + case ".pdf": + return "application/pdf"; + case ".ppt": + case ".pptx": + return "application/x-ppt"; + case ".doc": + case ".docx": + return "application/msword"; + case ".xls": + case ".xlsx": + return "application/vnd.ms-excel"; + case ".dgn": + return "application/x-dgn"; + case ".dwg": + return "application/x-dwg"; + case ".ext": + return "application/x-msdownload"; + // 榛樿 + default: + return "application/octet-stream"; + } + } + + /** + * 瀛楄妭鍗曚綅鎹㈢畻 + */ + public static String formatByte(long byteNumber) { + double kbNumber = byteNumber / StaticData.D1024; + if (kbNumber < StaticData.D1024) { + return new DecimalFormat("#.##KB").format(kbNumber); + } + double mbNumber = kbNumber / StaticData.D1024; + if (mbNumber < StaticData.D1024) { + return new DecimalFormat("#.##MB").format(mbNumber); + } + double gbNumber = mbNumber / StaticData.D1024; + if (gbNumber < StaticData.D1024) { + return new DecimalFormat("#.##GB").format(gbNumber); + } + double tbNumber = gbNumber / StaticData.D1024; + + return new DecimalFormat("#.##TB").format(tbNumber); + } + + /** + * 鑾峰彇鏂囦欢澶у皬 + */ + public static String getSizes(double mbNumber) { + if (mbNumber < StaticData.D1024) { + return new DecimalFormat("#.##MB").format(mbNumber); + } + + double gbNumber = mbNumber / StaticData.D1024; + if (gbNumber < StaticData.D1024) { + return new DecimalFormat("#.##GB").format(gbNumber); + } + + double tbNumber = gbNumber / StaticData.D1024; + + return new DecimalFormat("#.##TB").format(tbNumber); + } + + /** + * byte杞琈B + */ + public static double sizeToMb(long size) { + if (size < StaticData.D1050) { + return 0.001; + } + + String str = String.format("%.3f", size / StaticData.D1024 / StaticData.D1024); + + return Double.parseDouble(str); + } + + /** + * 3.鑾峰彇鏂囦欢MD5鐮侊紙JDK锛� + */ + public static String getMd5ByJdk(String filePath) throws IOException { + FileInputStream fileStream = new FileInputStream(filePath); + String md5 = DigestUtils.md5Hex(fileStream); + fileStream.close(); + + return md5; + } + + /** + * 2.鑾峰彇蹇�� MD5 鐮� + */ + public static String getFastMd5(String filePath) throws IOException { + String hash = MD5.asHex(MD5.getHash(new File(filePath))); + + MD5 md5 = new MD5(); + md5.Update(hash, null); + + return md5.asHex(); + } + + /** + * 鍒犻櫎鏂囦欢 + */ + public static void deleteFiles(List<MetaFileEntity> list) { + try { + for (MetaFileEntity mf : list) { + File f = new File(mf.getPath()); + if (f.exists()) { + f.delete(); + } + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + + /** + * 鍒犻櫎鏂囦欢澶� + * + * @param dir 鏂囦欢澶� + */ + public static void deleteDir(String dir) { + File file = new File(dir); + + deleteFiles(file); + } + + /** + * 绾ц仈鍒犻櫎鏂囦欢 + * + * @param file 鏂囦欢 + */ + public static void deleteFiles(File file) { + if (null == file || !file.exists()) { + return; + } + + if (file.isDirectory()) { + File[] files = file.listFiles(); + if (null != files && files.length > 0) { + for (File f : files) { + if (f.isDirectory()) { + deleteFiles(f); + } else { + f.delete(); + } + } + } + } + + file.delete(); + } + + /** + * 鑾峰彇鐩稿璺緞 + * + * @param file 鏂囦欢 + * @return 鐩稿璺緞 + */ + public static String getRelativePath(String file) { + if (StringHelper.isEmpty(file)) { + return null; + } + + int idx = file.lastIndexOf(File.separator); + int start = file.lastIndexOf(File.separator, idx - 1); + + return file.substring(start + 1); + } + + /** + * 鑾峰彇璺緞 + * + * @param file 鏂囦欢 + * @return 鏂囦欢璺緞 + */ + public static String getPath(String file) { + if (StringHelper.isEmpty(file)) { + return null; + } + + int end = file.lastIndexOf(File.separator); + + return file.substring(0, end); + } + + /** + * 1.鑾峰彇鏂囦欢鐨凪D5 + */ + @SuppressWarnings("unused") + public static String getFileMd5(String filePath) { + FileInputStream fis = null; + try { + MessageDigest md = MessageDigest.getInstance("MD5"); + + fis = new FileInputStream(new File(filePath)); + FileChannel fChannel = fis.getChannel(); + ByteBuffer buffer = ByteBuffer.allocateDirect(1024 * 1024); + + while (fChannel.read(buffer) != -1) { + buffer.flip(); + md.update(buffer); + buffer.compact(); + } + byte[] b = md.digest(); + + return byteToHexString(b); + } catch (Exception ex) { + ex.printStackTrace(); + return null; + } finally { + try { + if (null != fis) { + fis.close(); + } + } catch (IOException ex) { + ex.printStackTrace(); + } + } + } + + /** + * 瀛楄妭鐮佽浆16杩涘埗 + */ + public static String byteToHexString(byte[] tmp) { + // 姣忎釜瀛楄妭鐢� 16 杩涘埗琛ㄧず鐨勮瘽锛屼娇鐢ㄤ袱涓瓧绗︼紝 + char[] str = new char[16 * 2]; + + // 鎵�浠ヨ〃绀烘垚 16 杩涘埗闇�瑕� 32 涓瓧绗︼紝琛ㄧず杞崲缁撴灉涓搴旂殑瀛楃浣嶇疆 + int k = 0; + // 浠庣涓�涓瓧鑺傚紑濮嬶紝瀵� MD5 鐨勬瘡涓�涓瓧鑺� + for (int i = 0; i < StaticData.SIXTEEN; i++) { + // 杞崲鎴� 16 杩涘埗瀛楃鐨勮浆鎹� + byte byte0 = tmp[i]; + // 鍙栧瓧鑺備腑楂� 4 浣嶇殑鏁板瓧杞崲 + str[k++] = StaticData.HEX_DIGITS[byte0 >>> 4 & 0xf]; + // >>> 涓洪�昏緫鍙崇Щ锛屽皢绗﹀彿浣嶄竴璧峰彸绉伙紝 鍙栧瓧鑺備腑浣� 4 浣嶇殑鏁板瓧杞崲 + str[k++] = StaticData.HEX_DIGITS[byte0 & 0xf]; + } + // 鎹㈠悗鐨勭粨鏋滆浆鎹负瀛楃涓� + return new String(str); + } + + /** + * 鑾峰彇瀛楃涓茬殑MD5鐮� + */ + public static String getStringMd5(String text) { + StringBuilder builder = new StringBuilder(); + try { + MessageDigest md5 = MessageDigest.getInstance("MD5"); + + byte[] bytes = md5.digest(text.getBytes(StandardCharsets.UTF_8)); + for (byte aByte : bytes) { + builder.append(Integer.toHexString((0x000000FF & aByte) | 0xFFFFFF00).substring(6)); + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + + return builder.toString(); + } + + /** + * 鏍规嵁璺緞鑾峰彇鏂囦欢 + */ + public static void getFilesByPath(List<File> list, String path) { + File file = new File(path); + if (file.isDirectory()) { + File[] files = file.listFiles(); + if (null == files) { + return; + } + + for (File f : files) { + if (f.isDirectory()) { + getFilesByPath(list, f.getPath()); + } else { + list.add(f); + } + } + } else { + list.add(file); + } + } + + /** + * 澶嶅埗鏂囦欢 + * + * @param src 婧愭枃浠� + * @param dest 鐩綍鏂囦欢 + */ + public static void copyFile(File src, File dest) throws IOException { + InputStream is = null; + OutputStream os = null; + try { + is = new FileInputStream(src); + os = new FileOutputStream(dest); + + byte[] buffer = new byte[1024]; + + int length; + while ((length = is.read(buffer)) > 0) { + os.write(buffer, 0, length); + } + } finally { + os.close(); + is.close(); + } + } +} diff --git a/src/main/java/com/lf/server/helper/GdalHelper.java b/src/main/java/com/lf/server/helper/GdalHelper.java new file mode 100644 index 0000000..c03235f --- /dev/null +++ b/src/main/java/com/lf/server/helper/GdalHelper.java @@ -0,0 +1,371 @@ +package com.lf.server.helper; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.gdal.gdal.Band; +import org.gdal.gdal.Driver; +import org.gdal.gdal.gdal; +import org.gdal.gdal.Dataset; +import org.gdal.gdalconst.gdalconstConstants; +import org.gdal.ogr.*; +import org.gdal.osr.SpatialReference; + +import java.io.File; +import java.sql.Time; +import java.sql.Timestamp; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * GDAL甯姪绫� + * @author WWW + */ +@SuppressWarnings("ALL") +public class GdalHelper { + private final static Log log = LogFactory.getLog(GdalHelper.class); + + public static void init(String gdalPath) { + // 鏀寔涓枃璺緞 + gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES"); + // 灞炴�ц〃鏀寔涓枃锛欳P936 + gdal.SetConfigOption("SHAPE_ENCODING", ""); + gdal.SetConfigOption("PGEO_DRIVER_TEMPLATE", "DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=%s"); + gdal.SetConfigOption("MDB_DRIVER_TEMPLATE", "DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=%s"); + + // 閰嶇疆鐜鍙橀噺 + if (!StringHelper.isEmpty(gdalPath)) { + gdal.SetConfigOption("GDAL_DATA", gdalPath + File.separator + "gdal-data"); + gdal.SetConfigOption("PROJ_LIB", gdalPath + File.separator + "proj7" + File.separator + "share"); + //System.setProperty("PROJ_LIB", gdalPath + File.separator + "proj7" + File.separator + "share") + gdal.SetConfigOption("GDAL_DRIVER_PATH", gdalPath + File.separator + "gdalplugins"); + + String path = System.getenv("PATH"); + if (!path.contains(gdalPath)) { + System.setProperty("PATH", path + ";" + gdalPath); + } + } + + // 娉ㄥ唽鎵�鏈夌殑椹卞姩 + gdal.AllRegister(); + ogr.RegisterAll(); + } + + /** + * 璇诲彇tif鏂囦欢 + * + * @param fileName + */ + public static void readTif(String fileName) { + // 璇诲彇褰卞儚鏁版嵁 + Dataset dataset = gdal.Open(fileName, gdalconstConstants.GA_ReadOnly); + if (dataset == null) { + System.out.println("read fail!"); + return; + } + + // providing various methods for a format specific driver. + Driver driver = dataset.GetDriver(); + System.out.println("driver name: " + driver.getLongName()); + + // 璇诲彇褰卞儚淇℃伅 + int xSize = dataset.getRasterXSize(); + int ySzie = dataset.getRasterYSize(); + int rasterCount = dataset.getRasterCount(); + System.out.println("dataset xSize: " + xSize + ", ySzie = " + ySzie + ", rasterCount = " + rasterCount); + + Band band = dataset.GetRasterBand(1); + // the data type of the band. + int type = band.GetRasterDataType(); + System.out.println("data type = " + type + ", " + (type == gdalconstConstants.GDT_Byte)); + + // Frees the native resource associated to a Dataset object and close the file. + dataset.delete(); + + gdal.GDALDestroyDriverManager(); + } + + /** + * 璇诲彇shp鏂囦欢 + * + * @param filePath + */ + public static void readShp(String filePath) { + try { + org.gdal.ogr.Driver driver = ogr.GetDriverByName("ESRI shapefile"); + if (driver == null) { + System.out.println(" ESRI shapefile椹卞姩涓嶅彲鐢紒\n"); + System.out.println("fail"); + } + + DataSource dataSource = driver.Open(filePath); + Layer layer = dataSource.GetLayer(0); + + String layerName = layer.GetName(); + System.out.println("鍥惧眰鍚嶇О锛�" + layerName); + + SpatialReference spatialReference = layer.GetSpatialRef(); + // System.out.println(spatialReference) + System.out.println("绌洪棿鍙傝�冨潗鏍囩郴锛�" + spatialReference.GetAttrValue("AUTHORITY", 0) + spatialReference.GetAttrValue("AUTHORITY", 1)); + + double[] layerExtent = layer.GetExtent(); + System.out.println("鍥惧眰鑼冨洿锛歮inx:" + layerExtent[0] + ",maxx:" + layerExtent[1] + ",miny:" + layerExtent[2] + ",maxy:" + layerExtent[3]); + + FeatureDefn featureDefn = layer.GetLayerDefn(); + Map<String, Object> fieldMap = new HashMap(5); + for (int i = 0, count = featureDefn.GetFieldCount(); i < count; i++) { + FieldDefn fieldDefn = featureDefn.GetFieldDefn(i); + //寰楀埌灞炴�у瓧娈电被鍨� + int fieldType = fieldDefn.GetFieldType(); + String fieldTypeName = fieldDefn.GetFieldTypeName(fieldType); + //寰楀埌灞炴�у瓧娈靛悕绉� + String fieldName = fieldDefn.GetName(); + + fieldMap.put(fieldTypeName, fieldName); + } + + long featureCount = layer.GetFeatureCount(); + System.out.println("鍥惧眰瑕佺礌涓暟锛�" + featureCount); + for (int i = 0; i < featureCount; i++) { + Feature feature = layer.GetFeature(i); + Object[] arr = fieldMap.values().toArray(); + for (int k = 0; k < arr.length; k++) { + String value = feature.GetFieldAsString(arr[k].toString()); + System.out.print(" 灞炴�у悕绉�:" + arr[k].toString() + ",灞炴�у��:" + value); + } + System.out.println(); + break; + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + + public static void getLayerDto(String filePath) { + org.gdal.ogr.Driver driver = ogr.GetDriverByName("OpenFileGDB"); + if (driver == null) { + return; + } + + List<Map> list = new ArrayList<>(); + List<Map<String, String>> mapList = new ArrayList<>(); + DataSource dataSource = null; + try { + dataSource = driver.Open(filePath, 0); + int num = dataSource.GetLayerCount(); + for (int i = 0; i < num; i++) { + // 鑾峰彇鍥惧眰 + Layer layer = dataSource.GetLayer(i); + // 琛ㄥ悕绉� + String strlayerName = layer.GetName(); + // 鑾峰彇鍥惧眰瑕佹暟涓暟 + long count = layer.GetFeatureCount(); + if (0 != count) { + do { + // 鑾峰彇鍥惧眰涓嬬殑瑕佺礌 + Feature feature = layer.GetNextFeature(); + if (null == feature) { + break; + } + // 鑾峰彇杈圭晫鍧愭爣 + Geometry geometry = feature.GetGeometryRef(); + if (geometry != null) { + String geometryJson = geometry.ExportToJson(); + String str = geometryJson.substring(geometryJson.lastIndexOf(":") + 1, geometryJson.length()); + if (!" [ [ ] ] }".equals(str)) { + String s1 = str.substring(7, str.length() - 8); + String[] split = s1.replaceAll(" ", "").replaceAll("\\[", "").replaceAll("]", "").split(","); + List<String> xList = new ArrayList(); + List<String> yList = new ArrayList(); + Map<String, String> map1 = new HashMap(5); + for (int j = 0; j < split.length; j++) { + if (j != (split.length - 1) && j % 2 == 0) { + map1.put(split[j], split[j + 1]); + } + } + mapList.add(map1); + } + } + Map map = new HashMap(5); + //鑾峰彇灞炴�� + for (int p = 0; p < feature.GetFieldCount(); p++) { + map.put(feature.GetFieldDefnRef(p).GetName(), getProperty(feature, p)); + } + list.add(map); + feature.delete(); + } while (true); + } + //layerDto.setLayerName(strlayerName); + //layerDto.setList(list); + //layerDto.setCount(count); + //layerDto.setMap(mapList); + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } finally { + if (dataSource != null) { + dataSource.delete(); + } + } + } + + /** + * 璇诲彇gdb鏂囦欢 + * + * @param filePath + */ + public static void readGdb(String filePath) { + try { + org.gdal.ogr.Driver driver = ogr.GetDriverByName("OpenFileGDB"); + if (driver == null) { + return; + } + DataSource dataSource = driver.Open(filePath, 0); + + for (int i = 0, count = dataSource.GetLayerCount(); i < count; i++) { + // 鑾峰彇鍥惧眰 + Layer layer = dataSource.GetLayer(i); + System.out.println(i + "\t" + layer.GetName()); + do { + // 鑾峰彇鍥惧眰涓嬬殑瑕佺礌 + Feature feature = layer.GetNextFeature(); + if (null == feature) { + break; + } + // 鑾峰彇鏍峰紡锛岃繖閲屾槸绌猴紝寰呯‘瀹� + System.out.println(feature.GetStyleString()); + // 鑾峰彇geometry锛屼篃鍙互ExportToWkb() gml绛夌瓑 + System.out.println(feature.GetGeometryRef().ExportToWkt()); + // 鑾峰彇灞炴�� + System.out.println("----------------------------------"); + for (int p = 0; p < feature.GetFieldCount(); p++) { + System.out.println(feature.GetFieldDefnRef(p).GetName() + "\t" + getProperty(feature, p)); + } + System.out.println("----------------------------------"); + break; + } while (true); + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + + public static Object getProperty(Feature feature, int index) { + int type = feature.GetFieldType(index); + + PropertyGetter propertyGetter; + if (type < 0 || type >= PROPERTY_GETTERS.length) { + propertyGetter = STRING_PROPERTY_GETTER; + } else { + propertyGetter = PROPERTY_GETTERS[type]; + } + + try { + return propertyGetter.get(feature, index); + } catch (Exception ex) { + // ex.printStackTrace() + log.error(ex.getMessage(), ex); + + return null; + } + } + + /** + * 灞炴�ц幏鍙栧櫒 + */ + @FunctionalInterface + private interface PropertyGetter { + /** + * 鑾峰彇灞炴�� + * + * @param feature + * @param index + * @return + */ + Object get(Feature feature, int index); + } + + private static final PropertyGetter STRING_PROPERTY_GETTER = (feature, index) -> feature.GetFieldAsString(index); + + /** + * feature.GetFieldType(index)寰楀埌涓�涓睘鎬х被鍨嬬殑int鍊�,璇ュ�煎搴斿叿浣撶被鍨� + */ + private static final PropertyGetter[] PROPERTY_GETTERS = new PropertyGetter[]{ + // 0-Integer + (feature, index) -> feature.GetFieldAsInteger(index), + // 1-IntegerList + (feature, index) -> feature.GetFieldAsIntegerList(index), + // 2-Real + (feature, index) -> feature.GetFieldAsDouble(index), + // 3-RealList + (feature, index) -> feature.GetFieldAsDoubleList(index), + // 4-String + STRING_PROPERTY_GETTER, + // 5-StringList + (feature, index) -> feature.GetFieldAsStringList(index), + // 6-unknown + STRING_PROPERTY_GETTER, + // 7-unknown + STRING_PROPERTY_GETTER, + // 8-Binary + (feature, index) -> feature.GetFieldAsBinary(index), + // 9-Date + (feature, index) -> { + int[] pnYear = new int[1]; + int[] pnMonth = new int[1]; + int[] pnDay = new int[1]; + int[] pnHour = new int[1]; + int[] pnMinute = new int[1]; + float[] pfSecond = new float[1]; + int[] pnTZFlag = new int[1]; + feature.GetFieldAsDateTime(index, pnYear, pnMonth, pnDay, pnHour, pnMinute, pfSecond, pnTZFlag); + java.sql.Date date = java.sql.Date.valueOf(LocalDate.of(pnYear[0], pnMonth[0], pnDay[0])); + return date; + }, + // 10-Time + (feature, index) -> { + int[] pnYear = new int[1]; + int[] pnMonth = new int[1]; + int[] pnDay = new int[1]; + int[] pnHour = new int[1]; + int[] pnMinute = new int[1]; + float[] pfSecond = new float[1]; + int[] pnTZFlag = new int[1]; + feature.GetFieldAsDateTime(index, pnYear, pnMonth, pnDay, pnHour, pnMinute, pfSecond, pnTZFlag); + float fSecond = pfSecond[0]; + int s = (int) fSecond; + int ns = (int) (1000000000 * fSecond - s); + Time time = Time.valueOf(LocalTime.of(pnHour[0], pnMinute[0], s, ns)); + return time; + }, + // 11-DateTime + (feature, index) -> { + int[] pnYear = new int[1]; + int[] pnMonth = new int[1]; + int[] pnDay = new int[1]; + int[] pnHour = new int[1]; + int[] pnMinute = new int[1]; + float[] pfSecond = new float[1]; + int[] pnTZFlag = new int[1]; + feature.GetFieldAsDateTime(index, pnYear, pnMonth, pnDay, pnHour, pnMinute, pfSecond, pnTZFlag); + float fSecond = pfSecond[0]; + int s = (int) fSecond; + int ns = (int) (1000000000 * fSecond - s); + LocalDateTime localDateTime = LocalDateTime.of( + LocalDate.of(pnYear[0], pnMonth[0], pnDay[0]), + LocalTime.of(pnHour[0], pnMinute[0], s, ns) + ); + Timestamp timestamp = Timestamp.valueOf(localDateTime); + return timestamp; + }, + // 12-Integer64 + (feature, index) -> feature.GetFieldAsInteger64(index), + // 13 Integer64List + (feature, index) -> feature.GetFieldAsIntegerList(index) + // >=14 (unknown) + }; +} diff --git a/src/main/java/com/lf/server/helper/GdbHelper.java b/src/main/java/com/lf/server/helper/GdbHelper.java new file mode 100644 index 0000000..1d1a06c --- /dev/null +++ b/src/main/java/com/lf/server/helper/GdbHelper.java @@ -0,0 +1,622 @@ +package com.lf.server.helper; + +import com.lf.server.entity.all.BaseGeoEntity; +import com.lf.server.entity.all.StaticData; +import com.lf.server.mapper.all.BasicMapper; +import com.lf.server.mapper.all.GeomBaseMapper; +import com.lf.server.service.all.BaseQueryService; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.gdal.ogr.*; +import org.gdal.osr.SpatialReference; + +import java.lang.reflect.Field; +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.util.*; + +/** + * GDB甯姪绫� + * @author WWW + */ +public class GdbHelper { + private final static Log log = LogFactory.getLog(GdbHelper.class); + + /** + * 閿�姣佽祫婧� + */ + public static void delete(Layer layer) { + try { + if (null != layer) { + layer.delete(); + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + + /** + * 閿�姣佽祫婧� + */ + public static void delete(DataSource dataSource, Driver driver) { + try { + if (null != dataSource) { + dataSource.delete(); + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + + try { + if (null != driver) { + driver.delete(); + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + + /** + * 閿�姣佽祫婧� + */ + public static void delete(Layer layer, DataSource dataSource, Driver driver) { + delete(layer); + delete(dataSource, driver); + } + + /** + * 鑾峰彇琛ㄥ悕 + */ + public static List<String> getTabNames(String filePath) { + List<String> list = new ArrayList<>(); + + Driver driver = null; + DataSource dataSource = null; + try { + // driver = ogr.GetDriverByName("OpenFileGDB") + driver = ogr.GetDriverByName("FileGDB"); + if (null == driver) { + log.error("GdbHelper.getTabNames.driver is null."); + return list; + } + + dataSource = driver.Open(filePath, 0); + if (null == dataSource) { + log.error("GdbHelper.getTabNames.dataSource is null. " + filePath); + return list; + } + + for (int i = 0, count = dataSource.GetLayerCount(); i < count; i++) { + Layer layer = dataSource.GetLayer(i); + list.add(layer.GetName()); + + layer.delete(); + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } finally { + GdbHelper.delete(dataSource, driver); + } + + return list; + } + + /** + * 璇诲彇鏁版嵁 + */ + public static <T> List<T> readData(Class clazz, String filePath, String layerName) { + List<T> list = new ArrayList<>(); + + Driver driver = null; + DataSource dataSource = null; + try { + // driver = ogr.GetDriverByName("OpenFileGDB") + driver = ogr.GetDriverByName("FileGDB"); + if (null == driver) { + return list; + } + + dataSource = driver.Open(filePath, 0); + if (null == dataSource) { + return list; + } + + for (int i = 0, count = dataSource.GetLayerCount(); i < count; i++) { + Layer layer = dataSource.GetLayer(i); + if (layer.GetName().equals(layerName)) { + GdbHelper.readLayer(clazz, layer, list); + break; + } + + layer.delete(); + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } finally { + GdbHelper.delete(dataSource, driver); + } + + return list; + } + + /** + * 璇诲彇鍥惧眰 + */ + public static <T> void readLayer(Class clazz, Layer layer, List<T> list) { + try { + Field gField = getGeomField(clazz); + + Map<Integer, Field> map = new HashMap<>(3); + getFieldMapper(clazz, layer, map); + if (map.isEmpty() || 0 == layer.GetFeatureCount()) { + return; + } + + do { + Feature f = layer.GetNextFeature(); + if (null == f) { + break; + } + + T t = (T) clazz.newInstance(); + readFeature(t, f, map, gField); + list.add(t); + } while (true); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } finally { + GdbHelper.delete(layer); + } + } + + /** + * 鑾峰彇 geom 瀛楁 + */ + private static Field getGeomField(Class clazz) { + try { + Field gField = clazz.getSuperclass().getDeclaredField("geom"); + gField.setAccessible(true); + + return gField; + } catch (Exception ex) { + return null; + } + } + + /** + * 鑾峰彇瀛楁鏄犲皠 + */ + private static void getFieldMapper(Class clazz, Layer layer, Map<Integer, Field> map) { + try { + FeatureDefn fd = layer.GetLayerDefn(); + for (int i = 0, count = fd.GetFieldCount(); i < count; i++) { + FieldDefn fieldDefn = fd.GetFieldDefn(i); + try { + String name = fieldDefn.GetName().toLowerCase(); + if (StaticData.READ_EXCLUDE_FIELDS.contains(name)) { + continue; + } + + Field field = clazz.getDeclaredField(name); + field.setAccessible(true); + + map.put(i, field); + } catch (Exception e) { + // + } + } + + if (!StaticData.OBJECT.equals(clazz.getSuperclass().getName())) { + getFieldMapper(clazz.getSuperclass(), layer, map); + } + } catch (Exception ex) { + // + } + } + + /** + * 璇诲彇Feature + */ + private static <T> void readFeature(T t, Feature f, Map<Integer, Field> map, Field gField) { + for (Integer i : map.keySet()) { + try { + Field field = map.get(i); + setValue(t, f, field, i); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + } + + if (null != gField) { + setGeom(t, f, gField); + } + } + + /** + * 璁剧疆鍊� + */ + public static <T> void setValue(T t, Feature f, Field field, Integer i) throws Exception { + switch (field.getType().getName()) { + case "java.math.BigDecimal": + double dd = f.GetFieldAsDouble(i); + field.set(t, BigDecimal.valueOf(dd)); + break; + case "java.lang.Double": + case "double": + field.set(t, f.GetFieldAsDouble(i)); + break; + case "java.lang.Long": + case "long": + field.set(t, f.GetFieldAsInteger64(i)); + break; + case "java.lang.Integer": + case "int": + field.set(t, f.GetFieldAsInteger(i)); + break; + case "java.sql.Timestamp": + Timestamp ts = getTimestamp(f, i); + if (null != ts) { + field.set(t, ts); + } + break; + case "java.time.LocalDate": + LocalDate ld = getLocalDate(f, i); + if (null != ld) { + field.set(t, ld); + } + break; + default: + field.set(t, f.GetFieldAsString(i)); + break; + } + } + + /** + * 璁剧疆 geom 瀛楁鍊� + * <p> + * wkbUnknown = 0, + * wkbPoint = 1, + * wkbLineString = 2, + * wkbPolygon = 3, + * wkbMultiPoint = 4, + * wkbMultiLineString = 5, + * wkbMultiPolygon = 6, + * wkbGeometryCollection = 7, + * wkbNone = 100, + * wkbLinearRing = 101 + */ + private static <T> void setGeom(T t, Feature f, Field gField) { + try { + String geo = "null"; + if (null != f.GetGeometryRef()) { + String wkt = f.GetGeometryRef().ExportToWkt(); + // f.GetGeometryRef().GetGeometryType() + if (wkt.contains(StaticData.LINESTRING) && !wkt.contains(StaticData.MULTILINESTRING)) { + wkt = wkt.replace("LINESTRING (", "MULTILINESTRING ((") + ")"; + } + if (wkt.contains(StaticData.POLYGON) && !wkt.contains(StaticData.MULTIPOLYGON)) { + wkt = wkt.replace("POLYGON (", "MULTIPOLYGON ((") + ")"; + } + wkt = wkt.replace(" 0,", ",").replace(" 0)", ")"); + + geo = String.format("ST_GeomFromText('%s')", wkt); + } + + gField.set(t, geo); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + + /** + * 鑾峰彇 Timestamp + */ + public static Timestamp getTimestamp(Feature f, int index) { + int[] pnYear = new int[1]; + int[] pnMonth = new int[1]; + int[] pnDay = new int[1]; + int[] pnHour = new int[1]; + int[] pnMinute = new int[1]; + float[] pfSecond = new float[1]; + int[] pnTzFlag = new int[1]; + + f.GetFieldAsDateTime(index, pnYear, pnMonth, pnDay, pnHour, pnMinute, pfSecond, pnTzFlag); + + float fSecond = pfSecond[0]; + int s = (int) fSecond; + int ns = (int) (1000000000 * fSecond - s); + + if (pnYear[0] > StaticData.I2050 || pnMonth[0] > StaticData.I12 || pnDay[0] > StaticData.I31 || pnHour[0] > StaticData.I24 || pnMinute[0] > StaticData.I60) { + return null; + } + + LocalDateTime localDateTime = LocalDateTime.of( + LocalDate.of(pnYear[0], pnMonth[0], pnDay[0]), + LocalTime.of(pnHour[0], pnMinute[0], s, ns) + ); + + return Timestamp.valueOf(localDateTime); + } + + /** + * 鑾峰彇 LocalDate + */ + public static LocalDate getLocalDate(Feature f, int index) { + int[] pnYear = new int[1]; + int[] pnMonth = new int[1]; + int[] pnDay = new int[1]; + int[] pnHour = new int[1]; + int[] pnMinute = new int[1]; + float[] pfSecond = new float[1]; + int[] pnTzFlag = new int[1]; + + f.GetFieldAsDateTime(index, pnYear, pnMonth, pnDay, pnHour, pnMinute, pfSecond, pnTzFlag); + if (pnYear[0] > StaticData.I2050 || pnMonth[0] > StaticData.I12 || pnDay[0] > StaticData.I31) { + return null; + } + + return LocalDate.of(pnYear[0], pnMonth[0], pnDay[0]); + } + + /** + * 鍒涘缓GDB + */ + public static void createGdb(String filePath, Map<String, List<?>> map) throws Exception { + Driver driver = null; + DataSource dataSource = null; + try { + driver = ogr.GetDriverByName("FileGDB"); + if (null == driver) { + log.error("GdbHelper.createGdb.driver(FileGDB) is null."); + return; + } + dataSource = driver.CreateDataSource(filePath, null); + if (null == dataSource) { + log.error("GdbHelper.createGdb.dataSource is null. " + filePath); + return; + } + + for (String key : map.keySet()) { + Layer layer = null; + try { + BasicMapper baseMapper = ClassHelper.getBasicMapper(key); + if (null == baseMapper) { + continue; + } + layer = createLayer(dataSource, baseMapper); + if (null == layer) { + continue; + } + + String className = ClassHelper.getClassName(baseMapper); + Class clazz = ClassHelper.getEntityClass(className); + if (null == clazz) { + continue; + } + + List<Field> fields = new ArrayList<>(); + getFields(clazz, fields, StaticData.GDB_EXCLUDE_FIELDS); + addLayerField(layer, fields); + + setLayerData(layer, fields, map.get(key)); + } finally { + if (null != layer) { + layer.delete(); + } + } + } + + dataSource.SyncToDisk(); + dataSource.FlushCache(); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + throw ex; + } finally { + GdbHelper.delete(dataSource, driver); + } + } + + /** + * 鍒涘缓鍥惧眰 + */ + private static Layer createLayer(DataSource dataSource, BasicMapper baseMapper ) { + String tab = BaseQueryService.getTabName(baseMapper); + if (StringHelper.isNull(tab)) { + return null; + } + + Integer srid = null; + String geomType = null; + if (baseMapper instanceof GeomBaseMapper) { + GeomBaseMapper geomMapper = (GeomBaseMapper) baseMapper; + geomType = geomMapper.selectGeometryType(tab); + + srid = geomMapper.selectSrid(tab); + } + + SpatialReference sr = new SpatialReference(); + sr.ImportFromEPSG(null == srid ? 4490 : srid); + + return dataSource.CreateLayer(tab.replace(".", "_"), sr, getGeomType(geomType), null); + } + + /** + * 鑾峰彇Geom绫诲埆 + */ + private static Integer getGeomType(String geomType) { + if (StringHelper.isEmpty(geomType)) { + return ogr.wkbPoint; + } + + switch (geomType) { + case "ST_Point": + return ogr.wkbPoint; + case "ST_MultiPoint": + return ogr.wkbMultiPoint; + case "ST_LineString": + return ogr.wkbLineString; + case "ST_MultiLineString": + return ogr.wkbMultiLineString; + case "ST_Polygon": + return ogr.wkbPolygon; + case "ST_MultiPolygon": + return ogr.wkbMultiPolygon; + default: + return ogr.wkbUnknown; + } + } + + /** + * 鑾峰彇瀛楁 + */ + public static void getFields(Class clazz, List<Field> list, List<String> excludeFields) { + try { + Field[] fields = clazz.getDeclaredFields(); + for (Field f : fields) { + if (excludeFields.contains(f.getName())) { + continue; + } + + f.setAccessible(true); + list.add(f); + } + + if (!StaticData.OBJECT.equals(clazz.getSuperclass().getName())) { + getFields(clazz.getSuperclass(), list, excludeFields); + } + } catch (Exception ex) { + // + } + } + + /** + * 娣诲姞鍥惧眰瀛楁 + */ + public static void addLayerField(Layer layer, List<Field> list) { + for (int i = 0, c = list.size(); i < c; i++) { + Field f = list.get(i); + + int fieldType = getFieldType(f); + FieldDefn fd = new FieldDefn(f.getName(), fieldType); + + layer.CreateField(fd, i + 1); + } + } + + /** + * 鑾峰彇瀛楁绫诲瀷 + */ + private static Integer getFieldType(Field f) { + switch (f.getType().getName()) { + case "java.math.BigDecimal": + case "java.lang.Double": + case "double": + return ogr.OFTReal; + case "java.lang.Long": + case "long": + return ogr.OFTInteger64; + case "java.lang.Integer": + case "int": + return ogr.OFTInteger; + case "java.sql.Timestamp": + return ogr.OFTDateTime; + case "java.time.LocalDate": + return ogr.OFTDate; + default: + return ogr.OFTString; + } + } + + /** + * 璁剧疆鍥惧眰鏁版嵁 + */ + private static <T> void setLayerData(Layer layer, List<Field> fields, List<T> list) throws Exception { + for (T t : list) { + Feature f = new Feature(layer.GetLayerDefn()); + + if (t instanceof BaseGeoEntity) { + BaseGeoEntity geoEntity = (BaseGeoEntity) t; + if (!StringHelper.isEmpty(geoEntity.getGeom())) { + Geometry geom = Geometry.CreateFromWkt(geoEntity.getGeom()); + f.SetGeometry(geom); + } + } + + setFeatureData(f, fields, t); + layer.CreateFeature(f); + } + } + + /** + * 璁剧疆瑕佺礌鐨勬暟鎹� + */ + public static <T> void setFeatureData(Feature f, List<Field> fields, T t) throws Exception { + for (int i = 0, c = fields.size(); i < c; i++) { + Field field = fields.get(i); + Object val = field.get(t); + if (null == val) { + continue; + } + + switch (field.getType().getName()) { + case "java.math.BigDecimal": + BigDecimal big = (BigDecimal) val; + f.SetField(i, big.doubleValue()); + break; + case "java.lang.Double": + case "double": + double d = (double) val; + f.SetField(i, d); + break; + case "java.lang.Long": + case "long": + long l = (long) val; + f.SetField(i, l); + break; + case "java.lang.Integer": + case "int": + int n = (int) val; + f.SetField(i, n); + break; + case "java.sql.Timestamp": + Timestamp timestamp = (Timestamp) field.get(t); + setTimestamp(f, i, timestamp); + break; + case "java.time.LocalDate": + LocalDate localDate = (LocalDate) field.get(t); + setLocalDate(f, i, localDate); + break; + default: + String str = (String) val; + f.SetField(i, str); + break; + } + } + } + + /** + * 璁剧疆Timestamp + */ + private static void setTimestamp(Feature f, int i, Timestamp time) { + if (null == time) { + return; + } + + LocalDateTime local = time.toLocalDateTime(); + f.SetField(i, local.getYear(), local.getMonthValue(), local.getDayOfMonth(), local.getHour(), local.getMinute(), local.getSecond(), 8); + } + + /** + * 璁剧疆LocalDate + */ + private static void setLocalDate(Feature f, int i, LocalDate local) { + if (null == local) { + return; + } + + f.SetField(i, local.getYear(), local.getMonthValue(), local.getDayOfMonth(), 0, 0, 0, 8); + } +} diff --git a/src/main/java/com/lf/server/helper/HttpHelper.java b/src/main/java/com/lf/server/helper/HttpHelper.java new file mode 100644 index 0000000..6cef7fc --- /dev/null +++ b/src/main/java/com/lf/server/helper/HttpHelper.java @@ -0,0 +1,278 @@ +package com.lf.server.helper; + +import org.apache.http.*; +import org.apache.http.client.config.CookieSpecs; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.utils.URIUtils; +import org.apache.http.entity.InputStreamEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.message.BasicHeader; +import org.apache.http.message.BasicHttpEntityEnclosingRequest; +import org.apache.http.message.BasicHttpRequest; +import org.apache.http.message.HeaderGroup; +import org.apache.http.util.EntityUtils; + +import javax.servlet.ServletException; +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; +import java.net.HttpCookie; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.Enumeration; + +/** + * Http甯姪绫� + * @author WWW + */ +public class HttpHelper { + private final static String HTTP_SLASH2 = "://"; + + private final static String HTTP_SLASH = "/"; + + private final static Integer THREE = 3; + + protected static final HeaderGroup HOP_HEADERS; + + static { + HOP_HEADERS = new HeaderGroup(); + + String[] headers = new String[]{ + "Connection", "Keep-Alive", "Proxy-Authenticate", "Proxy-Authorization", + "TE", "Trailers", "Transfer-Encoding", "Upgrade", + //"X-RateLimit-Burst-Capacity", "X-RateLimit-Remaining", "X-RateLimit-Replenish-Rate", + "Access-Control-Allow-Origin", "Access-Control-Allow-Credentials", "Access-Control-Allow-Headers"}; + + for (String header : headers) { + HOP_HEADERS.addHeader(new BasicHeader(header, null)); + } + } + + public void service(HttpServletRequest request, HttpServletResponse response, String url, String cookie) throws ServletException, IOException { + HttpRequest proxyRequest; + if (request.getHeader(HttpHeaders.CONTENT_LENGTH) != null || request.getHeader(HttpHeaders.TRANSFER_ENCODING) != null) { + proxyRequest = newProxyRequestWithEntity(request, url); + } else { + proxyRequest = new BasicHttpRequest(request.getMethod(), url); + } + + HttpHost host = this.getTargetHost(url); + // copyRequestHeaders(request, proxyRequest, host); + //setXrForwardedForHeader(request, proxyRequest); + + if (!StringHelper.isEmpty(cookie)) { + proxyRequest.addHeader("Cookie", cookie + "; "); + } + + CloseableHttpClient client = null; + HttpResponse proxyResponse = null; + + try { + client = this.createHttpClient(); + proxyResponse = client.execute(host, proxyRequest); + + int statusCode = proxyResponse.getStatusLine().getStatusCode(); + // response.setStatus(statusCode, proxyResponse.getStatusLine().getReasonPhrase()) + response.setStatus(statusCode); + + copyResponseHeaders(proxyResponse, request, response, url); + + if (statusCode == HttpServletResponse.SC_NOT_MODIFIED) { + response.setIntHeader(HttpHeaders.CONTENT_LENGTH, 0); + } else { + copyResponseEntity(proxyResponse, response); + } + } catch (Exception ex) { + throw new ServletException(ex.getMessage()); + } finally { + if (proxyResponse != null) { + EntityUtils.consumeQuietly(proxyResponse.getEntity()); + } + if (client != null) { + client.close(); + } + } + } + + protected HttpRequest newProxyRequestWithEntity(HttpServletRequest request, String url) throws IOException { + String method = request.getMethod(); + HttpEntityEnclosingRequest proxyRequest = new BasicHttpEntityEnclosingRequest(method, url); + proxyRequest.setEntity(new InputStreamEntity(request.getInputStream(), getContentLength(request))); + //String str = EntityUtils.toString(proxyRequest.getEntity(), "UTF-8") + + return proxyRequest; + } + + private long getContentLength(HttpServletRequest request) { + String contentLengthHeader = request.getHeader("Content-Length"); + if (contentLengthHeader != null) { + return Long.parseLong(contentLengthHeader); + } + + return -1L; + } + + protected void copyRequestHeaders(HttpServletRequest request, HttpRequest proxyRequest, HttpHost host) { + @SuppressWarnings("unchecked") + Enumeration<String> enumerationOfHeaderNames = request.getHeaderNames(); + + while (enumerationOfHeaderNames.hasMoreElements()) { + String headerName = enumerationOfHeaderNames.nextElement(); + copyRequestHeader(request, proxyRequest, host, headerName); + } + } + + protected void copyRequestHeader(HttpServletRequest request, HttpRequest proxyRequest, HttpHost host, String headerName) { + if (headerName.equalsIgnoreCase(HttpHeaders.CONTENT_LENGTH) || HOP_HEADERS.containsHeader(headerName)) { + return; + } + + @SuppressWarnings("unchecked") + Enumeration<String> headers = request.getHeaders(headerName); + while (headers.hasMoreElements()) { + String headerValue = headers.nextElement(); + if (headerName.equalsIgnoreCase(HttpHeaders.HOST)) { + headerValue = host.getHostName(); + if (host.getPort() != -1) { + headerValue += ":" + host.getPort(); + } + } else if (headerName.equalsIgnoreCase(org.apache.http.cookie.SM.COOKIE)) { + headerValue = getRealCookie(headerValue); + } + + proxyRequest.addHeader(headerName, headerValue); + } + } + + protected HttpHost getTargetHost(String url) throws ServletException { + try { + URI uri = new URI(url); + + return URIUtils.extractHost(uri); + } catch (URISyntaxException ex) { + throw new ServletException(ex.getMessage()); + } + } + + protected String getRealCookie(String cookieValue) { + StringBuilder escapedCookie = new StringBuilder(); + + String[] cookies = cookieValue.split("[;,]"); + for (String cookie : cookies) { + String[] cookieSplit = cookie.split("="); + if (cookieSplit.length == 2) { + String cookieName = cookieSplit[0].trim(); + if (cookieName.startsWith(cookieName)) { + cookieName = cookieName.substring(cookieName.length()); + if (escapedCookie.length() > 0) { + escapedCookie.append("; "); + } + escapedCookie.append(cookieName).append("=").append(cookieSplit[1].trim()); + } + } + } + + return escapedCookie.toString(); + } + + private void setXrForwardedForHeader(HttpServletRequest request, HttpRequest proxyRequest) { + String forHeaderName = "X-Forwarded-For"; + String forHeader = request.getRemoteAddr(); + String existingForHeader = request.getHeader(forHeaderName); + if (existingForHeader != null) { + forHeader = existingForHeader + ", " + forHeader; + } + proxyRequest.setHeader(forHeaderName, forHeader); + + String protoHeaderName = "X-Forwarded-Proto"; + String protoHeader = request.getScheme(); + proxyRequest.setHeader(protoHeaderName, protoHeader); + } + + protected CloseableHttpClient createHttpClient() { + RequestConfig requestConfig = RequestConfig.custom() + .setRedirectsEnabled(false) + .setCookieSpec(CookieSpecs.IGNORE_COOKIES) + .setConnectTimeout(-1) + .setSocketTimeout(-1) + .build(); + + // return HttpClientBuilder.create().setDefaultRequestConfig(requestConfig).build() + return HttpClients.custom() + .setDefaultRequestConfig(requestConfig) + .build(); + } + + protected void copyResponseHeaders(HttpResponse proxyResponse, HttpServletRequest request, HttpServletResponse response, String url) { + for (Header header : proxyResponse.getAllHeaders()) { + copyResponseHeader(request, response, header, url); + } + } + + protected void copyResponseHeader(HttpServletRequest request, HttpServletResponse response, Header header, String url) { + String headerName = header.getName(); + if (HOP_HEADERS.containsHeader(headerName)) { + return; + } + + String headerValue = header.getValue(); + if (headerName.equalsIgnoreCase(org.apache.http.cookie.SM.SET_COOKIE) || headerName.equalsIgnoreCase(org.apache.http.cookie.SM.SET_COOKIE2)) { + copyProxyCookie(request, response, headerValue); + } else if (headerName.equalsIgnoreCase(HttpHeaders.LOCATION)) { + response.addHeader(headerName, rewriteUrlFromResponse(request, url, headerValue)); + } else { + response.addHeader(headerName, headerValue); + } + } + + protected void copyProxyCookie(HttpServletRequest request, HttpServletResponse response, String headerValue) { + String path = request.getContextPath() + request.getServletPath(); + if (path.isEmpty()) { + path = "/"; + } + + for (HttpCookie cookie : HttpCookie.parse(headerValue)) { + Cookie servletCookie = new Cookie(cookie.getName(), cookie.getValue()); + servletCookie.setComment(cookie.getComment()); + servletCookie.setMaxAge((int) cookie.getMaxAge()); + servletCookie.setPath(path); + + servletCookie.setSecure(cookie.getSecure()); + servletCookie.setVersion(cookie.getVersion()); + response.addCookie(servletCookie); + } + } + + protected String rewriteUrlFromResponse(HttpServletRequest request, String targetUri, String theUrl) { + if (theUrl.startsWith(targetUri)) { + StringBuffer curUrl = request.getRequestURL(); + + int pos; + if ((pos = curUrl.indexOf(HTTP_SLASH2)) >= 0) { + if ((pos = curUrl.indexOf(HTTP_SLASH, pos + THREE)) >= 0) { + curUrl.setLength(pos); + } + } + + curUrl.append(request.getContextPath()); + curUrl.append(request.getServletPath()); + curUrl.append(theUrl, targetUri.length(), theUrl.length()); + + return curUrl.toString(); + } + + return theUrl; + } + + protected void copyResponseEntity(HttpResponse proxyResponse, HttpServletResponse response) throws IOException { + HttpEntity entity = proxyResponse.getEntity(); + if (entity != null) { + //String str = EntityUtils.toString(entity, "UTF-8") + OutputStream servletOutputStream = response.getOutputStream(); + entity.writeTo(servletOutputStream); + } + } +} diff --git a/src/main/java/com/lf/server/helper/JsonHelper.java b/src/main/java/com/lf/server/helper/JsonHelper.java new file mode 100644 index 0000000..ea75613 --- /dev/null +++ b/src/main/java/com/lf/server/helper/JsonHelper.java @@ -0,0 +1,79 @@ +package com.lf.server.helper; + +import com.alibaba.fastjson.JSONObject; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.ObjectMapper; + +import java.io.IOException; +import java.util.LinkedHashMap; +import java.util.List; + +/** + * Json甯姪绫� + * @author WWW + */ +public class JsonHelper { + /** + * json涓诧紝杞负LinkedHashMap + * @param json + * @return + * @throws IOException + */ + @SuppressWarnings("unchecked") + public static LinkedHashMap<String, Object> json2Map(String json) throws IOException { + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true).configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true); + return mapper.readValue(json, LinkedHashMap.class); + } + + /** + * 瀵硅薄杞琷son + * @param obj + * @return + * @throws IOException + */ + public static String map2Json(Object obj) throws IOException { + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true).configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true); + return mapper.writeValueAsString(obj); + } + + /** + * json涓诧紝杞负List<LinkedHashMap<String, Object>> + * @param json + * @return + * @throws IOException + */ + @SuppressWarnings("unchecked") + public static List<LinkedHashMap<String, Object>> json2ListMap(String json) throws IOException { + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true).configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true); + return mapper.readValue(json, List.class); + } + + /** + * 灏唈son瀛楃涓茶浆涓哄璞� + * @param json + * @param valueType + * @param <T> + * @return + * @throws IOException + */ + public static <T> T json2Object(String json, Class<T> valueType) throws IOException { + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true).configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true); + return mapper.readValue(json, valueType); + } + + /** + * fastjson 杞璞� + * + * @param obj + * @param valueType + * @param <T> + * @return + */ + public static <T> T obj2Vo(Object obj, Class<T> valueType) { + return JSONObject.parseObject(JSONObject.toJSONString(obj), valueType); + } +} diff --git a/src/main/java/com/lf/server/helper/LicHelper.java b/src/main/java/com/lf/server/helper/LicHelper.java new file mode 100644 index 0000000..747bece --- /dev/null +++ b/src/main/java/com/lf/server/helper/LicHelper.java @@ -0,0 +1,105 @@ +package com.lf.server.helper; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.crypto.Cipher; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; +import java.nio.charset.Charset; + +/** + * 璁稿彲甯姪绫� + * @author WWW + */ +public class LicHelper { + private String a; + private String b; + private static String c; + private static String d; + private static String e; + private static final Logger f; + + static { + c = "utf-8"; + d = "AES"; + e = "AES/CBC/PKCS5Padding"; + f = LoggerFactory.getLogger(LicHelper.class); + } + + private IvParameterSpec a() { + try { + return new IvParameterSpec(this.b.getBytes(c)); + } catch (Exception ex) { + return null; + } + } + + public final String a(final String s) { + String str = null; + try { + // final Cipher instance + // (instance = Cipher.getInstance(e)).init(1, new SecretKeySpec(this.a.getBytes(c), d), this.a()) + // str = a(instance.doFinal(s.getBytes(Charset.forName(c)))) + + Cipher instance = Cipher.getInstance(e); + IvParameterSpec ips = this.a(); + SecretKeySpec sks = new SecretKeySpec(this.a.getBytes(c), d); + instance.init(1, sks, ips); + + byte[] bytes = s.getBytes(Charset.forName(c)); + str = a(instance.doFinal(bytes)); + } catch (Exception ex) { + System.out.println(ex.getStackTrace()); + } + return str; + } + + public final String b(final String s) { + String s2 = null; + try { + final Cipher instance; + (instance = Cipher.getInstance(e)).init(2, new SecretKeySpec(this.a.getBytes(c), d), this.a()); + s2 = new String(instance.doFinal(this.e(s)), c); + } catch (Exception ex) { + String str = ex.getMessage(); + } + return s2; + } + + private static String a(final byte[] array) { + final StringBuilder sb = new StringBuilder(); + for (int i = 0; i < array.length; ++i) { + final String hexString; + if ((hexString = Integer.toHexString(array[i] & 0xFF)).length() < 2) { + sb.append("0"); + } + sb.append(hexString); + } + return sb.toString(); + } + + private byte[] e(String upperCase) { + final int n = (upperCase = upperCase.toUpperCase()).length() / 2; + final char[] charArray = upperCase.toCharArray(); + final byte[] array = new byte[n]; + for (int i = 0; i < n; ++i) { + final int n2 = i << 1; + array[i] = (byte) ((byte) "0123456789ABCDEF".indexOf(charArray[n2]) << 4 | (byte) "0123456789ABCDEF".indexOf(charArray[n2 + 1])); + } + return array; + } + + public final void c(String string) { + final String substring = (string = string).substring(2, 5); + final StringBuilder sb; + (sb = new StringBuilder(string)).replace(2, 5, string.substring(7, 10)); + sb.replace(7, 10, substring); + string = sb.toString(); + this.a = string; + } + + public final void d(final String b) { + this.b = b; + } +} diff --git a/src/main/java/com/lf/server/helper/Md5Helper.java b/src/main/java/com/lf/server/helper/Md5Helper.java new file mode 100644 index 0000000..8854519 --- /dev/null +++ b/src/main/java/com/lf/server/helper/Md5Helper.java @@ -0,0 +1,109 @@ +package com.lf.server.helper; + +import org.apache.commons.codec.binary.Hex; + +import java.security.MessageDigest; +import java.util.Random; + +/** + * MD5甯姪绫� + * @author WWW + */ +public class Md5Helper { + private final static int M3 = 3; + + private final static int M16 = 16; + + private final static int M48 = 48; + + /** + * 鐢熸垚鍚湁闅忔満鐩愮殑瀵嗙爜 + * + * @param password + * @return + */ + public static String generate(String password) { + Random r = new Random(); + StringBuilder sb = new StringBuilder(16); + sb.append(r.nextInt(99999999)).append(r.nextInt(99999999)); + + int len = sb.length(); + if (len < M16) { + for (int i = 0; i < M16 - len; i++) { + sb.append("0"); + } + } + + String salt = sb.toString(); + password = md5Hex(password + salt); + char[] cs = new char[48]; + for (int i = 0; i < M48; i += M3) { + cs[i] = password.charAt(i / 3 * 2); + char c = salt.charAt(i / 3); + cs[i + 1] = c; + cs[i + 2] = password.charAt(i / 3 * 2 + 1); + } + + return new String(cs); + } + + /** + * 鏍¢獙瀵嗙爜鏄惁姝g‘ + * + * @param password + * @param md5 + * @return + */ + public static boolean verify(String password, String md5) { + char[] cs1 = new char[32]; + char[] cs2 = new char[16]; + for (int i = 0; i < M48; i += M3) { + cs1[i / 3 * 2] = md5.charAt(i); + cs1[i / 3 * 2 + 1] = md5.charAt(i + 2); + cs2[i / 3] = md5.charAt(i + 1); + } + String salt = new String(cs2); + + return md5Hex(password + salt).equals(new String(cs1)); + } + + /** + * 鑾峰彇鍗佸叚杩涘埗瀛楃涓插舰寮忕殑MD5鎽樿 + * + * @param src + * @return + */ + public static String md5Hex(String src) { + try { + MessageDigest md5 = MessageDigest.getInstance("MD5"); + byte[] bs = md5.digest(src.getBytes()); + + return new String(new Hex().encode(bs)); + } catch (Exception e) { + return null; + } + } + + /** + * 鍙嶈浆 + * + * @param pass + * @return + */ + public static String reverse(String pass) { + StringBuilder sb = new StringBuilder(pass); + + return sb.reverse().toString(); + } + + /** + * 楠岃瘉瀵嗙爜 + * + * @param originalPassword + * @param dbPassword + * @return + */ + public static boolean validatePassword(String originalPassword, String dbPassword) { + return verify(originalPassword, reverse(dbPassword)); + } +} diff --git a/src/main/java/com/lf/server/helper/MdbHelper.java b/src/main/java/com/lf/server/helper/MdbHelper.java new file mode 100644 index 0000000..535896b --- /dev/null +++ b/src/main/java/com/lf/server/helper/MdbHelper.java @@ -0,0 +1,92 @@ +package com.lf.server.helper; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.gdal.ogr.DataSource; +import org.gdal.ogr.Driver; +import org.gdal.ogr.Layer; +import org.gdal.ogr.ogr; + +import java.util.ArrayList; +import java.util.List; + +/** + * MDB甯姪绫� + * @author WWW + */ +public class MdbHelper { + private final static Log log = LogFactory.getLog(MdbHelper.class); + + /** + * 鑾峰彇琛ㄥ悕 + */ + public static List<String> getTabNames(String filePath) { + List<String> list = new ArrayList<>(); + + Driver driver = null; + DataSource dataSource = null; + try { + driver = ogr.GetDriverByName("PGeo"); + if (null == driver) { + log.error("MdbHelper.getTabNames: PGeo is null"); + return list; + } + + dataSource = driver.Open(filePath, 0); + if (null == dataSource) { + log.error("MdbHelper.getTabNames.dataSource is null. " + filePath); + return list; + } + + for (int i = 0, count = dataSource.GetLayerCount(); i < count; i++) { + Layer layer = dataSource.GetLayer(i); + list.add(layer.GetName()); + + layer.delete(); + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } finally { + GdbHelper.delete(dataSource, driver); + } + + return list; + } + + /** + * 璇诲彇鏁版嵁 + */ + public static <T> List<T> readData(Class clazz, String filePath, String layerName) { + List<T> list = new ArrayList<>(); + + Driver driver = null; + DataSource dataSource = null; + try { + driver = ogr.GetDriverByName("PGeo"); + if (null == driver) { + return list; + } + + dataSource = driver.Open(filePath, 0); + if (null == dataSource) { + return list; + } + + for (int i = 0, count = dataSource.GetLayerCount(); i < count; i++) { + Layer layer = dataSource.GetLayer(i); + if (layer.GetName().equals(layerName)) { + GdbHelper.readLayer(clazz, layer, list); + break; + } + + layer.delete(); + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } finally { + GdbHelper.delete(dataSource, driver); + } + + return list; + } +} diff --git a/src/main/java/com/lf/server/helper/PathHelper.java b/src/main/java/com/lf/server/helper/PathHelper.java new file mode 100644 index 0000000..2d70eee --- /dev/null +++ b/src/main/java/com/lf/server/helper/PathHelper.java @@ -0,0 +1,166 @@ +package com.lf.server.helper; + +import com.lf.server.config.PropertiesConfig; +import com.lf.server.entity.all.SettingData; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.io.File; +import java.util.Date; + +/** + * 璺緞甯姪绫� + * @author WWW + */ +@Component +public class PathHelper { + @Autowired + private PropertiesConfig config; + + private static int downloadPath = 1; + + private static int uploadPath = 1; + + private final static double D80 = 80; + + private final static Log log = LogFactory.getLog(PathHelper.class); + + public PropertiesConfig getConfig() { + return config; + } + + public static int getDownloadPath() { + return downloadPath; + } + + public static int getUploadPath() { + return uploadPath; + } + + /** + * 鍒濆鍖� + */ + public void init() { + downloadPath = getSubPath(config.getDownloadPath(), downloadPath); + uploadPath = getSubPath(config.getUploadPath(), uploadPath); + } + + private static int getSubPath(String parentPath, int subPath) { + while (true) { + String path = parentPath + File.separator + subPath; + + File file = new File(path); + if (!file.exists() && !file.isDirectory()) { + file.mkdirs(); + return subPath; + } + + File[] files = file.listFiles(); + if (null == files || files.length < SettingData.MAX_FILES) { + return subPath; + } + + subPath++; + } + } + + /** + * 鑾峰彇涓嬭浇瀹屾暣鐩綍 + */ + public String getDownloadFullPath() { + downloadPath = getSubPath(config.getDownloadPath(), downloadPath); + + return config.getDownloadPath() + File.separator + downloadPath; + } + + /** + * 鑾峰彇涓婁紶瀹屾暣鐩綍 + */ + public String getUploadFullPath() { + uploadPath = getSubPath(config.getUploadPath(), uploadPath); + + return config.getUploadPath() + File.separator + uploadPath; + } + + /** + * 鑾峰彇涓存椂璺緞 + */ + public String getTempPath() { + String tempName = StringHelper.YMDHMS2_FORMAT.format(new Date()); + String path = config.getTempPath() + File.separator + tempName; + + File file = new File(path); + if (!file.exists() && !file.isDirectory()) { + file.mkdirs(); + } + + deleteOldPath(config.getTempPath()); + + return path; + } + + /** + * 鑾峰彇涓存椂璺緞 + */ + public String getTempPath(String subPath) { + if (!StringHelper.isEmpty(subPath)) { + String path = config.getTempPath() + File.separator + subPath; + + File file = new File(path); + if (file.exists() && file.isDirectory()) { + return path; + } + } + + deleteOldPath(config.getTempPath()); + + return getTempPath(); + } + + /** + * 鑾峰彇涓存椂璺緞鍚嶇О + */ + public String getTempPathName() { + String tempName = StringHelper.YMDHMS2_FORMAT.format(new Date()); + String path = config.getTempPath() + File.separator + tempName; + + File file = new File(path); + if (!file.exists() && !file.isDirectory()) { + file.mkdirs(); + } + + deleteOldPath(config.getTempPath()); + + return tempName; + } + + /** + * 鍒犻櫎鏃ц矾寰� + */ + public void deleteOldPath(String tempPath) { + try { + double ran = Math.random() * 99; + if (ran < D80) { + return; + } + + File file = new File(tempPath); + String str = StringHelper.YMD2_FORMAT.format(new Date()); + + File[] files = file.listFiles(); + if (null != files) { + for (File f : files) { + if (f.getPath().contains(str)) { + continue; + } + + FileHelper.deleteFiles(f); + } + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } +} diff --git a/src/main/java/com/lf/server/helper/RestHelper.java b/src/main/java/com/lf/server/helper/RestHelper.java new file mode 100644 index 0000000..d8e24d1 --- /dev/null +++ b/src/main/java/com/lf/server/helper/RestHelper.java @@ -0,0 +1,259 @@ +package com.lf.server.helper; + +import com.lf.server.entity.all.StaticData; +import io.swagger.models.HttpMethod; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.http.HttpEntity; +import org.apache.http.NameValuePair; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; +import org.springframework.web.client.RestTemplate; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.PrintStream; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +/** + * Rest鏈嶅姟甯姪绫� + * @author WWW + */ +public class RestHelper { + private static RestTemplate restTemplate; + + private final static Log log = LogFactory.getLog(RestHelper.class); + + /** + * 鑾峰彇RestTemplate + * + * @return RestTemplate + */ + public static RestTemplate getRestTemplate() { + if (restTemplate == null) { + restTemplate = SpringContextHelper.getBean(RestTemplate.class); + } + + return restTemplate; + } + + /** + * Get璇锋眰-HttpURLConnection + * + * @param url URL鍦板潃 + * @return 瀛楃涓� + * @throws IOException IO寮傚父 + */ + public static String getForConn(String url) throws IOException { + BufferedReader br = null; + HttpURLConnection conn = null; + + try { + URL restUrl = new URL(url); + + conn = (HttpURLConnection) restUrl.openConnection(); + // POST,GET,PUT,DELETE + conn.setRequestMethod("GET"); + conn.setRequestProperty("Accept", "application/json"); + + br = new BufferedReader(new InputStreamReader(conn.getInputStream())); + + String line; + StringBuilder sb = new StringBuilder(); + while ((line = br.readLine()) != null) { + sb.append(line); + } + + return sb.toString(); + } finally { + if (br != null) { + br.close(); + } + if (conn != null) { + conn.disconnect(); + } + } + } + + /** + * Post璇锋眰-HttpURLConnection + * + * @param url URL鍦板潃 + * @param query 鏌ヨ鏉′欢 + * @return 瀛楃涓� + * @throws IOException IO寮傚父 + */ + public static String postForConn(String url, String query) throws IOException { + BufferedReader br = null; + HttpURLConnection conn = null; + + try { + URL restUrl = new URL(url); + + conn = (HttpURLConnection) restUrl.openConnection(); + // POST,GET,PUT,DELETE + conn.setRequestMethod("POST"); + conn.setRequestProperty("Content-Type", "application/json"); + conn.setDoOutput(true); + + PrintStream ps = new PrintStream(conn.getOutputStream()); + ps.print(query); + ps.close(); + + // OutputStream out = conn.getOutputStream() + // out.write(query.getBytes()) + // out.close() + + br = new BufferedReader(new InputStreamReader(conn.getInputStream())); + + String line; + StringBuilder sb = new StringBuilder(); + while ((line = br.readLine()) != null) { + sb.append(line); + } + + return sb.toString(); + } finally { + if (br != null) { + br.close(); + } + if (conn != null) { + conn.disconnect(); + } + } + } + + /** + * Get璇锋眰-CloseableHttpClient + * + * @param uri Uri鍦板潃 + * @return 鍝嶅簲瀛楃涓� + */ + public static String get(String uri) { + try { + CloseableHttpClient httpClient = HttpClients.custom().build(); + + HttpGet httpGet = new HttpGet(uri); + + CloseableHttpResponse closeResponse = httpClient.execute(httpGet); + // 鍙栧嚭杩斿洖浣� + HttpEntity entity = closeResponse.getEntity(); + + return EntityUtils.toString(entity, StaticData.TEXT_ENCODER); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + + return getErrorInfo(uri, ex); + } + } + + /** + * Post璇锋眰-CloseableHttpClient + * + * @param uri Uri鍦板潃 + * @param postData 寰呭彂閫佹暟鎹� + * @return 鍝嶅簲瀛楃涓� + */ + public static String post(String uri, List<NameValuePair> postData) { + try { + CloseableHttpClient httpClient = HttpClients.custom().build(); + + UrlEncodedFormEntity postEntity = new UrlEncodedFormEntity(postData, StaticData.TEXT_ENCODER); + HttpPost httpPost = new HttpPost(uri); + httpPost.setEntity(postEntity); + + CloseableHttpResponse closeResponse = httpClient.execute(httpPost); + + // 鍙栧嚭杩斿洖浣� + HttpEntity entity = closeResponse.getEntity(); + + return EntityUtils.toString(entity, StaticData.TEXT_ENCODER); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + + return getErrorInfo(uri, ex); + } + } + + /** + * 鑾峰彇閿欒淇℃伅 + * + * @param uri Uri鍦板潃 + * @param ex 寮傚父 + * @return 閿欒淇℃伅 + */ + public static String getErrorInfo(String uri, Exception ex) { + Map<String, Object> map = new LinkedHashMap<>(); + map.put("result", null); + map.put("message", ex.getMessage()); + map.put("code", 400); + map.put("uri", uri); + //map.put("tag", StaticData.CACHE_PREFIX) + + return map.toString(); + } + + /** + * GET璇锋眰锛圧EST锛� + */ + public static String getForRest(String uri) { + RestTemplate rest = getRestTemplate(); + + return rest.getForObject(uri, String.class); + } + + /** + * GET璇锋眰锛圧EST锛� + */ + public static <T> T getForRest(String uri, Class<T> clazz) { + RestTemplate rest = getRestTemplate(); + + return rest.getForObject(uri, clazz); + } + + /** + * POST璇锋眰锛圧EST锛� + */ + public static String postForRest(String uri, Map<String, Object> map) { + RestTemplate rest = getRestTemplate(); + + return rest.postForObject(uri, map, String.class); + } + + /** + * POST璇锋眰锛圧EST锛� + */ + public static <T> String postForRest(String uri, List<T> list) { + RestTemplate rest = getRestTemplate(); + + return rest.postForObject(uri, list, String.class); + } + + /** + * POST璇锋眰锛圧EST锛� + */ + public static <T> String postForRest(String uri, T t) { + RestTemplate rest = getRestTemplate(); + + return rest.postForObject(uri, t, String.class); + } + + /** + * DELETE璇锋眰锛圧EST锛� + */ + public static void deleteForRest(String uri) { + RestTemplate rest = getRestTemplate(); + + rest.delete(uri); + } +} diff --git a/src/main/java/com/lf/server/helper/RsaHelper.java b/src/main/java/com/lf/server/helper/RsaHelper.java new file mode 100644 index 0000000..0b10dd5 --- /dev/null +++ b/src/main/java/com/lf/server/helper/RsaHelper.java @@ -0,0 +1,209 @@ +package com.lf.server.helper; + +import org.apache.commons.codec.binary.Base64; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.core.io.ClassPathResource; + +import javax.crypto.Cipher; +import java.io.*; +import java.nio.charset.StandardCharsets; +import java.security.*; +import java.security.interfaces.RSAPrivateKey; +import java.security.interfaces.RSAPublicKey; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; +import java.util.HashMap; +import java.util.Map; + +/** + * RSA宸ュ叿绫� + * @author WWW + */ +public class RsaHelper { + /** + * 绉侀挜 + */ + private static String privateKey; + + /** + * 鍏挜 + */ + private static String publicKey; + + /** + * 瀵嗛挜绠楁硶 + */ + private static final String KEY_ALGORITHM = "RSA"; + + /** + * RSA瀵嗛挜闀垮害锛�1024 鎴� 2048 + */ + private static final int DEFAULT_RSA_KEY_SIZE = 1024; + + /** + * 鏃ュ織 + */ + private final static Log log = LogFactory.getLog(RsaHelper.class); + + /** + * 鐢熸垚鍏閽� + */ + public static void generate() { + Map<String, String> result = generateRsaKey(DEFAULT_RSA_KEY_SIZE); + System.out.println("鍏挜涓猴細" + result.get("publicKey")); + System.out.println("绉侀挜涓猴細" + result.get("privateKey")); + } + + /** + * 鑾峰彇RSA鍔犲瘑绉侀挜 + * + * @return + * @throws IOException + */ + public static String getPrivateKey() throws IOException { + if (privateKey == null) { + InputStream inPrivate = new ClassPathResource("config" + File.separator + "rsa_private_key.txt").getInputStream(); + privateKey = inputStream2String(inPrivate); + inPrivate.close(); + } + + return privateKey; + } + + /** + * 鑾峰彇RSA鍔犲瘑鍏挜 + * + * @return + * @throws IOException + */ + public static String getPublicKey() throws IOException { + if (publicKey == null) { + InputStream inPrivate = new ClassPathResource("config" + File.separator + "rsa_public_key.txt").getInputStream(); + publicKey = inputStream2String(inPrivate); + inPrivate.close(); + } + + return publicKey; + } + + /** + * 璇诲彇鏂囨湰鏂囦欢 + * + * @param fileName 鏂囦欢璺緞 + * @return + * @throws IOException + */ + public static String readFile(String fileName) throws IOException { + File file = new File(fileName); + BufferedReader br = new BufferedReader(new FileReader(file)); + + StringBuilder result = new StringBuilder(); + + String line = null; + while ((line = br.readLine()) != null) { + result.append(System.lineSeparator() + line); + } + br.close(); + + return result.toString(); + } + + /** + * 鎶奿nputStream杞垚String + * + * @param is + * @return + * @throws IOException + */ + private static String inputStream2String(InputStream is) throws IOException { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + + int i = -1; + while ((i = is.read()) != -1) { + baos.write(i); + } + + String str = baos.toString(); + baos.close(); + + return str; + } + + /** + * 鐢熸垚RSA鐨勫叕绉侀挜 + * + * @param keySize 1025 鎴� 2048 + * @return + */ + public static Map<String, String> generateRsaKey(int keySize) { + Map<String, String> result = new HashMap<>(2); + try { + KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance(KEY_ALGORITHM); + + // 鍒濆鍖栧瘑閽ュ鐢熸垚鍣紝瀵嗛挜澶у皬涓�1024 2048浣� + keyPairGen.initialize(keySize, new SecureRandom()); + + // 鐢熸垚涓�涓瘑閽ュ锛屼繚瀛樺湪keyPair涓� + KeyPair keyPair = keyPairGen.generateKeyPair(); + + // 寰楀埌鍏挜瀛楃涓� + String pub = new String(Base64.encodeBase64(keyPair.getPublic().getEncoded())); + result.put("publicKey", pub); + + // 寰楀埌绉侀挜瀛楃涓� + String pri = new String(Base64.encodeBase64(keyPair.getPrivate().getEncoded())); + result.put("privateKey", pri); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + + return result; + } + + /** + * RSA绉侀挜瑙e瘑 + * + * @param str 鍔犲瘑鐨勫瓧绗︿覆 + * @return 瑙e瘑瀛楃涓� + * @throws Exception 鍔犲瘑杩囩▼涓殑寮傚父淇℃伅 + */ + public static String decrypt(String str) throws Exception { + // 64浣嶈В鐮佸姞瀵嗗悗鐨勫瓧绗︿覆 + byte[] inputByte = Base64.decodeBase64(str.getBytes(StandardCharsets.UTF_8)); + + // Base64缂栫爜鐨勭閽� + byte[] decoded = Base64.decodeBase64(getPrivateKey()); + RSAPrivateKey priKey = (RSAPrivateKey) KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(decoded)); + + // RSA瑙e瘑锛歊SA/ECB/NoPadding + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.DECRYPT_MODE, priKey); + + String outStr = new String(cipher.doFinal(inputByte)); + + return outStr; + } + + /** + * RSA鍏挜鍔犲瘑 + * + * @param str 闇�瑕佸姞瀵嗙殑瀛楃涓� + * @return 瀵嗘枃 + * @throws Exception 鍔犲瘑杩囩▼涓殑寮傚父淇℃伅 + */ + public static String encrypt(String str) throws Exception { + // Base64缂栫爜鐨勫叕閽� + byte[] decoded = Base64.decodeBase64(getPublicKey()); + + RSAPublicKey pubKey = (RSAPublicKey) KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(decoded)); + + // RSA鍔犲瘑锛歊SA/ECB/NoPadding + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.ENCRYPT_MODE, pubKey); + + String outStr = Base64.encodeBase64String(cipher.doFinal(str.getBytes(StandardCharsets.UTF_8))); + + return outStr; + } +} diff --git a/src/main/java/com/lf/server/helper/ShpHelper.java b/src/main/java/com/lf/server/helper/ShpHelper.java new file mode 100644 index 0000000..c953132 --- /dev/null +++ b/src/main/java/com/lf/server/helper/ShpHelper.java @@ -0,0 +1,243 @@ +package com.lf.server.helper; + +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.ctrl.MarkJsonEntity; +import com.lf.server.entity.ctrl.ShpRecordEntity; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.gdal.ogr.*; +import org.gdal.osr.SpatialReference; + +import java.io.File; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * ShapeFile甯姪绫� + * @author WWW + */ +public class ShpHelper { + private final static Log log = LogFactory.getLog(ShpHelper.class); + + /** + * 璇诲彇Shp绗竴鏉¤褰曠殑WKT + */ + public static ShpRecordEntity readShpFirstRecord(String filePath) { + Driver driver = null; + DataSource dataSource = null; + Layer layer = null; + try { + driver = ogr.GetDriverByName("ESRI shapefile"); + if (null == driver) { + return null; + } + + dataSource = driver.Open(filePath); + if (null == dataSource) { + return null; + } + + layer = dataSource.GetLayer(0); + if (layer.GetFeatureCount() < 1) { + return null; + } + + SpatialReference spatialReference = layer.GetSpatialRef(); + String csid = spatialReference.GetAttrValue("AUTHORITY", 1); + + Feature feature = layer.GetFeature(0); + String wkt = feature.GetGeometryRef().ExportToWkt(); + + return new ShpRecordEntity(wkt, csid); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return null; + } finally { + GdbHelper.delete(layer, dataSource, driver); + } + } + + /** + * 璇诲彇ShapeFile鏂囦欢鑾峰彇Mark瀹炰綋绫� + */ + public static List<MarkJsonEntity> readShpForMarks(String filePath) { + Driver driver = null; + DataSource dataSource = null; + Layer layer = null; + try { + driver = ogr.GetDriverByName("ESRI shapefile"); + if (null == driver) { + return null; + } + + dataSource = driver.Open(filePath); + if (null == dataSource) { + return null; + } + + layer = dataSource.GetLayer(0); + if (layer.GetFeatureCount() == 0) { + return null; + } + + Map<Integer, Field> fields = getShpFields(layer); + + return setMarkJsonEntity(layer, fields); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return null; + } finally { + GdbHelper.delete(layer, dataSource, driver); + } + } + + /** + * 鑾峰彇shp瀛楁淇℃伅 + */ + private static Map<Integer, Field> getShpFields(Layer layer) { + FeatureDefn featureDefn = layer.GetLayerDefn(); + + Map<Integer, Field> fields = new HashMap(3); + for (int i = 0, count = featureDefn.GetFieldCount(); i < count; i++) { + try { + FieldDefn fieldDefn = featureDefn.GetFieldDefn(i); + Field field = MarkJsonEntity.class.getDeclaredField(fieldDefn.GetName()); + field.setAccessible(true); + + fields.put(i, field); + } catch (Exception e) { + // + } + } + + return fields; + } + + /** + * 璁剧疆鏍囩粯瀹炰綋绫� + */ + private static List<MarkJsonEntity> setMarkJsonEntity(Layer layer, Map<Integer, Field> fieldMap) throws Exception { + List<MarkJsonEntity> list = new ArrayList<>(); + for (int i = 0; i < layer.GetFeatureCount(); i++) { + Feature f = layer.GetFeature(i); + + MarkJsonEntity me = new MarkJsonEntity(i + 1); + for (Integer key : fieldMap.keySet()) { + Field field = fieldMap.get(key); + GdbHelper.setValue(me, f, field, key); + } + me.setWkt(f.GetGeometryRef().ExportToWkt()); + + list.add(me); + } + + return list; + } + + /** + * 鍒涘缓ShapeFile鏂囦欢 + * + * @param list 鏍囩粯JSON瀹炰綋绫婚泦鍚� + * @param path 璺緞 + * @param type 绫诲瀷锛歅OINT,LINESTRING,POLYGON + * @return ShapeFile鏂囦欢鍚� + */ + public static String createShp(List<MarkJsonEntity> list, String path, String type) { + Driver driver = null; + DataSource dataSource = null; + Layer layer = null; + try { + driver = ogr.GetDriverByName("ESRI shapefile"); + if (null == driver) { + return null; + } + + String filePath = path + File.separator + type.toLowerCase() + ".shp"; + // DataSource ds = driver.Open(filePath, 0) + dataSource = driver.CreateDataSource(filePath, null); + if (null == dataSource) { + return null; + } + + SpatialReference sr = new SpatialReference(); + sr.ImportFromEPSG(4326); + + int geoType = getGeometryType(type); + layer = dataSource.CreateLayer(type.toLowerCase(), sr, geoType); + if (null == layer) { + return null; + } + + List<Field> fields = new ArrayList<>(); + GdbHelper.getFields(MarkJsonEntity.class, fields, StaticData.MARK_EXCLUDE_FIELDS); + GdbHelper.addLayerField(layer, fields); + + FeatureDefn featureDefn = layer.GetLayerDefn(); + for (MarkJsonEntity t : list) { + Feature f = new Feature(featureDefn); + GdbHelper.setFeatureData(f, fields, t); + + Geometry geo = Geometry.CreateFromWkt(t.getWkt()); + f.SetGeometry(geo); + + layer.CreateFeature(f); + } + + return filePath; + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return null; + } finally { + GdbHelper.delete(layer, dataSource, driver); + } + } + + /** + * 鑾峰彇鍥惧舰绫诲瀷 + */ + private static int getGeometryType(String type) { + switch (type) { + case "POINT": + return ogr.wkbPoint; + case "LINESTRING": + return ogr.wkbLineString; + case "POLYGON": + return ogr.wkbPolygon; + default: + return ogr.wkbUnknown; + } + } + + /** + * 璇诲彇鏁版嵁 + */ + public static <T> List<T> readData(Class clazz, String filePath) { + List<T> list = new ArrayList<>(); + + Driver driver = null; + DataSource dataSource = null; + try { + driver = ogr.GetDriverByName("ESRI shapefile"); + if (null == driver) { + return list; + } + + dataSource = driver.Open(filePath); + if (null == dataSource) { + return list; + } + + Layer layer = dataSource.GetLayer(0); + GdbHelper.readLayer(clazz, layer, list); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } finally { + GdbHelper.delete(dataSource, driver); + } + + return list; + } +} diff --git a/src/main/java/com/lf/server/helper/SpringContextHelper.java b/src/main/java/com/lf/server/helper/SpringContextHelper.java new file mode 100644 index 0000000..4a2032e --- /dev/null +++ b/src/main/java/com/lf/server/helper/SpringContextHelper.java @@ -0,0 +1,86 @@ +package com.lf.server.helper; + +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.stereotype.Component; + +/** + * Spring涓婁笅鏂囧府鍔╃被 + * @author WWW + */ +@Component +public class SpringContextHelper implements ApplicationContextAware { + private static ApplicationContext context = null; + + /** + * 璁剧疆搴旂敤绋嬪簭涓婁笅鏂� + * + * @param applicationContext + * @throws BeansException + */ + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + context = applicationContext; + } + + /** + * 鏍规嵁鍚嶇О鑾峰彇Bean + * + * @param name 绫诲悕绉� + * @return + */ + public static <T> T getBean(String name) { + return (T) context.getBean(name); + } + + /** + * 鏍规嵁绫诲瀷鑾峰彇Bean + * + * @param clazz 绫� + * @param <T> 娉涘瀷 + * @return + */ + public static <T> T getBean(Class<T> clazz) { + return context.getBean(clazz); + } + + /** + * 鍒ゆ柇鏄惁鍖呭惈瀵瑰簲鍚嶇О鐨凚ean瀵硅薄 + * + * @param name Bean鍚嶇О + * @return 鍖呭惈锛氳繑鍥瀟rue锛屽惁鍒欒繑鍥瀎alse銆� + */ + public static boolean containsBean(String name) { + return context.containsBean(name); + } + + /** + * 鑾峰彇瀵瑰簲Bean鍚嶇О鐨勭被鍨� + * + * @param name Bean鍚嶇О + * @return 杩斿洖瀵瑰簲鐨凚ean绫诲瀷 + */ + public static Class<?> getType(String name) { + return context.getType(name); + } + + /** + * 鑾峰彇涓婁笅鏂囧璞★紝鍙繘琛屽悇绉峉pring鐨勪笂涓嬫枃鎿嶄綔 + * + * @return Spring涓婁笅鏂囧璞� + */ + public static ApplicationContext getContext() { + return context; + } + + + /** + * 鑾峰彇褰撳墠鐜 + * + * @return Profile + */ + public static String getActiveProfile() { + return context.getEnvironment().getActiveProfiles()[0]; + } +} diff --git a/src/main/java/com/lf/server/helper/StringHelper.java b/src/main/java/com/lf/server/helper/StringHelper.java new file mode 100644 index 0000000..d9e83ba --- /dev/null +++ b/src/main/java/com/lf/server/helper/StringHelper.java @@ -0,0 +1,229 @@ +package com.lf.server.helper; + +import com.lf.server.entity.all.StaticData; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.UUID; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * 瀛楃涓插府鍔╃被 + * @author WWW + */ +public class StringHelper { + /** + * 鏁板瓧姝e垯 + */ + public static final Pattern NUMBER_PATTERN = Pattern.compile("-?\\d+(\\.\\d+)?"); + + /** + * 鏍煎紡鍖栧綋鍓嶇郴缁熸棩鏈� 1 + */ + public static final SimpleDateFormat YMD_FORMAT = new SimpleDateFormat("yyyy-MM-dd"); + + /** + * 鏍煎紡鍖栧綋鍓嶇郴缁熸棩鏈� 2 + */ + public static final SimpleDateFormat YMDHMS_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + /** + * 鏍煎紡鍖栧綋鍓嶇郴缁熸棩鏈� 3 + */ + public static final SimpleDateFormat YMD2_FORMAT = new SimpleDateFormat("yyyyMMdd"); + + /** + * 鏍煎紡鍖栧綋鍓嶇郴缁熸棩鏈� 4 + */ + public static final SimpleDateFormat YMDHMS2_FORMAT = new SimpleDateFormat("yyyyMMddHHmmss"); + + /** + * 鍒ゆ柇瀛楃涓�,鏄惁涓烘暣鏁� + */ + public static boolean isInteger(String str) { + return str != null && str.matches("[0-9]+"); + } + + /** + * 鍒ゆ柇瀛楃涓�,鏄惁涓烘诞鐐规暟 + */ + public static boolean isNumeric(String str) { + return str != null && str.matches("-?\\d+(\\.\\d+)?"); + } + + /** + * 鍒ゆ柇瀛楃涓�,鏄惁涓烘诞鐐规暟 + */ + public static boolean isNumeric2(String str) { + return str != null && NUMBER_PATTERN.matcher(str).matches(); + } + + /** + * 鏃ユ湡姝e垯 + */ + public static Pattern datePattern = Pattern.compile("^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/]((((0?[13578])|(1[02]))[\\-\\/]((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/]((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/]((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/]((((0?[13578])|(1[02]))[\\-\\/]((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/]((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/]((0?[1-9])|(1[0-9])|(2[0-8]))))))(\\s(((0?[0-9])|([1-2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$"); + + /** + * SQL姝e垯 + */ + public static Pattern sqlPattern = Pattern.compile("|and|exec|execute|insert|select|delete|update|count|drop|\\*|%|chr|mid|master|truncate|char|declare|sitename|net user|xp_cmdshell|;|or|-|\\+|,|like"); + + /** + * 瀛楃涓茶浆涓烘棩鏈� + */ + public static Date parseDate(String str) { + try { + return YMD_FORMAT.parse(str); + } catch (Exception ex) { + return null; + } + } + + /** + * 瀛楃涓茶浆涓烘棩鏈熸椂闂� + */ + public static Date parseTime(String str) { + try { + return YMDHMS_FORMAT.parse(str); + } catch (Exception e) { + return null; + } + } + + /** + * 鍒ゆ柇鍊兼槸鍚︿负鏃ユ湡鏍煎紡 + */ + public static boolean isDate(String strDate) { + Matcher m = datePattern.matcher(strDate); + + return m.matches(); + } + + /** + * 瀛楃涓诧紝鏄惁涓簄ull 鎴� "" + */ + public static boolean isNull(String str) { + return null == str || str.length() == 0; + } + + /** + * 瀛楃涓�,鏄惁涓虹┖null鍜岀┖鏍� + */ + public static boolean isEmpty(String str) { + return null == str || "".equals(str.trim()); + } + + /** + * 鑾峰彇 like 瀛楃涓� + */ + public static String getLikeStr(String str) { + return StringHelper.isEmpty(str) ? null : "%" + str.trim() + "%"; + } + + /** + * 鑾峰彇 like 瀛楃涓� + */ + public static String getLikeUpperStr(String str) { + return StringHelper.isEmpty(str) ? null : "%" + str.trim().toUpperCase() + "%"; + } + + /** + * 鑾峰彇 鍙砽ike 瀛楃涓� + */ + public static String getRightLike(String str) { + return StringHelper.isEmpty(str) ? null : str.trim() + "%"; + } + + /** + * 鑾峰彇鍥惧舰鐨刉KT瀛楃涓� + * + * @param wkt + * @return + */ + public static String getGeomWkt(String wkt) { + if (StringHelper.isEmpty(wkt)) { + return "null"; + } + + return String.format("ST_GeomFromText('%s')", wkt); + } + + /** + * 棣栧瓧姣嶅ぇ鍐� + */ + public static String firstCharToUpperCase(String str) { + return str.substring(0, 1).toUpperCase() + str.substring(1); + } + + /** + * 棣栧瓧姣嶅皬鍐� + */ + public static String firstCharToLowerCase(String str) { + return str.substring(0, 1).toLowerCase() + str.substring(1); + } + + /** + * 鍒ゆ柇鍊兼槸鍚﹀瓨鍦⊿QL娉ㄥ叆 + * + * @param str 瀛楃涓� + * @return 鏄�/鍚� + */ + public static boolean isSqlInjection(String str) { + if (null == str) { + return false; + } + + Matcher m = sqlPattern.matcher(str); + + return m.matches(); + } + + /** + * 鏍¢獙瀵嗙爜鏄�/鍚﹀悎娉� + * + * @param pwd 瀵嗙爜 + * @return 鏄�/鍚︿负鏃犳晥鐨� + */ + public static boolean isPwdInvalid(String pwd) { + return !Pattern.matches(StaticData.PWD_REG, pwd); + } + + /** + * 鑾峰彇GUID + * + * @return + */ + public static String getGuid() { + return UUID.randomUUID().toString(); + } + + /** + * 杩炴帴List闆嗗悎 + * + * @param list list 鏁存暟闆嗗悎 + * @param join join 杩炴帴瀛楃 + * @param <T> 娉涘瀷绫� + * @return 瀛楃涓� + */ + public static <T> String join(List<T> list, String join) { + if (null == list || list.isEmpty()) { + return ""; + } + + StringBuilder sb = new StringBuilder(); + for (T t : list) { + if (null != t) { + sb.append(t.toString() + join); + } + } + + if (sb.length() > 0 && sb.lastIndexOf(join) == sb.length() - join.length()) { + // 鍒犻櫎浠庣储寮� start 寮�濮嬪埌 end 涔嬮棿鐨勫瓧绗︼紝鍗� 鍓嶅寘鎷� 鍚庝笉鍖呮嫭銆� + sb.delete(sb.length() - join.length(), sb.length()); + } + + return sb.toString(); + } +} diff --git a/src/main/java/com/lf/server/helper/WebHelper.java b/src/main/java/com/lf/server/helper/WebHelper.java new file mode 100644 index 0000000..c47a45a --- /dev/null +++ b/src/main/java/com/lf/server/helper/WebHelper.java @@ -0,0 +1,405 @@ +package com.lf.server.helper; + +import com.alibaba.fastjson.JSON; +import com.lf.server.entity.all.HttpStatus; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.all.SettingData; +import com.lf.server.entity.all.StaticData; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.ServletContext; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.PrintWriter; +import java.net.URLEncoder; +import java.sql.Timestamp; +import java.util.*; + +/** + * Web甯姪绫� + * @author WWW + */ +public class WebHelper { + private final static String UNKNOWN = "unknown"; + + private final static String COMMA = ","; + + private final static Log log = LogFactory.getLog(WebHelper.class); + + /** + * 鑾峰彇GUID + */ + public static String getGuid() { + return UUID.randomUUID().toString(); + } + + /** + * 鑾峰彇鐢ㄦ埛ip + */ + public static String getIpAddress(HttpServletRequest request) { + String ip = request.getHeader("X-Forwarded-For"); + if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_X_FORWARDED_FOR"); + } + if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_X_FORWARDED"); + } + if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_X_CLUSTER_CLIENT_IP"); + } + if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_CLIENT_IP"); + } + if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_FORWARDED_FOR"); + } + if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_FORWARDED"); + } + if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_VIA"); + } + if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + ip = request.getHeader("REMOTE_ADDR"); + } + if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + } + if (ip.contains(COMMA)) { + return ip.split(",")[0]; + } + + return ip; + } + + /** + * 鑾峰彇褰撳墠鏃堕棿鐨凾imestamp + */ + public static Timestamp getCurrentTimestamp() { + return new Timestamp(System.currentTimeMillis()); + } + + /** + * 鑾峰彇褰撳墠鏃堕棿鎸囧畾鍒嗛挓鏁板悗鐨凾imestamp + */ + public static Timestamp getTimestamp(int min) { + Calendar now = Calendar.getInstance(); + now.add(Calendar.MINUTE, min); + + return new Timestamp(now.getTimeInMillis()); + } + + /** + * 浠嶤ookie涓幏鍙杢oken + */ + public static String getTokenFromCookie(HttpServletRequest request) { + Cookie[] cookies = request.getCookies(); + if (cookies == null || cookies.length == 0) { + return null; + } + + for (Cookie cookie : cookies) { + switch (cookie.getName()) { + case StaticData.TOKEN_COOKIE_KEY: + return cookie.getValue(); + default: + break; + } + } + + return null; + } + + /** + * 鍚慍ookie涓坊鍔爐oken + */ + public static void saveToken2Cookie(String token, HttpServletRequest request, HttpServletResponse response) { + // 鍏堝垹闄� + deleteCookies(request, response); + + // 鍐嶄繚瀛� + saveCookie(StaticData.TOKEN_COOKIE_KEY, token, response); + } + + /** + * 淇濆瓨Cookie + */ + public static void saveCookie(String key, String value, HttpServletResponse response) { + Cookie cookie = new Cookie(key, value); + // 璁剧疆cookie澶辨晥鏃堕棿锛屽崟浣嶄负绉� + cookie.setMaxAge(SettingData.COOKIE_MAX_AGE); + cookie.setHttpOnly(false); + cookie.setPath("/"); + //cookie.setDomain("*") + + response.setHeader("P3P", "CP=CAO PSA OUR"); + response.addCookie(cookie); + } + + /** + * 鍒犻櫎cookie涓殑鍊� + */ + public static void deleteCookie(String cookieKey, HttpServletRequest request, HttpServletResponse response) { + Cookie[] cookies = request.getCookies(); + if (cookies != null && cookies.length > 0) { + for (Cookie c : cookies) { + if (cookieKey.equalsIgnoreCase(c.getName())) { + c.setMaxAge(0); + c.setPath("/"); + response.addCookie(c); + } + } + } + } + + /** + * 鍒犻櫎鎵�鏈塁ookie + */ + public static void deleteCookies(HttpServletRequest request, HttpServletResponse response) { + Cookie[] cookies = request.getCookies(); + if (cookies != null && cookies.length > 0) { + for (Cookie c : cookies) { + c.setMaxAge(0); + c.setPath("/"); + response.addCookie(c); + } + } + } + + /** + * 鏍规嵁閿幏鍙朇ookie鍊� + */ + public static String getCookieByKey(String key, HttpServletRequest request) { + Cookie[] cookies = request.getCookies(); + if (cookies == null || cookies.length == 0) { + return null; + } + + for (Cookie c : cookies) { + if (key.equals(c.getName())) { + return c.getValue(); + } + } + + return null; + } + + /** + * 鑾峰彇Token + */ + public static String getToken(HttpServletRequest request) { + // 1.浠巙rl鍙傛暟涓紝鑾峰彇token + String token = request.getParameter(StaticData.TOKEN_KEY); + + // 2.涓虹┖锛屽垯浠巋eader閲岃幏鍙� + if (token == null) { + token = request.getHeader(StaticData.TOKEN_KEY); + } + + // 3.杩樹负绌猴紝鍒欎粠cookie閲岃幏鍙� + if (token == null) { + token = getTokenFromCookie(request); + } + + return token; + } + + /** + * 鑾峰彇Request + */ + public static HttpServletRequest getRequest() { + ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + + return servletRequestAttributes.getRequest(); + } + + /** + * 鑾峰彇Response + */ + public static HttpServletResponse getResponse() { + ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + + return servletRequestAttributes.getResponse(); + } + + /** + * 鑾峰彇Session + */ + public static HttpSession getSession() { + return getRequest().getSession(); + } + + /** + * 鑾峰彇鐪熷疄璺緞 + */ + public static String getRealPath(String path) { + HttpServletRequest req = getRequest(); + ServletContext ctx = req.getSession().getServletContext(); + + return ctx.getRealPath("/" + path); + } + + /** + * 杈撳嚭str鑷冲墠绔� + */ + public static boolean writeStr2Page(HttpServletResponse res, String str) { + try { + res.setContentType("application/json;charset=UTF-8"); + res.setHeader("Cache-Control", "no-cache"); + res.setHeader("Pragma", "No-cache"); + res.setDateHeader("Expires", 0); + + PrintWriter out = res.getWriter(); + out.print(str); + + out.flush(); + out.close(); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + + return false; + } + + /** + * 杈撳嚭json鑷冲墠绔� + */ + public static void writeJson2Page(HttpServletResponse res, String str) { + String json = JSON.toJSONString(new ResponseMsg<>(HttpStatus.ERROR, str)); + writeStr2Page(res, json); + } + + /** + * 鑾峰彇閿欒JSON + */ + public static String getErrJson(HttpStatus status, String msg) { + return JSON.toJSONString(new ResponseMsg<String>(status, msg)); + } + + /** + * 鍐欏搷搴斾俊鎭� + */ + public static void writeInfo(HttpStatus status, String info, HttpServletResponse res) { + WebHelper.writeStr2Page(res, WebHelper.getErrJson(status, info)); + } + + /** + * 鑾峰彇闅忔満鏁存暟 + */ + public static int getRandomInt(int min, int max) { + return new Random().nextInt(max) % (max - min + 1) + min; + } + + /** + * 涓嬭浇鏂囦欢 + */ + public static void download(String file, String fileName, HttpServletResponse res) throws Exception { + download(file, fileName, false, res); + } + + /** + * 涓嬭浇鏂囦欢 + * + * @param file 鏂囦欢 + * @param fileName 鏂囦欢鍚� + * @param res 鍝嶅簲 + * @throws Exception 寮傚父 + */ + public static void download(String file, String fileName, boolean inline, HttpServletResponse res) throws Exception { + if (StringHelper.isEmpty(fileName)) { + fileName = StringHelper.YMDHMS2_FORMAT.format(new Date()); + } + fileName = URLEncoder.encode(fileName, "UTF-8").replace("+", "%20"); + String dispose = inline ? "inline" : "attachment"; + + // 璁剧疆鍝嶅簲澶翠腑鏂囦欢鐨勪笅杞芥柟寮忎负闄勪欢鏂瑰紡锛屼互鍙婅缃枃浠跺悕 + res.setHeader("Content-Disposition", dispose + "; filename*=UTF-8''" + fileName); + // 璁剧疆鍝嶅簲澶寸殑缂栫爜鏍煎紡涓� UTF-8 + res.setCharacterEncoding("UTF-8"); + + // 閫氳繃response瀵硅薄璁剧疆鍝嶅簲鏁版嵁鏍煎紡(濡傦細"text/plain; charset=utf-8") + String ext = FileHelper.getExtension(file); + String mime = FileHelper.getMime(ext); + res.setContentType(mime); + + // 閫氳繃response瀵硅薄锛岃幏鍙栧埌杈撳嚭娴� + ServletOutputStream outputStream = res.getOutputStream(); + // 瀹氫箟杈撳叆娴侊紝閫氳繃杈撳叆娴佽鍙栨枃浠跺唴瀹� + FileInputStream fileInputStream = new FileInputStream(file); + + int len = 0; + byte[] bytes = new byte[1024]; + while ((len = fileInputStream.read(bytes)) != -1) { + // 閫氳繃杈撳叆娴佽鍙栨枃浠舵暟鎹紝鐒跺悗閫氳繃涓婅堪鐨勮緭鍑烘祦鍐欏洖娴忚鍣� + outputStream.write(bytes, 0, len); + outputStream.flush(); + } + + // 鍏抽棴璧勬簮 + fileInputStream.close(); + outputStream.close(); + } + + /** + * 鎵ц鍛戒护 + * + * @param cmd 鍛戒护 + */ + public static void exec(String cmd) { + try { + Runtime.getRuntime().exec(cmd); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + + /** + * 鑾峰彇璇锋眰鐨勫弬鏁板�� + * + * @param req 璇锋眰 + * @param key 鍙傛暟鍚� + * @return 鍙傛暟鍊� + */ + public static String getReqParamVal(HttpServletRequest req, String key) { + Map<String, String[]> maps = req.getParameterMap(); + for (Map.Entry<String, String[]> entry : maps.entrySet()) { + if (entry.getKey().equalsIgnoreCase(key)) { + return null == entry.getValue() || 0 == entry.getValue().length ? null : entry.getValue()[0]; + } + } + + return null; + } + + /** + * 鑾峰彇璇锋眰鐨勫弬鏁板�� + * + * @param req 璇锋眰 + * @param key 鍙傛暟鍚� + * @return 鍙傛暟鍊� + */ + public static String[] getReqParamVals(HttpServletRequest req, String key) { + Map<String, String[]> maps = req.getParameterMap(); + for (Map.Entry<String, String[]> entry : maps.entrySet()) { + if (entry.getKey().equalsIgnoreCase(key)) { + return entry.getValue(); + } + } + + return null; + } +} diff --git a/src/main/java/com/lf/server/helper/WordHelper.java b/src/main/java/com/lf/server/helper/WordHelper.java new file mode 100644 index 0000000..5704e07 --- /dev/null +++ b/src/main/java/com/lf/server/helper/WordHelper.java @@ -0,0 +1,346 @@ +package com.lf.server.helper; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.poi.xwpf.usermodel.*; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.*; + +import java.io.*; +import java.util.List; +import java.util.Map; + +/** + * Word甯姪绫� + * @author WWW + */ +public class WordHelper { + private final static Log log = LogFactory.getLog(WordHelper.class); + + /** + * 閫氳繃word妯℃澘鐢熸垚word鐨勪富鏂规硶 + */ + public static void generateWord(String inputFile, String outPutFile, Map<String, String> insertTextMap, List<String[]> addList) { + FileInputStream inputStream = null; + FileOutputStream outputStream = null; + + try { + inputStream = new FileInputStream(inputFile); + outputStream = new FileOutputStream(outPutFile); + + // 鑾峰彇docx瑙f瀽瀵硅薄 + XWPFDocument xwpfDocument = new XWPFDocument(inputStream); + + // 澶勭悊鎵�鏈夋枃娈垫暟鎹紝闄や簡琛ㄦ牸 + if (null != insertTextMap && insertTextMap.size() > 0) { + handleParagraphs(xwpfDocument, insertTextMap); + } + + // 澶勭悊琛ㄦ牸鏁版嵁 + handleTable(xwpfDocument, insertTextMap, addList); + + // 鍐欏叆鏁版嵁 + xwpfDocument.write(outputStream); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } finally { + try { + if (outputStream != null) { + outputStream.close(); + } + if (inputStream != null) { + inputStream.close(); + } + } catch (Exception e) { + log.error(e.getMessage(), e); + } + } + } + + /** + * 澶勭悊鎵�鏈夋枃娈垫暟鎹紝闄や簡琛ㄦ牸 + */ + public static void handleParagraphs(XWPFDocument xwpfDocument, Map<String, String> insertTextMap) { + for (XWPFParagraph paragraph : xwpfDocument.getParagraphs()) { + String text = paragraph.getText(); + if (isReplacement(text)) { + for (XWPFRun run : paragraph.getRuns()) { + // 鍒ゆ柇甯︽湁 ${} 鐨剅un + run.setText(matchesValue(run.text(), insertTextMap), 0); + } + } + } + } + + /** + * 澶勭悊琛ㄦ牸鏁版嵁鏂规硶 + */ + public static void handleTable(XWPFDocument xwpfDocument, Map<String, String> map, List<String[]> addList) { + List<XWPFTable> tables = xwpfDocument.getTables(); + for (XWPFTable table : tables) { + List<XWPFTableRow> rows = table.getRows(); + if (rows.size() < 2) { + continue; + } + + if (isReplacement(table.getText())) { + if (null == map || map.isEmpty()) { + continue; + } + + replaceData(rows, map); + } else { + insertData(table, addList); + } + } + } + + /** + * 鏇挎崲鏁版嵁 + */ + private static void replaceData(List<XWPFTableRow> rows, Map<String, String> map) { + for (XWPFTableRow row : rows) { + List<XWPFTableCell> tableCells = row.getTableCells(); + for (XWPFTableCell tableCell : tableCells) { + if (isReplacement(tableCell.getText())) { + List<XWPFParagraph> paragraphs = tableCell.getParagraphs(); + for (XWPFParagraph paragraph : paragraphs) { + List<XWPFRun> runs = paragraph.getRuns(); + for (XWPFRun run : runs) { + run.setText(matchesValue(tableCell.getText(), map), 0); + } + } + } + } + } + } + + /** + * 鎻掑叆鏁版嵁 + */ + private static void insertData(XWPFTable table, List<String[]> addList) { + for (int i = 1, c = addList.size(); i < c; i++) { + table.createRow(); + } + + List<XWPFTableCell> oldCells = table.getRow(1).getTableCells(); + List<XWPFTableRow> rowList = table.getRows(); + for (int i = 0, c = addList.size(); i < c; i++) { + XWPFTableRow xwpfTableRow = rowList.get(i + 1); + + List<XWPFTableCell> tableCells = xwpfTableRow.getTableCells(); + for (int j = 0; j < tableCells.size(); j++) { + XWPFTableCell oldCell = oldCells.get(j); + XWPFTableCell newCell = tableCells.get(j); + + if (0 == i) { + // newCell.setText(addList.get(i)[j]) + setCellText(newCell, addList.get(i)[j]); + } else { + setCellText(oldCell, newCell, addList.get(i)[j]); + } + } + } + } + + /** + * 璁剧疆鍗曞厓鏍兼枃鏈� + */ + private static void setCellText(XWPFTableCell cell, String text) { + List<XWPFParagraph> paragraphs = cell.getParagraphs(); + for (XWPFParagraph paragraph : paragraphs) { + List<XWPFRun> runs = paragraph.getRuns(); + for (XWPFRun run : runs) { + run.setText(text, 0); + } + } + } + + /** + * 鏈�${}鐨勫�煎尮閰嶅嚭鏇挎崲鐨勬暟鎹紝娌℃湁${}灏辫繑鍥炲師鏉ョ殑鏁版嵁 + * + * @param wordValue ${...} 甯�${}鐨勫彉閲� + * @param map 瀛樺偍闇�瑕佹浛鎹㈢殑鏁版嵁 + * @return java.lang.String + */ + public static String matchesValue(String wordValue, Map<String, String> map) { + for (String s : map.keySet()) { + String s1 = "${" + s + "}"; + if (s1.equals(wordValue)) { + wordValue = map.get(s); + } + } + + return wordValue; + } + + /** + * 娴嬭瘯鏄惁鍖呭惈闇�瑕佹浛鎹㈢殑鏁版嵁 + */ + public static boolean isReplacement(String text) { + return text.contains("$"); + } + + /** + * 澶嶅埗妯℃澘琛岀殑灞炴�� + */ + private static void setCellText(XWPFTableCell tmpCell, XWPFTableCell cell, String text) { + CTTc cttc2 = tmpCell.getCTTc(); + CTTcPr ctPr2 = cttc2.getTcPr(); + CTTc cttc = cell.getCTTc(); + CTTcPr ctPr = cttc.addNewTcPr(); + if (ctPr2.getTcW() != null) { + ctPr.addNewTcW().setW(ctPr2.getTcW().getW()); + } + if (ctPr2.getVAlign() != null) { + ctPr.addNewVAlign().setVal(ctPr2.getVAlign().getVal()); + } + if (ctPr2.getTcBorders() != null) { + ctPr.setTcBorders(ctPr2.getTcBorders()); + } + + XWPFParagraph tmpP = tmpCell.getParagraphs().get(0); + XWPFParagraph cellP = cell.getParagraphs().get(0); + XWPFRun tmpR = null; + if (tmpP.getRuns() != null && tmpP.getRuns().size() > 0) { + tmpR = tmpP.getRuns().get(0); + } + XWPFRun cellR = cellP.createRun(); + cellR.setText(text); + + // 澶嶅埗瀛椾綋淇℃伅 + copyFontInfo(cellR, tmpR); + + // 澶嶅埗娈佃惤淇℃伅 + cellP.setAlignment(tmpP.getAlignment()); + cellP.setVerticalAlignment(tmpP.getVerticalAlignment()); + cellP.setBorderBetween(tmpP.getBorderBetween()); + cellP.setBorderBottom(tmpP.getBorderBottom()); + cellP.setBorderLeft(tmpP.getBorderLeft()); + cellP.setBorderRight(tmpP.getBorderRight()); + cellP.setBorderTop(tmpP.getBorderTop()); + cellP.setPageBreak(tmpP.isPageBreak()); + + if (tmpP.getCTP() != null&&tmpP.getCTP().getPPr() != null) { + CTPPr tmpPpr = tmpP.getCTP().getPPr(); + CTPPr cellPpr = cellP.getCTP().getPPr() != null ? cellP.getCTP().getPPr() : cellP.getCTP().addNewPPr(); + + // 澶嶅埗娈佃惤闂磋窛淇℃伅 + copySpacing(tmpPpr, cellPpr); + + // 澶嶅埗娈佃惤缂╄繘淇℃伅 + copyParagraph(tmpPpr, cellPpr); + } + } + + /** + * 澶嶅埗瀛椾綋淇℃伅 + */ + private static void copyFontInfo(XWPFRun cellR, XWPFRun tmpR) { + if (tmpR == null) { + return; + } + if (!cellR.isBold()) { + cellR.setBold(tmpR.isBold()); + } + cellR.setItalic(tmpR.isItalic()); + cellR.setUnderline(tmpR.getUnderline()); + cellR.setColor(tmpR.getColor()); + cellR.setTextPosition(tmpR.getTextPosition()); + if (tmpR.getFontSize() != -1) { + cellR.setFontSize(tmpR.getFontSize()); + } + if (tmpR.getFontFamily() != null) { + cellR.setFontFamily(tmpR.getFontFamily()); + } + if (tmpR.getCTR() != null) { + if (tmpR.getCTR().isSetRPr()) { + CTRPr tmpRpr = tmpR.getCTR().getRPr(); + if (tmpRpr.isSetRFonts()) { + CTFonts tmpFonts = tmpRpr.getRFonts(); + CTRPr cellRpr = cellR.getCTR().isSetRPr() ? cellR + .getCTR().getRPr() : cellR.getCTR().addNewRPr(); + CTFonts cellFonts = cellRpr.isSetRFonts() ? cellRpr + .getRFonts() : cellRpr.addNewRFonts(); + cellFonts.setAscii(tmpFonts.getAscii()); + cellFonts.setAsciiTheme(tmpFonts.getAsciiTheme()); + cellFonts.setCs(tmpFonts.getCs()); + cellFonts.setCstheme(tmpFonts.getCstheme()); + cellFonts.setEastAsia(tmpFonts.getEastAsia()); + cellFonts.setEastAsiaTheme(tmpFonts.getEastAsiaTheme()); + cellFonts.setHAnsi(tmpFonts.getHAnsi()); + cellFonts.setHAnsiTheme(tmpFonts.getHAnsiTheme()); + } + } + } + } + + /** + * 澶嶅埗娈佃惤闂磋窛淇℃伅 + */ + private static void copySpacing(CTPPr tmpPpr, CTPPr cellPpr) { + CTSpacing tmpSpacing = tmpPpr.getSpacing(); + if (tmpSpacing != null) { + CTSpacing cellSpacing = cellPpr.getSpacing() != null ? cellPpr.getSpacing() : cellPpr.addNewSpacing(); + if (tmpSpacing.getAfter() != null) { + cellSpacing.setAfter(tmpSpacing.getAfter()); + } + if (tmpSpacing.getAfterAutospacing() != null) { + cellSpacing.setAfterAutospacing(tmpSpacing + .getAfterAutospacing()); + } + if (tmpSpacing.getAfterLines() != null) { + cellSpacing.setAfterLines(tmpSpacing.getAfterLines()); + } + if (tmpSpacing.getBefore() != null) { + cellSpacing.setBefore(tmpSpacing.getBefore()); + } + if (tmpSpacing.getBeforeAutospacing() != null) { + cellSpacing.setBeforeAutospacing(tmpSpacing + .getBeforeAutospacing()); + } + if (tmpSpacing.getBeforeLines() != null) { + cellSpacing.setBeforeLines(tmpSpacing.getBeforeLines()); + } + if (tmpSpacing.getLine() != null) { + cellSpacing.setLine(tmpSpacing.getLine()); + } + if (tmpSpacing.getLineRule() != null) { + cellSpacing.setLineRule(tmpSpacing.getLineRule()); + } + } + } + + /** + * 澶嶅埗娈佃惤缂╄繘淇℃伅 + */ + private static void copyParagraph(CTPPr tmpPpr, CTPPr cellPpr) { + CTInd tmpInd = tmpPpr.getInd(); + if (tmpInd != null) { + CTInd cellInd = cellPpr.getInd() != null ? cellPpr.getInd() : cellPpr.addNewInd(); + if (tmpInd.getFirstLine() != null) { + cellInd.setFirstLine(tmpInd.getFirstLine()); + } + if (tmpInd.getFirstLineChars() != null) { + cellInd.setFirstLineChars(tmpInd.getFirstLineChars()); + } + if (tmpInd.getHanging() != null) { + cellInd.setHanging(tmpInd.getHanging()); + } + if (tmpInd.getHangingChars() != null) { + cellInd.setHangingChars(tmpInd.getHangingChars()); + } + if (tmpInd.getLeft() != null) { + cellInd.setLeft(tmpInd.getLeft()); + } + if (tmpInd.getLeftChars() != null) { + cellInd.setLeftChars(tmpInd.getLeftChars()); + } + if (tmpInd.getRight() != null) { + cellInd.setRight(tmpInd.getRight()); + } + if (tmpInd.getRightChars() != null) { + cellInd.setRightChars(tmpInd.getRightChars()); + } + } + } +} diff --git a/src/main/java/com/lf/server/helper/Zip4jHelper.java b/src/main/java/com/lf/server/helper/Zip4jHelper.java new file mode 100644 index 0000000..5440578 --- /dev/null +++ b/src/main/java/com/lf/server/helper/Zip4jHelper.java @@ -0,0 +1,155 @@ +package com.lf.server.helper; + +import net.lingala.zip4j.ZipFile; +import net.lingala.zip4j.exception.ZipException; +import net.lingala.zip4j.model.ZipParameters; +import net.lingala.zip4j.model.enums.AesKeyStrength; +import net.lingala.zip4j.model.enums.CompressionLevel; +import net.lingala.zip4j.model.enums.CompressionMethod; +import net.lingala.zip4j.model.enums.EncryptionMethod; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.io.File; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; + +/** + * Zip4j甯姪绫� + * @author WWW + */ +public class Zip4jHelper { + private final static Log log = LogFactory.getLog(Zip4jHelper.class); + + /** + * Zip鍘嬬缉 + * + * @param zipFile zip鏂囦欢 + * @param sourcePath 婧愯矾寰� + * @param pwd 瀵嗙爜 + * @return 鎴愬姛鏄惁 + */ + public static boolean zip(String zipFile, String sourcePath, String pwd) { + try { + ZipFile zip = StringHelper.isEmpty(pwd) ? new ZipFile(zipFile) : new ZipFile(zipFile, pwd.toCharArray()); + zip.setCharset(StandardCharsets.UTF_8); + + File f = zip.getFile(); + if (!f.getParentFile().exists()) { + f.getParentFile().mkdirs(); + } + if (f.exists()) { + f.delete(); + } + + ZipParameters params = getZipParams(!StringHelper.isEmpty(pwd)); + + // 瑕佹墦鍖呯殑鏂囦欢鎴栨枃浠跺す + File currentFile = new File(sourcePath); + if (currentFile.isDirectory()) { + zip.addFolder(currentFile, params); + } else { + zip.addFile(currentFile, params); + } + + return true; + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return false; + } + } + + /** + * 鍒涘缓ZipFile + */ + public static ZipFile createZipFile(String zipFile, String pwd) { + try { + ZipFile zip = StringHelper.isEmpty(pwd) ? new ZipFile(zipFile) : new ZipFile(zipFile, pwd.toCharArray()); + // zip.setCharset(Charset.forName("GBK")) + zip.setCharset(StandardCharsets.UTF_8); + + File f = zip.getFile(); + if (!f.getParentFile().exists()) { + f.getParentFile().mkdirs(); + } + if (f.exists()) { + f.delete(); + } + + return zip; + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return null; + } + } + + /** + * 鑾峰彇ZipParameters + */ + public static ZipParameters getZipParams(boolean hasPwd) { + // 璁剧疆鍘嬬缉鏂囦欢鍙傛暟 + ZipParameters params = new ZipParameters(); + // 鍘嬬缉鏂瑰紡 + params.setCompressionMethod(CompressionMethod.DEFLATE); + // 鍘嬬缉绾у埆 + params.setCompressionLevel(CompressionLevel.MAXIMUM); + + if (hasPwd) { + // 鏄惁璁剧疆鍔犲瘑鏂囦欢 + params.setEncryptFiles(true); + // 璁剧疆AES鍔犲瘑寮哄害锛欿EY_STRENGTH_256 + params.setAesKeyStrength(AesKeyStrength.KEY_STRENGTH_128); + // 璁剧疆鍔犲瘑绠楁硶 + params.setEncryptionMethod(EncryptionMethod.AES); + } + + return params; + } + + /** + * 娣诲姞鏂囦欢鑷冲帇缂╁寘 + * + * @param zip ZipFile + * @param params ZipParameters + * @param file File + * @throws ZipException + */ + private static void addZipFile(ZipFile zip, ZipParameters params, File file) throws ZipException { + if (file.isDirectory()) { + File[] files = file.listFiles(); + for (File f : files) { + addZipFile(zip, params, f); + } + } else { + zip.addFile(file, params); + } + } + + /** + * Zip瑙e帇 + * + * @param zipFile zip鏂囦欢 + * @param toPath 瑙e帇璺緞 + * @param password 瀵嗙爜 + * @return 鎴愬姛鏄�/鍚� + */ + public static boolean unzip(String zipFile, String toPath, String password) { + try { + // 鐢熸垚鐨勫帇缂╂枃浠� + ZipFile zip = new ZipFile(zipFile); + + // 璁剧疆瀵嗙爜 + if (!StringHelper.isEmpty(password)) { + zip.setPassword(password.toCharArray()); + } + + // 瑙e帇缂╂墍鏈夋枃浠朵互鍙婃枃浠跺す + zip.extractAll(toPath); + + return true; + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return false; + } + } +} diff --git a/src/main/java/com/lf/server/helper/ZipHelper.java b/src/main/java/com/lf/server/helper/ZipHelper.java new file mode 100644 index 0000000..f03db12 --- /dev/null +++ b/src/main/java/com/lf/server/helper/ZipHelper.java @@ -0,0 +1,149 @@ +package com.lf.server.helper; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.io.*; +import java.nio.charset.Charset; +import java.util.Enumeration; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; +import java.util.zip.ZipOutputStream; + +/** + * Zip甯姪绫� + * @author WWW + */ +public class ZipHelper { + private final static int BUFFER_SIZE = 1024; + + private final static byte[] BUFFER = new byte[1024]; + + private final static Log log = LogFactory.getLog(ZipHelper.class); + + /** + * Zip瑙e帇 + * + * @param filePath zip鏂囦欢 + * @param zipDir 瑙e帇璺緞 + * @return 鎴愬姛鏄�/鍚� + */ + public static boolean unzip(String filePath, String zipDir) { + ZipFile zipFile = null; + try { + File dir = new File(zipDir); + if (!dir.exists() || !dir.isDirectory()) { + dir.mkdirs(); + } + + int count; + zipFile = new ZipFile(filePath, Charset.forName("GBK")); + Enumeration e = zipFile.entries(); + while (e.hasMoreElements()) { + ZipEntry entry = (ZipEntry) e.nextElement(); + if (entry.isDirectory()) { + File f = new File(zipDir + File.separator + entry.getName()); + if (!f.exists()) { + f.mkdirs(); + } + continue; + } + + BufferedInputStream is = new BufferedInputStream(zipFile.getInputStream(entry)); + FileOutputStream fos = new FileOutputStream(zipDir + File.separator + entry.getName()); + BufferedOutputStream dest = new BufferedOutputStream(fos, BUFFER_SIZE); + while ((count = is.read(BUFFER, 0, BUFFER_SIZE)) != -1) { + dest.write(BUFFER, 0, count); + } + + dest.flush(); + dest.close(); + fos.close(); + is.close(); + } + + return true; + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return false; + } finally { + try { + if (null != zipFile) { + zipFile.close(); + } + } catch (Exception e) { + log.error(e.getMessage(), e); + } + } + } + + /** + * Zip鍘嬬缉 + * + * @param zipFile zip婧愭枃浠� + * @param sourceDir 婧愭枃浠跺す + * @return 鎴愬姛鏄�/鍚� + */ + public static boolean zip(String zipFile, String sourceDir) { + FileOutputStream fos = null; + ZipOutputStream zos = null; + try { + fos = new FileOutputStream(zipFile); + zos = new ZipOutputStream(fos); + + File sourceFile = new File(sourceDir); + compress(sourceFile, zos, sourceFile.getName()); + + return true; + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return false; + } finally { + try { + if (null != zos) { + zos.close(); + } + if (null != fos) { + fos.close(); + } + } catch (Exception e) { + log.error(e.getMessage(), e); + } + } + } + + /** + * Zip鍘嬬缉 + * + * @param sourceFile zip婧愭枃浠� + * @param zos zip杈撳嚭娴� + * @param name zip鏂囦欢鍚嶇О + * @throws Exception + */ + public static void compress(File sourceFile, ZipOutputStream zos, String name) throws Exception { + if (sourceFile.isFile()) { + // 鍚憐ip杈撳嚭娴佷腑娣诲姞涓�涓獄ip瀹炰綋锛屾瀯閫犲櫒涓璶ame涓簔ip瀹炰綋鐨勬枃浠剁殑鍚嶅瓧 + zos.putNextEntry(new ZipEntry(name)); + + // copy鏂囦欢鍒皕ip杈撳嚭娴佷腑 + int len; + FileInputStream in = new FileInputStream(sourceFile); + while ((len = in.read(BUFFER)) != -1) { + zos.write(BUFFER, 0, len); + } + zos.closeEntry(); + in.close(); + } else { + File[] listFiles = sourceFile.listFiles(); + if (listFiles == null || listFiles.length == 0) { + // 绌烘枃浠跺す鐨勫鐞嗭細娌℃湁鏂囦欢锛屼笉闇�瑕佹枃浠剁殑copy + zos.putNextEntry(new ZipEntry(name + "/")); + zos.closeEntry(); + } else { + for (File file : listFiles) { + compress(file, zos, name + "/" + file.getName()); + } + } + } + } +} diff --git a/src/main/java/com/lf/server/interceptor/AuthInterceptor.java b/src/main/java/com/lf/server/interceptor/AuthInterceptor.java new file mode 100644 index 0000000..3d55891 --- /dev/null +++ b/src/main/java/com/lf/server/interceptor/AuthInterceptor.java @@ -0,0 +1,182 @@ +package com.lf.server.interceptor; + +import com.alibaba.fastjson.JSON; +import com.lf.server.entity.all.*; +import com.lf.server.entity.sys.TokenEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.helper.WebHelper; +import com.lf.server.service.all.SysService; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.method.HandlerMethod; +import org.springframework.web.servlet.HandlerInterceptor; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 韬唤璁よ瘉鎷︽埅鍣� + * @author WWW + */ +@Configuration +public class AuthInterceptor implements HandlerInterceptor { + private final SysService sysService; + + private static final Log log = LogFactory.getLog(AuthInterceptor.class); + + private static final String NO_TOKEN = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.TOKEN_ERROR, "鎵句笉鍒颁护鐗�")); + + private static final String NO_LOGIN = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.NO_LOGIN_ERROR, "鐢ㄦ埛鏈櫥褰�")); + + private static final String USER_LOCK = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.USER_LOCK_ERROR, "鐢ㄦ埛ID宸茬鐢�")); + + private static final String NO_AUTH = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.NO_AUTH_ERROR, "鏃犳潈闄愯闂�")); + + private static final String IP_NULL = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.UNAUTHORIZED, "IP鍦板潃涓虹┖")); + + private static final String BLACK_LIST = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.UNAUTHORIZED, "璇P鍏ラ粦鍚嶅崟")); + + private static final String ILLEGAL_TOKEN = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.UNAUTHORIZED, "浠ょ墝鏉ユ簮闈炴硶")); + + public AuthInterceptor(SysService sysService) { + this.sysService = sysService; + } + + /** + * Controller鎵ц涔嬪墠鎵ц锛屽鏋滆繑鍥炲�兼槸true鍒欎唬琛ㄦ斁琛岋紝杩斿洖false鍒欐嫤鎴� + */ + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { + // noinspection AlibabaRemoveCommentedCode + try { + // 1.闈炴柟娉� 鎴� 鏃犻渶鎺堟潈锛屾棤闇�鎷︽埅 + if (!(handler instanceof HandlerMethod) || noNeedAuth(request)) { + return true; + } + + // 2.鑾峰彇浠ょ墝 + String token = WebHelper.getToken(request); + if (StringHelper.isNull(token)) { + return WebHelper.writeStr2Page(response, NO_TOKEN); + } + + // 3.鑾峰彇鐢ㄦ埛浠ょ墝 + UserEntity ue = sysService.tokenService.getCurrentUser(request); + if (ue == null) { + return WebHelper.writeStr2Page(response, NO_LOGIN); + } + + // 4.鑾峰彇IP + String ip = WebHelper.getIpAddress(request); + if (StringHelper.isEmpty(ip)) { + return WebHelper.writeStr2Page(response, IP_NULL); + } + + // 5.妫�鏌ラ粦鍚嶅崟 + if (!checkBlackList(ip, request)) { + return WebHelper.writeStr2Page(response, BLACK_LIST); + } + + // 6.admin璺宠繃鏉冮檺妫�娴� + if (StaticData.ADMIN.equals(ue.getUid())) { + return true; + } + + // 7.妫�鏌ョ櫧鍚嶅崟 + if (!checkWhiteList(ip, request)) { + // 妫�鏌P涓�鑷存�� + if (!checkIpSource(ip, token)) { + return WebHelper.writeStr2Page(response, ILLEGAL_TOKEN); + } + } + + // 8.妫�鏌ョ敤鎴稩D鏄惁绂佺敤 + if (sysService.tokenService.isUidDisable(ue)) { + return WebHelper.writeStr2Page(response, USER_LOCK); + } + + // 9.鏉冮檺鏍¢獙 + if (!checkPerms(ue, request)) { + System.out.println("鏃犳潈闄愯闂細" + request.getRequestURI().toLowerCase()); + return WebHelper.writeStr2Page(response, NO_AUTH); + } + + return true; + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return false; + } + } + + /** + * 鏃犻渶鎺堟潈 + */ + private static boolean noNeedAuth(HttpServletRequest request) { + String uri = request.getRequestURI().toLowerCase(); + for (String page : StaticData.EXCLUDE_PATH) { + if (uri.contains(page)) { + return true; + } + } + + return false; + } + + /** + * 妫�鏌ユ潈闄� + */ + private boolean checkPerms(UserEntity ue, HttpServletRequest request) { + List<String> list = sysService.permsService.selectPerms(ue.getUid()); + if (list == null || list.size() == 0) { + return false; + } + + String url = request.getRequestURI(); + for (String perm : list) { + if (url.contains(perm)) { + return true; + } + } + + return false; + } + + /** + * 妫�鏌ラ粦鍚嶅崟 + */ + private boolean checkBlackList(String ip, HttpServletRequest request) { + List<String> blackList = sysService.blacklistService.selectIpList(1); + if (blackList == null || blackList.isEmpty()) { + return true; + } + if (blackList.contains(ip)) { + return false; + } + + return true; + } + + /** + * 妫�鏌ョ櫧鍚嶅崟 + */ + private boolean checkWhiteList(String ip, HttpServletRequest request) { + List<String> whiteList = sysService.blacklistService.selectIpList(2); + if (whiteList == null || whiteList.isEmpty()) { + return false; + } + + return whiteList.contains(ip); + } + + /** + * 妫�鏌P涓�鑷存�� + */ + private boolean checkIpSource(String ip, String token) { + TokenEntity te = sysService.tokenService.getEntityByToken(token); + + return te.getIp().equals(ip); + } +} diff --git a/src/main/java/com/lf/server/interceptor/CrosFilter.java b/src/main/java/com/lf/server/interceptor/CrosFilter.java new file mode 100644 index 0000000..cdfa887 --- /dev/null +++ b/src/main/java/com/lf/server/interceptor/CrosFilter.java @@ -0,0 +1,42 @@ +package com.lf.server.interceptor; + +import javax.servlet.*; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +/** + * 璺ㄥ煙杩囨护鍣� + * @author WWW + * @date 2022-09-27 + */ +public class CrosFilter implements Filter { + private static final String OPTIONS = "OPTIONS"; + + @Override + public void init(FilterConfig filterConfig) { + // + } + + @Override + public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { + HttpServletResponse response = (HttpServletResponse) res; + HttpServletRequest request = (HttpServletRequest) req; + if (OPTIONS.equalsIgnoreCase(request.getMethod())) { + response.setHeader("Access-Control-Allow-Origin", "*"); + response.setHeader("Access-Control-Allow-Credentials", "true"); + response.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS"); + response.setHeader("Access-Control-Max-Age", "3600"); + response.setHeader("Access-Control-Allow-Headers", "*"); + + response.setStatus(HttpServletResponse.SC_OK); + } else { + chain.doFilter(req, res); + } + } + + @Override + public void destroy() { + // + } +} diff --git a/src/main/java/com/lf/server/mapper/all/BaseQueryMapper.java b/src/main/java/com/lf/server/mapper/all/BaseQueryMapper.java new file mode 100644 index 0000000..4b5f780 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/all/BaseQueryMapper.java @@ -0,0 +1,111 @@ +package com.lf.server.mapper.all; + +import com.lf.server.entity.ctrl.IdNameEntity; +import com.lf.server.entity.ctrl.KeyValueEntity; +import com.lf.server.entity.ctrl.TabEntity; +import com.lf.server.entity.data.DictEntity; +import com.lf.server.entity.data.DomainEntity; +import com.lf.server.entity.sys.AttachEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 鐖舵煡璇apper + * @author WWW + */ +@Mapper +@Repository +public interface BaseQueryMapper { + /** + * 妯$硦鎼滅储鐢ㄦ埛 + * + * @param name 鐢ㄦ埛鍚� + * @return 瀹炰綋绫婚泦鍚� + */ + public List<IdNameEntity> selectUserFuzzy(String name); + + /** + * 妯$硦鎼滅储鍗曚綅 + * + * @param name 鍗曚綅鍚� + * @return 瀹炰綋绫婚泦鍚� + */ + public List<IdNameEntity> selectDepFuzzy(String name); + + /** + * 鏍规嵁琛ㄥ悕鏌ヨ璁板綍鏁� + * + * @param tab 琛ㄥ悕 + * @param field 瀛楁 + * @return + */ + public Integer selectTabsForCount(String tab, String field); + + /** + * 鏍规嵁琛ㄥ悕鍒嗛〉鏌ヨ + * + * @param tab 琛ㄥ悕 + * @param field 瀛楁 + * @param filters 杩囨护鏉′欢 + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return + */ + public List<TabEntity> selectTabsByPage(String tab, String field, String filters, Integer limit, Integer offset); + + /** + * 鏌ヨ瀛楁淇℃伅 + * + * @param ns 鍚嶇О绌洪棿 + * @param tab 琛ㄥ悕 + * @return 瀹炰綋绫婚泦鍚� + */ + public List<DictEntity> selectFields(String ns, String tab); + + /** + * 鏌ヨ鍊煎煙淇℃伅 + * + * @param ns 鍚嶇О绌洪棿 + * @param tab 琛ㄥ悕 + * @return 瀹炰綋绫婚泦鍚� + */ + public List<DomainEntity> selectDomains(String ns, String tab); + + /** + * 鏌ヨ璺綉 + * + * @param x1 X1 + * @param y1 Y1 + * @param x2 X2 + * @param y2 Y2 + * @return 澶氱嚎 + */ + public String selectRoute(double x1, double y1, double x2, double y2); + + /** + * 鏌ヨ浣嶇疆 + * + * @param wkt WKT瀛楃涓� + * @return 浣嶇疆 + */ + public List<KeyValueEntity> selectLocation(String wkt); + + /** + * 鏌ヨ鐩綍绫诲埆 + * + * @param name + * @return + */ + public List<KeyValueEntity> selectDirTypes(String name); + + /** + * 鏍规嵁琛ㄥ悕鏌ヨ闄勪欢 + * + * @param tab 琛ㄥ悕 + * @param gids Gid瀛楃涓� + * @return 闄勪欢 + */ + public List<AttachEntity> selectAnnexByTab(String tab, String gids); +} diff --git a/src/main/java/com/lf/server/mapper/all/BasicMapper.java b/src/main/java/com/lf/server/mapper/all/BasicMapper.java new file mode 100644 index 0000000..478a315 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/all/BasicMapper.java @@ -0,0 +1,55 @@ +package com.lf.server.mapper.all; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lf.server.entity.sys.AttachEntity; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 鍩虹Mapper + * @author WWW + * @param <T> 娉涘瀷 + */ +public interface BasicMapper<T> extends BaseMapper<T> { + /** + * 妯$硦鎼滅储瀛楁 + * + * @param tab 琛ㄥ悕 + * @param field 瀛楁 + * @param value 鍊� + * @return 缁撴灉鍒楄〃 + */ + @Select("select ${field} from ${tab} where upper(${field}) like #{value} order by ${field} limit 10") + public List<String> selectFieldFuzzy(@Param("tab") String tab, @Param("field") String field, @Param("value") String value); + + /** + * 鑷畾涔夋壒閲忔彃鍏� + * 濡傛灉瑕佽嚜鍔ㄥ~鍏咃紝@Param(xx) xx鍙傛暟鍚嶅繀椤绘槸 list/collection/array 3涓殑鍏朵腑涔嬩竴 + * + * @param list + * @return + */ + public int insertBatch(@Param("list") List<T> list); + + /** + * 鑷畾涔夋壒閲忔洿鏂帮紝鏉′欢涓轰富閿� + * 濡傛灉瑕佽嚜鍔ㄥ~鍏咃紝@Param(xx) xx鍙傛暟鍚嶅繀椤绘槸 list/collection/array 3涓殑鍏朵腑涔嬩竴 + * + * @param list + * @return + */ + public int updateBatch(@Param("list") List<T> list); + + /** + * 鏌ヨ闄勪欢 + * + * @param tab 琛ㄥ悕 + * @param wrapper 鏌ヨ鍖呰鍣� + * @return + */ + @Select("select * from lf.sys_attach where tab = #{tab} and tab_guid in (select eventid from ${tab} ${ew.customSqlSegment})") + public List<AttachEntity> selectAnnex(@Param("tab") String tab, @Param("ew") QueryWrapper wrapper); +} diff --git a/src/main/java/com/lf/server/mapper/all/GeomBaseMapper.java b/src/main/java/com/lf/server/mapper/all/GeomBaseMapper.java new file mode 100644 index 0000000..7ec2db1 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/all/GeomBaseMapper.java @@ -0,0 +1,70 @@ +package com.lf.server.mapper.all; + +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; + +import java.util.List; + +/** + * 绌洪棿鍩虹Mapper + * @author WWW + * @param <T> 娉涘瀷 + */ +public interface GeomBaseMapper<T> extends BasicMapper<T> { + /** + * 鏍规嵁ID鏌ヨWKT + * + * @param tab 琛ㄥ悕 + * @param gid GID + * @return WKT + */ + @Select("select ST_AsText(geom) geom from ${tab} where gid = #{gid} limit 1") + public String selectWktById(@Param("tab") String tab, @Param("gid") Integer gid); + + /** + * 鏍规嵁琛ㄥ悕鏌ヨ绌洪棿鍙傝�� + * + * @param tab 琛ㄥ悕 + * @return SRID + */ + @Select("select ST_SRID(geom) from ${tab} where geom is not null limit 1") + public Integer selectSrid(@Param("tab") String tab); + + /** + * 鏍规嵁琛ㄥ悕鏌ヨ绌洪棿绫诲瀷 + * + * @param tab 琛ㄥ悕 + * @return SRID + */ + @Select("select ST_GeometryType(geom) from ${tab} where geom is not null limit 1") + public String selectGeometryType(@Param("tab") String tab); + + /** + * 鏌ヨDB涓孩鍑虹殑鍗曚綅ID + * + * @param tab 琛ㄥ悕 + * @param depid 鍗曚綅ID + * @param geoFilter 绌洪棿杩囨护鏉′欢 + * @return 婧㈠嚭鐨勫崟浣岻D + */ + @Select("<script>" + + " select depid from ${tab} where depid is not null and depid not like '${depid}%'" + + " <if test='geoFilter != null'>" + + " and ${geoFilter}" + + " </if>" + + " group by depid" + + "</script>") + public List<Integer> selectDbOverflowDep(@Param("tab") String tab, @Param("depid") String depid, @Param("geoFilter") String geoFilter); + + /** + * 鏇存柊绌洪棿浣嶇疆 + * + * @param tab 琛ㄥ悕 + * @param gid GID + * @param wkt WKT + * @return 褰卞搷琛屾暟 + */ + @Update("update ${tab} set geom = ST_GeomFromText('${wkt}') where gid = #{gid} limit 1") + public Integer updateGeom(@Param("tab") String tab, @Param("gid") Integer gid, @Param("wkt") String wkt); +} diff --git a/src/main/java/com/lf/server/mapper/all/PermsMapper.java b/src/main/java/com/lf/server/mapper/all/PermsMapper.java new file mode 100644 index 0000000..8574af9 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/all/PermsMapper.java @@ -0,0 +1,67 @@ +package com.lf.server.mapper.all; + +import com.lf.server.entity.all.MenusAuthEntity; +import com.lf.server.entity.all.PermsAuthEntity; +import com.lf.server.entity.all.ResAuthEntity; +import com.lf.server.entity.sys.MenuEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 鎺堟潈绠$悊 + * @author WWW + */ +@Mapper +@Repository +public interface PermsMapper { + /** + * 鏍规嵁鐢ㄦ埛Uid鏌ヨ璧勬簮鎺堟潈 + * + * @param uid + * @return + */ + public List<ResAuthEntity> selectRes(String uid); + + /** + * 鏍规嵁鐢ㄦ埛Uid鏌ヨ鑿滃崟鎺堟潈 + * + * @param uid + * @return + */ + public List<MenusAuthEntity> selectMenus(String uid); + + /** + * 鏍规嵁鐢ㄦ埛Uid鏌ヨ鏉冮檺鎺堟潈 + * + * @param uid + * @return + */ + public List<String> selectPerms(String uid); + + /** + * 鏍规嵁鐢ㄦ埛Uid鏌ヨ鏉冮檺鎺堟潈瀹炰綋闆嗗悎 + * + * @param uid + * @return + */ + public List<PermsAuthEntity> selectPermsEntity(String uid); + + /** + * 鏍规嵁鐢ㄦ埛Uid鏌ヨ瑙掕壊ID + * + * @param uid + * @return + */ + public List<Integer> selectRoles(String uid); + + /** + * 鏍规嵁鐢ㄦ埛Uid閫掑綊鏌ヨ鑿滃崟闆嗗悎 + * + * @param id + * @param uid + * @return + */ + public List<MenuEntity> selectMenuRecursive(int id, String uid); +} diff --git a/src/main/java/com/lf/server/mapper/bd/BboreholeMapper.java b/src/main/java/com/lf/server/mapper/bd/BboreholeMapper.java new file mode 100644 index 0000000..d9e4411 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/BboreholeMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.BboreholeEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bborehole + * @author WWW + */ +@Mapper +@Repository +public interface BboreholeMapper extends GeomBaseMapper<BboreholeEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/BgeologichazardMapper.java b/src/main/java/com/lf/server/mapper/bd/BgeologichazardMapper.java new file mode 100644 index 0000000..4220ebe --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/BgeologichazardMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.BgeologichazardEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bgeologichazard + * @author WWW + */ +@Mapper +@Repository +public interface BgeologichazardMapper extends GeomBaseMapper<BgeologichazardEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20wboundMapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20wboundMapper.java new file mode 100644 index 0000000..640ef2a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20wboundMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20wboundEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20wbound + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20wboundMapper extends GeomBaseMapper<Bhy20wboundEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20wd21Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20wd21Mapper.java new file mode 100644 index 0000000..202964d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20wd21Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20wd21Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20wd21 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20wd21Mapper extends GeomBaseMapper<Bhy20wd21Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20wd23Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20wd23Mapper.java new file mode 100644 index 0000000..570bbd5 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20wd23Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20wd23Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20wd23 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20wd23Mapper extends GeomBaseMapper<Bhy20wd23Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20wd29Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20wd29Mapper.java new file mode 100644 index 0000000..e5d721b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20wd29Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20wd29Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20wd29 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20wd29Mapper extends GeomBaseMapper<Bhy20wd29Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20wd31Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20wd31Mapper.java new file mode 100644 index 0000000..914cd08 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20wd31Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20wd31Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20wd31 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20wd31Mapper extends GeomBaseMapper<Bhy20wd31Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20wl21Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20wl21Mapper.java new file mode 100644 index 0000000..4d8f3eb --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20wl21Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20wl21Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20wl21 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20wl21Mapper extends GeomBaseMapper<Bhy20wl21Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20wl23Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20wl23Mapper.java new file mode 100644 index 0000000..29c3d84 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20wl23Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20wl23Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20wl23 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20wl23Mapper extends GeomBaseMapper<Bhy20wl23Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20wl31Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20wl31Mapper.java new file mode 100644 index 0000000..39eb6f6 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20wl31Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20wl31Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20wl31 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20wl31Mapper extends GeomBaseMapper<Bhy20wl31Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20wl41Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20wl41Mapper.java new file mode 100644 index 0000000..9b124ae --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20wl41Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20wl41Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20wl41 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20wl41Mapper extends GeomBaseMapper<Bhy20wl41Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20wl61Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20wl61Mapper.java new file mode 100644 index 0000000..de2203c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20wl61Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20wl61Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20wl61 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20wl61Mapper extends GeomBaseMapper<Bhy20wl61Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20wl69Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20wl69Mapper.java new file mode 100644 index 0000000..eafce1b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20wl69Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20wl69Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20wl69 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20wl69Mapper extends GeomBaseMapper<Bhy20wl69Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20wl71Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20wl71Mapper.java new file mode 100644 index 0000000..5489dcd --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20wl71Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20wl71Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20wl71 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20wl71Mapper extends GeomBaseMapper<Bhy20wl71Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20wl72Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20wl72Mapper.java new file mode 100644 index 0000000..a015c31 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20wl72Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20wl72Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20wl72 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20wl72Mapper extends GeomBaseMapper<Bhy20wl72Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws11Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws11Mapper.java new file mode 100644 index 0000000..64ade2d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws11Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws11Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws11 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws11Mapper extends GeomBaseMapper<Bhy20ws11Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws12Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws12Mapper.java new file mode 100644 index 0000000..f5843be --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws12Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws12Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws12 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws12Mapper extends GeomBaseMapper<Bhy20ws12Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws13Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws13Mapper.java new file mode 100644 index 0000000..a5da06f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws13Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws13Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws13 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws13Mapper extends GeomBaseMapper<Bhy20ws13Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws14Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws14Mapper.java new file mode 100644 index 0000000..961f0b3 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws14Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws14Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws14 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws14Mapper extends GeomBaseMapper<Bhy20ws14Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws15Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws15Mapper.java new file mode 100644 index 0000000..d3e4916 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws15Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws15Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws15 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws15Mapper extends GeomBaseMapper<Bhy20ws15Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws16Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws16Mapper.java new file mode 100644 index 0000000..6ba419d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws16Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws16Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws16 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws16Mapper extends GeomBaseMapper<Bhy20ws16Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws17Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws17Mapper.java new file mode 100644 index 0000000..ac4a197 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws17Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws17Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws17 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws17Mapper extends GeomBaseMapper<Bhy20ws17Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws18Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws18Mapper.java new file mode 100644 index 0000000..3ad25cd --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws18Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws18Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws18 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws18Mapper extends GeomBaseMapper<Bhy20ws18Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws19Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws19Mapper.java new file mode 100644 index 0000000..3e0e0d1 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws19Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws19Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws19 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws19Mapper extends GeomBaseMapper<Bhy20ws19Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws21Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws21Mapper.java new file mode 100644 index 0000000..8db30f9 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws21Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws21Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws21 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws21Mapper extends GeomBaseMapper<Bhy20ws21Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws22Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws22Mapper.java new file mode 100644 index 0000000..5d06359 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws22Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws22Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws22 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws22Mapper extends GeomBaseMapper<Bhy20ws22Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws23Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws23Mapper.java new file mode 100644 index 0000000..fdd4f07 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws23Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws23Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws23 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws23Mapper extends GeomBaseMapper<Bhy20ws23Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws24Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws24Mapper.java new file mode 100644 index 0000000..b5a9357 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws24Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws24Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws24 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws24Mapper extends GeomBaseMapper<Bhy20ws24Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws25Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws25Mapper.java new file mode 100644 index 0000000..f8fac2f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws25Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws25Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws25 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws25Mapper extends GeomBaseMapper<Bhy20ws25Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws26Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws26Mapper.java new file mode 100644 index 0000000..c080e1d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws26Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws26Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws26 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws26Mapper extends GeomBaseMapper<Bhy20ws26Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws27Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws27Mapper.java new file mode 100644 index 0000000..c0b56da --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws27Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws27Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws27 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws27Mapper extends GeomBaseMapper<Bhy20ws27Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws28Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws28Mapper.java new file mode 100644 index 0000000..bbbd843 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws28Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws28Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws28 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws28Mapper extends GeomBaseMapper<Bhy20ws28Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws29Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws29Mapper.java new file mode 100644 index 0000000..bb16a7b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws29Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws29Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws29 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws29Mapper extends GeomBaseMapper<Bhy20ws29Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws41Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws41Mapper.java new file mode 100644 index 0000000..c9c0a6f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws41Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws41Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws41 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws41Mapper extends GeomBaseMapper<Bhy20ws41Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws42Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws42Mapper.java new file mode 100644 index 0000000..8e7c607 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws42Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws42Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws42 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws42Mapper extends GeomBaseMapper<Bhy20ws42Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws43Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws43Mapper.java new file mode 100644 index 0000000..e875cfc --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws43Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws43Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws43 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws43Mapper extends GeomBaseMapper<Bhy20ws43Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws51Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws51Mapper.java new file mode 100644 index 0000000..62370a7 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws51Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws51Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws51 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws51Mapper extends GeomBaseMapper<Bhy20ws51Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws61Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws61Mapper.java new file mode 100644 index 0000000..26eca0e --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws61Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws61Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws61 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws61Mapper extends GeomBaseMapper<Bhy20ws61Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20ws81Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20ws81Mapper.java new file mode 100644 index 0000000..297660d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20ws81Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20ws81Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20ws81 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20ws81Mapper extends GeomBaseMapper<Bhy20ws81Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20wt21Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20wt21Mapper.java new file mode 100644 index 0000000..90c83e8 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20wt21Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20wt21Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20wt21 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20wt21Mapper extends GeomBaseMapper<Bhy20wt21Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Bhy20wz21Mapper.java b/src/main/java/com/lf/server/mapper/bd/Bhy20wz21Mapper.java new file mode 100644 index 0000000..efa8b8e --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Bhy20wz21Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Bhy20wz21Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhy20wz21 + * @author WWW + */ +@Mapper +@Repository +public interface Bhy20wz21Mapper extends GeomBaseMapper<Bhy20wz21Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/BhydrogeologyattachMapper.java b/src/main/java/com/lf/server/mapper/bd/BhydrogeologyattachMapper.java new file mode 100644 index 0000000..11329b7 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/BhydrogeologyattachMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.BhydrogeologyattachEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bhydrogeologyattach + * @author WWW + */ +@Mapper +@Repository +public interface BhydrogeologyattachMapper extends BasicMapper<BhydrogeologyattachEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/BpacfrozensoilMapper.java b/src/main/java/com/lf/server/mapper/bd/BpacfrozensoilMapper.java new file mode 100644 index 0000000..f218ee5 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/BpacfrozensoilMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.BpacfrozensoilEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bpacfrozensoil + * @author WWW + */ +@Mapper +@Repository +public interface BpacfrozensoilMapper extends GeomBaseMapper<BpacfrozensoilEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/BpacfrozensoilattachMapper.java b/src/main/java/com/lf/server/mapper/bd/BpacfrozensoilattachMapper.java new file mode 100644 index 0000000..d55188c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/BpacfrozensoilattachMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.BpacfrozensoilattachEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bpacfrozensoilattach + * @author WWW + */ +@Mapper +@Repository +public interface BpacfrozensoilattachMapper extends BasicMapper<BpacfrozensoilattachEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/BpacgeologichazardMapper.java b/src/main/java/com/lf/server/mapper/bd/BpacgeologichazardMapper.java new file mode 100644 index 0000000..86cad95 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/BpacgeologichazardMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.BpacgeologichazardEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bpacgeologichazard + * @author WWW + */ +@Mapper +@Repository +public interface BpacgeologichazardMapper extends GeomBaseMapper<BpacgeologichazardEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/BpacgeologichazardattachMapper.java b/src/main/java/com/lf/server/mapper/bd/BpacgeologichazardattachMapper.java new file mode 100644 index 0000000..b2f7fd1 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/BpacgeologichazardattachMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.BpacgeologichazardattachEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bpacgeologichazardattach + * @author WWW + */ +@Mapper +@Repository +public interface BpacgeologichazardattachMapper extends BasicMapper<BpacgeologichazardattachEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/BpachydrogeologyMapper.java b/src/main/java/com/lf/server/mapper/bd/BpachydrogeologyMapper.java new file mode 100644 index 0000000..f7a3b41 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/BpachydrogeologyMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.BpachydrogeologyEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bpachydrogeology + * @author WWW + */ +@Mapper +@Repository +public interface BpachydrogeologyMapper extends GeomBaseMapper<BpachydrogeologyEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/BpacmarinemeteorologicalMapper.java b/src/main/java/com/lf/server/mapper/bd/BpacmarinemeteorologicalMapper.java new file mode 100644 index 0000000..1cdf6be --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/BpacmarinemeteorologicalMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.BpacmarinemeteorologicalEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bpacmarinemeteorological + * @author WWW + */ +@Mapper +@Repository +public interface BpacmarinemeteorologicalMapper extends GeomBaseMapper<BpacmarinemeteorologicalEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/BpacmarinemeteorologicalattachMapper.java b/src/main/java/com/lf/server/mapper/bd/BpacmarinemeteorologicalattachMapper.java new file mode 100644 index 0000000..1160026 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/BpacmarinemeteorologicalattachMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.BpacmarinemeteorologicalattachEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bpacmarinemeteorologicalattach + * @author WWW + */ +@Mapper +@Repository +public interface BpacmarinemeteorologicalattachMapper extends BasicMapper<BpacmarinemeteorologicalattachEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/BpacmeteorologicalMapper.java b/src/main/java/com/lf/server/mapper/bd/BpacmeteorologicalMapper.java new file mode 100644 index 0000000..b9d4b2b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/BpacmeteorologicalMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.BpacmeteorologicalEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bpacmeteorological + * @author WWW + */ +@Mapper +@Repository +public interface BpacmeteorologicalMapper extends GeomBaseMapper<BpacmeteorologicalEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/BpacmeteorologicalattachMapper.java b/src/main/java/com/lf/server/mapper/bd/BpacmeteorologicalattachMapper.java new file mode 100644 index 0000000..58f1d3a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/BpacmeteorologicalattachMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.BpacmeteorologicalattachEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bpacmeteorologicalattach + * @author WWW + */ +@Mapper +@Repository +public interface BpacmeteorologicalattachMapper extends BasicMapper<BpacmeteorologicalattachEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/BpacregionalgeologyMapper.java b/src/main/java/com/lf/server/mapper/bd/BpacregionalgeologyMapper.java new file mode 100644 index 0000000..1e16638 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/BpacregionalgeologyMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.BpacregionalgeologyEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bpacregionalgeology + * @author WWW + */ +@Mapper +@Repository +public interface BpacregionalgeologyMapper extends GeomBaseMapper<BpacregionalgeologyEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wannMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wannMapper.java new file mode 100644 index 0000000..9473f9d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wannMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wannEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wann + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wannMapper extends GeomBaseMapper<Brg20wannEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wannaMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wannaMapper.java new file mode 100644 index 0000000..9358aa1 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wannaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wannaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wanna + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wannaMapper extends GeomBaseMapper<Brg20wannaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wboundMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wboundMapper.java new file mode 100644 index 0000000..0156c08 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wboundMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wboundEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wbound + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wboundMapper extends GeomBaseMapper<Brg20wboundEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd01bMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd01bMapper.java new file mode 100644 index 0000000..33b8c48 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd01bMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd01bEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd01b + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd01bMapper extends GeomBaseMapper<Brg20wd01bEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd01dMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd01dMapper.java new file mode 100644 index 0000000..930020c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd01dMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd01dEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd01d + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd01dMapper extends GeomBaseMapper<Brg20wd01dEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd01jMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd01jMapper.java new file mode 100644 index 0000000..874180a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd01jMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd01jEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd01j + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd01jMapper extends GeomBaseMapper<Brg20wd01jEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd02hMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd02hMapper.java new file mode 100644 index 0000000..e9cb8db --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd02hMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd02hEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd02h + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd02hMapper extends GeomBaseMapper<Brg20wd02hEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd03dMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd03dMapper.java new file mode 100644 index 0000000..af0aa06 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd03dMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd03dEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd03d + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd03dMapper extends GeomBaseMapper<Brg20wd03dEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd04nMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd04nMapper.java new file mode 100644 index 0000000..572e938 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd04nMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd04nEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd04n + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd04nMapper extends GeomBaseMapper<Brg20wd04nEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd04pMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd04pMapper.java new file mode 100644 index 0000000..8ce821b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd04pMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd04pEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd04p + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd04pMapper extends GeomBaseMapper<Brg20wd04pEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd05mMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd05mMapper.java new file mode 100644 index 0000000..406a38f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd05mMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd05mEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd05m + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd05mMapper extends GeomBaseMapper<Brg20wd05mEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd06sMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd06sMapper.java new file mode 100644 index 0000000..924df68 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd06sMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd06sEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd06s + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd06sMapper extends GeomBaseMapper<Brg20wd06sEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd07bMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd07bMapper.java new file mode 100644 index 0000000..c13deb1 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd07bMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd07bEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd07b + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd07bMapper extends GeomBaseMapper<Brg20wd07bEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd07hMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd07hMapper.java new file mode 100644 index 0000000..92bcaf4 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd07hMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd07hEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd07h + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd07hMapper extends GeomBaseMapper<Brg20wd07hEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd08dMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd08dMapper.java new file mode 100644 index 0000000..7a8e0a3 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd08dMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd08dEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd08d + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd08dMapper extends GeomBaseMapper<Brg20wd08dEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd09gMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd09gMapper.java new file mode 100644 index 0000000..1b92eb0 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd09gMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd09gEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd09g + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd09gMapper extends GeomBaseMapper<Brg20wd09gEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd11kMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd11kMapper.java new file mode 100644 index 0000000..11927a4 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd11kMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd11kEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd11k + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd11kMapper extends GeomBaseMapper<Brg20wd11kEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd12cMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd12cMapper.java new file mode 100644 index 0000000..0e0e36a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd12cMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd12cEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd12c + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd12cMapper extends GeomBaseMapper<Brg20wd12cEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd13hMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd13hMapper.java new file mode 100644 index 0000000..3d61767 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd13hMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd13hEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd13h + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd13hMapper extends GeomBaseMapper<Brg20wd13hEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd13kMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd13kMapper.java new file mode 100644 index 0000000..68ec7c4 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd13kMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd13kEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd13k + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd13kMapper extends GeomBaseMapper<Brg20wd13kEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd13pMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd13pMapper.java new file mode 100644 index 0000000..b6e29c7 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd13pMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd13pEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd13p + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd13pMapper extends GeomBaseMapper<Brg20wd13pEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd13qMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd13qMapper.java new file mode 100644 index 0000000..2824fdb --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd13qMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd13qEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd13q + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd13qMapper extends GeomBaseMapper<Brg20wd13qEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd13sMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd13sMapper.java new file mode 100644 index 0000000..b843906 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd13sMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd13sEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd13s + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd13sMapper extends GeomBaseMapper<Brg20wd13sEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wd13tMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wd13tMapper.java new file mode 100644 index 0000000..91246ab --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wd13tMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wd13tEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wd13t + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wd13tMapper extends GeomBaseMapper<Brg20wd13tEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wl01jMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wl01jMapper.java new file mode 100644 index 0000000..68c24aa --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wl01jMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wl01jEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wl01j + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wl01jMapper extends GeomBaseMapper<Brg20wl01jEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wl01tMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wl01tMapper.java new file mode 100644 index 0000000..895deaf --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wl01tMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wl01tEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wl01t + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wl01tMapper extends BasicMapper<Brg20wl01tEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wl02hMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wl02hMapper.java new file mode 100644 index 0000000..8c16817 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wl02hMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wl02hEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wl02h + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wl02hMapper extends GeomBaseMapper<Brg20wl02hEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wl02sMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wl02sMapper.java new file mode 100644 index 0000000..a19ff15 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wl02sMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wl02sEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wl02s + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wl02sMapper extends GeomBaseMapper<Brg20wl02sEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wl03jMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wl03jMapper.java new file mode 100644 index 0000000..0c41310 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wl03jMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wl03jEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wl03j + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wl03jMapper extends GeomBaseMapper<Brg20wl03jEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wl04jMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wl04jMapper.java new file mode 100644 index 0000000..296af69 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wl04jMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wl04jEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wl04j + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wl04jMapper extends GeomBaseMapper<Brg20wl04jEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wl05jMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wl05jMapper.java new file mode 100644 index 0000000..300be08 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wl05jMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wl05jEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wl05j + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wl05jMapper extends GeomBaseMapper<Brg20wl05jEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wl05xMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wl05xMapper.java new file mode 100644 index 0000000..7308ca6 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wl05xMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wl05xEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wl05x + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wl05xMapper extends GeomBaseMapper<Brg20wl05xEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wl06dMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wl06dMapper.java new file mode 100644 index 0000000..00ca056 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wl06dMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wl06dEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wl06d + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wl06dMapper extends GeomBaseMapper<Brg20wl06dEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wl06gMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wl06gMapper.java new file mode 100644 index 0000000..471ac62 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wl06gMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wl06gEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wl06g + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wl06gMapper extends GeomBaseMapper<Brg20wl06gEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wwlMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wwlMapper.java new file mode 100644 index 0000000..3ad5d34 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wwlMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wwlEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wwl + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wwlMapper extends GeomBaseMapper<Brg20wwlEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wwpMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wwpMapper.java new file mode 100644 index 0000000..d44f596 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wwpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wwpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wwp + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wwpMapper extends GeomBaseMapper<Brg20wwpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Brg20wwtMapper.java b/src/main/java/com/lf/server/mapper/bd/Brg20wwtMapper.java new file mode 100644 index 0000000..45c1c52 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Brg20wwtMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Brg20wwtEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Brg20wwt + * @author WWW + */ +@Mapper +@Repository +public interface Brg20wwtMapper extends GeomBaseMapper<Brg20wwtEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100waanpMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100waanpMapper.java new file mode 100644 index 0000000..794e9b2 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100waanpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100waanpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100waanp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100waanpMapper extends GeomBaseMapper<Dlg100waanpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wagnpMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wagnpMapper.java new file mode 100644 index 0000000..8ff5da3 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wagnpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wagnpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wagnp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wagnpMapper extends GeomBaseMapper<Dlg100wagnpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wbouaMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wbouaMapper.java new file mode 100644 index 0000000..d054d48 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wbouaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wbouaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wboua + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wbouaMapper extends GeomBaseMapper<Dlg100wbouaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wboulMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wboulMapper.java new file mode 100644 index 0000000..338ce79 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wboulMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wboulEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wboul + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wboulMapper extends GeomBaseMapper<Dlg100wboulEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wboupMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wboupMapper.java new file mode 100644 index 0000000..74907a0 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wboupMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wboupEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wboup + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wboupMapper extends GeomBaseMapper<Dlg100wboupEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wbrgaMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wbrgaMapper.java new file mode 100644 index 0000000..eb018af --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wbrgaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wbrgaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wbrga + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wbrgaMapper extends GeomBaseMapper<Dlg100wbrgaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wbrglMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wbrglMapper.java new file mode 100644 index 0000000..67c1845 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wbrglMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wbrglEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wbrgl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wbrglMapper extends GeomBaseMapper<Dlg100wbrglEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wbrgpMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wbrgpMapper.java new file mode 100644 index 0000000..f8eb0e7 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wbrgpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wbrgpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wbrgp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wbrgpMapper extends GeomBaseMapper<Dlg100wbrgpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wcptlMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wcptlMapper.java new file mode 100644 index 0000000..fb19eb2 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wcptlMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wcptlEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wcptl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wcptlMapper extends GeomBaseMapper<Dlg100wcptlEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wcptpMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wcptpMapper.java new file mode 100644 index 0000000..9d0232c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wcptpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wcptpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wcptp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wcptpMapper extends GeomBaseMapper<Dlg100wcptpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100whfcaMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100whfcaMapper.java new file mode 100644 index 0000000..a1a0bf0 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100whfcaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100whfcaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100whfca + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100whfcaMapper extends GeomBaseMapper<Dlg100whfcaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100whfclMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100whfclMapper.java new file mode 100644 index 0000000..6e94313 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100whfclMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100whfclEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100whfcl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100whfclMapper extends GeomBaseMapper<Dlg100whfclEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100whfcpMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100whfcpMapper.java new file mode 100644 index 0000000..1d3094c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100whfcpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100whfcpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100whfcp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100whfcpMapper extends GeomBaseMapper<Dlg100whfcpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100whydaMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100whydaMapper.java new file mode 100644 index 0000000..a9457bc --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100whydaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100whydaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100whyda + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100whydaMapper extends GeomBaseMapper<Dlg100whydaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100whydlMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100whydlMapper.java new file mode 100644 index 0000000..fa3a4ae --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100whydlMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100whydlEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100whydl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100whydlMapper extends GeomBaseMapper<Dlg100whydlEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100whydpMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100whydpMapper.java new file mode 100644 index 0000000..0fe161b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100whydpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100whydpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100whydp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100whydpMapper extends GeomBaseMapper<Dlg100whydpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wlfclMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wlfclMapper.java new file mode 100644 index 0000000..adad2e5 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wlfclMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wlfclEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wlfcl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wlfclMapper extends GeomBaseMapper<Dlg100wlfclEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wlfcpMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wlfcpMapper.java new file mode 100644 index 0000000..e9960c8 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wlfcpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wlfcpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wlfcp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wlfcpMapper extends GeomBaseMapper<Dlg100wlfcpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wlrdlMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wlrdlMapper.java new file mode 100644 index 0000000..7010b72 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wlrdlMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wlrdlEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wlrdl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wlrdlMapper extends GeomBaseMapper<Dlg100wlrdlEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wlrrlMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wlrrlMapper.java new file mode 100644 index 0000000..76461bc --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wlrrlMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wlrrlEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wlrrl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wlrrlMapper extends GeomBaseMapper<Dlg100wlrrlEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wpiplMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wpiplMapper.java new file mode 100644 index 0000000..556df7c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wpiplMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wpiplEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wpipl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wpiplMapper extends GeomBaseMapper<Dlg100wpiplEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wresaMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wresaMapper.java new file mode 100644 index 0000000..1db8e94 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wresaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wresaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wresa + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wresaMapper extends GeomBaseMapper<Dlg100wresaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wrespMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wrespMapper.java new file mode 100644 index 0000000..1ac1014 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wrespMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wrespEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wresp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wrespMapper extends GeomBaseMapper<Dlg100wrespEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wrfcaMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wrfcaMapper.java new file mode 100644 index 0000000..0b6886f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wrfcaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wrfcaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wrfca + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wrfcaMapper extends GeomBaseMapper<Dlg100wrfcaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wrfclMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wrfclMapper.java new file mode 100644 index 0000000..f3e6150 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wrfclMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wrfclEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wrfcl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wrfclMapper extends GeomBaseMapper<Dlg100wrfclEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wrfcpMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wrfcpMapper.java new file mode 100644 index 0000000..30a335e --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wrfcpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wrfcpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wrfcp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wrfcpMapper extends GeomBaseMapper<Dlg100wrfcpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wteraMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wteraMapper.java new file mode 100644 index 0000000..fb6e2d2 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wteraMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wteraEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wtera + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wteraMapper extends GeomBaseMapper<Dlg100wteraEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wterlMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wterlMapper.java new file mode 100644 index 0000000..e436a52 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wterlMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wterlEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wterl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wterlMapper extends GeomBaseMapper<Dlg100wterlEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wterpMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wterpMapper.java new file mode 100644 index 0000000..3e899ff --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wterpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wterpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wterp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wterpMapper extends GeomBaseMapper<Dlg100wterpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wvegaMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wvegaMapper.java new file mode 100644 index 0000000..5f5b3a9 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wvegaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wvegaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wvega + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wvegaMapper extends GeomBaseMapper<Dlg100wvegaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg100wvegpMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg100wvegpMapper.java new file mode 100644 index 0000000..7a16896 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg100wvegpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg100wvegpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg100wvegp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg100wvegpMapper extends GeomBaseMapper<Dlg100wvegpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25waanpMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25waanpMapper.java new file mode 100644 index 0000000..61143b2 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25waanpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25waanpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25waanp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25waanpMapper extends GeomBaseMapper<Dlg25waanpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wagnpMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wagnpMapper.java new file mode 100644 index 0000000..f8d8f10 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wagnpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wagnpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wagnp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wagnpMapper extends GeomBaseMapper<Dlg25wagnpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wbouacMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wbouacMapper.java new file mode 100644 index 0000000..46aabf4 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wbouacMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wbouacEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wbouac + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wbouacMapper extends GeomBaseMapper<Dlg25wbouacEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wbouadMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wbouadMapper.java new file mode 100644 index 0000000..bfdce4c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wbouadMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wbouadEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wbouad + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wbouadMapper extends GeomBaseMapper<Dlg25wbouadEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wbouapMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wbouapMapper.java new file mode 100644 index 0000000..f3bab86 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wbouapMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wbouapEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wbouap + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wbouapMapper extends GeomBaseMapper<Dlg25wbouapEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wboulMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wboulMapper.java new file mode 100644 index 0000000..3433c08 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wboulMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wboulEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wboul + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wboulMapper extends GeomBaseMapper<Dlg25wboulEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wboupMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wboupMapper.java new file mode 100644 index 0000000..6fc6b98 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wboupMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wboupEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wboup + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wboupMapper extends GeomBaseMapper<Dlg25wboupEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wbrgaMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wbrgaMapper.java new file mode 100644 index 0000000..17236ea --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wbrgaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wbrgaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wbrga + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wbrgaMapper extends GeomBaseMapper<Dlg25wbrgaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wbrglMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wbrglMapper.java new file mode 100644 index 0000000..4447404 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wbrglMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wbrglEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wbrgl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wbrglMapper extends GeomBaseMapper<Dlg25wbrglEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wbrgpMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wbrgpMapper.java new file mode 100644 index 0000000..b51afe5 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wbrgpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wbrgpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wbrgp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wbrgpMapper extends GeomBaseMapper<Dlg25wbrgpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25whfcaMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25whfcaMapper.java new file mode 100644 index 0000000..d212b2f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25whfcaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25whfcaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25whfca + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25whfcaMapper extends GeomBaseMapper<Dlg25whfcaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25whfclMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25whfclMapper.java new file mode 100644 index 0000000..91bfdc6 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25whfclMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25whfclEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25whfcl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25whfclMapper extends GeomBaseMapper<Dlg25whfclEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25whfcpMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25whfcpMapper.java new file mode 100644 index 0000000..4f47a19 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25whfcpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25whfcpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25whfcp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25whfcpMapper extends GeomBaseMapper<Dlg25whfcpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25whydaMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25whydaMapper.java new file mode 100644 index 0000000..5930d95 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25whydaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25whydaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25whyda + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25whydaMapper extends GeomBaseMapper<Dlg25whydaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25whydlMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25whydlMapper.java new file mode 100644 index 0000000..c13eeaf --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25whydlMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25whydlEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25whydl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25whydlMapper extends GeomBaseMapper<Dlg25whydlEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25whydpMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25whydpMapper.java new file mode 100644 index 0000000..d459408 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25whydpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25whydpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25whydp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25whydpMapper extends GeomBaseMapper<Dlg25whydpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wlfclMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wlfclMapper.java new file mode 100644 index 0000000..36684e7 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wlfclMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wlfclEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wlfcl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wlfclMapper extends GeomBaseMapper<Dlg25wlfclEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wlfcpMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wlfcpMapper.java new file mode 100644 index 0000000..fc42f23 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wlfcpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wlfcpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wlfcp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wlfcpMapper extends GeomBaseMapper<Dlg25wlfcpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wlrdlMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wlrdlMapper.java new file mode 100644 index 0000000..47880e9 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wlrdlMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wlrdlEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wlrdl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wlrdlMapper extends GeomBaseMapper<Dlg25wlrdlEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wlrrlMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wlrrlMapper.java new file mode 100644 index 0000000..bd549ba --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wlrrlMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wlrrlEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wlrrl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wlrrlMapper extends GeomBaseMapper<Dlg25wlrrlEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wresaMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wresaMapper.java new file mode 100644 index 0000000..e1dad69 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wresaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wresaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wresa + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wresaMapper extends GeomBaseMapper<Dlg25wresaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wrespMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wrespMapper.java new file mode 100644 index 0000000..ccbb4c6 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wrespMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wrespEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wresp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wrespMapper extends GeomBaseMapper<Dlg25wrespEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wrfcaMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wrfcaMapper.java new file mode 100644 index 0000000..db35d3a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wrfcaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wrfcaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wrfca + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wrfcaMapper extends GeomBaseMapper<Dlg25wrfcaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wrfclMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wrfclMapper.java new file mode 100644 index 0000000..386c20d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wrfclMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wrfclEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wrfcl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wrfclMapper extends GeomBaseMapper<Dlg25wrfclEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wrfcpMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wrfcpMapper.java new file mode 100644 index 0000000..1594aca --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wrfcpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wrfcpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wrfcp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wrfcpMapper extends GeomBaseMapper<Dlg25wrfcpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wteraMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wteraMapper.java new file mode 100644 index 0000000..d772145 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wteraMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wteraEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wtera + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wteraMapper extends GeomBaseMapper<Dlg25wteraEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wterlMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wterlMapper.java new file mode 100644 index 0000000..8e601cf --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wterlMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wterlEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wterl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wterlMapper extends GeomBaseMapper<Dlg25wterlEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wvegaMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wvegaMapper.java new file mode 100644 index 0000000..ddde59e --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wvegaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wvegaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wvega + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wvegaMapper extends GeomBaseMapper<Dlg25wvegaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/Dlg25wvegpMapper.java b/src/main/java/com/lf/server/mapper/bd/Dlg25wvegpMapper.java new file mode 100644 index 0000000..33f6efb --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/Dlg25wvegpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.Dlg25wvegpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg25wvegp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg25wvegpMapper extends GeomBaseMapper<Dlg25wvegpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bd/DlgagnpMapper.java b/src/main/java/com/lf/server/mapper/bd/DlgagnpMapper.java new file mode 100644 index 0000000..b207895 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bd/DlgagnpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bd; + +import com.lf.server.entity.bd.DlgagnpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgagnp + * @author WWW + */ +@Mapper +@Repository +public interface DlgagnpMapper extends GeomBaseMapper<DlgagnpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/BsprojectMapper.java b/src/main/java/com/lf/server/mapper/bs/BsprojectMapper.java new file mode 100644 index 0000000..4218e27 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/BsprojectMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.BsprojectEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Bsproject + * @author WWW + */ +@Mapper +@Repository +public interface BsprojectMapper extends GeomBaseMapper<BsprojectEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1waanpMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1waanpMapper.java new file mode 100644 index 0000000..382f708 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1waanpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1waanpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1waanp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1waanpMapper extends GeomBaseMapper<Dlg1waanpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wagnpMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wagnpMapper.java new file mode 100644 index 0000000..3d31e25 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wagnpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wagnpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wagnp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wagnpMapper extends GeomBaseMapper<Dlg1wagnpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wbouaMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wbouaMapper.java new file mode 100644 index 0000000..0482e2f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wbouaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wbouaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wboua + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wbouaMapper extends GeomBaseMapper<Dlg1wbouaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wboulMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wboulMapper.java new file mode 100644 index 0000000..ab973d6 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wboulMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wboulEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wboul + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wboulMapper extends GeomBaseMapper<Dlg1wboulEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wboupMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wboupMapper.java new file mode 100644 index 0000000..4d93444 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wboupMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wboupEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wboup + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wboupMapper extends GeomBaseMapper<Dlg1wboupEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wcptlMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wcptlMapper.java new file mode 100644 index 0000000..b23b6ed --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wcptlMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wcptlEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wcptl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wcptlMapper extends GeomBaseMapper<Dlg1wcptlEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wcptpMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wcptpMapper.java new file mode 100644 index 0000000..59d9a1a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wcptpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wcptpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wcptp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wcptpMapper extends GeomBaseMapper<Dlg1wcptpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1whfcaMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1whfcaMapper.java new file mode 100644 index 0000000..188f87b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1whfcaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1whfcaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1whfca + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1whfcaMapper extends GeomBaseMapper<Dlg1whfcaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1whfclMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1whfclMapper.java new file mode 100644 index 0000000..ae4b13f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1whfclMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1whfclEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1whfcl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1whfclMapper extends GeomBaseMapper<Dlg1whfclEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1whfcpMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1whfcpMapper.java new file mode 100644 index 0000000..d8eda89 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1whfcpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1whfcpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1whfcp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1whfcpMapper extends GeomBaseMapper<Dlg1whfcpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1whydaMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1whydaMapper.java new file mode 100644 index 0000000..70a83a2 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1whydaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1whydaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1whyda + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1whydaMapper extends GeomBaseMapper<Dlg1whydaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1whydlMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1whydlMapper.java new file mode 100644 index 0000000..dfae1a4 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1whydlMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1whydlEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1whydl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1whydlMapper extends GeomBaseMapper<Dlg1whydlEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1whydpMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1whydpMapper.java new file mode 100644 index 0000000..feedd28 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1whydpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1whydpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1whydp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1whydpMapper extends GeomBaseMapper<Dlg1whydpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wlfcaMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wlfcaMapper.java new file mode 100644 index 0000000..24e765f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wlfcaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wlfcaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wlfca + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wlfcaMapper extends GeomBaseMapper<Dlg1wlfcaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wlfclMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wlfclMapper.java new file mode 100644 index 0000000..52d3b4a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wlfclMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wlfclEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wlfcl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wlfclMapper extends GeomBaseMapper<Dlg1wlfclEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wlfcpMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wlfcpMapper.java new file mode 100644 index 0000000..9a96b9f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wlfcpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wlfcpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wlfcp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wlfcpMapper extends GeomBaseMapper<Dlg1wlfcpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wlrdlMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wlrdlMapper.java new file mode 100644 index 0000000..a2fd84d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wlrdlMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wlrdlEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wlrdl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wlrdlMapper extends GeomBaseMapper<Dlg1wlrdlEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wlrrlMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wlrrlMapper.java new file mode 100644 index 0000000..d87bfc3 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wlrrlMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wlrrlEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wlrrl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wlrrlMapper extends GeomBaseMapper<Dlg1wlrrlEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wpiplMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wpiplMapper.java new file mode 100644 index 0000000..323ff7a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wpiplMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wpiplEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wpipl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wpiplMapper extends GeomBaseMapper<Dlg1wpiplEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wpippMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wpippMapper.java new file mode 100644 index 0000000..dca7f28 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wpippMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wpippEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wpipp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wpippMapper extends GeomBaseMapper<Dlg1wpippEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wresaMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wresaMapper.java new file mode 100644 index 0000000..c7ef355 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wresaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wresaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wresa + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wresaMapper extends GeomBaseMapper<Dlg1wresaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wreslMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wreslMapper.java new file mode 100644 index 0000000..1a5221e --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wreslMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wreslEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wresl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wreslMapper extends GeomBaseMapper<Dlg1wreslEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wrespMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wrespMapper.java new file mode 100644 index 0000000..d6f0068 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wrespMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wrespEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wresp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wrespMapper extends GeomBaseMapper<Dlg1wrespEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wrfcaMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wrfcaMapper.java new file mode 100644 index 0000000..a054b29 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wrfcaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wrfcaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wrfca + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wrfcaMapper extends GeomBaseMapper<Dlg1wrfcaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wrfclMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wrfclMapper.java new file mode 100644 index 0000000..b1f633b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wrfclMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wrfclEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wrfcl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wrfclMapper extends GeomBaseMapper<Dlg1wrfclEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wrfcpMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wrfcpMapper.java new file mode 100644 index 0000000..cc6ea30 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wrfcpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wrfcpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wrfcp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wrfcpMapper extends GeomBaseMapper<Dlg1wrfcpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wteraMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wteraMapper.java new file mode 100644 index 0000000..6807553 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wteraMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wteraEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wtera + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wteraMapper extends GeomBaseMapper<Dlg1wteraEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wterlMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wterlMapper.java new file mode 100644 index 0000000..c28d0b1 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wterlMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wterlEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wterl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wterlMapper extends GeomBaseMapper<Dlg1wterlEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wterpMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wterpMapper.java new file mode 100644 index 0000000..0a3cf07 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wterpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wterpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wterp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wterpMapper extends GeomBaseMapper<Dlg1wterpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wvegaMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wvegaMapper.java new file mode 100644 index 0000000..a6fddb4 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wvegaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wvegaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wvega + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wvegaMapper extends GeomBaseMapper<Dlg1wvegaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wveglMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wveglMapper.java new file mode 100644 index 0000000..bfb79df --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wveglMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wveglEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wvegl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wveglMapper extends GeomBaseMapper<Dlg1wveglEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg1wvegpMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg1wvegpMapper.java new file mode 100644 index 0000000..1ee32fd --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg1wvegpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg1wvegpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg1wvegp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg1wvegpMapper extends GeomBaseMapper<Dlg1wvegpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5waanpMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5waanpMapper.java new file mode 100644 index 0000000..d80dd75 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5waanpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5waanpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5waanp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5waanpMapper extends GeomBaseMapper<Dlg5waanpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wagnpMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wagnpMapper.java new file mode 100644 index 0000000..12ce48f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wagnpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wagnpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wagnp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wagnpMapper extends GeomBaseMapper<Dlg5wagnpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wbouaMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wbouaMapper.java new file mode 100644 index 0000000..ce6674d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wbouaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wbouaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wboua + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wbouaMapper extends GeomBaseMapper<Dlg5wbouaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wboulMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wboulMapper.java new file mode 100644 index 0000000..1054c8f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wboulMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wboulEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wboul + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wboulMapper extends GeomBaseMapper<Dlg5wboulEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wboupMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wboupMapper.java new file mode 100644 index 0000000..a5d5792 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wboupMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wboupEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wboup + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wboupMapper extends GeomBaseMapper<Dlg5wboupEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wcptlMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wcptlMapper.java new file mode 100644 index 0000000..32dbe97 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wcptlMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wcptlEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wcptl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wcptlMapper extends GeomBaseMapper<Dlg5wcptlEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wcptpMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wcptpMapper.java new file mode 100644 index 0000000..07c3cae --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wcptpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wcptpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wcptp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wcptpMapper extends GeomBaseMapper<Dlg5wcptpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5whfcaMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5whfcaMapper.java new file mode 100644 index 0000000..5ea5022 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5whfcaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5whfcaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5whfca + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5whfcaMapper extends GeomBaseMapper<Dlg5whfcaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5whfclMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5whfclMapper.java new file mode 100644 index 0000000..4fe8a2a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5whfclMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5whfclEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5whfcl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5whfclMapper extends GeomBaseMapper<Dlg5whfclEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5whfcpMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5whfcpMapper.java new file mode 100644 index 0000000..5ef6b36 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5whfcpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5whfcpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5whfcp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5whfcpMapper extends GeomBaseMapper<Dlg5whfcpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5whydaMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5whydaMapper.java new file mode 100644 index 0000000..5671e6e --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5whydaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5whydaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5whyda + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5whydaMapper extends GeomBaseMapper<Dlg5whydaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5whydlMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5whydlMapper.java new file mode 100644 index 0000000..f9a2bc9 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5whydlMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5whydlEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5whydl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5whydlMapper extends GeomBaseMapper<Dlg5whydlEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5whydpMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5whydpMapper.java new file mode 100644 index 0000000..646a2d4 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5whydpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5whydpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5whydp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5whydpMapper extends GeomBaseMapper<Dlg5whydpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wlfcaMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wlfcaMapper.java new file mode 100644 index 0000000..9749e1b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wlfcaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wlfcaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wlfca + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wlfcaMapper extends GeomBaseMapper<Dlg5wlfcaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wlfclMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wlfclMapper.java new file mode 100644 index 0000000..87081a8 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wlfclMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wlfclEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wlfcl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wlfclMapper extends GeomBaseMapper<Dlg5wlfclEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wlfcpMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wlfcpMapper.java new file mode 100644 index 0000000..53bc807 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wlfcpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wlfcpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wlfcp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wlfcpMapper extends GeomBaseMapper<Dlg5wlfcpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wlrdlMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wlrdlMapper.java new file mode 100644 index 0000000..5831262 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wlrdlMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wlrdlEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wlrdl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wlrdlMapper extends GeomBaseMapper<Dlg5wlrdlEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wlrrlMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wlrrlMapper.java new file mode 100644 index 0000000..fba42d7 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wlrrlMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wlrrlEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wlrrl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wlrrlMapper extends GeomBaseMapper<Dlg5wlrrlEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wpiplMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wpiplMapper.java new file mode 100644 index 0000000..7d2ff2f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wpiplMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wpiplEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wpipl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wpiplMapper extends GeomBaseMapper<Dlg5wpiplEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wpippMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wpippMapper.java new file mode 100644 index 0000000..6e4abed --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wpippMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wpippEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wpipp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wpippMapper extends GeomBaseMapper<Dlg5wpippEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wresaMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wresaMapper.java new file mode 100644 index 0000000..ed8e74f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wresaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wresaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wresa + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wresaMapper extends GeomBaseMapper<Dlg5wresaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wreslMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wreslMapper.java new file mode 100644 index 0000000..16094d6 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wreslMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wreslEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wresl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wreslMapper extends GeomBaseMapper<Dlg5wreslEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wrespMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wrespMapper.java new file mode 100644 index 0000000..4dd71a7 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wrespMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wrespEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wresp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wrespMapper extends GeomBaseMapper<Dlg5wrespEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wrfcaMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wrfcaMapper.java new file mode 100644 index 0000000..8385b74 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wrfcaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wrfcaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wrfca + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wrfcaMapper extends GeomBaseMapper<Dlg5wrfcaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wrfclMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wrfclMapper.java new file mode 100644 index 0000000..78c73bc --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wrfclMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wrfclEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wrfcl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wrfclMapper extends GeomBaseMapper<Dlg5wrfclEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wrfcpMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wrfcpMapper.java new file mode 100644 index 0000000..2b82f08 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wrfcpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wrfcpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wrfcp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wrfcpMapper extends GeomBaseMapper<Dlg5wrfcpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wteraMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wteraMapper.java new file mode 100644 index 0000000..ca158b1 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wteraMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wteraEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wtera + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wteraMapper extends GeomBaseMapper<Dlg5wteraEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wterlMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wterlMapper.java new file mode 100644 index 0000000..9dadbcc --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wterlMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wterlEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wterl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wterlMapper extends GeomBaseMapper<Dlg5wterlEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wterpMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wterpMapper.java new file mode 100644 index 0000000..f25bbfd --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wterpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wterpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wterp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wterpMapper extends GeomBaseMapper<Dlg5wterpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wvegaMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wvegaMapper.java new file mode 100644 index 0000000..d64c9d3 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wvegaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wvegaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wvega + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wvegaMapper extends GeomBaseMapper<Dlg5wvegaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wveglMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wveglMapper.java new file mode 100644 index 0000000..9a0e649 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wveglMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wveglEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wvegl + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wveglMapper extends GeomBaseMapper<Dlg5wveglEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlg5wvegpMapper.java b/src/main/java/com/lf/server/mapper/bs/Dlg5wvegpMapper.java new file mode 100644 index 0000000..b22f1c6 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlg5wvegpMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlg5wvegpEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlg5wvegp + * @author WWW + */ +@Mapper +@Repository +public interface Dlg5wvegpMapper extends GeomBaseMapper<Dlg5wvegpEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgbouan1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgbouan1000Mapper.java new file mode 100644 index 0000000..30b7381 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgbouan1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgbouan1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgbouan1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgbouan1000Mapper extends GeomBaseMapper<Dlgbouan1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgbouan2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgbouan2000Mapper.java new file mode 100644 index 0000000..c34eb01 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgbouan2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgbouan2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgbouan2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgbouan2000Mapper extends GeomBaseMapper<Dlgbouan2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgbouan5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgbouan5000Mapper.java new file mode 100644 index 0000000..bf27a66 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgbouan5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgbouan5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgbouan5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgbouan5000Mapper extends GeomBaseMapper<Dlgbouan5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgbouan500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgbouan500Mapper.java new file mode 100644 index 0000000..3e2f54d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgbouan500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgbouan500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgbouan500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgbouan500Mapper extends GeomBaseMapper<Dlgbouan500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgboulk1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgboulk1000Mapper.java new file mode 100644 index 0000000..89e7021 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgboulk1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgboulk1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgboulk1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgboulk1000Mapper extends GeomBaseMapper<Dlgboulk1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgboulk2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgboulk2000Mapper.java new file mode 100644 index 0000000..a51e016 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgboulk2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgboulk2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgboulk2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgboulk2000Mapper extends GeomBaseMapper<Dlgboulk2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgboulk5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgboulk5000Mapper.java new file mode 100644 index 0000000..e1945bc --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgboulk5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgboulk5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgboulk5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgboulk5000Mapper extends GeomBaseMapper<Dlgboulk5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgboulk500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgboulk500Mapper.java new file mode 100644 index 0000000..1e75e2a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgboulk500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgboulk500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgboulk500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgboulk500Mapper extends GeomBaseMapper<Dlgboulk500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgbount1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgbount1000Mapper.java new file mode 100644 index 0000000..83851f2 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgbount1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgbount1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgbount1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgbount1000Mapper extends GeomBaseMapper<Dlgbount1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgbount2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgbount2000Mapper.java new file mode 100644 index 0000000..cc12171 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgbount2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgbount2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgbount2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgbount2000Mapper extends GeomBaseMapper<Dlgbount2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgbount5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgbount5000Mapper.java new file mode 100644 index 0000000..5e146a3 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgbount5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgbount5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgbount5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgbount5000Mapper extends GeomBaseMapper<Dlgbount5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgbount500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgbount500Mapper.java new file mode 100644 index 0000000..42d7941 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgbount500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgbount500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgbount500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgbount500Mapper extends GeomBaseMapper<Dlgbount500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgboupt1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgboupt1000Mapper.java new file mode 100644 index 0000000..d7fd947 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgboupt1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgboupt1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgboupt1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgboupt1000Mapper extends GeomBaseMapper<Dlgboupt1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgboupt2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgboupt2000Mapper.java new file mode 100644 index 0000000..97e9132 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgboupt2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgboupt2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgboupt2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgboupt2000Mapper extends GeomBaseMapper<Dlgboupt2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgboupt5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgboupt5000Mapper.java new file mode 100644 index 0000000..f0a0c68 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgboupt5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgboupt5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgboupt5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgboupt5000Mapper extends GeomBaseMapper<Dlgboupt5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgboupt500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgboupt500Mapper.java new file mode 100644 index 0000000..b10aaa8 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgboupt500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgboupt500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgboupt500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgboupt500Mapper extends GeomBaseMapper<Dlgboupt500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgctlal1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgctlal1000Mapper.java new file mode 100644 index 0000000..53b0d5c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgctlal1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgctlal1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgctlal1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgctlal1000Mapper extends GeomBaseMapper<Dlgctlal1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgctlal2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgctlal2000Mapper.java new file mode 100644 index 0000000..865768d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgctlal2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgctlal2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgctlal2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgctlal2000Mapper extends GeomBaseMapper<Dlgctlal2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgctlal5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgctlal5000Mapper.java new file mode 100644 index 0000000..b61c383 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgctlal5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgctlal5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgctlal5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgctlal5000Mapper extends GeomBaseMapper<Dlgctlal5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgctlal500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgctlal500Mapper.java new file mode 100644 index 0000000..e672ee6 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgctlal500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgctlal500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgctlal500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgctlal500Mapper extends GeomBaseMapper<Dlgctlal500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgctlan1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgctlan1000Mapper.java new file mode 100644 index 0000000..8c9acdb --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgctlan1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgctlan1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgctlan1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgctlan1000Mapper extends GeomBaseMapper<Dlgctlan1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgctlan2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgctlan2000Mapper.java new file mode 100644 index 0000000..6ba5fce --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgctlan2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgctlan2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgctlan2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgctlan2000Mapper extends GeomBaseMapper<Dlgctlan2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgctlan5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgctlan5000Mapper.java new file mode 100644 index 0000000..637eb35 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgctlan5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgctlan5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgctlan5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgctlan5000Mapper extends GeomBaseMapper<Dlgctlan5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgctlan500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgctlan500Mapper.java new file mode 100644 index 0000000..97a4104 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgctlan500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgctlan500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgctlan500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgctlan500Mapper extends GeomBaseMapper<Dlgctlan500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgctllk1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgctllk1000Mapper.java new file mode 100644 index 0000000..4ee1e35 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgctllk1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgctllk1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgctllk1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgctllk1000Mapper extends GeomBaseMapper<Dlgctllk1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgctllk2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgctllk2000Mapper.java new file mode 100644 index 0000000..d8d9cf5 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgctllk2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgctllk2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgctllk2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgctllk2000Mapper extends GeomBaseMapper<Dlgctllk2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgctllk5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgctllk5000Mapper.java new file mode 100644 index 0000000..c35a053 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgctllk5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgctllk5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgctllk5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgctllk5000Mapper extends GeomBaseMapper<Dlgctllk5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgctllk500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgctllk500Mapper.java new file mode 100644 index 0000000..60061eb --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgctllk500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgctllk500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgctllk500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgctllk500Mapper extends GeomBaseMapper<Dlgctllk500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgctlpt1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgctlpt1000Mapper.java new file mode 100644 index 0000000..4320930 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgctlpt1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgctlpt1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgctlpt1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgctlpt1000Mapper extends GeomBaseMapper<Dlgctlpt1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgctlpt2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgctlpt2000Mapper.java new file mode 100644 index 0000000..2a3a0c3 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgctlpt2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgctlpt2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgctlpt2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgctlpt2000Mapper extends GeomBaseMapper<Dlgctlpt2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgctlpt5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgctlpt5000Mapper.java new file mode 100644 index 0000000..1fca7c6 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgctlpt5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgctlpt5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgctlpt5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgctlpt5000Mapper extends GeomBaseMapper<Dlgctlpt5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgctlpt500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgctlpt500Mapper.java new file mode 100644 index 0000000..9ce295a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgctlpt500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgctlpt500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgctlpt500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgctlpt500Mapper extends GeomBaseMapper<Dlgctlpt500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgdpllk1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgdpllk1000Mapper.java new file mode 100644 index 0000000..2615b45 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgdpllk1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgdpllk1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgdpllk1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgdpllk1000Mapper extends GeomBaseMapper<Dlgdpllk1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgdpllk2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgdpllk2000Mapper.java new file mode 100644 index 0000000..6ad84ba --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgdpllk2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgdpllk2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgdpllk2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgdpllk2000Mapper extends GeomBaseMapper<Dlgdpllk2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgdpllk5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgdpllk5000Mapper.java new file mode 100644 index 0000000..3bd416e --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgdpllk5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgdpllk5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgdpllk5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgdpllk5000Mapper extends GeomBaseMapper<Dlgdpllk5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgdpllk500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgdpllk500Mapper.java new file mode 100644 index 0000000..85f54c6 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgdpllk500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgdpllk500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgdpllk500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgdpllk500Mapper extends GeomBaseMapper<Dlgdpllk500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgdplpt1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgdplpt1000Mapper.java new file mode 100644 index 0000000..54088a3 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgdplpt1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgdplpt1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgdplpt1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgdplpt1000Mapper extends GeomBaseMapper<Dlgdplpt1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgdplpt2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgdplpt2000Mapper.java new file mode 100644 index 0000000..2b710d5 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgdplpt2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgdplpt2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgdplpt2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgdplpt2000Mapper extends GeomBaseMapper<Dlgdplpt2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgdplpt5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgdplpt5000Mapper.java new file mode 100644 index 0000000..35a2624 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgdplpt5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgdplpt5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgdplpt5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgdplpt5000Mapper extends GeomBaseMapper<Dlgdplpt5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgdplpt500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgdplpt500Mapper.java new file mode 100644 index 0000000..8874825 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgdplpt500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgdplpt500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgdplpt500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgdplpt500Mapper extends GeomBaseMapper<Dlgdplpt500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydal1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydal1000Mapper.java new file mode 100644 index 0000000..83212e9 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydal1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydal1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydal1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydal1000Mapper extends GeomBaseMapper<Dlghydal1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydal2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydal2000Mapper.java new file mode 100644 index 0000000..8727d5d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydal2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydal2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydal2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydal2000Mapper extends GeomBaseMapper<Dlghydal2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydal5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydal5000Mapper.java new file mode 100644 index 0000000..28fd12e --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydal5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydal5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydal5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydal5000Mapper extends GeomBaseMapper<Dlghydal5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydal500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydal500Mapper.java new file mode 100644 index 0000000..3d1ac32 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydal500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydal500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydal500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydal500Mapper extends GeomBaseMapper<Dlghydal500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydan1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydan1000Mapper.java new file mode 100644 index 0000000..fa5c277 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydan1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydan1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydan1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydan1000Mapper extends GeomBaseMapper<Dlghydan1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydan2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydan2000Mapper.java new file mode 100644 index 0000000..b0ff172 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydan2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydan2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydan2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydan2000Mapper extends GeomBaseMapper<Dlghydan2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydan5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydan5000Mapper.java new file mode 100644 index 0000000..e27b6c4 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydan5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydan5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydan5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydan5000Mapper extends GeomBaseMapper<Dlghydan5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydan500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydan500Mapper.java new file mode 100644 index 0000000..946c402 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydan500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydan500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydan500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydan500Mapper extends GeomBaseMapper<Dlghydan500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydap1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydap1000Mapper.java new file mode 100644 index 0000000..0e75505 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydap1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydap1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydap1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydap1000Mapper extends GeomBaseMapper<Dlghydap1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydap2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydap2000Mapper.java new file mode 100644 index 0000000..9c48f9b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydap2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydap2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydap2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydap2000Mapper extends GeomBaseMapper<Dlghydap2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydap5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydap5000Mapper.java new file mode 100644 index 0000000..04ff90a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydap5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydap5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydap5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydap5000Mapper extends GeomBaseMapper<Dlghydap5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydap500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydap500Mapper.java new file mode 100644 index 0000000..39aced3 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydap500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydap500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydap500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydap500Mapper extends GeomBaseMapper<Dlghydap500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydlk1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydlk1000Mapper.java new file mode 100644 index 0000000..b3efd66 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydlk1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydlk1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydlk1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydlk1000Mapper extends GeomBaseMapper<Dlghydlk1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydlk2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydlk2000Mapper.java new file mode 100644 index 0000000..6c54d44 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydlk2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydlk2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydlk2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydlk2000Mapper extends GeomBaseMapper<Dlghydlk2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydlk5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydlk5000Mapper.java new file mode 100644 index 0000000..9a9601f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydlk5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydlk5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydlk5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydlk5000Mapper extends GeomBaseMapper<Dlghydlk5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydlk500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydlk500Mapper.java new file mode 100644 index 0000000..1b63dc9 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydlk500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydlk500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydlk500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydlk500Mapper extends GeomBaseMapper<Dlghydlk500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydnt1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydnt1000Mapper.java new file mode 100644 index 0000000..9aec099 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydnt1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydnt1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydnt1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydnt1000Mapper extends GeomBaseMapper<Dlghydnt1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydnt2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydnt2000Mapper.java new file mode 100644 index 0000000..943c770 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydnt2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydnt2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydnt2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydnt2000Mapper extends GeomBaseMapper<Dlghydnt2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydnt5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydnt5000Mapper.java new file mode 100644 index 0000000..37baf79 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydnt5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydnt5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydnt5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydnt5000Mapper extends GeomBaseMapper<Dlghydnt5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydnt500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydnt500Mapper.java new file mode 100644 index 0000000..0ce9c02 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydnt500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydnt500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydnt500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydnt500Mapper extends GeomBaseMapper<Dlghydnt500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydpt1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydpt1000Mapper.java new file mode 100644 index 0000000..13a6617 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydpt1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydpt1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydpt1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydpt1000Mapper extends GeomBaseMapper<Dlghydpt1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydpt2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydpt2000Mapper.java new file mode 100644 index 0000000..da0e428 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydpt2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydpt2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydpt2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydpt2000Mapper extends GeomBaseMapper<Dlghydpt2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydpt5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydpt5000Mapper.java new file mode 100644 index 0000000..2e167a2 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydpt5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydpt5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydpt5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydpt5000Mapper extends GeomBaseMapper<Dlghydpt5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlghydpt500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlghydpt500Mapper.java new file mode 100644 index 0000000..a125a8f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlghydpt500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlghydpt500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlghydpt500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlghydpt500Mapper extends GeomBaseMapper<Dlghydpt500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgpipal1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgpipal1000Mapper.java new file mode 100644 index 0000000..d3a130d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgpipal1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgpipal1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgpipal1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgpipal1000Mapper extends GeomBaseMapper<Dlgpipal1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgpipal2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgpipal2000Mapper.java new file mode 100644 index 0000000..708790d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgpipal2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgpipal2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgpipal2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgpipal2000Mapper extends GeomBaseMapper<Dlgpipal2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgpipal5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgpipal5000Mapper.java new file mode 100644 index 0000000..8605f1d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgpipal5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgpipal5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgpipal5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgpipal5000Mapper extends GeomBaseMapper<Dlgpipal5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgpipal500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgpipal500Mapper.java new file mode 100644 index 0000000..f9d086f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgpipal500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgpipal500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgpipal500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgpipal500Mapper extends GeomBaseMapper<Dlgpipal500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgpipan1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgpipan1000Mapper.java new file mode 100644 index 0000000..35ab743 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgpipan1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgpipan1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgpipan1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgpipan1000Mapper extends GeomBaseMapper<Dlgpipan1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgpipan2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgpipan2000Mapper.java new file mode 100644 index 0000000..d9021be --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgpipan2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgpipan2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgpipan2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgpipan2000Mapper extends GeomBaseMapper<Dlgpipan2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgpipan5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgpipan5000Mapper.java new file mode 100644 index 0000000..f89dc23 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgpipan5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgpipan5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgpipan5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgpipan5000Mapper extends GeomBaseMapper<Dlgpipan5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgpipan500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgpipan500Mapper.java new file mode 100644 index 0000000..9a758ac --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgpipan500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgpipan500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgpipan500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgpipan500Mapper extends GeomBaseMapper<Dlgpipan500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgpiplk1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgpiplk1000Mapper.java new file mode 100644 index 0000000..d0fb059 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgpiplk1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgpiplk1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgpiplk1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgpiplk1000Mapper extends GeomBaseMapper<Dlgpiplk1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgpiplk2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgpiplk2000Mapper.java new file mode 100644 index 0000000..8dc60e0 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgpiplk2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgpiplk2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgpiplk2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgpiplk2000Mapper extends GeomBaseMapper<Dlgpiplk2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgpiplk5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgpiplk5000Mapper.java new file mode 100644 index 0000000..c81e702 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgpiplk5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgpiplk5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgpiplk5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgpiplk5000Mapper extends GeomBaseMapper<Dlgpiplk5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgpiplk500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgpiplk500Mapper.java new file mode 100644 index 0000000..f6857a9 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgpiplk500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgpiplk500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgpiplk500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgpiplk500Mapper extends GeomBaseMapper<Dlgpiplk500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgpipnt1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgpipnt1000Mapper.java new file mode 100644 index 0000000..2a183e1 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgpipnt1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgpipnt1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgpipnt1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgpipnt1000Mapper extends GeomBaseMapper<Dlgpipnt1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgpipnt2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgpipnt2000Mapper.java new file mode 100644 index 0000000..326baa0 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgpipnt2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgpipnt2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgpipnt2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgpipnt2000Mapper extends GeomBaseMapper<Dlgpipnt2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgpipnt5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgpipnt5000Mapper.java new file mode 100644 index 0000000..26e8aef --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgpipnt5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgpipnt5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgpipnt5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgpipnt5000Mapper extends GeomBaseMapper<Dlgpipnt5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgpipnt500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgpipnt500Mapper.java new file mode 100644 index 0000000..107a142 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgpipnt500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgpipnt500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgpipnt500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgpipnt500Mapper extends GeomBaseMapper<Dlgpipnt500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgpippt1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgpippt1000Mapper.java new file mode 100644 index 0000000..b8003f5 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgpippt1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgpippt1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgpippt1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgpippt1000Mapper extends GeomBaseMapper<Dlgpippt1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgpippt2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgpippt2000Mapper.java new file mode 100644 index 0000000..5155fde --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgpippt2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgpippt2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgpippt2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgpippt2000Mapper extends GeomBaseMapper<Dlgpippt2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgpippt5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgpippt5000Mapper.java new file mode 100644 index 0000000..71cf005 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgpippt5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgpippt5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgpippt5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgpippt5000Mapper extends GeomBaseMapper<Dlgpippt5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgpippt500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgpippt500Mapper.java new file mode 100644 index 0000000..3de651f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgpippt500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgpippt500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgpippt500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgpippt500Mapper extends GeomBaseMapper<Dlgpippt500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgresal1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgresal1000Mapper.java new file mode 100644 index 0000000..de0e2f3 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgresal1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgresal1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgresal1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgresal1000Mapper extends GeomBaseMapper<Dlgresal1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgresal2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgresal2000Mapper.java new file mode 100644 index 0000000..8a2c292 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgresal2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgresal2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgresal2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgresal2000Mapper extends GeomBaseMapper<Dlgresal2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgresal5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgresal5000Mapper.java new file mode 100644 index 0000000..905e893 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgresal5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgresal5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgresal5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgresal5000Mapper extends GeomBaseMapper<Dlgresal5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgresal500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgresal500Mapper.java new file mode 100644 index 0000000..5f1e761 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgresal500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgresal500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgresal500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgresal500Mapper extends GeomBaseMapper<Dlgresal500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgresan1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgresan1000Mapper.java new file mode 100644 index 0000000..d6a22c7 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgresan1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgresan1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgresan1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgresan1000Mapper extends GeomBaseMapper<Dlgresan1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgresan2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgresan2000Mapper.java new file mode 100644 index 0000000..b46c901 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgresan2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgresan2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgresan2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgresan2000Mapper extends GeomBaseMapper<Dlgresan2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgresan5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgresan5000Mapper.java new file mode 100644 index 0000000..c8d5106 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgresan5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgresan5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgresan5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgresan5000Mapper extends GeomBaseMapper<Dlgresan5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgresan500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgresan500Mapper.java new file mode 100644 index 0000000..dc7d9ed --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgresan500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgresan500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgresan500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgresan500Mapper extends GeomBaseMapper<Dlgresan500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgresap1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgresap1000Mapper.java new file mode 100644 index 0000000..0ba7898 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgresap1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgresap1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgresap1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgresap1000Mapper extends GeomBaseMapper<Dlgresap1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgresap2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgresap2000Mapper.java new file mode 100644 index 0000000..3517788 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgresap2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgresap2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgresap2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgresap2000Mapper extends GeomBaseMapper<Dlgresap2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgresap5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgresap5000Mapper.java new file mode 100644 index 0000000..9ed0b6e --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgresap5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgresap5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgresap5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgresap5000Mapper extends GeomBaseMapper<Dlgresap5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgresap500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgresap500Mapper.java new file mode 100644 index 0000000..4230e36 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgresap500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgresap500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgresap500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgresap500Mapper extends GeomBaseMapper<Dlgresap500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgreslk1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgreslk1000Mapper.java new file mode 100644 index 0000000..d8902d8 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgreslk1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgreslk1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgreslk1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgreslk1000Mapper extends GeomBaseMapper<Dlgreslk1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgreslk2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgreslk2000Mapper.java new file mode 100644 index 0000000..7cd724c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgreslk2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgreslk2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgreslk2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgreslk2000Mapper extends GeomBaseMapper<Dlgreslk2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgreslk5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgreslk5000Mapper.java new file mode 100644 index 0000000..53e3a6c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgreslk5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgreslk5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgreslk5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgreslk5000Mapper extends GeomBaseMapper<Dlgreslk5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgreslk500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgreslk500Mapper.java new file mode 100644 index 0000000..48bf680 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgreslk500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgreslk500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgreslk500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgreslk500Mapper extends GeomBaseMapper<Dlgreslk500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgresnt1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgresnt1000Mapper.java new file mode 100644 index 0000000..d0e7a9a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgresnt1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgresnt1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgresnt1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgresnt1000Mapper extends GeomBaseMapper<Dlgresnt1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgresnt2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgresnt2000Mapper.java new file mode 100644 index 0000000..68a9bfc --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgresnt2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgresnt2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgresnt2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgresnt2000Mapper extends GeomBaseMapper<Dlgresnt2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgresnt5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgresnt5000Mapper.java new file mode 100644 index 0000000..08f0694 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgresnt5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgresnt5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgresnt5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgresnt5000Mapper extends GeomBaseMapper<Dlgresnt5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgresnt500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgresnt500Mapper.java new file mode 100644 index 0000000..05c6480 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgresnt500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgresnt500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgresnt500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgresnt500Mapper extends GeomBaseMapper<Dlgresnt500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgrespt1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgrespt1000Mapper.java new file mode 100644 index 0000000..bb0e5f1 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgrespt1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgrespt1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgrespt1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgrespt1000Mapper extends GeomBaseMapper<Dlgrespt1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgrespt2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgrespt2000Mapper.java new file mode 100644 index 0000000..c3ddf0c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgrespt2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgrespt2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgrespt2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgrespt2000Mapper extends GeomBaseMapper<Dlgrespt2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgrespt5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgrespt5000Mapper.java new file mode 100644 index 0000000..3589f1e --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgrespt5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgrespt5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgrespt5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgrespt5000Mapper extends GeomBaseMapper<Dlgrespt5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgrespt500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgrespt500Mapper.java new file mode 100644 index 0000000..dcd6861 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgrespt500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgrespt500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgrespt500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgrespt500Mapper extends GeomBaseMapper<Dlgrespt500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgteral1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgteral1000Mapper.java new file mode 100644 index 0000000..733780a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgteral1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgteral1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgteral1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgteral1000Mapper extends GeomBaseMapper<Dlgteral1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgteral2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgteral2000Mapper.java new file mode 100644 index 0000000..dd33d28 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgteral2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgteral2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgteral2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgteral2000Mapper extends GeomBaseMapper<Dlgteral2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgteral5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgteral5000Mapper.java new file mode 100644 index 0000000..f37e13b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgteral5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgteral5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgteral5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgteral5000Mapper extends GeomBaseMapper<Dlgteral5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgteral500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgteral500Mapper.java new file mode 100644 index 0000000..6ded557 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgteral500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgteral500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgteral500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgteral500Mapper extends GeomBaseMapper<Dlgteral500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgteran1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgteran1000Mapper.java new file mode 100644 index 0000000..80de402 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgteran1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgteran1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgteran1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgteran1000Mapper extends GeomBaseMapper<Dlgteran1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgteran2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgteran2000Mapper.java new file mode 100644 index 0000000..e55c603 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgteran2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgteran2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgteran2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgteran2000Mapper extends GeomBaseMapper<Dlgteran2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgteran5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgteran5000Mapper.java new file mode 100644 index 0000000..fd402f5 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgteran5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgteran5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgteran5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgteran5000Mapper extends GeomBaseMapper<Dlgteran5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgteran500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgteran500Mapper.java new file mode 100644 index 0000000..2527f1b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgteran500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgteran500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgteran500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgteran500Mapper extends GeomBaseMapper<Dlgteran500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgterlk1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgterlk1000Mapper.java new file mode 100644 index 0000000..cae6e04 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgterlk1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgterlk1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgterlk1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgterlk1000Mapper extends GeomBaseMapper<Dlgterlk1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgterlk2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgterlk2000Mapper.java new file mode 100644 index 0000000..d81fd0d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgterlk2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgterlk2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgterlk2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgterlk2000Mapper extends GeomBaseMapper<Dlgterlk2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgterlk5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgterlk5000Mapper.java new file mode 100644 index 0000000..8350ed0 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgterlk5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgterlk5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgterlk5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgterlk5000Mapper extends GeomBaseMapper<Dlgterlk5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgterlk500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgterlk500Mapper.java new file mode 100644 index 0000000..6a66275 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgterlk500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgterlk500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgterlk500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgterlk500Mapper extends GeomBaseMapper<Dlgterlk500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgternt1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgternt1000Mapper.java new file mode 100644 index 0000000..274575d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgternt1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgternt1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgternt1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgternt1000Mapper extends GeomBaseMapper<Dlgternt1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgternt2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgternt2000Mapper.java new file mode 100644 index 0000000..3a19a4e --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgternt2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgternt2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgternt2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgternt2000Mapper extends GeomBaseMapper<Dlgternt2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgternt5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgternt5000Mapper.java new file mode 100644 index 0000000..5018658 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgternt5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgternt5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgternt5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgternt5000Mapper extends GeomBaseMapper<Dlgternt5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgternt500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgternt500Mapper.java new file mode 100644 index 0000000..da82902 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgternt500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgternt500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgternt500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgternt500Mapper extends GeomBaseMapper<Dlgternt500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgterpt1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgterpt1000Mapper.java new file mode 100644 index 0000000..fba1874 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgterpt1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgterpt1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgterpt1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgterpt1000Mapper extends GeomBaseMapper<Dlgterpt1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgterpt2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgterpt2000Mapper.java new file mode 100644 index 0000000..f49b03a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgterpt2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgterpt2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgterpt2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgterpt2000Mapper extends GeomBaseMapper<Dlgterpt2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgterpt5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgterpt5000Mapper.java new file mode 100644 index 0000000..f3c16bc --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgterpt5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgterpt5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgterpt5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgterpt5000Mapper extends GeomBaseMapper<Dlgterpt5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgterpt500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgterpt500Mapper.java new file mode 100644 index 0000000..164992a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgterpt500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgterpt500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgterpt500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgterpt500Mapper extends GeomBaseMapper<Dlgterpt500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgtraal1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgtraal1000Mapper.java new file mode 100644 index 0000000..23da295 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgtraal1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgtraal1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgtraal1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgtraal1000Mapper extends GeomBaseMapper<Dlgtraal1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgtraal2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgtraal2000Mapper.java new file mode 100644 index 0000000..dffa71a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgtraal2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgtraal2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgtraal2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgtraal2000Mapper extends GeomBaseMapper<Dlgtraal2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgtraal5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgtraal5000Mapper.java new file mode 100644 index 0000000..a11617a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgtraal5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgtraal5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgtraal5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgtraal5000Mapper extends GeomBaseMapper<Dlgtraal5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgtraal500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgtraal500Mapper.java new file mode 100644 index 0000000..125808f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgtraal500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgtraal500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgtraal500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgtraal500Mapper extends GeomBaseMapper<Dlgtraal500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgtraan1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgtraan1000Mapper.java new file mode 100644 index 0000000..075c0db --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgtraan1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgtraan1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgtraan1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgtraan1000Mapper extends GeomBaseMapper<Dlgtraan1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgtraan2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgtraan2000Mapper.java new file mode 100644 index 0000000..a3727b6 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgtraan2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgtraan2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgtraan2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgtraan2000Mapper extends GeomBaseMapper<Dlgtraan2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgtraan5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgtraan5000Mapper.java new file mode 100644 index 0000000..2560320 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgtraan5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgtraan5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgtraan5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgtraan5000Mapper extends GeomBaseMapper<Dlgtraan5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgtraan500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgtraan500Mapper.java new file mode 100644 index 0000000..c0ec64d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgtraan500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgtraan500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgtraan500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgtraan500Mapper extends GeomBaseMapper<Dlgtraan500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgtralk1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgtralk1000Mapper.java new file mode 100644 index 0000000..9b7786e --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgtralk1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgtralk1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgtralk1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgtralk1000Mapper extends GeomBaseMapper<Dlgtralk1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgtralk2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgtralk2000Mapper.java new file mode 100644 index 0000000..2ba96a5 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgtralk2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgtralk2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgtralk2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgtralk2000Mapper extends GeomBaseMapper<Dlgtralk2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgtralk5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgtralk5000Mapper.java new file mode 100644 index 0000000..8bc106d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgtralk5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgtralk5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgtralk5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgtralk5000Mapper extends GeomBaseMapper<Dlgtralk5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgtralk500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgtralk500Mapper.java new file mode 100644 index 0000000..2977438 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgtralk500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgtralk500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgtralk500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgtralk500Mapper extends GeomBaseMapper<Dlgtralk500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgtrant1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgtrant1000Mapper.java new file mode 100644 index 0000000..8c72563 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgtrant1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgtrant1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgtrant1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgtrant1000Mapper extends GeomBaseMapper<Dlgtrant1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgtrant2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgtrant2000Mapper.java new file mode 100644 index 0000000..8666314 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgtrant2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgtrant2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgtrant2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgtrant2000Mapper extends GeomBaseMapper<Dlgtrant2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgtrant5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgtrant5000Mapper.java new file mode 100644 index 0000000..25fa50b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgtrant5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgtrant5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgtrant5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgtrant5000Mapper extends GeomBaseMapper<Dlgtrant5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgtrant500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgtrant500Mapper.java new file mode 100644 index 0000000..08502de --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgtrant500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgtrant500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgtrant500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgtrant500Mapper extends GeomBaseMapper<Dlgtrant500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgtrapt1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgtrapt1000Mapper.java new file mode 100644 index 0000000..ed45fcf --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgtrapt1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgtrapt1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgtrapt1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgtrapt1000Mapper extends GeomBaseMapper<Dlgtrapt1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgtrapt2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgtrapt2000Mapper.java new file mode 100644 index 0000000..110b4fa --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgtrapt2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgtrapt2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgtrapt2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgtrapt2000Mapper extends GeomBaseMapper<Dlgtrapt2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgtrapt5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgtrapt5000Mapper.java new file mode 100644 index 0000000..cdff127 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgtrapt5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgtrapt5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgtrapt5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgtrapt5000Mapper extends GeomBaseMapper<Dlgtrapt5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgtrapt500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgtrapt500Mapper.java new file mode 100644 index 0000000..1e5dfa9 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgtrapt500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgtrapt500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgtrapt500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgtrapt500Mapper extends GeomBaseMapper<Dlgtrapt500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgvegal1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgvegal1000Mapper.java new file mode 100644 index 0000000..e463bc7 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgvegal1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgvegal1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgvegal1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgvegal1000Mapper extends GeomBaseMapper<Dlgvegal1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgvegal2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgvegal2000Mapper.java new file mode 100644 index 0000000..72817a2 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgvegal2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgvegal2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgvegal2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgvegal2000Mapper extends GeomBaseMapper<Dlgvegal2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgvegal5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgvegal5000Mapper.java new file mode 100644 index 0000000..15e2251 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgvegal5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgvegal5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgvegal5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgvegal5000Mapper extends GeomBaseMapper<Dlgvegal5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgvegal500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgvegal500Mapper.java new file mode 100644 index 0000000..58cb52f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgvegal500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgvegal500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgvegal500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgvegal500Mapper extends GeomBaseMapper<Dlgvegal500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgvegan1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgvegan1000Mapper.java new file mode 100644 index 0000000..5ee7480 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgvegan1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgvegan1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgvegan1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgvegan1000Mapper extends GeomBaseMapper<Dlgvegan1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgvegan2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgvegan2000Mapper.java new file mode 100644 index 0000000..8db3bf7 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgvegan2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgvegan2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgvegan2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgvegan2000Mapper extends GeomBaseMapper<Dlgvegan2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgvegan5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgvegan5000Mapper.java new file mode 100644 index 0000000..6c587f6 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgvegan5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgvegan5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgvegan5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgvegan5000Mapper extends GeomBaseMapper<Dlgvegan5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgvegan500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgvegan500Mapper.java new file mode 100644 index 0000000..2f064f0 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgvegan500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgvegan500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgvegan500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgvegan500Mapper extends GeomBaseMapper<Dlgvegan500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgveglk1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgveglk1000Mapper.java new file mode 100644 index 0000000..1f86b0b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgveglk1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgveglk1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgveglk1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgveglk1000Mapper extends GeomBaseMapper<Dlgveglk1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgveglk2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgveglk2000Mapper.java new file mode 100644 index 0000000..3a2afb6 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgveglk2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgveglk2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgveglk2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgveglk2000Mapper extends GeomBaseMapper<Dlgveglk2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgveglk5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgveglk5000Mapper.java new file mode 100644 index 0000000..c9dc45a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgveglk5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgveglk5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgveglk5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgveglk5000Mapper extends GeomBaseMapper<Dlgveglk5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgveglk500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgveglk500Mapper.java new file mode 100644 index 0000000..a3c0cab --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgveglk500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgveglk500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgveglk500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgveglk500Mapper extends GeomBaseMapper<Dlgveglk500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgvegnt1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgvegnt1000Mapper.java new file mode 100644 index 0000000..22ba8fb --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgvegnt1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgvegnt1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgvegnt1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgvegnt1000Mapper extends GeomBaseMapper<Dlgvegnt1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgvegnt2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgvegnt2000Mapper.java new file mode 100644 index 0000000..fd57caf --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgvegnt2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgvegnt2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgvegnt2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgvegnt2000Mapper extends GeomBaseMapper<Dlgvegnt2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgvegnt5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgvegnt5000Mapper.java new file mode 100644 index 0000000..0f4e3e1 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgvegnt5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgvegnt5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgvegnt5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgvegnt5000Mapper extends GeomBaseMapper<Dlgvegnt5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgvegnt500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgvegnt500Mapper.java new file mode 100644 index 0000000..929da10 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgvegnt500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgvegnt500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgvegnt500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgvegnt500Mapper extends GeomBaseMapper<Dlgvegnt500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgvegpt1000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgvegpt1000Mapper.java new file mode 100644 index 0000000..a334b02 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgvegpt1000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgvegpt1000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgvegpt1000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgvegpt1000Mapper extends GeomBaseMapper<Dlgvegpt1000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgvegpt2000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgvegpt2000Mapper.java new file mode 100644 index 0000000..69a2c0e --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgvegpt2000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgvegpt2000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgvegpt2000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgvegpt2000Mapper extends GeomBaseMapper<Dlgvegpt2000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgvegpt5000Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgvegpt5000Mapper.java new file mode 100644 index 0000000..9759119 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgvegpt5000Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgvegpt5000Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgvegpt5000 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgvegpt5000Mapper extends GeomBaseMapper<Dlgvegpt5000Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Dlgvegpt500Mapper.java b/src/main/java/com/lf/server/mapper/bs/Dlgvegpt500Mapper.java new file mode 100644 index 0000000..c514599 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Dlgvegpt500Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Dlgvegpt500Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Dlgvegpt500 + * @author WWW + */ +@Mapper +@Repository +public interface Dlgvegpt500Mapper extends GeomBaseMapper<Dlgvegpt500Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/GcollapseMapper.java b/src/main/java/com/lf/server/mapper/bs/GcollapseMapper.java new file mode 100644 index 0000000..13c4fef --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/GcollapseMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.GcollapseEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Gcollapse + * @author WWW + */ +@Mapper +@Repository +public interface GcollapseMapper extends GeomBaseMapper<GcollapseEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/GdebrisflowMapper.java b/src/main/java/com/lf/server/mapper/bs/GdebrisflowMapper.java new file mode 100644 index 0000000..8719276 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/GdebrisflowMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.GdebrisflowEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Gdebrisflow + * @author WWW + */ +@Mapper +@Repository +public interface GdebrisflowMapper extends GeomBaseMapper<GdebrisflowEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/GgroundcollapseMapper.java b/src/main/java/com/lf/server/mapper/bs/GgroundcollapseMapper.java new file mode 100644 index 0000000..670e8a1 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/GgroundcollapseMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.GgroundcollapseEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Ggroundcollapse + * @author WWW + */ +@Mapper +@Repository +public interface GgroundcollapseMapper extends GeomBaseMapper<GgroundcollapseEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/GhighandsteepslopeMapper.java b/src/main/java/com/lf/server/mapper/bs/GhighandsteepslopeMapper.java new file mode 100644 index 0000000..28f0efc --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/GhighandsteepslopeMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.GhighandsteepslopeEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Ghighandsteepslope + * @author WWW + */ +@Mapper +@Repository +public interface GhighandsteepslopeMapper extends GeomBaseMapper<GhighandsteepslopeEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/GlandslideMapper.java b/src/main/java/com/lf/server/mapper/bs/GlandslideMapper.java new file mode 100644 index 0000000..98fc5d9 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/GlandslideMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.GlandslideEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Glandslide + * @author WWW + */ +@Mapper +@Repository +public interface GlandslideMapper extends GeomBaseMapper<GlandslideEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/GunstableslopeMapper.java b/src/main/java/com/lf/server/mapper/bs/GunstableslopeMapper.java new file mode 100644 index 0000000..8953b7a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/GunstableslopeMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.GunstableslopeEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Gunstableslope + * @author WWW + */ +@Mapper +@Repository +public interface GunstableslopeMapper extends GeomBaseMapper<GunstableslopeEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/GwaterdamageMapper.java b/src/main/java/com/lf/server/mapper/bs/GwaterdamageMapper.java new file mode 100644 index 0000000..ae8c83f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/GwaterdamageMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.GwaterdamageEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Gwaterdamage + * @author WWW + */ +@Mapper +@Repository +public interface GwaterdamageMapper extends GeomBaseMapper<GwaterdamageEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/MadministrativedivisionMapper.java b/src/main/java/com/lf/server/mapper/bs/MadministrativedivisionMapper.java new file mode 100644 index 0000000..119520c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/MadministrativedivisionMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.MadministrativedivisionEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Madministrativedivision + * @author WWW + */ +@Mapper +@Repository +public interface MadministrativedivisionMapper extends BasicMapper<MadministrativedivisionEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/McrossingMapper.java b/src/main/java/com/lf/server/mapper/bs/McrossingMapper.java new file mode 100644 index 0000000..588771a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/McrossingMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.McrossingEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mcrossing + * @author WWW + */ +@Mapper +@Repository +public interface McrossingMapper extends GeomBaseMapper<McrossingEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/MdetactionpipelinepointMapper.java b/src/main/java/com/lf/server/mapper/bs/MdetactionpipelinepointMapper.java new file mode 100644 index 0000000..8de819a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/MdetactionpipelinepointMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.MdetactionpipelinepointEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdetactionpipelinepoint + * @author WWW + */ +@Mapper +@Repository +public interface MdetactionpipelinepointMapper extends GeomBaseMapper<MdetactionpipelinepointEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/MequipmentnameplateMapper.java b/src/main/java/com/lf/server/mapper/bs/MequipmentnameplateMapper.java new file mode 100644 index 0000000..093bc0c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/MequipmentnameplateMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.MequipmentnameplateEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mequipmentnameplate + * @author WWW + */ +@Mapper +@Repository +public interface MequipmentnameplateMapper extends GeomBaseMapper<MequipmentnameplateEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/MequipmentnameplateattachMapper.java b/src/main/java/com/lf/server/mapper/bs/MequipmentnameplateattachMapper.java new file mode 100644 index 0000000..624eaf7 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/MequipmentnameplateattachMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.MequipmentnameplateattachEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mequipmentnameplateattach + * @author WWW + */ +@Mapper +@Repository +public interface MequipmentnameplateattachMapper extends BasicMapper<MequipmentnameplateattachEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/MgeocontrolpointMapper.java b/src/main/java/com/lf/server/mapper/bs/MgeocontrolpointMapper.java new file mode 100644 index 0000000..10d45bf --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/MgeocontrolpointMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.MgeocontrolpointEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mgeocontrolpoint + * @author WWW + */ +@Mapper +@Repository +public interface MgeocontrolpointMapper extends GeomBaseMapper<MgeocontrolpointEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/MgroundlineMapper.java b/src/main/java/com/lf/server/mapper/bs/MgroundlineMapper.java new file mode 100644 index 0000000..9060a4f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/MgroundlineMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.MgroundlineEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mgroundline + * @author WWW + */ +@Mapper +@Repository +public interface MgroundlineMapper extends GeomBaseMapper<MgroundlineEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/MhydraulicprotectionMapper.java b/src/main/java/com/lf/server/mapper/bs/MhydraulicprotectionMapper.java new file mode 100644 index 0000000..fb8c614 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/MhydraulicprotectionMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.MhydraulicprotectionEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mhydraulicprotection + * @author WWW + */ +@Mapper +@Repository +public interface MhydraulicprotectionMapper extends GeomBaseMapper<MhydraulicprotectionEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/MhydraulicprotectionattachMapper.java b/src/main/java/com/lf/server/mapper/bs/MhydraulicprotectionattachMapper.java new file mode 100644 index 0000000..4450ecc --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/MhydraulicprotectionattachMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.MhydraulicprotectionattachEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mhydraulicprotectionattach + * @author WWW + */ +@Mapper +@Repository +public interface MhydraulicprotectionattachMapper extends BasicMapper<MhydraulicprotectionattachEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/MmarkerMapper.java b/src/main/java/com/lf/server/mapper/bs/MmarkerMapper.java new file mode 100644 index 0000000..978c316 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/MmarkerMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.MmarkerEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mmarker + * @author WWW + */ +@Mapper +@Repository +public interface MmarkerMapper extends GeomBaseMapper<MmarkerEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/MmarkerattachMapper.java b/src/main/java/com/lf/server/mapper/bs/MmarkerattachMapper.java new file mode 100644 index 0000000..79c7b1f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/MmarkerattachMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.MmarkerattachEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mmarkerattach + * @author WWW + */ +@Mapper +@Repository +public interface MmarkerattachMapper extends BasicMapper<MmarkerattachEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/MpipelineMapper.java b/src/main/java/com/lf/server/mapper/bs/MpipelineMapper.java new file mode 100644 index 0000000..f188c7a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/MpipelineMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.MpipelineEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mpipeline + * @author WWW + */ +@Mapper +@Repository +public interface MpipelineMapper extends GeomBaseMapper<MpipelineEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/MpipelinepointMapper.java b/src/main/java/com/lf/server/mapper/bs/MpipelinepointMapper.java new file mode 100644 index 0000000..d9e6dbf --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/MpipelinepointMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.MpipelinepointEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mpipelinepoint + * @author WWW + */ +@Mapper +@Repository +public interface MpipelinepointMapper extends GeomBaseMapper<MpipelinepointEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/MpipesegmentMapper.java b/src/main/java/com/lf/server/mapper/bs/MpipesegmentMapper.java new file mode 100644 index 0000000..8776d21 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/MpipesegmentMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.MpipesegmentEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mpipesegment + * @author WWW + */ +@Mapper +@Repository +public interface MpipesegmentMapper extends GeomBaseMapper<MpipesegmentEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/MplanindexfileMapper.java b/src/main/java/com/lf/server/mapper/bs/MplanindexfileMapper.java new file mode 100644 index 0000000..ef3b560 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/MplanindexfileMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.MplanindexfileEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mplanindexfile + * @author WWW + */ +@Mapper +@Repository +public interface MplanindexfileMapper extends BasicMapper<MplanindexfileEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/MpoiMapper.java b/src/main/java/com/lf/server/mapper/bs/MpoiMapper.java new file mode 100644 index 0000000..2e7dd9e --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/MpoiMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.MpoiEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mpoi + * @author WWW + */ +@Mapper +@Repository +public interface MpoiMapper extends GeomBaseMapper<MpoiEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/MscatterpointMapper.java b/src/main/java/com/lf/server/mapper/bs/MscatterpointMapper.java new file mode 100644 index 0000000..0fc84ee --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/MscatterpointMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.MscatterpointEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mscatterpoint + * @author WWW + */ +@Mapper +@Repository +public interface MscatterpointMapper extends GeomBaseMapper<MscatterpointEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Msitepoint0Mapper.java b/src/main/java/com/lf/server/mapper/bs/Msitepoint0Mapper.java new file mode 100644 index 0000000..c1c3b36 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Msitepoint0Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Msitepoint0Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Msitepoint0 + * @author WWW + */ +@Mapper +@Repository +public interface Msitepoint0Mapper extends GeomBaseMapper<Msitepoint0Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/MsitepointMapper.java b/src/main/java/com/lf/server/mapper/bs/MsitepointMapper.java new file mode 100644 index 0000000..9e7f1cb --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/MsitepointMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.MsitepointEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Msitepoint + * @author WWW + */ +@Mapper +@Repository +public interface MsitepointMapper extends GeomBaseMapper<MsitepointEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/MsurfacedeformationdataMapper.java b/src/main/java/com/lf/server/mapper/bs/MsurfacedeformationdataMapper.java new file mode 100644 index 0000000..01bd6d0 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/MsurfacedeformationdataMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.MsurfacedeformationdataEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Msurfacedeformationdata + * @author WWW + */ +@Mapper +@Repository +public interface MsurfacedeformationdataMapper extends GeomBaseMapper<MsurfacedeformationdataEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/MvalvehousepointMapper.java b/src/main/java/com/lf/server/mapper/bs/MvalvehousepointMapper.java new file mode 100644 index 0000000..54dd941 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/MvalvehousepointMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.MvalvehousepointEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mvalvehousepoint + * @author WWW + */ +@Mapper +@Repository +public interface MvalvehousepointMapper extends GeomBaseMapper<MvalvehousepointEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/SboreholeMapper.java b/src/main/java/com/lf/server/mapper/bs/SboreholeMapper.java new file mode 100644 index 0000000..9d2ef62 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/SboreholeMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.SboreholeEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Sborehole + * @author WWW + */ +@Mapper +@Repository +public interface SboreholeMapper extends GeomBaseMapper<SboreholeEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/SboreholeattachMapper.java b/src/main/java/com/lf/server/mapper/bs/SboreholeattachMapper.java new file mode 100644 index 0000000..8fab136 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/SboreholeattachMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.SboreholeattachEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Sboreholeattach + * @author WWW + */ +@Mapper +@Repository +public interface SboreholeattachMapper extends BasicMapper<SboreholeattachEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/SexplorationpointMapper.java b/src/main/java/com/lf/server/mapper/bs/SexplorationpointMapper.java new file mode 100644 index 0000000..534e61f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/SexplorationpointMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.SexplorationpointEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Sexplorationpoint + * @author WWW + */ +@Mapper +@Repository +public interface SexplorationpointMapper extends GeomBaseMapper<SexplorationpointEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/SexplorationpointstratumMapper.java b/src/main/java/com/lf/server/mapper/bs/SexplorationpointstratumMapper.java new file mode 100644 index 0000000..5e33283 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/SexplorationpointstratumMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.SexplorationpointstratumEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Sexplorationpointstratum + * @author WWW + */ +@Mapper +@Repository +public interface SexplorationpointstratumMapper extends BasicMapper<SexplorationpointstratumEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/SgeologicaldataMapper.java b/src/main/java/com/lf/server/mapper/bs/SgeologicaldataMapper.java new file mode 100644 index 0000000..9906c99 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/SgeologicaldataMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.SgeologicaldataEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Sgeologicaldata + * @author WWW + */ +@Mapper +@Repository +public interface SgeologicaldataMapper extends BasicMapper<SgeologicaldataEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/SprofileindexfileMapper.java b/src/main/java/com/lf/server/mapper/bs/SprofileindexfileMapper.java new file mode 100644 index 0000000..85380dc --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/SprofileindexfileMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.SprofileindexfileEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Sprofileindexfile + * @author WWW + */ +@Mapper +@Repository +public interface SprofileindexfileMapper extends BasicMapper<SprofileindexfileEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/SresistivityMapper.java b/src/main/java/com/lf/server/mapper/bs/SresistivityMapper.java new file mode 100644 index 0000000..a66c480 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/SresistivityMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.SresistivityEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Sresistivity + * @author WWW + */ +@Mapper +@Repository +public interface SresistivityMapper extends BasicMapper<SresistivityEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/SsurveyinformationMapper.java b/src/main/java/com/lf/server/mapper/bs/SsurveyinformationMapper.java new file mode 100644 index 0000000..13fb00e --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/SsurveyinformationMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.SsurveyinformationEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Ssurveyinformation + * @author WWW + */ +@Mapper +@Repository +public interface SsurveyinformationMapper extends BasicMapper<SsurveyinformationEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/SsurveyworksiteMapper.java b/src/main/java/com/lf/server/mapper/bs/SsurveyworksiteMapper.java new file mode 100644 index 0000000..ed7fbc6 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/SsurveyworksiteMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.SsurveyworksiteEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Ssurveyworksite + * @author WWW + */ +@Mapper +@Repository +public interface SsurveyworksiteMapper extends GeomBaseMapper<SsurveyworksiteEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/ThcountyareaMapper.java b/src/main/java/com/lf/server/mapper/bs/ThcountyareaMapper.java new file mode 100644 index 0000000..0b8d447 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/ThcountyareaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.ThcountyareaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Thcountyarea + * @author WWW + */ +@Mapper +@Repository +public interface ThcountyareaMapper extends GeomBaseMapper<ThcountyareaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/ThcountylineMapper.java b/src/main/java/com/lf/server/mapper/bs/ThcountylineMapper.java new file mode 100644 index 0000000..61aa411 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/ThcountylineMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.ThcountylineEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Thcountyline + * @author WWW + */ +@Mapper +@Repository +public interface ThcountylineMapper extends GeomBaseMapper<ThcountylineEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/ThcountypointMapper.java b/src/main/java/com/lf/server/mapper/bs/ThcountypointMapper.java new file mode 100644 index 0000000..e10a9e3 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/ThcountypointMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.ThcountypointEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Thcountypoint + * @author WWW + */ +@Mapper +@Repository +public interface ThcountypointMapper extends GeomBaseMapper<ThcountypointEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/ThdistrictareaMapper.java b/src/main/java/com/lf/server/mapper/bs/ThdistrictareaMapper.java new file mode 100644 index 0000000..a5badf8 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/ThdistrictareaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.ThdistrictareaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Thdistrictarea + * @author WWW + */ +@Mapper +@Repository +public interface ThdistrictareaMapper extends GeomBaseMapper<ThdistrictareaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/ThdistrictlineMapper.java b/src/main/java/com/lf/server/mapper/bs/ThdistrictlineMapper.java new file mode 100644 index 0000000..d07c120 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/ThdistrictlineMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.ThdistrictlineEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Thdistrictline + * @author WWW + */ +@Mapper +@Repository +public interface ThdistrictlineMapper extends GeomBaseMapper<ThdistrictlineEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/ThdistrictpointMapper.java b/src/main/java/com/lf/server/mapper/bs/ThdistrictpointMapper.java new file mode 100644 index 0000000..85c4fe1 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/ThdistrictpointMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.ThdistrictpointEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Thdistrictpoint + * @author WWW + */ +@Mapper +@Repository +public interface ThdistrictpointMapper extends GeomBaseMapper<ThdistrictpointEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Thglobecountry01Mapper.java b/src/main/java/com/lf/server/mapper/bs/Thglobecountry01Mapper.java new file mode 100644 index 0000000..120e19c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Thglobecountry01Mapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Thglobecountry01Entity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Thglobecountry01 + * @author WWW + */ +@Mapper +@Repository +public interface Thglobecountry01Mapper extends GeomBaseMapper<Thglobecountry01Entity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/ThglobecountryMapper.java b/src/main/java/com/lf/server/mapper/bs/ThglobecountryMapper.java new file mode 100644 index 0000000..a88c92a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/ThglobecountryMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.ThglobecountryEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Thglobecountry + * @author WWW + */ +@Mapper +@Repository +public interface ThglobecountryMapper extends GeomBaseMapper<ThglobecountryEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/ThprovinceareaMapper.java b/src/main/java/com/lf/server/mapper/bs/ThprovinceareaMapper.java new file mode 100644 index 0000000..a0949c9 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/ThprovinceareaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.ThprovinceareaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Thprovincearea + * @author WWW + */ +@Mapper +@Repository +public interface ThprovinceareaMapper extends GeomBaseMapper<ThprovinceareaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/ThprovincelineMapper.java b/src/main/java/com/lf/server/mapper/bs/ThprovincelineMapper.java new file mode 100644 index 0000000..6cdfd9d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/ThprovincelineMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.ThprovincelineEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Thprovinceline + * @author WWW + */ +@Mapper +@Repository +public interface ThprovincelineMapper extends GeomBaseMapper<ThprovincelineEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/ThprovincepointMapper.java b/src/main/java/com/lf/server/mapper/bs/ThprovincepointMapper.java new file mode 100644 index 0000000..f16becf --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/ThprovincepointMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.ThprovincepointEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Thprovincepoint + * @author WWW + */ +@Mapper +@Repository +public interface ThprovincepointMapper extends GeomBaseMapper<ThprovincepointEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/ThprovincialcapitalMapper.java b/src/main/java/com/lf/server/mapper/bs/ThprovincialcapitalMapper.java new file mode 100644 index 0000000..a46369a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/ThprovincialcapitalMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.ThprovincialcapitalEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Thprovincialcapital + * @author WWW + */ +@Mapper +@Repository +public interface ThprovincialcapitalMapper extends GeomBaseMapper<ThprovincialcapitalEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/ThstrategicchannelMapper.java b/src/main/java/com/lf/server/mapper/bs/ThstrategicchannelMapper.java new file mode 100644 index 0000000..a757b9e --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/ThstrategicchannelMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.ThstrategicchannelEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Thstrategicchannel + * @author WWW + */ +@Mapper +@Repository +public interface ThstrategicchannelMapper extends GeomBaseMapper<ThstrategicchannelEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/UsectionlineMapper.java b/src/main/java/com/lf/server/mapper/bs/UsectionlineMapper.java new file mode 100644 index 0000000..8eacf66 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/UsectionlineMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.UsectionlineEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Usectionline + * @author WWW + */ +@Mapper +@Repository +public interface UsectionlineMapper extends GeomBaseMapper<UsectionlineEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/Uundergroundcavern3dattachMapper.java b/src/main/java/com/lf/server/mapper/bs/Uundergroundcavern3dattachMapper.java new file mode 100644 index 0000000..66a56f8 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/Uundergroundcavern3dattachMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.Uundergroundcavern3dattachEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Uundergroundcavern3dattach + * @author WWW + */ +@Mapper +@Repository +public interface Uundergroundcavern3dattachMapper extends BasicMapper<Uundergroundcavern3dattachEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/bs/UundergroundhydrologicalmonitoringMapper.java b/src/main/java/com/lf/server/mapper/bs/UundergroundhydrologicalmonitoringMapper.java new file mode 100644 index 0000000..c8a0e04 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/bs/UundergroundhydrologicalmonitoringMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.bs; + +import com.lf.server.entity.bs.UundergroundhydrologicalmonitoringEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Uundergroundhydrologicalmonitoring + * @author WWW + */ +@Mapper +@Repository +public interface UundergroundhydrologicalmonitoringMapper extends GeomBaseMapper<UundergroundhydrologicalmonitoringEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/data/DictMapper.java b/src/main/java/com/lf/server/mapper/data/DictMapper.java new file mode 100644 index 0000000..244534a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/data/DictMapper.java @@ -0,0 +1,101 @@ +package com.lf.server.mapper.data; + +import com.lf.server.entity.ctrl.TabEntity; +import com.lf.server.entity.data.DictEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 瀛楀吀绠$悊 + * @author WWW + */ +@Mapper +@Repository +public interface DictMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param ns 琛ㄧ┖闂� + * @param tab 琛ㄥ悕 + * @return 璁板綍鏁� + */ + public Integer selectCount(String ns, String tab); + + /** + * 鍒嗛〉鏌ヨ + * + * @param ns 琛ㄧ┖闂� + * @param tab 琛ㄥ悕 + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<DictEntity> selectByPage(String ns, String tab, Integer limit, Integer offset); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public DictEntity selectById(int id); + + /** + * 鏌ヨ瀛楀吀琛ㄧ粨鏋� + * + * @param name + * @param field + * @return + */ + public List<TabEntity> selectDictTab(String name, String field); + + /** + * 鎻掑叆涓�鏉� + * + * @param entity + * @return + */ + public Integer insert(DictEntity entity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<DictEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer delete(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deletes(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param entity + * @return + */ + public Integer update(DictEntity entity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<DictEntity> list); +} diff --git a/src/main/java/com/lf/server/mapper/data/DirMapper.java b/src/main/java/com/lf/server/mapper/data/DirMapper.java new file mode 100644 index 0000000..45859be --- /dev/null +++ b/src/main/java/com/lf/server/mapper/data/DirMapper.java @@ -0,0 +1,118 @@ +package com.lf.server.mapper.data; + +import com.lf.server.entity.data.DirEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * Dir + * @author sws + * @date 2022-09-24 + */ + +@Mapper +@Repository +public interface DirMapper { + /** + * 鎻掑叆涓�鏉� + * + * @param dirEntity + * @return + */ + public Integer insert(DirEntity dirEntity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<DirEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer deleteDir(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deleteDirs(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param dirEntity + * @return + */ + public Integer update(DirEntity dirEntity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<DirEntity> list); + + /** + * 鏌ヨ鍗曟潯鏁版嵁 + * + * @param id + * @return + */ + public DirEntity selectDir(int id); + + /** + * 鏍规嵁Code鏌ヨ鐩綍 + * + * @param code + * @return + */ + public DirEntity selectByCode(String code); + + /** + * 鏌ヨ澶氭潯鏁版嵁 + * + * @return + */ + public List<DirEntity> selectDirAll(); + + /** + * 鏌ヨ鏍圭洰褰� + * + * @return + */ + public List<DirEntity> selectDirRoot(); + + /** + * 鏌ヨ椤圭洰 + * + * @param name + * @return + */ + public List<DirEntity> selectProject(String name); + + /** + * 閫掑綊鏌ヨ + * + * @param id + * @return + */ + public List<DirEntity> selectRecursiveById(Integer id); + + /** + * 鏌ヨ椤圭洰鐩綍鏍� + * + * @return + */ + public List<DirEntity> selectDirsForPrj(); +} diff --git a/src/main/java/com/lf/server/mapper/data/DomainMapper.java b/src/main/java/com/lf/server/mapper/data/DomainMapper.java new file mode 100644 index 0000000..298ba9b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/data/DomainMapper.java @@ -0,0 +1,110 @@ +package com.lf.server.mapper.data; + +import com.lf.server.entity.ctrl.TabEntity; +import com.lf.server.entity.data.DomainEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 鍊煎煙 + * @author WWW + */ +@Mapper +@Repository +public interface DomainMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param ns 鍚嶇О绌洪棿 + * @param tab 琛ㄥ悕 + * @param name 鍚嶇О + * @return 璁板綍鏁� + */ + public Integer selectCount(String ns, String tab, String name); + + /** + * 鍒嗛〉鏌ヨ + * + * @param ns 鍚嶇О绌洪棿 + * @param tab 琛ㄥ悕 + * @param name 鍚嶇О + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<DomainEntity> selectByPage(String ns, String tab, String name, Integer limit, Integer offset); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<DomainEntity> selectAll(); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public DomainEntity selectById(int id); + + /** + * 鏍规嵁琛ㄥ悕鏌ヨ鍊煎煙鍚嶇О + * + * @param ns 鍚嶇О绌洪棿 + * @param tab 琛ㄥ悕 + * @return 鍊煎煙鍚嶇О闆嗗悎 + */ + public List<String> selectDomainNames(String ns, String tab); + + /** + * 鎻掑叆涓�鏉� + * + * @param entity + * @return + */ + public Integer insert(DomainEntity entity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<DomainEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer delete(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deletes(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param entity + * @return + */ + public Integer update(DomainEntity entity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<DomainEntity> list); +} diff --git a/src/main/java/com/lf/server/mapper/data/DownloadMapper.java b/src/main/java/com/lf/server/mapper/data/DownloadMapper.java new file mode 100644 index 0000000..a20c113 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/data/DownloadMapper.java @@ -0,0 +1,126 @@ +package com.lf.server.mapper.data; + +import com.lf.server.entity.data.DownloadEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 涓嬭浇璁板綍 + * @author WWW + */ +@Mapper +@Repository +public interface DownloadMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param name 鍚嶇О + * @return 璁板綍鏁� + */ + public Integer selectCount(String name); + + /** + * 鍒嗛〉鏌ヨ + * + * @param name 鍚嶇О + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<DownloadEntity> selectByPage(String name, Integer limit, Integer offset); + + /** + * 鏍规嵁鐢ㄦ埛ID鏌ヨ璁板綍鏁帮紙鍦ㄧ嚎鍒跺浘锛� + * + * @param createUser 鐢ㄦ埛ID + * @param types 绫诲埆 + * @param name 鍚嶇О + * @return 璁板綍鏁� + */ + public Integer selectCountForUser(Integer createUser, String types, String name); + + /** + * 鏍规嵁鐢ㄦ埛ID鍒嗛〉鏌ヨ锛堝湪绾垮埗鍥撅級 + * + * @param createUser 鐢ㄦ埛ID + * @param types 绫诲埆 + * @param name 鍚嶇О + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<DownloadEntity> selectByPageForUser(Integer createUser, String types, String name, Integer limit, Integer offset); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<DownloadEntity> selectAll(); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public DownloadEntity selectById(int id); + + /** + * 鏍规嵁Guid鏌ヨ + * + * @param guid + * @return + */ + public DownloadEntity selectByGuid(String guid); + + /** + * 鎻掑叆涓�鏉� + * + * @param entity + * @return + */ + public Integer insert(DownloadEntity entity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<DownloadEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer delete(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deletes(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param entity + * @return + */ + public Integer update(DownloadEntity entity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<DownloadEntity> list); +} diff --git a/src/main/java/com/lf/server/mapper/data/LayerMapper.java b/src/main/java/com/lf/server/mapper/data/LayerMapper.java new file mode 100644 index 0000000..9b357c9 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/data/LayerMapper.java @@ -0,0 +1,96 @@ +package com.lf.server.mapper.data; + +import com.lf.server.entity.data.LayerEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 鍥惧眰 + * @author WWW + */ +@Mapper +@Repository +public interface LayerMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param cnName 涓枃鍚嶇О + * @return 璁板綍鏁� + */ + public Integer selectCount(String cnName); + + /** + * 鍒嗛〉鏌ヨ + * + * @param cnName 涓枃鍚嶇О + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<LayerEntity> selectByPage(String cnName, Integer limit, Integer offset); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<LayerEntity> selectAll(); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public LayerEntity selectById(int id); + + /** + * 鎻掑叆涓�鏉� + * + * @param entity + * @return + */ + public Integer insert(LayerEntity entity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<LayerEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer delete(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deletes(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param entity + * @return + */ + public Integer update(LayerEntity entity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<LayerEntity> list); +} diff --git a/src/main/java/com/lf/server/mapper/data/MetaMapper.java b/src/main/java/com/lf/server/mapper/data/MetaMapper.java new file mode 100644 index 0000000..a56c4ac --- /dev/null +++ b/src/main/java/com/lf/server/mapper/data/MetaMapper.java @@ -0,0 +1,204 @@ +package com.lf.server.mapper.data; + +import com.lf.server.entity.data.MetaEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 鍏冩暟鎹� + * @author WWW + */ +@Mapper +@Repository +public interface MetaMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param depcode 鍗曚綅缂栫爜 + * @param dircode 鐩綍缂栫爜 + * @param verid 鐗堟湰ID + * @param name 鍚嶇О + * @return 璁板綍鏁� + */ + public Integer selectCount(String depcode, String dircode, Integer verid, String name); + + /** + * 鍒嗛〉鏌ヨ + * + * @param depcode 鍗曚綅缂栫爜 + * @param dircode 鐩綍缂栫爜 + * @param verid 鐗堟湰ID + * @param name 鍚嶇О + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<MetaEntity> selectByPage(String depcode, String dircode, Integer verid, String name, Integer limit, Integer offset); + + /** + * 鏌ヨ璁板綍鏁� + * + * @param depcode + * @param dirs + * @param name + * @return + */ + public Integer selectMetasForCount(String depcode, String dirs, String name); + + /** + * 鍒嗛〉鏌ヨ + * + * @param depcode + * @param dirs + * @param name + * @param limit + * @param offset + * @return + */ + public List<MetaEntity> selectMetasForPage(String depcode, String dirs, String name, Integer limit, Integer offset); + + /** + * 鏌ヨ涓婁紶璁板綍鏁� + * + * @param name 鍚嶇О + * @param createUser 鐢ㄦ埛ID + * @param types 鏂囦欢绫诲瀷 + * @return 璁板綍鏁� + */ + public Integer selectCountForUpload(String name, Integer createUser, String types); + + /** + * 鍒嗛〉鏌ヨ涓婁紶璁板綍 + * + * @param name 鍚嶇О + * @param createUser 鐢ㄦ埛ID + * @param types 鏂囦欢绫诲瀷 + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<MetaEntity> selectByPageForUpload(String name, Integer createUser, String types, Integer limit, Integer offset); + + /** + * 鏍规嵁鐖禝D鏌ヨ璁板綍鏁� + * + * @param metaid + * @param name + * @return + */ + public Integer selectCountByPid(Integer metaid, String name); + + /** + * 鏍规嵁鐖禝D鍒嗛〉鏌ヨ + * + * @param metaid + * @param name + * @param limit + * @param offset + * @return + */ + public List<MetaEntity> selectPageByPid(Integer metaid, String name, Integer limit, Integer offset); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public MetaEntity selectById(int id); + + /** + * 鏍规嵁GUID鏌ヨ + * + * @param guid 鏂囦欢GUID + * @param dircode 鐩綍缂栫爜 + * @param tab 琛ㄥ悕 + * @return + */ + public MetaEntity selectByGuid(String guid, String dircode, String tab); + + /** + * 鏍规嵁澶氫釜ID鏌ヨ鍏冩暟鎹紙鏁版嵁琛級 + * + * @param ids + * @return + */ + public List<MetaEntity> selectByIdsForTab(String ids); + + /** + * 鏌ヨ鍏冩暟鎹枃浠� + * + * @param ids 鍏冩暟鎹甀D闆嗗悎 + * @return 鍏冩暟鎹枃浠堕泦鍚� + */ + public List<MetaEntity> selectMetaFiles(List<Integer> ids); + + /** + * 鏌ヨExcel鍏冩暟鎹� + * + * @param ids 鍏冩暟鎹甀D闆嗗悎 + * @param tabs 琛ㄥ悕瀛楃涓� + * @return 鍏冩暟鎹枃浠堕泦鍚� + */ + public List<MetaEntity> selectXlsAnnex(Integer[] ids, String tabs); + + /** + * 鏍规嵁鐩綍缂栫爜鏌ヨ鍏冩暟鎹枃浠� + * + * @param dircode + * @return + */ + public List<MetaEntity> selectMetasByDirCode(String dircode); + + /** + * 鏌ヨ鍏冩暟鎹腑婧㈠嚭鐨勫崟浣岻D + * + * @param ids + * @param depcode + * @return + */ + public List<String> selectMetaOverflowDep(String ids, String depcode); + + /** + * 鎻掑叆涓�鏉� + * + * @param entity + * @return + */ + public Integer insert(MetaEntity entity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<MetaEntity> list); + + /** + * 鍒犻櫎澶氭潯 + * + * @param sql + * @param ids + * @return + */ + public Integer deletes(String sql, String ids); + + /** + * 鏇存柊涓�鏉� + * + * @param entity + * @return + */ + public Integer update(MetaEntity entity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<MetaEntity> list); +} diff --git a/src/main/java/com/lf/server/mapper/data/PublishMapper.java b/src/main/java/com/lf/server/mapper/data/PublishMapper.java new file mode 100644 index 0000000..2801eb5 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/data/PublishMapper.java @@ -0,0 +1,141 @@ +package com.lf.server.mapper.data; + +import com.lf.server.entity.data.MetaEntity; +import com.lf.server.entity.data.PublishEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 鏁版嵁鍙戝竷 + * @author WWW + */ +@Mapper +@Repository +public interface PublishMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param name 鍚嶇О + * @return 璁板綍鏁� + */ + public Integer selectCount(String name); + + /** + * 鍒嗛〉鏌ヨ + * + * @param name 鍚嶇О + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<PublishEntity> selectByPage(String name, Integer limit, Integer offset); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<PublishEntity> selectAll(); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public PublishEntity selectById(int id); + + /** + * 鏍规嵁ID瀛楃涓叉煡璇� + * + * @param ids ID瀛楃涓� + * @return 璁板綍闆嗗悎 + */ + public List<PublishEntity> selectByIds(String ids); + + /** + * 鎻掑叆涓�鏉� + * + * @param entity + * @return + */ + public Integer insert(PublishEntity entity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<PublishEntity> list); + + /** + * 鎻掑叆鏁版嵁鍙戝竷-涓嬭浇琛� + * + * @param pubid + * @param downid + * @param createUser + * @return + */ + public Integer insertPubDown(Integer pubid, Integer downid, Integer createUser); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer delete(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deletes(String ids); + + /** + * 鏇存柊涓�鏉� + * + * @param entity + * @return + */ + public Integer update(PublishEntity entity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<PublishEntity> list); + + /** + * 鏌ヨ鍏冩暟鎹褰曟暟 + * + * @param depcode 鍗曚綅缂栫爜 + * @param dircode 鐩綍缂栫爜 + * @param verid 鐗堟湰ID + * @param types 绫诲埆 + * @param name 鍚嶇О + * @return 璁板綍鏁� + */ + public Integer selectMetasByCount(String depcode, String dircode, Integer verid, String types, String name); + + /** + * 鍒嗛〉鏌ヨ + * + * @param depcode 鍗曚綅缂栫爜 + * @param dircode 鐩綍缂栫爜 + * @param verid 鐗堟湰ID + * @param types 绫诲埆 + * @param name 鍚嶇О + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<MetaEntity> selectMetasByPage(String depcode, String dircode, Integer verid, String types, String name, Integer limit, Integer offset); +} diff --git a/src/main/java/com/lf/server/mapper/data/StyleMapper.java b/src/main/java/com/lf/server/mapper/data/StyleMapper.java new file mode 100644 index 0000000..9db0b55 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/data/StyleMapper.java @@ -0,0 +1,89 @@ +package com.lf.server.mapper.data; + +import com.lf.server.entity.data.StyleEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +/** + * 鏍峰紡绠$悊 + * @author sws + * @date 2022-09-26 + */ +@Mapper +@ResponseBody +public interface StyleMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param name 鏍峰紡鍚� + * @return 璁板綍鏁� + */ + public Integer selectCount(String name); + + /** + * 鍒嗛〉鏌ヨ + * + * @param name 鏍峰紡鍚� + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<StyleEntity> selectByPage(String name, Integer limit, Integer offset); + + /** + * 鎻掑叆涓�鏉� + * + * @param styleEntity + * @return + */ + public Integer insertStyle(StyleEntity styleEntity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer insertStyles(List<StyleEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer deleteStyle(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deleteStyles(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param styleEntity + * @return + */ + public Integer updateStyle(StyleEntity styleEntity); + + /** + * 鏌ヨ鍗曟潯鏁版嵁 + * + * @param id + * @return + */ + public StyleEntity selectStyle(int id); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<StyleEntity> selectStyleAll(); +} diff --git a/src/main/java/com/lf/server/mapper/data/UploadMapper.java b/src/main/java/com/lf/server/mapper/data/UploadMapper.java new file mode 100644 index 0000000..573863b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/data/UploadMapper.java @@ -0,0 +1,48 @@ +package com.lf.server.mapper.data; + +import com.lf.server.entity.data.CoordEntity; +import com.lf.server.entity.data.DirEntity; +import com.lf.server.entity.data.FmeLogEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +/** + * 鏁版嵁涓婁紶 + * @author WWW + */ +@Mapper +@ResponseBody +public interface UploadMapper { + /** + * 鏌ヨ鍧愭爣绯� + * + * @param zoning + * @return + */ + public List<CoordEntity> selectCoords(String zoning); + + /** + * 鏍规嵁EPSG缂栫爜缁熻 + * + * @param epsgCode + * @return + */ + public Integer selectCount4Coord(String epsgCode); + + /** + * 鏌ヨ椤圭洰鍚嶇О + * + * @return + */ + public List<DirEntity> selectProject(); + + /** + * 鏌ヨFME鏃ュ織 + * + * @param parentid + * @return + */ + public List<FmeLogEntity> selectFmeLog(String parentid); +} diff --git a/src/main/java/com/lf/server/mapper/data/VerMapper.java b/src/main/java/com/lf/server/mapper/data/VerMapper.java new file mode 100644 index 0000000..c3445e0 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/data/VerMapper.java @@ -0,0 +1,99 @@ +package com.lf.server.mapper.data; + +import com.lf.server.entity.data.VerEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +/** + * 鐗堟湰琛� + * @author sws + * @date 2022-09-29 + */ +@Mapper +@ResponseBody +public interface VerMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param dirid 鐩綍ID + * @param name 鍚嶇О + * @return 璁板綍鏁� + */ + public Integer selectCount(Integer dirid, String name); + + /** + * 鍒嗛〉鏌ヨ + * + * @param dirid 鐩綍ID + * @param name 鍚嶇О + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<VerEntity> selectByPage(Integer dirid, String name, Integer limit, Integer offset); + + /** + * 鏍规嵁鐩綍ID鏌ヨ鐗堟湰鍒楄〃 + * + * @param dirid + * @return + */ + public List<VerEntity> selectByDirid(Integer dirid); + + /** + * 鎻掑叆涓�鏉� + * + * @param verEntity + * @return + */ + public Integer insertVersion(VerEntity verEntity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer insertVersions(List<VerEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer deleteVersion(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deleteVersions(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param verEntity + * @return + */ + public Integer updateVersion(VerEntity verEntity); + + /** + * 鏌ヨ鍗曟潯鏁版嵁 + * + * @param id + * @return + */ + public VerEntity selectVersion(int id); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<VerEntity> selectVersionAll(); +} diff --git a/src/main/java/com/lf/server/mapper/md/MdccompliancefileinformationMapper.java b/src/main/java/com/lf/server/mapper/md/MdccompliancefileinformationMapper.java new file mode 100644 index 0000000..b55d211 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdccompliancefileinformationMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdccompliancefileinformationEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdccompliancefileinformation + * @author WWW + */ +@Mapper +@Repository +public interface MdccompliancefileinformationMapper extends BasicMapper<MdccompliancefileinformationEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdcdocumentlistinformationMapper.java b/src/main/java/com/lf/server/mapper/md/MdcdocumentlistinformationMapper.java new file mode 100644 index 0000000..c1ec26c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdcdocumentlistinformationMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdcdocumentlistinformationEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdcdocumentlistinformation + * @author WWW + */ +@Mapper +@Repository +public interface MdcdocumentlistinformationMapper extends BasicMapper<MdcdocumentlistinformationEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdcprojectMapper.java b/src/main/java/com/lf/server/mapper/md/MdcprojectMapper.java new file mode 100644 index 0000000..1c000a1 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdcprojectMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdcprojectEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdcproject + * @author WWW + */ +@Mapper +@Repository +public interface MdcprojectMapper extends BasicMapper<MdcprojectEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdcprojectorganizationMapper.java b/src/main/java/com/lf/server/mapper/md/MdcprojectorganizationMapper.java new file mode 100644 index 0000000..995859d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdcprojectorganizationMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdcprojectorganizationEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdcprojectorganization + * @author WWW + */ +@Mapper +@Repository +public interface MdcprojectorganizationMapper extends BasicMapper<MdcprojectorganizationEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdcprojectwbsMapper.java b/src/main/java/com/lf/server/mapper/md/MdcprojectwbsMapper.java new file mode 100644 index 0000000..e08b5c2 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdcprojectwbsMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdcprojectwbsEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdcprojectwbs + * @author WWW + */ +@Mapper +@Repository +public interface MdcprojectwbsMapper extends BasicMapper<MdcprojectwbsEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdcsingleprojectMapper.java b/src/main/java/com/lf/server/mapper/md/MdcsingleprojectMapper.java new file mode 100644 index 0000000..13a4c92 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdcsingleprojectMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdcsingleprojectEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdcsingleproject + * @author WWW + */ +@Mapper +@Repository +public interface MdcsingleprojectMapper extends BasicMapper<MdcsingleprojectEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdgdcgMapper.java b/src/main/java/com/lf/server/mapper/md/MdgdcgMapper.java new file mode 100644 index 0000000..5d3d4b1 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdgdcgMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdgdcgEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * 绠¢亾鎴愭灉 + * @author WWW + */ +@Mapper +@Repository +public interface MdgdcgMapper extends BasicMapper<MdgdcgEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdggeologicalhazardcontroldesigndocumentMapper.java b/src/main/java/com/lf/server/mapper/md/MdggeologicalhazardcontroldesigndocumentMapper.java new file mode 100644 index 0000000..999dba5 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdggeologicalhazardcontroldesigndocumentMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdggeologicalhazardcontroldesigndocumentEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdggeologicalhazardcontroldesigndocument + * @author WWW + */ +@Mapper +@Repository +public interface MdggeologicalhazardcontroldesigndocumentMapper extends BasicMapper<MdggeologicalhazardcontroldesigndocumentEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdggeologicalhazardmonitoringdesigndocumentMapper.java b/src/main/java/com/lf/server/mapper/md/MdggeologicalhazardmonitoringdesigndocumentMapper.java new file mode 100644 index 0000000..c0a7b12 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdggeologicalhazardmonitoringdesigndocumentMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdggeologicalhazardmonitoringdesigndocumentEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdggeologicalhazardmonitoringdesigndocument + * @author WWW + */ +@Mapper +@Repository +public interface MdggeologicalhazardmonitoringdesigndocumentMapper extends BasicMapper<MdggeologicalhazardmonitoringdesigndocumentEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdggeologicalhazardsitephotosMapper.java b/src/main/java/com/lf/server/mapper/md/MdggeologicalhazardsitephotosMapper.java new file mode 100644 index 0000000..567bf78 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdggeologicalhazardsitephotosMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdggeologicalhazardsitephotosEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdggeologicalhazardsitephotos + * @author WWW + */ +@Mapper +@Repository +public interface MdggeologicalhazardsitephotosMapper extends BasicMapper<MdggeologicalhazardsitephotosEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/Mdggeologichazard3dmodelMapper.java b/src/main/java/com/lf/server/mapper/md/Mdggeologichazard3dmodelMapper.java new file mode 100644 index 0000000..664d0d0 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/Mdggeologichazard3dmodelMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.Mdggeologichazard3dmodelEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdggeologichazard3dmodel + * @author WWW + */ +@Mapper +@Repository +public interface Mdggeologichazard3dmodelMapper extends BasicMapper<Mdggeologichazard3dmodelEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdggeologichazardassessmentdocumentMapper.java b/src/main/java/com/lf/server/mapper/md/MdggeologichazardassessmentdocumentMapper.java new file mode 100644 index 0000000..9f8954b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdggeologichazardassessmentdocumentMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdggeologichazardassessmentdocumentEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdggeologichazardassessmentdocument + * @author WWW + */ +@Mapper +@Repository +public interface MdggeologichazardassessmentdocumentMapper extends BasicMapper<MdggeologichazardassessmentdocumentEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdggeologichazardcalculationmodelMapper.java b/src/main/java/com/lf/server/mapper/md/MdggeologichazardcalculationmodelMapper.java new file mode 100644 index 0000000..170c3b9 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdggeologichazardcalculationmodelMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdggeologichazardcalculationmodelEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdggeologichazardcalculationmodel + * @author WWW + */ +@Mapper +@Repository +public interface MdggeologichazardcalculationmodelMapper extends BasicMapper<MdggeologichazardcalculationmodelEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdggeologichazardinformationMapper.java b/src/main/java/com/lf/server/mapper/md/MdggeologichazardinformationMapper.java new file mode 100644 index 0000000..844974d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdggeologichazardinformationMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdggeologichazardinformationEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdggeologichazardinformation + * @author WWW + */ +@Mapper +@Repository +public interface MdggeologichazardinformationMapper extends BasicMapper<MdggeologichazardinformationEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdggeologichazardpointMapper.java b/src/main/java/com/lf/server/mapper/md/MdggeologichazardpointMapper.java new file mode 100644 index 0000000..b428507 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdggeologichazardpointMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdggeologichazardpointEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdggeologichazardpoint + * @author WWW + */ +@Mapper +@Repository +public interface MdggeologichazardpointMapper extends BasicMapper<MdggeologichazardpointEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdgpacgeologichazardMapper.java b/src/main/java/com/lf/server/mapper/md/MdgpacgeologichazardMapper.java new file mode 100644 index 0000000..8436fb3 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdgpacgeologichazardMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdgpacgeologichazardEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdgpacgeologichazard + * @author WWW + */ +@Mapper +@Repository +public interface MdgpacgeologichazardMapper extends BasicMapper<MdgpacgeologichazardEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdgtypicalgeologicalhazardmanagementcasesMapper.java b/src/main/java/com/lf/server/mapper/md/MdgtypicalgeologicalhazardmanagementcasesMapper.java new file mode 100644 index 0000000..712cc47 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdgtypicalgeologicalhazardmanagementcasesMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdgtypicalgeologicalhazardmanagementcasesEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdgtypicalgeologicalhazardmanagementcases + * @author WWW + */ +@Mapper +@Repository +public interface MdgtypicalgeologicalhazardmanagementcasesMapper extends BasicMapper<MdgtypicalgeologicalhazardmanagementcasesEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdmdemMapper.java b/src/main/java/com/lf/server/mapper/md/MdmdemMapper.java new file mode 100644 index 0000000..0ca500c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdmdemMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdmdemEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdmdem + * @author WWW + */ +@Mapper +@Repository +public interface MdmdemMapper extends GeomBaseMapper<MdmdemEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdmdlgMapper.java b/src/main/java/com/lf/server/mapper/md/MdmdlgMapper.java new file mode 100644 index 0000000..2110f5b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdmdlgMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdmdlgEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdmdlg + * @author WWW + */ +@Mapper +@Repository +public interface MdmdlgMapper extends GeomBaseMapper<MdmdlgEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdmdomMapper.java b/src/main/java/com/lf/server/mapper/md/MdmdomMapper.java new file mode 100644 index 0000000..dbe99c8 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdmdomMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdmdomEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdmdom + * @author WWW + */ +@Mapper +@Repository +public interface MdmdomMapper extends GeomBaseMapper<MdmdomEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdmdrgMapper.java b/src/main/java/com/lf/server/mapper/md/MdmdrgMapper.java new file mode 100644 index 0000000..decc245 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdmdrgMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdmdrgEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdmdrg + * @author WWW + */ +@Mapper +@Repository +public interface MdmdrgMapper extends GeomBaseMapper<MdmdrgEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdminsarMapper.java b/src/main/java/com/lf/server/mapper/md/MdminsarMapper.java new file mode 100644 index 0000000..a076b19 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdminsarMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdminsarEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdminsar + * @author WWW + */ +@Mapper +@Repository +public interface MdminsarMapper extends BasicMapper<MdminsarEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdmobliquephotographymodelMapper.java b/src/main/java/com/lf/server/mapper/md/MdmobliquephotographymodelMapper.java new file mode 100644 index 0000000..2121be5 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdmobliquephotographymodelMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdmobliquephotographymodelEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdmobliquephotographymodel + * @author WWW + */ +@Mapper +@Repository +public interface MdmobliquephotographymodelMapper extends BasicMapper<MdmobliquephotographymodelEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdmpointcloudMapper.java b/src/main/java/com/lf/server/mapper/md/MdmpointcloudMapper.java new file mode 100644 index 0000000..335e681 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdmpointcloudMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdmpointcloudEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdmpointcloud + * @author WWW + */ +@Mapper +@Repository +public interface MdmpointcloudMapper extends BasicMapper<MdmpointcloudEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdmprofessionaldesignmodelMapper.java b/src/main/java/com/lf/server/mapper/md/MdmprofessionaldesignmodelMapper.java new file mode 100644 index 0000000..bbc5cef --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdmprofessionaldesignmodelMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdmprofessionaldesignmodelEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdmprofessionaldesignmodel + * @author WWW + */ +@Mapper +@Repository +public interface MdmprofessionaldesignmodelMapper extends BasicMapper<MdmprofessionaldesignmodelEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdmqualityinspectionreportMapper.java b/src/main/java/com/lf/server/mapper/md/MdmqualityinspectionreportMapper.java new file mode 100644 index 0000000..93f45fb --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdmqualityinspectionreportMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdmqualityinspectionreportEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdmqualityinspectionreport + * @author WWW + */ +@Mapper +@Repository +public interface MdmqualityinspectionreportMapper extends BasicMapper<MdmqualityinspectionreportEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdmsurfacedeformationanalysisreportMapper.java b/src/main/java/com/lf/server/mapper/md/MdmsurfacedeformationanalysisreportMapper.java new file mode 100644 index 0000000..6f55de2 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdmsurfacedeformationanalysisreportMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdmsurfacedeformationanalysisreportEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdmsurfacedeformationanalysisreport + * @author WWW + */ +@Mapper +@Repository +public interface MdmsurfacedeformationanalysisreportMapper extends BasicMapper<MdmsurfacedeformationanalysisreportEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdmtechnicaldesigndocumentMapper.java b/src/main/java/com/lf/server/mapper/md/MdmtechnicaldesigndocumentMapper.java new file mode 100644 index 0000000..6f4a59a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdmtechnicaldesigndocumentMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdmtechnicaldesigndocumentEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdmtechnicaldesigndocument + * @author WWW + */ +@Mapper +@Repository +public interface MdmtechnicaldesigndocumentMapper extends BasicMapper<MdmtechnicaldesigndocumentEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdmtechnicalsummaryreportMapper.java b/src/main/java/com/lf/server/mapper/md/MdmtechnicalsummaryreportMapper.java new file mode 100644 index 0000000..eca2b7c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdmtechnicalsummaryreportMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdmtechnicalsummaryreportEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdmtechnicalsummaryreport + * @author WWW + */ +@Mapper +@Repository +public interface MdmtechnicalsummaryreportMapper extends BasicMapper<MdmtechnicalsummaryreportEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdmterrainmodelMapper.java b/src/main/java/com/lf/server/mapper/md/MdmterrainmodelMapper.java new file mode 100644 index 0000000..46c5b32 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdmterrainmodelMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdmterrainmodelEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdmterrainmodel + * @author WWW + */ +@Mapper +@Repository +public interface MdmterrainmodelMapper extends GeomBaseMapper<MdmterrainmodelEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdsboreholeMapper.java b/src/main/java/com/lf/server/mapper/md/MdsboreholeMapper.java new file mode 100644 index 0000000..46755a8 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdsboreholeMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdsboreholeEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdsborehole + * @author WWW + */ +@Mapper +@Repository +public interface MdsboreholeMapper extends BasicMapper<MdsboreholeEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/Mdsgeological3dmodelMapper.java b/src/main/java/com/lf/server/mapper/md/Mdsgeological3dmodelMapper.java new file mode 100644 index 0000000..98201dc --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/Mdsgeological3dmodelMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.Mdsgeological3dmodelEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdsgeological3dmodel + * @author WWW + */ +@Mapper +@Repository +public interface Mdsgeological3dmodelMapper extends BasicMapper<Mdsgeological3dmodelEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdsgeotechnicalinvestigationreportMapper.java b/src/main/java/com/lf/server/mapper/md/MdsgeotechnicalinvestigationreportMapper.java new file mode 100644 index 0000000..34726d9 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdsgeotechnicalinvestigationreportMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdsgeotechnicalinvestigationreportEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdsgeotechnicalinvestigationreport + * @author WWW + */ +@Mapper +@Repository +public interface MdsgeotechnicalinvestigationreportMapper extends BasicMapper<MdsgeotechnicalinvestigationreportEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdsholecolumndiagramMapper.java b/src/main/java/com/lf/server/mapper/md/MdsholecolumndiagramMapper.java new file mode 100644 index 0000000..3777e81 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdsholecolumndiagramMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdsholecolumndiagramEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdsholecolumndiagram + * @author WWW + */ +@Mapper +@Repository +public interface MdsholecolumndiagramMapper extends BasicMapper<MdsholecolumndiagramEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdshydrogeologicalinformationMapper.java b/src/main/java/com/lf/server/mapper/md/MdshydrogeologicalinformationMapper.java new file mode 100644 index 0000000..bedfe12 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdshydrogeologicalinformationMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdshydrogeologicalinformationEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdshydrogeologicalinformation + * @author WWW + */ +@Mapper +@Repository +public interface MdshydrogeologicalinformationMapper extends BasicMapper<MdshydrogeologicalinformationEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdsmeteorologicalinformationMapper.java b/src/main/java/com/lf/server/mapper/md/MdsmeteorologicalinformationMapper.java new file mode 100644 index 0000000..ea17082 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdsmeteorologicalinformationMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdsmeteorologicalinformationEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdsmeteorologicalinformation + * @author WWW + */ +@Mapper +@Repository +public interface MdsmeteorologicalinformationMapper extends BasicMapper<MdsmeteorologicalinformationEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdsprojectevaluationreportMapper.java b/src/main/java/com/lf/server/mapper/md/MdsprojectevaluationreportMapper.java new file mode 100644 index 0000000..027563d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdsprojectevaluationreportMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdsprojectevaluationreportEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdsprojectevaluationreport + * @author WWW + */ +@Mapper +@Repository +public interface MdsprojectevaluationreportMapper extends BasicMapper<MdsprojectevaluationreportEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdsprojectsummaryreportMapper.java b/src/main/java/com/lf/server/mapper/md/MdsprojectsummaryreportMapper.java new file mode 100644 index 0000000..6699b33 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdsprojectsummaryreportMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdsprojectsummaryreportEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdsprojectsummaryreport + * @author WWW + */ +@Mapper +@Repository +public interface MdsprojectsummaryreportMapper extends BasicMapper<MdsprojectsummaryreportEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdsregionalgeologicalinformationMapper.java b/src/main/java/com/lf/server/mapper/md/MdsregionalgeologicalinformationMapper.java new file mode 100644 index 0000000..ce64a22 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdsregionalgeologicalinformationMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdsregionalgeologicalinformationEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdsregionalgeologicalinformation + * @author WWW + */ +@Mapper +@Repository +public interface MdsregionalgeologicalinformationMapper extends BasicMapper<MdsregionalgeologicalinformationEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdsstandardfrozendepthlineofseasonalfrozensoilMapper.java b/src/main/java/com/lf/server/mapper/md/MdsstandardfrozendepthlineofseasonalfrozensoilMapper.java new file mode 100644 index 0000000..7518425 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdsstandardfrozendepthlineofseasonalfrozensoilMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdsstandardfrozendepthlineofseasonalfrozensoilEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdsstandardfrozendepthlineofseasonalfrozensoil + * @author WWW + */ +@Mapper +@Repository +public interface MdsstandardfrozendepthlineofseasonalfrozensoilMapper extends BasicMapper<MdsstandardfrozendepthlineofseasonalfrozensoilEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdssurveydatabaseMapper.java b/src/main/java/com/lf/server/mapper/md/MdssurveydatabaseMapper.java new file mode 100644 index 0000000..98a2b45 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdssurveydatabaseMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdssurveydatabaseEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdssurveydatabase + * @author WWW + */ +@Mapper +@Repository +public interface MdssurveydatabaseMapper extends BasicMapper<MdssurveydatabaseEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MduasbuiltdrawingofundergroundworksMapper.java b/src/main/java/com/lf/server/mapper/md/MduasbuiltdrawingofundergroundworksMapper.java new file mode 100644 index 0000000..7355d7c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MduasbuiltdrawingofundergroundworksMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MduasbuiltdrawingofundergroundworksEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mduasbuiltdrawingofundergroundworks + * @author WWW + */ +@Mapper +@Repository +public interface MduasbuiltdrawingofundergroundworksMapper extends BasicMapper<MduasbuiltdrawingofundergroundworksEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/Mducaverndesign3dmodelMapper.java b/src/main/java/com/lf/server/mapper/md/Mducaverndesign3dmodelMapper.java new file mode 100644 index 0000000..4c4226a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/Mducaverndesign3dmodelMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.Mducaverndesign3dmodelEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mducaverndesign3dmodel + * @author WWW + */ +@Mapper +@Repository +public interface Mducaverndesign3dmodelMapper extends BasicMapper<Mducaverndesign3dmodelEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/Mducaverngeological3dmodelMapper.java b/src/main/java/com/lf/server/mapper/md/Mducaverngeological3dmodelMapper.java new file mode 100644 index 0000000..ad2df9c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/Mducaverngeological3dmodelMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.Mducaverngeological3dmodelEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mducaverngeological3dmodel + * @author WWW + */ +@Mapper +@Repository +public interface Mducaverngeological3dmodelMapper extends BasicMapper<Mducaverngeological3dmodelEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdudynamicjointsurveysheetMapper.java b/src/main/java/com/lf/server/mapper/md/MdudynamicjointsurveysheetMapper.java new file mode 100644 index 0000000..f7f1417 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdudynamicjointsurveysheetMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdudynamicjointsurveysheetEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdudynamicjointsurveysheet + * @author WWW + */ +@Mapper +@Repository +public interface MdudynamicjointsurveysheetMapper extends BasicMapper<MdudynamicjointsurveysheetEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdugeneralreportonundergroundengineeringdesignMapper.java b/src/main/java/com/lf/server/mapper/md/MdugeneralreportonundergroundengineeringdesignMapper.java new file mode 100644 index 0000000..ee6b32c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdugeneralreportonundergroundengineeringdesignMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdugeneralreportonundergroundengineeringdesignEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdugeneralreportonundergroundengineeringdesign + * @author WWW + */ +@Mapper +@Repository +public interface MdugeneralreportonundergroundengineeringdesignMapper extends BasicMapper<MdugeneralreportonundergroundengineeringdesignEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdugeologicalsketchmapMapper.java b/src/main/java/com/lf/server/mapper/md/MdugeologicalsketchmapMapper.java new file mode 100644 index 0000000..fadaff4 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdugeologicalsketchmapMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdugeologicalsketchmapEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdugeologicalsketchmap + * @author WWW + */ +@Mapper +@Repository +public interface MdugeologicalsketchmapMapper extends BasicMapper<MdugeologicalsketchmapEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MduhydrologicalmonitoringMapper.java b/src/main/java/com/lf/server/mapper/md/MduhydrologicalmonitoringMapper.java new file mode 100644 index 0000000..da25cde --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MduhydrologicalmonitoringMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MduhydrologicalmonitoringEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mduhydrologicalmonitoring + * @author WWW + */ +@Mapper +@Repository +public interface MduhydrologicalmonitoringMapper extends BasicMapper<MduhydrologicalmonitoringEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdupreventionandcontroldiagramofconnectingroadwayMapper.java b/src/main/java/com/lf/server/mapper/md/MdupreventionandcontroldiagramofconnectingroadwayMapper.java new file mode 100644 index 0000000..b9af155 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdupreventionandcontroldiagramofconnectingroadwayMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdupreventionandcontroldiagramofconnectingroadwayEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdupreventionandcontroldiagramofconnectingroadway + * @author WWW + */ +@Mapper +@Repository +public interface MdupreventionandcontroldiagramofconnectingroadwayMapper extends BasicMapper<MdupreventionandcontroldiagramofconnectingroadwayEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdupreventionandcontroldiagramofconstructionroadwayMapper.java b/src/main/java/com/lf/server/mapper/md/MdupreventionandcontroldiagramofconstructionroadwayMapper.java new file mode 100644 index 0000000..9cb27c3 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdupreventionandcontroldiagramofconstructionroadwayMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdupreventionandcontroldiagramofconstructionroadwayEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdupreventionandcontroldiagramofconstructionroadway + * @author WWW + */ +@Mapper +@Repository +public interface MdupreventionandcontroldiagramofconstructionroadwayMapper extends BasicMapper<MdupreventionandcontroldiagramofconstructionroadwayEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdupreventionandcontroldiagramofoilstoragecavernMapper.java b/src/main/java/com/lf/server/mapper/md/MdupreventionandcontroldiagramofoilstoragecavernMapper.java new file mode 100644 index 0000000..98a4e32 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdupreventionandcontroldiagramofoilstoragecavernMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdupreventionandcontroldiagramofoilstoragecavernEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdupreventionandcontroldiagramofoilstoragecavern + * @author WWW + */ +@Mapper +@Repository +public interface MdupreventionandcontroldiagramofoilstoragecavernMapper extends BasicMapper<MdupreventionandcontroldiagramofoilstoragecavernEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdupreventiondiagramofsealingplugMapper.java b/src/main/java/com/lf/server/mapper/md/MdupreventiondiagramofsealingplugMapper.java new file mode 100644 index 0000000..c89b48a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdupreventiondiagramofsealingplugMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdupreventiondiagramofsealingplugEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdupreventiondiagramofsealingplug + * @author WWW + */ +@Mapper +@Repository +public interface MdupreventiondiagramofsealingplugMapper extends BasicMapper<MdupreventiondiagramofsealingplugEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MduqvalueconfirmationsheetMapper.java b/src/main/java/com/lf/server/mapper/md/MduqvalueconfirmationsheetMapper.java new file mode 100644 index 0000000..be95a0f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MduqvalueconfirmationsheetMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MduqvalueconfirmationsheetEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mduqvalueconfirmationsheet + * @author WWW + */ +@Mapper +@Repository +public interface MduqvalueconfirmationsheetMapper extends BasicMapper<MduqvalueconfirmationsheetEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MduseepagecalculationmodelMapper.java b/src/main/java/com/lf/server/mapper/md/MduseepagecalculationmodelMapper.java new file mode 100644 index 0000000..36b2213 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MduseepagecalculationmodelMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MduseepagecalculationmodelEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mduseepagecalculationmodel + * @author WWW + */ +@Mapper +@Repository +public interface MduseepagecalculationmodelMapper extends BasicMapper<MduseepagecalculationmodelEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdushaftpreventionandcontroldiagramMapper.java b/src/main/java/com/lf/server/mapper/md/MdushaftpreventionandcontroldiagramMapper.java new file mode 100644 index 0000000..d202ad8 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdushaftpreventionandcontroldiagramMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdushaftpreventionandcontroldiagramEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdushaftpreventionandcontroldiagram + * @author WWW + */ +@Mapper +@Repository +public interface MdushaftpreventionandcontroldiagramMapper extends BasicMapper<MdushaftpreventionandcontroldiagramEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MduspecialdesignreportMapper.java b/src/main/java/com/lf/server/mapper/md/MduspecialdesignreportMapper.java new file mode 100644 index 0000000..2554ba6 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MduspecialdesignreportMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MduspecialdesignreportEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mduspecialdesignreport + * @author WWW + */ +@Mapper +@Repository +public interface MduspecialdesignreportMapper extends BasicMapper<MduspecialdesignreportEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MduspecialevaluationreportMapper.java b/src/main/java/com/lf/server/mapper/md/MduspecialevaluationreportMapper.java new file mode 100644 index 0000000..b955538 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MduspecialevaluationreportMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MduspecialevaluationreportEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mduspecialevaluationreport + * @author WWW + */ +@Mapper +@Repository +public interface MduspecialevaluationreportMapper extends BasicMapper<MduspecialevaluationreportEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdustabilitycalculationmodelMapper.java b/src/main/java/com/lf/server/mapper/md/MdustabilitycalculationmodelMapper.java new file mode 100644 index 0000000..c92ca5e --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdustabilitycalculationmodelMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdustabilitycalculationmodelEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdustabilitycalculationmodel + * @author WWW + */ +@Mapper +@Repository +public interface MdustabilitycalculationmodelMapper extends BasicMapper<MdustabilitycalculationmodelEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdustabilitymonitoringchartMapper.java b/src/main/java/com/lf/server/mapper/md/MdustabilitymonitoringchartMapper.java new file mode 100644 index 0000000..b98ece6 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdustabilitymonitoringchartMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdustabilitymonitoringchartEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdustabilitymonitoringchart + * @author WWW + */ +@Mapper +@Repository +public interface MdustabilitymonitoringchartMapper extends BasicMapper<MdustabilitymonitoringchartEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdutechnicalsummaryreportMapper.java b/src/main/java/com/lf/server/mapper/md/MdutechnicalsummaryreportMapper.java new file mode 100644 index 0000000..8ffdcfb --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdutechnicalsummaryreportMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdutechnicalsummaryreportEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdutechnicalsummaryreport + * @author WWW + */ +@Mapper +@Repository +public interface MdutechnicalsummaryreportMapper extends BasicMapper<MdutechnicalsummaryreportEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MduundergroundengineeringplanMapper.java b/src/main/java/com/lf/server/mapper/md/MduundergroundengineeringplanMapper.java new file mode 100644 index 0000000..2409d52 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MduundergroundengineeringplanMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MduundergroundengineeringplanEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mduundergroundengineeringplan + * @author WWW + */ +@Mapper +@Repository +public interface MduundergroundengineeringplanMapper extends BasicMapper<MduundergroundengineeringplanEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MduwatercurtainroadwaypreventiondiagramMapper.java b/src/main/java/com/lf/server/mapper/md/MduwatercurtainroadwaypreventiondiagramMapper.java new file mode 100644 index 0000000..aabbf8f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MduwatercurtainroadwaypreventiondiagramMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MduwatercurtainroadwaypreventiondiagramEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mduwatercurtainroadwaypreventiondiagram + * @author WWW + */ +@Mapper +@Repository +public interface MduwatercurtainroadwaypreventiondiagramMapper extends BasicMapper<MduwatercurtainroadwaypreventiondiagramEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MduwatersealmonitoringdiagramMapper.java b/src/main/java/com/lf/server/mapper/md/MduwatersealmonitoringdiagramMapper.java new file mode 100644 index 0000000..3ffd406 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MduwatersealmonitoringdiagramMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MduwatersealmonitoringdiagramEntity; +import com.lf.server.mapper.all.BasicMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mduwatersealmonitoringdiagram + * @author WWW + */ +@Mapper +@Repository +public interface MduwatersealmonitoringdiagramMapper extends BasicMapper<MduwatersealmonitoringdiagramEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/md/MdzxcgMapper.java b/src/main/java/com/lf/server/mapper/md/MdzxcgMapper.java new file mode 100644 index 0000000..b775400 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/md/MdzxcgMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.md; + +import com.lf.server.entity.md.MdzxcgEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Mdzxcg + * @author WWW + */ +@Mapper +@Repository +public interface MdzxcgMapper extends GeomBaseMapper<MdzxcgEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/show/ApplyMapper.java b/src/main/java/com/lf/server/mapper/show/ApplyMapper.java new file mode 100644 index 0000000..55eeaa3 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/show/ApplyMapper.java @@ -0,0 +1,168 @@ +package com.lf.server.mapper.show; + +import com.lf.server.entity.show.ApplyEntity; +import com.lf.server.entity.show.FlowEntity; +import com.lf.server.entity.sys.UserEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.sql.Timestamp; +import java.util.List; + +/** + * 鏁版嵁鐢宠 + * @author WWW + */ +@Mapper +@Repository +public interface ApplyMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param uname 鐢ㄦ埛鍚� + * @param status 瀹℃牳鐘舵�� + * @param start 寮�濮嬫椂闂� + * @param end 缁撴潫鏃堕棿 + * @return 璁板綍鏁� + */ + public Integer selectCount(String uname, Integer status, Timestamp start, Timestamp end); + + /** + * 鍒嗛〉鏌ヨ + * + * @param userid 鐢ㄦ埛ID + * @param uname 鐢ㄦ埛鍚� + * @param status 瀹℃牳鐘舵�� + * @param start 寮�濮嬫椂闂� + * @param end 缁撴潫鏃堕棿 + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<ApplyEntity> selectByPage(Integer userid, String uname, Integer status, Timestamp start, Timestamp end, Integer limit, Integer offset); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<ApplyEntity> selectAll(); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public ApplyEntity selectById(int id); + + /** + * 鏍规嵁鍗曚綅缂栫爜鏌ヨ鐢ㄦ埛 + * + * @param depcode 鍗曚綅缂栫爜 + * @return 鐢ㄦ埛 + */ + public UserEntity selectUserByDepcode(String depcode); + + /** + * 鏌ヨ寰呭鏍告暟 + * + * @param userid 鐢ㄦ埛ID + * @return 寰呭鏍告暟 + */ + public Integer selectSubmits(Integer userid); + + /** + * 鏌ヨ娴佺▼ + * + * @param applyid 鏁版嵁鐢宠ID + * @return 鏁版嵁娴佺▼ + */ + public List<FlowEntity> selectFlows(Integer applyid); + + /** + * 鎻掑叆涓�鏉� + * + * @param entity + * @return + */ + public Integer insert(ApplyEntity entity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<ApplyEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer delete(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deletes(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param entity + * @return + */ + public Integer update(ApplyEntity entity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<ApplyEntity> list); + + /** + * 搴熷純鐢宠 + * + * @param userid 鐢ㄦ埛ID + * @param id 鏁版嵁鐢宠ID + * @return 琛屾暟 + */ + public Integer updateForDiscard(Integer userid, Integer id); + + /** + * 閲嶆柊鎻愪氦 + * + * @param userid 鐢ㄦ埛ID + * @param id 鏁版嵁鐢宠ID + * @return 琛屾暟 + */ + public Integer updateForResubmit(Integer userid, Integer id); + + /** + * 鎻愪氦娴佺▼ + * + * @param userid 鐢ㄦ埛ID + * @param applyid 鐢宠娴佺▼ID + * @param flowId 鐢宠娴佺▼ID + * @return 琛屾暟 + */ + public Integer updateForSubmit(Integer userid, Integer applyid, Integer flowId); + + /** + * 鎵撳洖娴佺▼ + * + * @param userid 鐢ㄦ埛ID + * @param applyid 鐢宠娴佺▼ID + * @param flowId 鐢宠娴佺▼ID + * @return 琛屾暟 + */ + public Integer updateForReject(Integer userid, Integer applyid, Integer flowId); +} diff --git a/src/main/java/com/lf/server/mapper/show/FlowMapper.java b/src/main/java/com/lf/server/mapper/show/FlowMapper.java new file mode 100644 index 0000000..8d02b4b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/show/FlowMapper.java @@ -0,0 +1,96 @@ +package com.lf.server.mapper.show; + +import com.lf.server.entity.show.FlowEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 鐢宠娴佺▼ + * @author WWW + */ +@Mapper +@Repository +public interface FlowMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param userid 鐢ㄦ埛ID + * @return 璁板綍鏁� + */ + public Integer selectCount(Integer userid); + + /** + * 鍒嗛〉鏌ヨ + * + * @param userid 鐢ㄦ埛ID + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<FlowEntity> selectByPage(Integer userid, Integer limit, Integer offset); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<FlowEntity> selectAll(); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public FlowEntity selectById(int id); + + /** + * 鎻掑叆涓�鏉� + * + * @param entity + * @return + */ + public Integer insert(FlowEntity entity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<FlowEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer delete(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deletes(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param entity + * @return + */ + public Integer update(FlowEntity entity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<FlowEntity> list); +} diff --git a/src/main/java/com/lf/server/mapper/show/MarkMapper.java b/src/main/java/com/lf/server/mapper/show/MarkMapper.java new file mode 100644 index 0000000..f5ad5c8 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/show/MarkMapper.java @@ -0,0 +1,96 @@ +package com.lf.server.mapper.show; + +import com.lf.server.entity.show.MarkEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 鏍囩粯 + * @author WWW + */ +@Mapper +@Repository +public interface MarkMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param uid 鐢ㄦ埛ID + * @return 璁板綍鏁� + */ + public Integer selectCount(Integer uid); + + /** + * 鍒嗛〉鏌ヨ + * + * @param uid 鐢ㄦ埛ID + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<MarkEntity> selectByPage(Integer uid, Integer limit, Integer offset); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<MarkEntity> selectAll(); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public MarkEntity selectById(int id); + + /** + * 鎻掑叆涓�鏉� + * + * @param entity + * @return + */ + public Integer insert(MarkEntity entity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<MarkEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer delete(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deletes(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param entity + * @return + */ + public Integer update(MarkEntity entity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<MarkEntity> list); +} diff --git a/src/main/java/com/lf/server/mapper/show/ModelMapper.java b/src/main/java/com/lf/server/mapper/show/ModelMapper.java new file mode 100644 index 0000000..5bb801e --- /dev/null +++ b/src/main/java/com/lf/server/mapper/show/ModelMapper.java @@ -0,0 +1,105 @@ +package com.lf.server.mapper.show; + +import com.lf.server.entity.show.ModelEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 妯″瀷 + * @author WWW + */ +@Mapper +@Repository +public interface ModelMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param layerid 鍥惧眰ID + * @return 璁板綍鏁� + */ + public Integer selectCount(Integer layerid); + + /** + * 鍒嗛〉鏌ヨ + * + * @param layerid 鍥惧眰ID + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<ModelEntity> selectByPage(Integer layerid, Integer limit, Integer offset); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<ModelEntity> selectAll(); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public ModelEntity selectById(int id); + + /** + * 鏍规嵁Guid鏌ヨ妯″瀷 + * + * @param layerid + * @param modelid + * @return + */ + public ModelEntity selectModelByGuid(int layerid, String modelid); + + /** + * 鎻掑叆涓�鏉� + * + * @param entity + * @return + */ + public Integer insert(ModelEntity entity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<ModelEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer delete(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deletes(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param entity + * @return + */ + public Integer update(ModelEntity entity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<ModelEntity> list); +} diff --git a/src/main/java/com/lf/server/mapper/show/OneMapMapper.java b/src/main/java/com/lf/server/mapper/show/OneMapMapper.java new file mode 100644 index 0000000..f800310 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/show/OneMapMapper.java @@ -0,0 +1,229 @@ +package com.lf.server.mapper.show; + +import com.lf.server.entity.bs.MpipelineEntity; +import com.lf.server.entity.show.OneMapEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 绠$綉涓�寮犲浘Mapper + * + * @author 閭㈤敠鍙� + */ +@Mapper +@Repository +public interface OneMapMapper { + /** + * 椤圭洰绫诲埆conut + * + * @return {@link List}<{@link String}> + */ + public List<String> projectCategoryCount(); + + /** + * 椤圭洰浣嶇疆conut + * + * @return {@link List}<{@link String}> + */ + public List<String> projectLocationCount(); + + /** + * 鍥藉缁村害conut + * + * @return {@link List}<{@link String}> + */ + public List<String> countryDimensionCount(); + + /** + * 鐪佺淮conut + * + * @return {@link List}<{@link String}> + */ + public List<String> provinceDimensionCount(); + + /** + * 鍏ㄥ浗缁村害-鎸夌収椤硅嚜绫诲瀷缁熻涓嶅悓椤圭洰涓暟 + * + * @return {@link List}<{@link String}> + */ + public List<String> countProjectTypeNumber(); + + /** + * 鏁版嵁瀛樺偍conut + * + * @return {@link List}<{@link String}> + */ + public List<String> dataStorageCount(); + + /** + * 缁熻鏁版嵁绫诲埆 + * + * @return {@link List}<{@link String}> + */ + public List<String> statisticalDataCategories(); + + /** + * 缁熻鏁版嵁鏈嶅姟绫诲瀷 + * + * @return {@link List}<{@link String}> + */ + public List<String> statisticalDataServiceType(); + + /** + * 鐧诲綍浜烘暟缁熻 + * + * @return {@link List}<{@link String}> + */ + public List<String> loginNumberStatistics(); + + /** + * 鏂囦欢鏍煎紡conut + * + * @return {@link List}<{@link String}> + */ + public List<String> fileFormatCount(); + + /** + * 鏁版嵁鐢宠conut + * + * @return {@link List}<{@link String}> + */ + public List<String> dataApplyCount(); + + /** + * 鏁版嵁璁块棶conut + * + * @return {@link List}<{@link String}> + */ + public List<String> dataVisitCount(); + + /** + * 涓嬭浇鏁扮粺璁� + * + * @return {@link List}<{@link String}> + */ + public List<String> countDownloads(); + + /** + * 缁熻椤圭洰鏄剧ず + * + * @return {@link List}<{@link String}> + */ + public List<String> countProjectDisplay(); + + /** + * 缁熻椤圭洰鍙傝 + * + * @param mpipelineEntity mpipeline瀹炰綋 + * @return {@link List}<{@link String}> + */ + public List<String> countProjectTour(MpipelineEntity mpipelineEntity); + + /** + * 閫夋嫨椤圭洰鍙傝鍒楄〃 + * + * @return {@link List}<{@link String}> + */ + public List<String> selectProjectTour(); + + /** + * 缁熻椤圭洰绫诲瀷 + * + * @return {@link List}<{@link String}> + */ + public List<OneMapEntity> selectProjectType1(); + + /** + * 閫夋嫨椤圭洰绫诲瀷 + * + * @param endSql 鏈�缁坰ql + * @return {@link List}<{@link OneMapEntity}> + */ + public List<OneMapEntity> selectProjectTypeOne(@Param("endSql") String endSql); + + /** + * 鏌ヨ琛ㄤ俊鎭� + * + * @param tableName + * @return {@link List}<{@link String}> + */ + public List<String> queryTableInfo(@Param("tableName") String tableName); + + /** + * 璁$畻鍏ㄧ悆绠¢亾鍥� + * + * @return {@link List}<{@link String}> + */ + public List<String> countGlobalPipeMap(); + + /** + * 璁$畻鍏ㄥ浗绠¢亾鍥� + * + * @return {@link List}<{@link String}> + */ + public List<String> countNationalPipeMap(); + + /** + * 鍏ㄥ浗绠$綉鍥捐緭閫佷粙璐ㄩ暱搴� + * + * @return {@link List}<{@link String}> + */ + public List<String> countZhPipeMapLenByMed(); + + /** + * 鍏ㄥ浗绔欏満搴ф暟銆侀榾瀹ゃ�佺閬撴暟绛� + * + * @return {@link List}<{@link String}> + */ + public List<String> countZhPipeStations(); + + /** + * 鎸夐」鐩粺璁¢」鐩瓨鍌ㄩ噺 + * + * @return {@link List}<{@link String}> + */ + public List<String> countStorageByProject(); + + /** + * 閫夋嫨椤圭洰淇℃伅 + * 鏌ヨ椤圭洰淇℃伅 + * + * @param projectCode 椤圭洰缂栫爜 + * @return {@link List}<{@link String}> + */ + public List<String> selectProjectInfo(String projectCode); + + /** + * 閫夋嫨椤圭洰鏂囦欢鍒楄〃 + * + * @return {@link List}<{@link String}> + */ + public List<String> selectProjectFileList(); + + /** + * 璁$畻瀛樺偍椤圭洰 + * + * @param projectCode 椤圭洰浠g爜 + * @return {@link List}<{@link String}> + */ + public List<String> countProjectStorage(String projectCode); + + /** + * 鍗曚釜椤圭洰鏂囦欢鏁伴噺 + * + * @param projectCode 椤圭洰浠g爜 + * @return {@link List}<{@link String}> + */ + public List<String> countProjectType(String projectCode); + + /** + * 缁熻椤圭洰涓� + * + * @param projectCode 椤圭洰浠g爜 + * @return {@link List}<{@link String}> + */ + public List<String> countProjectDown(String projectCode); +} diff --git a/src/main/java/com/lf/server/mapper/show/PipelineMapper.java b/src/main/java/com/lf/server/mapper/show/PipelineMapper.java new file mode 100644 index 0000000..b3c50b4 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/show/PipelineMapper.java @@ -0,0 +1,39 @@ +package com.lf.server.mapper.show; + +import com.lf.server.entity.show.PipelineEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 绠¢亾鍒嗘瀽鏄犲皠绫� + * @author WWW + */ +@Mapper +@Repository +public interface PipelineMapper { + /** + * 鏌ヨ绠¢亾 + * + * @param name + * @return + */ + public List<PipelineEntity> selectPipelines(String name); + + /** + * 鏌ヨ绠℃ + * + * @return 绠$嚎瀹炰綋绫婚泦鍚� + */ + public List<PipelineEntity> selectSegNames(); + + /** + * 鏌ヨ绠$嚎鍒嗘瀽 + * + * @param tab 琛ㄥ悕 + * @param gid ID + * @return 绠$嚎瀹炰綋绫婚泦鍚� + */ + public List<PipelineEntity> selectPipeAnalysis(String tab, Integer gid); +} diff --git a/src/main/java/com/lf/server/mapper/si/PlpipelineaMapper.java b/src/main/java/com/lf/server/mapper/si/PlpipelineaMapper.java new file mode 100644 index 0000000..d919a99 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/si/PlpipelineaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.si; + +import com.lf.server.entity.si.PlpipelineaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Plpipelinea + * @author WWW + */ +@Mapper +@Repository +public interface PlpipelineaMapper extends GeomBaseMapper<PlpipelineaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/si/PlpipelinebMapper.java b/src/main/java/com/lf/server/mapper/si/PlpipelinebMapper.java new file mode 100644 index 0000000..09a505b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/si/PlpipelinebMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.si; + +import com.lf.server.entity.si.PlpipelinebEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Plpipelineb + * @author WWW + */ +@Mapper +@Repository +public interface PlpipelinebMapper extends GeomBaseMapper<PlpipelinebEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/si/PlpipelinedMapper.java b/src/main/java/com/lf/server/mapper/si/PlpipelinedMapper.java new file mode 100644 index 0000000..b891fc6 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/si/PlpipelinedMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.si; + +import com.lf.server.entity.si.PlpipelinedEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Plpipelined + * @author WWW + */ +@Mapper +@Repository +public interface PlpipelinedMapper extends GeomBaseMapper<PlpipelinedEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/si/PlpipelinefMapper.java b/src/main/java/com/lf/server/mapper/si/PlpipelinefMapper.java new file mode 100644 index 0000000..526958d --- /dev/null +++ b/src/main/java/com/lf/server/mapper/si/PlpipelinefMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.si; + +import com.lf.server.entity.si.PlpipelinefEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Plpipelinef + * @author WWW + */ +@Mapper +@Repository +public interface PlpipelinefMapper extends GeomBaseMapper<PlpipelinefEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/si/PlpipelinepointaMapper.java b/src/main/java/com/lf/server/mapper/si/PlpipelinepointaMapper.java new file mode 100644 index 0000000..fbf43bc --- /dev/null +++ b/src/main/java/com/lf/server/mapper/si/PlpipelinepointaMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.si; + +import com.lf.server.entity.si.PlpipelinepointaEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Plpipelinepointa + * @author WWW + */ +@Mapper +@Repository +public interface PlpipelinepointaMapper extends GeomBaseMapper<PlpipelinepointaEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/si/PlpipelinepointbMapper.java b/src/main/java/com/lf/server/mapper/si/PlpipelinepointbMapper.java new file mode 100644 index 0000000..893c7f6 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/si/PlpipelinepointbMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.si; + +import com.lf.server.entity.si.PlpipelinepointbEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Plpipelinepointb + * @author WWW + */ +@Mapper +@Repository +public interface PlpipelinepointbMapper extends GeomBaseMapper<PlpipelinepointbEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/si/PlpipelinepointdMapper.java b/src/main/java/com/lf/server/mapper/si/PlpipelinepointdMapper.java new file mode 100644 index 0000000..176faab --- /dev/null +++ b/src/main/java/com/lf/server/mapper/si/PlpipelinepointdMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.si; + +import com.lf.server.entity.si.PlpipelinepointdEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Plpipelinepointd + * @author WWW + */ +@Mapper +@Repository +public interface PlpipelinepointdMapper extends GeomBaseMapper<PlpipelinepointdEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/si/PlpipelinepointfMapper.java b/src/main/java/com/lf/server/mapper/si/PlpipelinepointfMapper.java new file mode 100644 index 0000000..a0cbe0a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/si/PlpipelinepointfMapper.java @@ -0,0 +1,15 @@ +package com.lf.server.mapper.si; + +import com.lf.server.entity.si.PlpipelinepointfEntity; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * Plpipelinepointf + * @author WWW + */ +@Mapper +@Repository +public interface PlpipelinepointfMapper extends GeomBaseMapper<PlpipelinepointfEntity> { +} diff --git a/src/main/java/com/lf/server/mapper/sys/ArgsMapper.java b/src/main/java/com/lf/server/mapper/sys/ArgsMapper.java new file mode 100644 index 0000000..9076a73 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/sys/ArgsMapper.java @@ -0,0 +1,104 @@ +package com.lf.server.mapper.sys; + +import com.lf.server.entity.sys.ArgsEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 鍙傛暟璁剧疆 + * @author WWW + */ +@Mapper +@Repository +public interface ArgsMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param name 鍚嶇О + * @return 璁板綍鏁� + */ + public Integer selectCount(String name); + + /** + * 鍒嗛〉鏌ヨ + * + * @param name 鍚嶇О + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<ArgsEntity> selectByPage(String name, Integer limit, Integer offset); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<ArgsEntity> selectAll(); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public ArgsEntity selectById(int id); + + /** + * 鎻掑叆涓�鏉� + * + * @param entity + * @return + */ + public Integer insert(ArgsEntity entity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<ArgsEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer delete(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deletes(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param entity + * @return + */ + public Integer update(ArgsEntity entity); + + /** + * 鏇存柊鏁板�� + * + * @param entity + * @return + */ + public Integer updateForValue(ArgsEntity entity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<ArgsEntity> list); +} diff --git a/src/main/java/com/lf/server/mapper/sys/AttachMapper.java b/src/main/java/com/lf/server/mapper/sys/AttachMapper.java new file mode 100644 index 0000000..1dd4808 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/sys/AttachMapper.java @@ -0,0 +1,168 @@ +package com.lf.server.mapper.sys; + +import com.lf.server.entity.data.FmeLogEntity; +import com.lf.server.entity.sys.AttachEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 闄勪欢 + * @author WWW + */ +@Mapper +@Repository +public interface AttachMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param name 鏂囦欢鍚� + * @return 璁板綍鏁� + */ + public Integer selectCount(String name); + + /** + * 鍒嗛〉鏌ヨ + * + * @param name 鏂囦欢鍚� + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<AttachEntity> selectByPage(String name, Integer limit, Integer offset); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<AttachEntity> selectAll(); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public AttachEntity selectById(int id); + + /** + * 鏍规嵁Guid鏌ヨ + * + * @param guid + * @return + */ + public AttachEntity selectByGuid(String guid); + + /** + * 鏍规嵁Guid鏁扮粍鏌ヨ + * + * @param guids + * @return + */ + public List<AttachEntity> selectByGuids(List<String> guids); + + /** + * 鏍规嵁琛ㄥ悕鍜孏UID鏌ヨ + * + * @param tab + * @param tabGuid + * @param guid + * @return + */ + public AttachEntity selectByTabAndGuid(String tab, String tabGuid, String guid); + + /** + * 鏍规嵁琛ㄥ悕鍜孏UID鏁扮粍鏌ヨ + * + * @param tab + * @param guids + * @return + */ + public List<AttachEntity> selectByTabGuids(String tab, List<String> guids); + + /** + * 鏍规嵁琛ㄥ拰GUID鏌ヨ + * + * @param tab + * @param guid + * @return + */ + public List<AttachEntity> selectByTab(String tab, String guid); + + /** + * 鎻掑叆涓�鏉� + * + * @param entity + * @return + */ + public Integer insert(AttachEntity entity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<AttachEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer delete(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deletes(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param entity + * @return + */ + public Integer update(AttachEntity entity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<AttachEntity> list); + + /** + * 鏌ヨFME鏃ュ織 + * + * @param tabs + * @return + */ + public List<FmeLogEntity> selectFmeLogs(String tabs); + + /** + * 鏇存柊FME鏃ュ織 + * + * @param id ID + * @return + */ + public Integer updateFmeLog(Integer id); + + /** + * 鏍规嵁鍏冩暟鎹悕绉版彃鍏ラ檮浠� + * + * @param tab + * @param tabGuid + * @param metaName + * @param dirid + * @return + */ + public Integer insertAttachByMeta(String tab, String tabGuid, String metaName, String dirid); +} diff --git a/src/main/java/com/lf/server/mapper/sys/AuthMapper.java b/src/main/java/com/lf/server/mapper/sys/AuthMapper.java new file mode 100644 index 0000000..f0cfc37 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/sys/AuthMapper.java @@ -0,0 +1,107 @@ +package com.lf.server.mapper.sys; + +import com.lf.server.entity.sys.AuthEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +/** + * 鏉冮檺琛� + * @author + */ + +@Mapper +@ResponseBody +public interface AuthMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param name 鍚嶇О + * @return 璁板綍鏁� + */ + public Integer selectCount(String name); + + /** + * 鍒嗛〉鏌ヨ + * + * @param name 鍚嶇О + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<AuthEntity> selectByPage(String name, Integer limit, Integer offset); + + /** + * 鏍规嵁鑿滃崟鏌ヨ璁板綍鏁� + * + * @param menuid + * @return + */ + public Integer selectCountForMenu(Integer menuid); + + /** + * 鏍规嵁鑿滃崟鍒嗛〉鏌ヨ + * + * @param menuid + * @param limit + * @param offset + * @return + */ + public List<AuthEntity> selectByPageForMenu(Integer menuid, Integer limit, Integer offset); + + /** + * 鎻掑叆涓�鏉� + * + * @param authEntity + * @return + */ + public Integer insertAuth(AuthEntity authEntity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer insertAuths(List<AuthEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer deleteAuth(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deleteAuths(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param authEntity + * @return + */ + public Integer updateAuth(AuthEntity authEntity); + + /** + * 鏌ヨ鍗曟潯鏁版嵁 + * + * @param id + * @return + */ + public AuthEntity selectAuth(int id); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<AuthEntity> selectAuthAll(); +} diff --git a/src/main/java/com/lf/server/mapper/sys/BlacklistMapper.java b/src/main/java/com/lf/server/mapper/sys/BlacklistMapper.java new file mode 100644 index 0000000..1ddcc75 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/sys/BlacklistMapper.java @@ -0,0 +1,105 @@ +package com.lf.server.mapper.sys; + +import com.lf.server.entity.sys.BlacklistEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 榛戝悕鍗� + * @author WWW + */ +@Mapper +@Repository +public interface BlacklistMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param ip IP鍦板潃 + * @param type 绫诲埆 + * @return 璁板綍鏁� + */ + public Integer selectCount(String ip, Integer type); + + /** + * 鍒嗛〉鏌ヨ + * + * @param ip IP鍦板潃 + * @param type 绫诲埆 + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<BlacklistEntity> selectByPage(String ip, Integer type, Integer limit, Integer offset); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<BlacklistEntity> selectAll(); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public BlacklistEntity selectById(int id); + + /** + * 鏌ヨIP鍒楄〃 + * @param type 绫诲埆 + * @return + */ + public List<String> selectIpList(Integer type); + + /** + * 鎻掑叆涓�鏉� + * + * @param entity + * @return + */ + public Integer insert(BlacklistEntity entity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<BlacklistEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer delete(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deletes(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param entity + * @return + */ + public Integer update(BlacklistEntity entity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<BlacklistEntity> list); +} diff --git a/src/main/java/com/lf/server/mapper/sys/DepMapper.java b/src/main/java/com/lf/server/mapper/sys/DepMapper.java new file mode 100644 index 0000000..c02ddc8 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/sys/DepMapper.java @@ -0,0 +1,97 @@ +package com.lf.server.mapper.sys; + +import com.lf.server.entity.ctrl.IdNameEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; +import com.lf.server.entity.sys.DepEntity; + +import java.util.List; + +/** + * 缁勭粐鏈烘瀯 + * @author sws + * @date 2022-09-23 + */ + +@Mapper +@Repository +public interface DepMapper { + /** + * 鎻掑叆涓�鏉� + * + * @param depEntity + * @return + */ + public Integer insertDep(DepEntity depEntity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer insertDeps(List<DepEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer deleteDep(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deleteDeps(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param depEntity + * @return + */ + public Integer updateDep(DepEntity depEntity); + + /** + * 鏌ヨ鍗曟潯鏁版嵁 + * + * @param id + * @return + */ + public DepEntity selectDep(int id); + + /** + * 鏍规嵁鍗曚綅缂栫爜鏁扮粍鏌ヨ + * + * @param codes + * @return + */ + public List<IdNameEntity> selectDepsByCodes(String[] codes); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<DepEntity> selectDepAll(); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updateDeps(List<DepEntity> list); + + /** + * 閫掑綊鏌ヨ + * + * @param name + * @return + */ + public List<DepEntity> selectDepRecursive(String name); +} diff --git a/src/main/java/com/lf/server/mapper/sys/DownlogMapper.java b/src/main/java/com/lf/server/mapper/sys/DownlogMapper.java new file mode 100644 index 0000000..c25bc9b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/sys/DownlogMapper.java @@ -0,0 +1,103 @@ +package com.lf.server.mapper.sys; + +import com.lf.server.entity.sys.DownlogEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.sql.Timestamp; +import java.util.List; + +/** + * 涓嬭浇鏃ュ織 + * @author WWW + */ +@Mapper +@Repository +public interface DownlogMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param uname + * @param type + * @param start + * @param end + * @return + */ + public Integer selectCount(String uname, Integer type, Timestamp start, Timestamp end); + + /** + * 鍒嗛〉鏌ヨ + * + * @param uname + * @param type + * @param start + * @param end + * @param limit + * @param offset + * @return + */ + public List<DownlogEntity> selectByPage(String uname, Integer type, Timestamp start, Timestamp end, Integer limit, Integer offset); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<DownlogEntity> selectAll(); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public DownlogEntity selectById(int id); + + /** + * 鎻掑叆涓�鏉� + * + * @param entity + * @return + */ + public Integer insert(DownlogEntity entity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<DownlogEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer delete(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deletes(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param entity + * @return + */ + public Integer update(DownlogEntity entity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<DownlogEntity> list); +} diff --git a/src/main/java/com/lf/server/mapper/sys/LoginMapper.java b/src/main/java/com/lf/server/mapper/sys/LoginMapper.java new file mode 100644 index 0000000..197ed25 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/sys/LoginMapper.java @@ -0,0 +1,105 @@ +package com.lf.server.mapper.sys; + +import com.lf.server.entity.sys.LoginEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.sql.Timestamp; +import java.util.List; + +/** + * 鐧诲綍鏃ュ織 + * @author sws + * @date 2022-09-28 + */ +@Mapper +@ResponseBody +public interface LoginMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param uname + * @param type + * @param start + * @param end + * @return + */ + public Integer selectCount(String uname, Integer type, Timestamp start, Timestamp end); + + /** + * 鍒嗛〉鏌ヨ + * + * @param uname + * @param type + * @param start + * @param end + * @param limit + * @param offset + * @return + */ + public List<LoginEntity> selectByPage(String uname, Integer type, Timestamp start, Timestamp end, Integer limit, Integer offset); + + /** + * 鎻掑叆涓�鏉� + * + * @param loginEntity + * @return + */ + public Integer insertLogin(LoginEntity loginEntity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer insertLogins(List<LoginEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer deleteLogin(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deleteLogins(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param loginEntity + * @return + */ + public Integer updateLogin(LoginEntity loginEntity); + + /** + * 鏌ヨ鍗曟潯鏁版嵁 + * + * @param id + * @return + */ + public LoginEntity selectLogin(int id); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<LoginEntity> selectLoginAll(); + + + /** + * 鐢ㄦ埛鐧诲綍鐘舵�� + * + * @return + */ + public List<LoginEntity> selectLoginCounts(); + +} diff --git a/src/main/java/com/lf/server/mapper/sys/MenuAuthMapper.java b/src/main/java/com/lf/server/mapper/sys/MenuAuthMapper.java new file mode 100644 index 0000000..35e8f88 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/sys/MenuAuthMapper.java @@ -0,0 +1,116 @@ +package com.lf.server.mapper.sys; + +import com.lf.server.entity.sys.MenuAuthEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 鑿滃崟-鏉冮檺 + * @author WWW + */ +@Mapper +@Repository +public interface MenuAuthMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param menuid 鑿滃崟ID + * @return 璁板綍鏁� + */ + public Integer selectCount(Integer menuid); + + /** + * 鍒嗛〉鏌ヨ + * + * @param menuid 鑿滃崟ID + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<MenuAuthEntity> selectByPage(Integer menuid, Integer limit, Integer offset); + + /** + * 鏍规嵁瑙掕壊ID+鑿滃崟ID鏌ヨ璁板綍鏁� + * + * @param roleid + * @param menuid + * @return + */ + public Integer selectCountForRole(Integer roleid, Integer menuid); + + /** + * 鏍规嵁瑙掕壊ID+鑿滃崟ID鍒嗛〉鏌ヨ + * + * @param roleid + * @param menuid + * @param limit + * @param offset + * @return + */ + public List<MenuAuthEntity> selectByPageForRole(Integer roleid, Integer menuid, Integer limit, Integer offset); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<MenuAuthEntity> selectAll(); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public MenuAuthEntity selectById(int id); + + /** + * 鎻掑叆涓�鏉� + * + * @param entity + * @return + */ + public Integer insert(MenuAuthEntity entity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<MenuAuthEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer delete(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deletes(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param entity + * @return + */ + public Integer update(MenuAuthEntity entity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<MenuAuthEntity> list); +} diff --git a/src/main/java/com/lf/server/mapper/sys/MenuMapper.java b/src/main/java/com/lf/server/mapper/sys/MenuMapper.java new file mode 100644 index 0000000..8b23314 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/sys/MenuMapper.java @@ -0,0 +1,77 @@ +package com.lf.server.mapper.sys; + +import com.lf.server.entity.sys.MenuEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 鑿滃崟 + * @author sws + * @date 2022.09.24 + */ +@Mapper +@Repository +public interface MenuMapper { + /** + * 鎻掑叆涓�鏉� + * @param menuEntity + * @return + */ + public Integer insertMenu(MenuEntity menuEntity); + + /** + * 鎻掑叆澶氭潯 + * @param list + * @return + */ + public Integer insertMenus(List<MenuEntity> list); + /** + * 鍒犻櫎涓�鏉� + * @param id + * @return + */ + public Integer deleteMenu(int id); + + /** + * 鍒犻櫎澶氭潯 + * @param ids + * @return + */ + public Integer deleteMenus(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * @param menuEntity + * @return + */ + public Integer updateMenu(MenuEntity menuEntity); + + /** + * 鏌ヨ鍗曟潯鏁版嵁 + * @param id + * @return + */ + public MenuEntity selectMenu(int id); + + /** + * 鏌ヨ鎵�鏈� + * @return + */ + public List<MenuEntity> selectMenuAll(); + + /** + * 鏇存柊澶氭潯 + * @param list + * @return + */ + public Integer updateMenus(List<MenuEntity> list); + + /** + * 閫掑綊鏌ヨ + * @param name + * @return + */ + public List<MenuEntity> selectMenuRecursive(String name); +} diff --git a/src/main/java/com/lf/server/mapper/sys/MetaDownMapper.java b/src/main/java/com/lf/server/mapper/sys/MetaDownMapper.java new file mode 100644 index 0000000..835bc2c --- /dev/null +++ b/src/main/java/com/lf/server/mapper/sys/MetaDownMapper.java @@ -0,0 +1,96 @@ +package com.lf.server.mapper.sys; + +import com.lf.server.entity.sys.MetaDownEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 鍏冩暟鎹�-涓嬭浇 + * @author WWW + */ +@Mapper +@Repository +public interface MetaDownMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param metaid 鍏冩暟鎹甀D + * @return 璁板綍鏁� + */ + public Integer selectCount(Integer metaid); + + /** + * 鍒嗛〉鏌ヨ + * + * @param metaid 鍏冩暟鎹甀D + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<MetaDownEntity> selectByPage(Integer metaid, Integer limit, Integer offset); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<MetaDownEntity> selectAll(); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public MetaDownEntity selectById(int id); + + /** + * 鎻掑叆涓�鏉� + * + * @param entity + * @return + */ + public Integer insert(MetaDownEntity entity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<MetaDownEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer delete(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deletes(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param entity + * @return + */ + public Integer update(MetaDownEntity entity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<MetaDownEntity> list); +} diff --git a/src/main/java/com/lf/server/mapper/sys/OperateMapper.java b/src/main/java/com/lf/server/mapper/sys/OperateMapper.java new file mode 100644 index 0000000..4f4db6b --- /dev/null +++ b/src/main/java/com/lf/server/mapper/sys/OperateMapper.java @@ -0,0 +1,103 @@ +package com.lf.server.mapper.sys; + +import com.lf.server.entity.sys.OperateEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.sql.Timestamp; +import java.util.List; + +/** + * 鎿嶄綔鏃ュ織 + * @author sws + * @date 2022-09-28 + */ +@Mapper +@ResponseBody +public interface OperateMapper { + /** + * 鏌ヨ璁板綍鏁� + * @param uname + * @param type + * @param start + * @param end + * @return + */ + public Integer selectCount(String uname, Integer type, Timestamp start, Timestamp end); + + /** + * 鍒嗛〉鏌ヨ + * @param uname + * @param type + * @param start + * @param end + * @param limit + * @param offset + * @return + */ + public List<OperateEntity> selectByPage(String uname, Integer type, Timestamp start, Timestamp end, Integer limit, Integer offset); + + /** + * 鎻掑叆涓�鏉� + * + * @param operateEntity + * @return + */ + public Integer insertOperate(OperateEntity operateEntity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer insertOperates(List<OperateEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer deleteOperate(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deleteOperates(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param operateEntity + * @return + */ + public Integer updateOperate(OperateEntity operateEntity); + + /** + * 鏌ヨ鍗曟潯鏁版嵁 + * + * @param id + * @return + */ + public OperateEntity selectOperate(int id); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<OperateEntity> selectOperateAll(); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<OperateEntity> operateCount(); + + +} diff --git a/src/main/java/com/lf/server/mapper/sys/ReportMapper.java b/src/main/java/com/lf/server/mapper/sys/ReportMapper.java new file mode 100644 index 0000000..3b03c0a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/sys/ReportMapper.java @@ -0,0 +1,120 @@ +package com.lf.server.mapper.sys; + +import com.lf.server.entity.ctrl.CountEntity; +import com.lf.server.entity.sys.ReportEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 鎶ュ憡妯℃澘 + * @author WWW + */ +@Mapper +@Repository +public interface ReportMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param name 鍚嶇О + * @param code 缂栫爜 + * @return 璁板綍鏁� + */ + public Integer selectCount(String name, String code); + + /** + * 鍒嗛〉鏌ヨ + * + * @param name 鍚嶇О + * @param code 缂栫爜 + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<ReportEntity> selectByPage(String name, String code, Integer limit, Integer offset); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<ReportEntity> selectAll(); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public ReportEntity selectById(int id); + + /** + * 鎻掑叆涓�鏉� + * + * @param entity + * @return + */ + public Integer insert(ReportEntity entity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<ReportEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer delete(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deletes(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param entity + * @return + */ + public Integer update(ReportEntity entity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<ReportEntity> list); + + /** + * 鏁版嵁閲忕粺璁� + * + * @return + */ + public List<CountEntity> countSizes(); + + /** + * 鏈嶅姟璋冪敤閲忕粺璁� + * + * @return + */ + public List<CountEntity> countServices(); + + /** + * 鐢ㄦ埛娴侀噺缁熻 + * + * @return + */ + public List<CountEntity> countOperates(); +} diff --git a/src/main/java/com/lf/server/mapper/sys/ResMapper.java b/src/main/java/com/lf/server/mapper/sys/ResMapper.java new file mode 100644 index 0000000..57ad431 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/sys/ResMapper.java @@ -0,0 +1,110 @@ +package com.lf.server.mapper.sys; + +import com.lf.server.entity.sys.ResEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +/** + * 璧勬簮琛� + * @author sws + * @date 2022-09-28 + */ +@Mapper +@ResponseBody +public interface ResMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param name 琛ㄥ悕 + * @return 璁板綍鏁� + */ + public Integer selectCount(String name); + + /** + * 鍒嗛〉鏌ヨ + * + * @param name 琛ㄥ悕 + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<ResEntity> selectByPage(String name, Integer limit, Integer offset); + + /** + * 鏍规嵁瑙掕壊鏌ヨ璁板綍鏁� + * + * @param roleid + * @return + */ + public Integer selectCountForRole(Integer roleid); + + /** + * 鏍规嵁瑙掕壊鍒嗛〉鏌ヨ + * + * @param roleid + * @param limit + * @param offset + * @return + */ + public List<ResEntity> selectByPageForRole(Integer roleid, Integer limit, Integer offset); + + /** + * 鎻掑叆涓�鏉� + * + * @param resEntity + * @return + */ + public Integer insertRes(ResEntity resEntity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer insertRess(List<ResEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer deleteRes(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deleteRess(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param resEntity + * @return + */ + public Integer updateRes(ResEntity resEntity); + + /** + * 鏌ヨ鍗曟潯鏁版嵁 + * + * @param id + * @return + */ + public ResEntity selectRes(int id); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<ResEntity> selectResAll(); + + + +} diff --git a/src/main/java/com/lf/server/mapper/sys/ResOpMapper.java b/src/main/java/com/lf/server/mapper/sys/ResOpMapper.java new file mode 100644 index 0000000..3de8a7a --- /dev/null +++ b/src/main/java/com/lf/server/mapper/sys/ResOpMapper.java @@ -0,0 +1,96 @@ +package com.lf.server.mapper.sys; + +import com.lf.server.entity.sys.ResOpEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.sql.Timestamp; +import java.util.List; + +/** + * 璧勬簮鎿嶄綔 + * @author sws + * @date 2022-09-28 + */ +@Mapper +@ResponseBody +public interface ResOpMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param name + * @param type + * @param start + * @param end + * @return + */ + public Integer selectCount(String name, Integer type, Timestamp start, Timestamp end); + + /** + * 鍒嗛〉鏌ヨ + * + * @param name + * @param type + * @param start + * @param end + * @param limit + * @param offset + * @return + */ + public List<ResOpEntity> selectByPage(String name, Integer type, Timestamp start, Timestamp end, Integer limit, Integer offset); + + /** + * 鎻掑叆涓�鏉� + * + * @param resOpEntity + * @return + */ + public Integer insertResOp(ResOpEntity resOpEntity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer insertResOps(List<ResOpEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer deleteResOp(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deleteResOps(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param resOpEntity + * @return + */ + public Integer updateResOp(ResOpEntity resOpEntity); + + /** + * 鏌ヨ鍗曟潯鏁版嵁 + * + * @param id + * @return + */ + public ResOpEntity selectResOp(int id); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<ResOpEntity> selectResOpAll(); +} diff --git a/src/main/java/com/lf/server/mapper/sys/RoleMapper.java b/src/main/java/com/lf/server/mapper/sys/RoleMapper.java new file mode 100644 index 0000000..05bcc10 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/sys/RoleMapper.java @@ -0,0 +1,91 @@ +package com.lf.server.mapper.sys; + +import com.lf.server.entity.sys.RoleEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +/** + * 瑙掕壊琛� + * @author sws + * @date 2022-09-29 + */ +@Mapper +@ResponseBody +public interface RoleMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param name 鍚嶇О + * @param depid 鍗曚綅ID + * @return 璁板綍鏁� + */ + public Integer selectCount(String name, Integer depid); + + /** + * 鍒嗛〉鏌ヨ + * + * @param name 鍚嶇О + * @param depid 鍗曚綅ID + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<RoleEntity> selectByPage(String name, Integer depid, Integer limit, Integer offset); + + /** + * 鎻掑叆涓�鏉� + * + * @param roleEntity + * @return + */ + public Integer insertRole(RoleEntity roleEntity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer insertRoles(List<RoleEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer deleteRole(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deleteRoles(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param roleEntity + * @return + */ + public Integer updateRole(RoleEntity roleEntity); + + /** + * 鏌ヨ鍗曟潯鏁版嵁 + * + * @param id + * @return + */ + public RoleEntity selectRole(int id); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<RoleEntity> selectRoleAll(); +} diff --git a/src/main/java/com/lf/server/mapper/sys/RoleMenuAuthMapper.java b/src/main/java/com/lf/server/mapper/sys/RoleMenuAuthMapper.java new file mode 100644 index 0000000..9e25f34 --- /dev/null +++ b/src/main/java/com/lf/server/mapper/sys/RoleMenuAuthMapper.java @@ -0,0 +1,116 @@ +package com.lf.server.mapper.sys; + +import com.lf.server.entity.sys.RoleMenuAuthEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 瑙掕壊-鑿滃崟 + * @author WWW + */ +@Mapper +@Repository +public interface RoleMenuAuthMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param roleid 瑙掕壊ID + * @return 璁板綍鏁� + */ + public Integer selectCount(Integer roleid); + + /** + * 鍒嗛〉鏌ヨ + * + * @param roleid 瑙掕壊ID + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<RoleMenuAuthEntity> selectByPage(Integer roleid, Integer limit, Integer offset); + + /** + * 鏍规嵁瑙掕壊ID+鑿滃崟ID鏌ヨ璁板綍鏁� + * + * @param roleid + * @param menuid + * @return + */ + public Integer selectCountForRole(Integer roleid, Integer menuid); + + /** + * 鏍规嵁瑙掕壊ID+鑿滃崟ID鍒嗛〉鏌ヨ + * + * @param roleid + * @param menuid + * @param limit + * @param offset + * @return + */ + public List<RoleMenuAuthEntity> selectByPageForRole(Integer roleid, Integer menuid, Integer limit, Integer offset); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<RoleMenuAuthEntity> selectAll(); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public RoleMenuAuthEntity selectById(int id); + + /** + * 鎻掑叆涓�鏉� + * + * @param entity + * @return + */ + public Integer insert(RoleMenuAuthEntity entity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<RoleMenuAuthEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer delete(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deletes(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param entity + * @return + */ + public Integer update(RoleMenuAuthEntity entity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<RoleMenuAuthEntity> list); +} diff --git a/src/main/java/com/lf/server/mapper/sys/RoleResMapper.java b/src/main/java/com/lf/server/mapper/sys/RoleResMapper.java new file mode 100644 index 0000000..f841afa --- /dev/null +++ b/src/main/java/com/lf/server/mapper/sys/RoleResMapper.java @@ -0,0 +1,96 @@ +package com.lf.server.mapper.sys; + +import com.lf.server.entity.sys.RoleResEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 瑙掕壊-璧勬簮 + * @author WWW + */ +@Mapper +@Repository +public interface RoleResMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param roleid 瑙掕壊ID + * @return 璁板綍鏁� + */ + public Integer selectCount(Integer roleid); + + /** + * 鍒嗛〉鏌ヨ + * + * @param roleid 瑙掕壊ID + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<RoleResEntity> selectByPage(Integer roleid, Integer limit, Integer offset); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<RoleResEntity> selectAll(); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public RoleResEntity selectById(int id); + + /** + * 鎻掑叆涓�鏉� + * + * @param entity + * @return + */ + public Integer insert(RoleResEntity entity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<RoleResEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer delete(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deletes(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param entity + * @return + */ + public Integer update(RoleResEntity entity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<RoleResEntity> list); +} diff --git a/src/main/java/com/lf/server/mapper/sys/RoleUserMapper.java b/src/main/java/com/lf/server/mapper/sys/RoleUserMapper.java new file mode 100644 index 0000000..faca9be --- /dev/null +++ b/src/main/java/com/lf/server/mapper/sys/RoleUserMapper.java @@ -0,0 +1,96 @@ +package com.lf.server.mapper.sys; + +import com.lf.server.entity.sys.RoleUserEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 瑙掕壊-鐢ㄦ埛 + * @author WWW + */ +@Mapper +@Repository +public interface RoleUserMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param roleid 瑙掕壊ID + * @return 璁板綍鏁� + */ + public Integer selectCount(Integer roleid); + + /** + * 鍒嗛〉鏌ヨ + * + * @param roleid 瑙掕壊ID + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<RoleUserEntity> selectByPage(Integer roleid, Integer limit, Integer offset); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<RoleUserEntity> selectAll(); + + /** + * 鏍规嵁ID鏌ヨ + * + * @param id + * @return + */ + public RoleUserEntity selectById(int id); + + /** + * 鎻掑叆涓�鏉� + * + * @param entity + * @return + */ + public Integer insert(RoleUserEntity entity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer inserts(List<RoleUserEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer delete(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deletes(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param entity + * @return + */ + public Integer update(RoleUserEntity entity); + + /** + * 鏇存柊澶氭潯 + * + * @param list + * @return + */ + public Integer updates(List<RoleUserEntity> list); +} diff --git a/src/main/java/com/lf/server/mapper/sys/TokenMapper.java b/src/main/java/com/lf/server/mapper/sys/TokenMapper.java new file mode 100644 index 0000000..0be1a6f --- /dev/null +++ b/src/main/java/com/lf/server/mapper/sys/TokenMapper.java @@ -0,0 +1,108 @@ +package com.lf.server.mapper.sys; + +import com.lf.server.entity.sys.TokenEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +/** + * 浠ょ墝琛� + * @author sws + * @date 2022-09-28 + */ + +@Mapper +@ResponseBody +public interface TokenMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param name + * @param type + * @return + */ + public Integer selectCount(String name, Integer type); + + /** + * 鍒嗛〉鏌ヨ + * + * @param name + * @param type + * @param limit + * @param offset + * @return + */ + public List<TokenEntity> selectByPage(String name, Integer type, Integer limit, Integer offset); + + /** + * 鏌ヨ鍗曟潯鏁版嵁 + * + * @param id + * @return + */ + public TokenEntity selectToken(int id); + + /** + * 鏍规嵁token鍊兼煡璇竴鏉¤褰� + * + * @param token + * @return + */ + public TokenEntity selectOneByToken(String token); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<TokenEntity> selectTokenAll(); + + /** + * 鎻掑叆涓�鏉� + * + * @param tokenEntity + * @return + */ + public Integer insertToken(TokenEntity tokenEntity); + + /** + * 鎻掑叆澶氭潯 + * + * @param list + * @return + */ + public Integer insertTokens(List<TokenEntity> list); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer deleteToken(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deleteTokens(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param tokenEntity + * @return + */ + public Integer updateToken(TokenEntity tokenEntity); + + /** + * 鏇存柊浠ょ墝涓哄け鏁� + * + * @param tokenEntity + * @return + */ + public Integer updateTokenExpire(TokenEntity tokenEntity); +} diff --git a/src/main/java/com/lf/server/mapper/sys/UserMapper.java b/src/main/java/com/lf/server/mapper/sys/UserMapper.java new file mode 100644 index 0000000..d94f5df --- /dev/null +++ b/src/main/java/com/lf/server/mapper/sys/UserMapper.java @@ -0,0 +1,172 @@ +package com.lf.server.mapper.sys; + +import com.lf.server.entity.sys.RoleEntity; +import com.lf.server.entity.sys.UserEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 鐢ㄦ埛绠$悊 + * @author sws + * @date 2022-09-27 + */ +@Mapper +@Repository +public interface UserMapper { + /** + * 鏌ヨ璁板綍鏁� + * + * @param uname 鐢ㄦ埛鍚� + * @param depcode 鍗曚綅缂栫爜 + * @return 璁板綍鏁� + */ + public Integer selectCount(String uname, String depcode); + + /** + * 鍒嗛〉鏌ヨ + * + * @param uname 鐢ㄦ埗鍚� + * @param depcode 鍗曚綅缂栫爜 + * @param limit 璁板綍鏁� + * @param offset 鍋忕Щ閲� + * @return 鍒楄〃 + */ + public List<UserEntity> selectByPage(String uname, String depcode, Integer limit, Integer offset); + + /** + * 鏍规嵁token鏈夋晥鏈熸煡璇� + * + * @param token + * @return + */ + public UserEntity selectByToken(String token); + + /** + * 鏌ヨ鏄�/鍚︿负Admin + * + * @param id ID + * @return 缁熻鏁� + */ + public Integer selectForIsAdmin(Integer id); + + /** + * 鏌ヨ绠$悊鍛樼敤鎴� + * + * @param type 绠$悊鍛樼被鍒� + * @return + */ + public List<UserEntity> selectAdminUsers(Integer type); + + /** + * 鏍规嵁鐢ㄦ埛ID鏌ヨ瑙掕壊 + * + * @param id 鐢ㄦ埛ID + * @return 瑙掕壊闆嗗悎 + */ + public List<RoleEntity> selectRoleByUserId(Integer id); + + /** + * 鏍规嵁瑙掕壊鏌ヨ鐢ㄦ埛 + * + * @param roleId 瑙掕壊ID + * @return 鐢ㄦ埛闆嗗悎 + */ + public List<UserEntity> selectUserByRoleId(Integer roleId); + + /** + * 鎻掑叆涓�鏉� + * + * @param userEntity + * @return + */ + public Integer insertUser(UserEntity userEntity); + + /** + * 鎻掑叆澶氭潯 + * + * @param userEntity + * @return + */ + public Integer insertUsers(List<UserEntity> userEntity); + + /** + * 鍒犻櫎涓�鏉� + * + * @param id + * @return + */ + public Integer deleteUser(int id); + + /** + * 鍒犻櫎澶氭潯 + * + * @param ids + * @return + */ + public Integer deleteUsers(List<Integer> ids); + + /** + * 鏇存柊涓�鏉� + * + * @param userEntity + * @return + */ + public Integer updateUser(UserEntity userEntity); + + /** + * 鏌ヨ鍗曟潯鏁版嵁 + * + * @param id + * @return + */ + public UserEntity selectUser(int id); + + /** + * 鏍规嵁uid鏌ヨ + * + * @param uid + * @return + */ + public UserEntity selectByUid(String uid); + + /** + * 鏌ヨ鎵�鏈� + * + * @return + */ + public List<UserEntity> selectUserAll(); + + /** + * 鏍规嵁瑙掕壊+鍗曚綅鏌ヨ璁板綍鏁� + * + * @param uname + * @param roleid + * @param depcode + * @return + */ + public Integer selectCountForRole(String uname, Integer roleid, String depcode); + + /** + * 鏍规嵁瑙掕壊+鍗曚綅鍒嗛〉鏌ヨ + * + * @param uname + * @param roleid + * @param depcode + * @param limit + * @param offset + * @return + */ + public List<UserEntity> selectByPageForRole(String uname, Integer roleid, String depcode, Integer limit, Integer offset); + + /** + * 鏇存柊澶氫釜鐢ㄦ埛瀵嗙爜 + * + * @param updateUser + * @param pwd + * @param ids + * @return + */ + public Integer updateUsersPwd(Integer updateUser, String pwd, List<Integer> ids); +} \ No newline at end of file diff --git a/src/main/java/com/lf/server/service/all/BaseQueryService.java b/src/main/java/com/lf/server/service/all/BaseQueryService.java new file mode 100644 index 0000000..7564465 --- /dev/null +++ b/src/main/java/com/lf/server/service/all/BaseQueryService.java @@ -0,0 +1,312 @@ +package com.lf.server.service.all; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.lf.server.entity.all.RedisCacheKey; +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.ctrl.IdNameEntity; +import com.lf.server.entity.ctrl.KeyValueEntity; +import com.lf.server.entity.ctrl.TabEntity; +import com.lf.server.entity.data.DictEntity; +import com.lf.server.entity.data.DomainEntity; +import com.lf.server.entity.sys.AttachEntity; +import com.lf.server.helper.AesHelper; +import com.lf.server.helper.ClassHelper; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.all.BaseQueryMapper; +import com.lf.server.mapper.all.BasicMapper; +import com.lf.server.mapper.all.GeomBaseMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.concurrent.TimeUnit; + +/** + * 鐖舵煡璇㈡湇鍔$被 + * @author WWW + */ +@Service +public class BaseQueryService implements BaseQueryMapper { + @Autowired + BaseQueryMapper baseQueryMapper; + + @Autowired + RedisService redisService; + + /** + * 琛ㄥ悕Map + */ + private static Map<String, String> tabMap = new HashMap<>(3); + + /** + * 娣诲姞杩囨护鏉′欢 + * + * @param wrapper QueryWrapper + * @param filter 鍘熷杩囨护鏉′欢瀛楃涓� + */ + public void addFilterWrapper(QueryWrapper wrapper, String filter) { + if (StringHelper.isEmpty(filter)) { + return; + } + + String[] strs = filter.trim().split(" (?i)and "); + for (String str : strs) { + int start = str.indexOf(" "); + if (start == -1) { + continue; + } + int end = str.indexOf(" ", start + 1); + if (end == -1) { + continue; + } + + String field = str.substring(0, start).trim(); + String express = str.substring(start + 1, end).trim().toLowerCase(); + String value = str.substring(end + 1).trim(); + + addWrapper(wrapper, field, express, getObjectVal(express, value)); + } + } + + /** + * 鑾峰彇鍊煎璞� + * + * @param val 鍊� + * @return 瀵硅薄 + */ + private Object getObjectVal(String express, String val) { + if (StringHelper.isInteger(val)) { + return Long.parseLong(val); + } + if (StringHelper.isNumeric(val)) { + return Double.parseDouble(val); + } + if (StaticData.IN.equals(express)) { + return val; + } + + return val.replace("'", ""); + } + + /** + * 娣诲姞鍖呰鍣� + * + * @param wrapper QueryWrapper + * @param field 瀛楁 + * @param express 琛ㄨ揪寮� + * @param val 鍊� + */ + private void addWrapper(QueryWrapper wrapper, String field, String express, Object val) { + if (StringHelper.isDate(val.toString())) { + wrapper.apply(String.format("%s %s '%s'", field, express, val)); + return; + } + + switch (express) { + case "like": + wrapper.like("UPPER(" + field + ")", val.toString().toUpperCase()); + break; + case ">": + wrapper.gt(field, val); + break; + case ">=": + wrapper.ge(field, val); + break; + case "<>": + case "!=": + wrapper.ne(field, val); + break; + case "=": + wrapper.eq(field, val); + break; + case "<": + wrapper.lt(field, val); + break; + case "<=": + wrapper.le(field, val); + break; + case "in": + if (val.toString().contains(StaticData.SINGLE_QUOTES)) { + wrapper.in(field, getStringList(val.toString())); + } else { + wrapper.in(field, getIntegerList(val.toString())); + } + break; + default: + break; + } + } + + /** + * 鑾峰彇瀛楃涓插垪琛� + */ + private List<String> getStringList(String val) { + return Arrays.asList(val.replace(StaticData.SINGLE_QUOTES, "").split(StaticData.COMMA)); + } + + /** + * 鑾峰彇鏁存暟鍒楄〃 + */ + private List<Integer> getIntegerList(String val) { + List<Integer> list = new ArrayList<>(); + for (String str : val.split(StaticData.COMMA)) { + list.add(Integer.parseInt(str)); + } + + return list; + } + + /** + * 娣诲姞绌洪棿杩囨护鏉′欢 + * + * @param basicMapper 鐖禡apper + * @param wrapper QueryWrapper + * @param wkt WKT锛堣憲鍚嶆枃鏈級 + * @throws Exception 寮傚父 + */ + public void addGeomWrapper(BasicMapper basicMapper, QueryWrapper wrapper, String wkt) throws Exception { + if (basicMapper instanceof GeomBaseMapper && !StringHelper.isEmpty(wkt)) { + wkt = AesHelper.decrypt(wkt); + + Integer srid = getSrid((GeomBaseMapper) basicMapper); + wrapper.apply(String.format("ST_Intersects(ST_PolygonFromText('%s', %d), geom)", wkt, srid)); + } + } + + /** + * 鑾峰彇鍑犱綍瀵硅薄鐨勭┖闂村弬鑰� + * + * @param basicMapper 绌洪棿鍩虹Mapper + * @return SRID + */ + public Integer getSrid(GeomBaseMapper basicMapper) { + String tab = getTabName(basicMapper); + String key = RedisCacheKey.sridKey(tab); + + Object obj = redisService.get(key); + if (obj instanceof Integer) { + return (Integer) obj; + } + + Integer srid = basicMapper.selectSrid(tab); + if (null == srid) { + return StaticData.I4490; + } + redisService.put(key, srid, 5, TimeUnit.MINUTES); + + return srid; + } + + /** + * 鏍规嵁Mapper鑾峰彇琛ㄥ悕 + * + * @param basicMapper Mapper + * @return 琛ㄥ悕 + */ + public static String getTabName(BasicMapper basicMapper) { + String className = ClassHelper.getClassName(basicMapper); + if (tabMap.containsKey(className)) { + return tabMap.get(className); + } + + return getTabName(className); + } + + /** + * 鏍规嵁Mapper鑾峰彇琛ㄥ悕 + * + * @param className Mapper绫诲悕 + * @return 琛ㄥ悕 + */ + private static String getTabName(String className) { + Class clazz = ClassHelper.getEntityClass(className); + if (clazz == null) { + return null; + } + + TableName annotation = (TableName) clazz.getAnnotation(TableName.class); + + String tabName = annotation.value(); + if (tabName != null && !tabMap.containsKey(className)) { + tabMap.put(className, tabName); + } + + return tabName; + } + + /** + * 娣诲姞缂撳啿鍖鸿繃婊ゆ潯浠� + * + * @param baseMapper 鐖禡apper + * @param wrapper QueryWrapper + * @param wkt WKT锛堣憲鍚嶆枃鏈級 + */ + public void addBufferWrapper(GeomBaseMapper baseMapper, QueryWrapper wrapper, String wkt, double buffer) { + Integer srid = getSrid(baseMapper); + // buffer = buffer * 0.00000899928 + buffer = buffer / 1852 / 60; + + wrapper.apply(String.format("ST_Intersects(geom, ST_Buffer(ST_GeomFromText('%s', %d), %f, 'endcap=round join=round'))", wkt, srid, buffer)); + } + + @Override + public List<IdNameEntity> selectUserFuzzy(String name) { + name = StringHelper.getLikeUpperStr(name); + + return baseQueryMapper.selectUserFuzzy(name); + } + + @Override + public List<IdNameEntity> selectDepFuzzy(String name) { + name = StringHelper.getLikeUpperStr(name); + + return baseQueryMapper.selectDepFuzzy(name); + } + + @Override + public Integer selectTabsForCount(String tab, String field) { + tab = StringHelper.getLikeUpperStr(tab); + + return baseQueryMapper.selectTabsForCount(tab, field); + } + + @Override + public List<TabEntity> selectTabsByPage(String tab, String field, String filters, Integer limit, Integer offset) { + tab = StringHelper.getLikeUpperStr(tab); + + return baseQueryMapper.selectTabsByPage(tab, field, filters, limit, offset); + } + + @Override + public List<DictEntity> selectFields(String ns, String tab) { + return baseQueryMapper.selectFields(ns, tab); + } + + @Override + public List<DomainEntity> selectDomains(String ns, String tab) { + return baseQueryMapper.selectDomains(ns, tab); + } + + @Override + public String selectRoute(double x1, double y1, double x2, double y2) { + return baseQueryMapper.selectRoute(x1, y1, x2, y2); + } + + @Override + public List<KeyValueEntity> selectLocation(String wkt) { + return baseQueryMapper.selectLocation(wkt); + } + + @Override + public List<KeyValueEntity> selectDirTypes(String name) { + name = StringHelper.getLikeUpperStr(name); + + return baseQueryMapper.selectDirTypes(name); + } + + @Override + public List<AttachEntity> selectAnnexByTab(String tab, String gids) { + return baseQueryMapper.selectAnnexByTab(tab, gids); + } +} diff --git a/src/main/java/com/lf/server/service/all/BaseUploadService.java b/src/main/java/com/lf/server/service/all/BaseUploadService.java new file mode 100644 index 0000000..7f68fdc --- /dev/null +++ b/src/main/java/com/lf/server/service/all/BaseUploadService.java @@ -0,0 +1,538 @@ +package com.lf.server.service.all; + +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.data.DirEntity; +import com.lf.server.entity.data.MetaFileEntity; +import com.lf.server.entity.data.VerEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.*; +import com.lf.server.service.data.DirService; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.support.StandardMultipartHttpServletRequest; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.lang.reflect.Field; +import java.sql.Timestamp; +import java.util.*; + +/** + * 鐖朵笂浼犳湇鍔� + * @author WWW + */ +@Service +public class BaseUploadService { + @Autowired + protected DirService dirService; + + @Autowired + protected PathHelper pathHelper; + + public final Log log = LogFactory.getLog(getClass()); + + /** + * 鏌ヨ鐩綍 + */ + public String selectPath() { + return pathHelper.getTempPathName(); + } + + /** + * 涓婁紶鏂囦欢 + */ + public <T> List<MetaFileEntity> uploadData(T t, String path, boolean isGetGuid, HttpServletRequest req, HttpServletResponse res) throws Exception { + StandardMultipartHttpServletRequest request = (StandardMultipartHttpServletRequest) req; + req.setCharacterEncoding("utf-8"); + res.setContentType("application/json;charset=utf-8"); + + if (t != null) { + setEntity(t, request); + } + + return getFiles(path, isGetGuid, request); + } + + /** + * 璁剧疆瀹炰綋绫� + */ + private <T> void setEntity(T t, StandardMultipartHttpServletRequest req) { + Enumeration<String> enumeration = req.getParameterNames(); + while (enumeration.hasMoreElements()) { + String key = enumeration.nextElement(); + + try { + Field field = t.getClass().getDeclaredField(key); + field.setAccessible(true); + String value = req.getParameter(key); + + switch (field.getType().toString()) { + case "double": + field.set(t, Double.valueOf(value)); + break; + case "long": + field.set(t, Long.valueOf(value)); + break; + case "int": + field.set(t, Integer.valueOf(value)); + break; + case "class java.sql.Timestamp": + field.set(t, Timestamp.valueOf(value)); + break; + //case "class java.lang.String": + default: + field.set(t, value); + break; + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + } + + /** + * 鑾峰彇鏂囦欢 + */ + public List<MetaFileEntity> getFiles(String subPath, boolean isGetGuid, StandardMultipartHttpServletRequest req) throws Exception { + List<MetaFileEntity> list = new ArrayList<>(); + + String path = pathHelper.getTempPath(subPath); + Iterator<String> iterator = req.getFileNames(); + while (iterator.hasNext()) { + MultipartFile file = req.getFile(iterator.next()); + if (null == file || StringHelper.isEmpty(file.getOriginalFilename())) { + continue; + } + + MetaFileEntity mf = new MetaFileEntity(); + mf.setName(file.getOriginalFilename()); + + double sizes = FileHelper.sizeToMb(file.getSize()); + mf.setSizes(sizes); + mf.setPath(path + File.separator + mf.getName()); + + file.transferTo(new File(mf.getPath())); + if (isGetGuid) { + mf.setGuid(FileHelper.getFileMd5(mf.getPath())); + } + + list.add(mf); + } + + return list; + } + + /** + * 鏌ヨ鏂囦欢 + */ + public List<MetaFileEntity> selectFiles(String subPath) { + String root = pathHelper.getConfig().getTempPath() + File.separator + subPath; + + File file = new File(root); + if (!file.exists() && !file.isDirectory()) { + return null; + } + File[] files = file.listFiles(); + if (null == files || files.length == 0) { + return null; + } + + List<MetaFileEntity> list = new ArrayList<>(); + for (File f : files) { + String fileName = FileHelper.getFileName(f.getPath()); + String extName = FileHelper.getExtension(fileName); + if (!isExtValid(extName)) { + continue; + } + + MetaFileEntity mf = new MetaFileEntity(); + mf.setName(fileName); + mf.setExtName(extName); + mf.setSizes(FileHelper.sizeToMb(f.length())); + mf.setPath(subPath + File.separator + fileName); + if (!StaticData.ZIP.equals(extName)) { + mf.setGuid(FileHelper.getFileMd5(f.getPath())); + } + + list.add(mf); + } + + return list; + } + + /** + * 鍒犻櫎鏂囦欢 + */ + public Integer deleteFiles(List<MetaFileEntity> list) { + String root = pathHelper.getConfig().getTempPath(); + + int count = 0; + for (MetaFileEntity entity : list) { + if (!StringHelper.isEmpty(entity.getPath())) { + String file = root + File.separator + entity.getPath(); + + File f = new File(file); + if (f.exists()) { + f.delete(); + count++; + } + } + } + + return count; + } + + /** + * 鏌ヨ鏄犲皠 + */ + public List<MetaFileEntity> selectMappers(UserEntity ue, String path, DirEntity dir, VerEntity ver, String epsgCode) { + List<MetaFileEntity> metas = selectFiles(path); + if (null == metas || metas.isEmpty()) { + return null; + } + + List<MetaFileEntity> list = new ArrayList<>(); + List<DirEntity> dirs = dirService.selectRecursiveById(dir.getId()); + for (MetaFileEntity meta : metas) { + meta.setEventid(StringHelper.getGuid()); + meta.setDircode(dir.getCode()); + meta.setDepcode(ue.getDepcode()); + meta.setVerid(ver.getId()); + meta.setCreateUser(ue.getId()); + meta.setEpsgCode(epsgCode); + + if (StaticData.ZIP.equals(meta.getExtName())) { + List<MetaFileEntity> subs = getMapperFiles(path, dir, dirs, meta); + if (null != subs && subs.size() > 0) { + list.addAll(subs); + continue; + } + } + + list.add(meta); + } + setMetaType(list); + + return list; + } + + /** + * 鑾峰彇鏄犲皠鏂囦欢 + */ + private List<MetaFileEntity> getMapperFiles(String path, DirEntity dir, List<DirEntity> dirs, MetaFileEntity meta) { + String tempPath = pathHelper.getConfig().getTempPath(); + String zipFile = tempPath + File.separator + meta.getPath(); + File file = new File(zipFile); + if (!file.exists() || file.isDirectory()) { + return null; + } + + File zipFolder = new File(pathHelper.getConfig().getTempPath() + File.separator + path + "_zip"); + if (!zipFolder.exists() || !zipFolder.isDirectory()) { + zipFolder.mkdirs(); + } + + // String subPath = zipFolder + File.separator + meta.getName().toLowerCase().replace(".zip", "") .replace("锛�","").replace("锛�","").replace(" ","") + String subPath = zipFolder.getPath(); + ZipHelper.unzip(zipFile, subPath); + + List<File> files = new ArrayList<>(); + getFilesByPath(files, subPath); + + return getMapperFiles(files, dir, dirs, meta, tempPath.length() + 1); + } + + /** + * 鏍规嵁璺緞鑾峰彇鏂囦欢 + */ + private void getFilesByPath(List<File> list, String path) { + File file = new File(path); + if (!file.isDirectory()) { + String extName = FileHelper.getExtension(file); + if (isExtValid(extName)) { + list.add(file); + } + return; + } + + if (isGdbFile(file)) { + list.add(file); + return; + } + + File[] files = file.listFiles(); + if (null == files) { + return; + } + for (File f : files) { + if (f.isDirectory()) { + getFilesByPath(list, f.getPath()); + } else { + String extName = FileHelper.getExtension(f); + if (isExtValid(extName)) { + list.add(f); + } + } + } + } + + /** + * 鎵╁睍鏄惁鏈夋晥 + */ + private boolean isExtValid(String extName) { + return StaticData.ALL_EXTENSION.contains(extName) && !StaticData.MAPPER_EXCLUDE_EXT.contains(extName); + } + + /** + * 鑾峰彇鏄犲皠鏂囦欢 + */ + private List<MetaFileEntity> getMapperFiles(List<File> files, DirEntity dir, List<DirEntity> dirs, MetaFileEntity meta, int start) { + List<MetaFileEntity> list = new ArrayList<>(); + for (File f : files) { + boolean isGdb = isGdbFile(f); + if (!isGdb && f.isDirectory()) { + continue; + } + + String fileName = FileHelper.getFileName(f.getPath()); + String extName = FileHelper.getExtension(fileName); + if (!isExtValid(extName) || fileName.startsWith("~")) { + continue; + } + + String dircode = getDirByPath(f.getPath(), fileName, dir, dirs); + boolean isShp = StaticData.SHP.equals(extName); + if (isGdb) { + List<MetaFileEntity> rs = getGdbMappers(f, meta, dircode, start); + if (null != rs && rs.size() > 0) { + list.addAll(rs); + } + continue; + } + + MetaFileEntity mf = createMetaFileEntity(meta); + mf.setDircode(dircode); + mf.setEventid(StringHelper.getGuid()); + mf.setName(fileName); + mf.setExtName(extName); + mf.setPath(f.getPath().substring(start)); + + if (isShp) { + List<String> shpFiles = getShpFiles(f.getPath()); + mf.setTab(fileName.replace(StaticData.SHP, "")); + mf.setSizes(getFilesSize(shpFiles)); + mf.setGuid(getFilesMd5(shpFiles)); + } else { + mf.setSizes(FileHelper.sizeToMb(f.length())); + mf.setGuid(FileHelper.getFileMd5(f.getPath())); + } + list.add(mf); + } + + return list; + } + + /** + * 鍒涘缓鍏冩暟鎹枃浠跺疄浣撶被 + */ + private MetaFileEntity createMetaFileEntity(MetaFileEntity meta) { + MetaFileEntity mf = new MetaFileEntity(); + mf.setDircode(meta.getDircode()); + mf.setDepcode(meta.getDepcode()); + mf.setVerid(meta.getVerid()); + mf.setCreateUser(meta.getCreateUser()); + mf.setEpsgCode(meta.getEpsgCode()); + + return mf; + } + + /** + * 鏍规嵁鏂囦欢璺緞鑾峰彇鐩綍ID + */ + private String getDirByPath(String filePath,String fileName, DirEntity dir, List<DirEntity> dirs) { + if (0 != dir.getPid() || null == dirs || dirs.isEmpty()) { + return dir.getCode(); + } + if (StaticData.SLASH.equals(File.separator)) { + filePath = filePath.replace("/", "\\"); + } + + fileName = fileName.toLowerCase(); + filePath = filePath.toLowerCase(); + for (DirEntity entity : dirs) { + if (filePath.contains(entity.getFullName().toLowerCase() + "\\" + fileName)) { + return entity.getCode(); + } + } + + return dir.getCode(); + } + + /** + * 鑾峰彇SHP鏂囦欢闆嗗悎 + */ + private List<String> getShpFiles(String shpPath) { + List<String> list = new ArrayList<>(); + list.add(shpPath); + + for (int i = 0, c = StaticData.SHP_EXT.size(); i < c; i++) { + String path = shpPath.replace(".shp", StaticData.SHP_EXT.get(i)); + + File f = new File(path); + if (f.exists() && !f.isDirectory()) { + list.add(path); + } + } + + return list; + } + + /** + * 鑾峰彇GDB鏂囦欢闆嗗悎 + */ + private List<String> getGdbFiles(String path) { + List<String> list = new ArrayList<>(); + + File[] files = new File(path).listFiles(); + if (null == files || files.length == 0) { + return list; + } + for (File f : files) { + list.add(f.getPath()); + } + + return list; + } + + /** + * 鑾峰彇澶氭枃浠剁殑MD5 + */ + private String getFilesMd5(List<String> files) { + List<String> list = new ArrayList<>(); + for (String file : files) { + String md5 = FileHelper.getFileMd5(file); + if (null != md5) { + list.add(md5); + } + } + + if (list.size() > 0) { + String str = StringHelper.join(list, ","); + return FileHelper.getStringMd5(str); + } + + return StringHelper.getGuid(); + } + + /** + * 鑾峰彇澶氭枃浠剁殑澶у皬 + */ + private double getFilesSize(List<String> files) { + long size = 0L; + for (String file : files) { + File f = new File(file); + if (f.exists() && !f.isDirectory()) { + size += f.length(); + } + } + + return FileHelper.sizeToMb(size); + } + + /** + * 鑾峰彇GDB鏂囦欢鏄犲皠 + */ + private List<MetaFileEntity> getGdbMappers(File f, MetaFileEntity meta, String dircode, int start) { + List<String> tabs = GdbHelper.getTabNames(f.getPath()); + if (null == tabs || tabs.size() == 0) { + return null; + } + + String fileName = FileHelper.getFileName(f.getPath()); + String extName = FileHelper.getExtension(fileName); + + List<String> gdbFiles = getGdbFiles(f.getPath()); + String md5 = getFilesMd5(gdbFiles); + double sizes = getFilesSize(gdbFiles); + + List<MetaFileEntity> list = new ArrayList<>(); + for (String tab : tabs) { + MetaFileEntity mf = createMetaFileEntity(meta); + mf.setDircode(dircode); + mf.setEventid(StringHelper.getGuid()); + mf.setName(fileName); + mf.setExtName(extName); + mf.setSizes(FileHelper.sizeToMb(f.length())); + mf.setPath(f.getPath().substring(start)); + mf.setTab(tab); + mf.setSizes(sizes); + mf.setGuid(md5); + list.add(mf); + } + + return list; + } + + /** + * 鏄�/鍚︿负GDB鏂囦欢 + */ + private boolean isGdbFile(File f) { + if (f.isDirectory() && f.getName().toLowerCase().endsWith(StaticData.GDB)) { + File[] files = f.listFiles(); + if (null == files || files.length == 0) { + return false; + } + + for (File file : files) { + if ("gdb".equals(file.getName())) { + return true; + } + } + } + + return false; + } + + /** + * 璁剧疆鍏冩暟鎹枃浠剁殑绫诲瀷 + */ + private void setMetaType(List<MetaFileEntity> list) { + for (MetaFileEntity mf : list) { + if (null != mf.getExtName()) { + mf.setType(mf.getExtName().replace(".", "")); + } + } + } + + /** + * 澶勭悊鐩綍 + */ + public void copePath(List<MetaFileEntity> list) { + String basePath = pathHelper.getConfig().getTempPath() + File.separator; + for (MetaFileEntity mf : list) { + mf.setPath(mf.getPath().replace(basePath, "")); + } + } + + /** + * 鑾峰彇鍙傛暟 * + * Enumeration<String> headers = req.getHeaderNames(); + * Enumeration<String> attributes = req.getAttributeNames(); + */ + public Map<String, String> getParams(StandardMultipartHttpServletRequest req) { + Map<String, String> map = new HashMap<>(3); + + Enumeration<String> enumeration = req.getParameterNames(); + while (enumeration.hasMoreElements()) { + String key = enumeration.nextElement(); + String value = req.getParameter(key); + map.put(key, value); + } + + return map; + } +} diff --git a/src/main/java/com/lf/server/service/all/CommonsFileuploadService.java b/src/main/java/com/lf/server/service/all/CommonsFileuploadService.java new file mode 100644 index 0000000..e86abd4 --- /dev/null +++ b/src/main/java/com/lf/server/service/all/CommonsFileuploadService.java @@ -0,0 +1,115 @@ +package com.lf.server.service.all; + +import com.lf.server.entity.ctrl.FileInfoEntity; +import com.lf.server.helper.PathHelper; +import com.lf.server.helper.StringHelper; +import org.apache.commons.fileupload.FileItem; +import org.apache.commons.fileupload.disk.DiskFileItemFactory; +import org.apache.commons.fileupload.servlet.ServletFileUpload; +import org.apache.commons.fileupload.servlet.ServletRequestContext; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * CommonsFileupload涓婁紶鏈嶅姟 + * @author WWW + */ +@Service +public class CommonsFileuploadService { + @Autowired + PathHelper pathHelper; + + private final static Log log = LogFactory.getLog(CommonsFileuploadService.class); + + public Object fileUpload(HttpServletRequest req, HttpServletResponse res) throws Exception { + List<FileItem> items = getFileItem(req, res); + + return copeFileItems(items, req); + } + + /** + * 鑾峰彇鏂囦欢椤� + */ + private List<FileItem> getFileItem(HttpServletRequest req, HttpServletResponse res) throws Exception { + // 澶勭悊涓枃涔辩爜闂 + req.setCharacterEncoding("utf-8"); + // text/html;charset=utf-8 + res.setContentType("application/json;charset=utf-8"); + + // 妫�鏌ヨ姹傛槸/鍚︿负multipart/form-data绫诲瀷 + if (!ServletFileUpload.isMultipartContent(req)) { + throw new RuntimeException("琛ㄥ崟鐨別nctype灞炴�т笉鏄痬ultipart/form-data绫诲瀷"); + } + + // 鍒涘缓涓婁紶鎵�闇�瑕佺殑涓や釜瀵硅薄锛氱鐩樻枃浠跺璞�+鏂囦欢涓婁紶瀵硅薄 + DiskFileItemFactory factory = new DiskFileItemFactory(); + ServletFileUpload sfu = new ServletFileUpload(factory); + ServletRequestContext ctx = new ServletRequestContext(req); + + // 璁剧疆缂栫爜鏂瑰紡 + sfu.setHeaderEncoding("utf-8"); + factory.setSizeThreshold(4096); + + // 鑾峰彇琛ㄥ崟涓殑鎵�鏈夋暟鎹俊鎭� + List<FileItem> list = sfu.parseRequest(ctx); + + return list; + } + + /** + * 澶勭悊瑙f瀽鍐呭锛氬鐞嗘櫘閫氳〃鍗曞煙鍜屾枃浠惰〃鍗曞煙 + */ + private Object copeFileItems(List<FileItem> items, HttpServletRequest req) throws Exception { + Map<String, String> map = new HashMap<String, String>(3); + List<FileInfoEntity> list = new ArrayList<FileInfoEntity>(); + + String path = pathHelper.getTempPath(); + for (FileItem item : items) { + if (item.isFormField()) { + String key = item.getFieldName(); + String value = item.getString("utf-8"); + map.put(key, value); + continue; + } + + FileInfoEntity fi = copeFile(item, path, req); + if (fi != null) { + list.add(fi); + } + } + + return map; + } + + /** + * 澶勭悊鏂囦欢 + */ + private FileInfoEntity copeFile(FileItem item, String path, HttpServletRequest req) { + try { + // 鑾峰彇鏂囦欢鍚嶏紝鍒ゆ柇鏄惁鍚堟硶 + FileInfoEntity fi = new FileInfoEntity(item.getName()); + if (StringHelper.isEmpty(fi.getFileName())) { + return null; + } + + fi.setSize(item.getSize()); + fi.setPath(path + File.separator + fi.getFileName()); + item.write(new File(fi.getPath())); + + return fi; + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return null; + } + } +} diff --git a/src/main/java/com/lf/server/service/all/PermsService.java b/src/main/java/com/lf/server/service/all/PermsService.java new file mode 100644 index 0000000..4b62e45 --- /dev/null +++ b/src/main/java/com/lf/server/service/all/PermsService.java @@ -0,0 +1,111 @@ +package com.lf.server.service.all; + +import com.lf.server.entity.all.*; +import com.lf.server.entity.sys.MenuEntity; +import com.lf.server.mapper.all.PermsMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * 鎺堟潈鏈嶅姟 + * @author WWW + */ +@Service +public class PermsService implements PermsMapper { + @Autowired + PermsMapper permsMapper; + + @Autowired + RedisService redisService; + + @Override + public List<ResAuthEntity> selectRes(String uid) { + String key = RedisCacheKey.permsResKey(uid); + Object obj = redisService.get(key); + if (obj instanceof List<?>) { + return (List<ResAuthEntity>) obj; + } + + List<ResAuthEntity> list = permsMapper.selectRes(uid); + if (list != null && list.size() > 0) { + redisService.put(key, list, SettingData.CACHE_EXPIRE, TimeUnit.MINUTES); + } + + return list; + } + + @Override + public List<MenusAuthEntity> selectMenus(String uid) { + String key = RedisCacheKey.permsMenusKey(uid); + Object obj = redisService.get(key); + if (obj instanceof List<?>) { + return (List<MenusAuthEntity>) obj; + } + + List<MenusAuthEntity> list = permsMapper.selectMenus(uid); + if (list != null && list.size() > 0) { + redisService.put(key, list, SettingData.CACHE_EXPIRE, TimeUnit.MINUTES); + } + + return list; + } + + @Override + public List<String> selectPerms(String uid) { + String key = RedisCacheKey.permsPermsKey(uid); + Object obj = redisService.get(key); + if (obj instanceof List<?>) { + return (List<String>) obj; + } + + List<String> list = permsMapper.selectPerms(uid); + if (list != null && list.size() > 0) { + redisService.put(key, list, SettingData.CACHE_EXPIRE, TimeUnit.MINUTES); + } + + return list; + } + + @Override + public List<PermsAuthEntity> selectPermsEntity(String uid) { + String key = RedisCacheKey.permsPermsEntityKey(uid); + Object obj = redisService.get(key); + if (obj instanceof List<?>) { + return (List<PermsAuthEntity>) obj; + } + + List<PermsAuthEntity> list = permsMapper.selectPermsEntity(uid); + if (list != null && list.size() > 0) { + redisService.put(key, list, SettingData.CACHE_EXPIRE, TimeUnit.MINUTES); + } + + return list; + } + + @Override + public List<Integer> selectRoles(String uid) { + return permsMapper.selectRoles(uid); + } + + @Override + public List<MenuEntity> selectMenuRecursive(int id, String uid) { + return permsMapper.selectMenuRecursive(id, uid); + } + + public void clearResCache() { + redisService.clearKeys(RedisCacheKey.permsResKey("")); + } + + public void clearPermsCache() { + redisService.clearKeys(RedisCacheKey.permsMenusKey("")); + redisService.clearKeys(RedisCacheKey.permsPermsKey("")); + redisService.clearKeys(RedisCacheKey.permsPermsEntityKey("")); + } + + public void clearAllCache() { + redisService.clearKeys(RedisCacheKey.permsRootKey()); + } +} diff --git a/src/main/java/com/lf/server/service/all/RedisService.java b/src/main/java/com/lf/server/service/all/RedisService.java new file mode 100644 index 0000000..2405e0b --- /dev/null +++ b/src/main/java/com/lf/server/service/all/RedisService.java @@ -0,0 +1,96 @@ +package com.lf.server.service.all; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import java.util.Set; +import java.util.concurrent.TimeUnit; + +/** + * Redis鏈嶅姟绫� + * @author WWW + */ +@Service("redisService") +public class RedisService { + @Autowired + private RedisTemplate<String, Object> redisTemplate; + + /** + * 鑾峰彇Redis妯℃澘 + * + * @return + */ + public RedisTemplate<String, Object> getRedisTemplate() { + return redisTemplate; + } + + /** + * 璁剧疆鍊煎埌redis涓� + * + * @param key 閿� + * @param value 鍊� + */ + public void put(String key, Object value) { + redisTemplate.opsForValue().set(key, value); + } + + /** + * 璁剧疆鍊煎埌redis涓�,骞惰缃繃鏈熸椂闂� + * + * @param key 閿� + * @param value 鍊� + * @param timeout 鏃堕棿 + * @param unit 鍗曚綅 + */ + public void put(String key, Object value, long timeout, TimeUnit unit) { + redisTemplate.opsForValue().set(key, value, timeout, unit); + } + + /** + * 鏍规嵁key鑾峰彇value + * + * @param key 閿� + * @return + */ + public Object get(String key) { + return redisTemplate.opsForValue().get(key); + } + + /** + * 鏄惁瀛樺湪key + * + * @param key 閿� + * @return + */ + public boolean hasKey(String key) { + return redisTemplate.hasKey(key); + } + + /** + * 绉婚櫎key + * + * @param key 閿� + */ + public void delete(String key) { + redisTemplate.delete(key); + } + + /** + * 娓呯┖鎸囧畾閿墠缂� + * + * @param subKeyString 閿墠缂� + */ + public void clearKeys(String subKeyString) { + Set<String> keys = redisTemplate.keys(subKeyString + "*"); + redisTemplate.delete(keys); + } + + /** + * 娓呯┖鎵�鏈� + */ + public void clearAll() { + Set<String> keys = redisTemplate.keys("*"); + redisTemplate.delete(keys); + } +} diff --git a/src/main/java/com/lf/server/service/all/ScheduleService.java b/src/main/java/com/lf/server/service/all/ScheduleService.java new file mode 100644 index 0000000..1382d29 --- /dev/null +++ b/src/main/java/com/lf/server/service/all/ScheduleService.java @@ -0,0 +1,249 @@ +package com.lf.server.service.all; + +import com.lf.server.entity.all.RedisCacheKey; +import com.lf.server.entity.sys.LoginEntity; +import com.lf.server.entity.sys.OperateEntity; +import com.lf.server.entity.sys.ResEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.FileHelper; +import com.lf.server.helper.StringHelper; +import com.lf.server.service.sys.LoginService; +import com.lf.server.service.sys.OperateService; +import com.lf.server.service.sys.ResService; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import com.alibaba.fastjson.JSONObject; +import org.springframework.stereotype.Service; + +import java.net.InetSocketAddress; +import java.net.Socket; +import java.net.SocketAddress; +import java.net.URI; +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; +import java.util.concurrent.TimeUnit; + +import oshi.SystemInfo; +import oshi.hardware.CentralProcessor; +import oshi.hardware.GlobalMemory; + +/** + * 鏃ョ▼鏈嶅姟绫� + * @author WWW + */ +@Service +public class ScheduleService { + @Autowired + private ResService resService; + + @Autowired + private LoginService loginService; + + @Autowired + private OperateService operateService; + + @Autowired + private RedisTemplate<String, Object> redisTemplate; + + private static final Log log = LogFactory.getLog(ScheduleService.class); + + /** + * 鏌ヨ鏈嶅姟鍣ㄧ姸鎬� + */ + public JSONObject selectServerStatus() throws InterruptedException { + JSONObject json = new JSONObject(); + json.put("cpuInfo", selectCpuInfo()); + json.put("memInfo", selectMemInfo()); + + return json; + } + + /** + * 鏌ヨCpu淇℃伅 + */ + public JSONObject selectCpuInfo() throws InterruptedException { + SystemInfo systemInfo = new SystemInfo(); + CentralProcessor processor = systemInfo.getHardware().getProcessor(); + long[] prevTicks = processor.getSystemCpuLoadTicks(); + + // 鐫$湢1s + TimeUnit.SECONDS.sleep(1); + long[] ticks = processor.getSystemCpuLoadTicks(); + long nice = ticks[CentralProcessor.TickType.NICE.getIndex()] - prevTicks[CentralProcessor.TickType.NICE.getIndex()]; + long irq = ticks[CentralProcessor.TickType.IRQ.getIndex()] - prevTicks[CentralProcessor.TickType.IRQ.getIndex()]; + long softIrq = ticks[CentralProcessor.TickType.SOFTIRQ.getIndex()] - prevTicks[CentralProcessor.TickType.SOFTIRQ.getIndex()]; + long steal = ticks[CentralProcessor.TickType.STEAL.getIndex()] - prevTicks[CentralProcessor.TickType.STEAL.getIndex()]; + long cSys = ticks[CentralProcessor.TickType.SYSTEM.getIndex()] - prevTicks[CentralProcessor.TickType.SYSTEM.getIndex()]; + long user = ticks[CentralProcessor.TickType.USER.getIndex()] - prevTicks[CentralProcessor.TickType.USER.getIndex()]; + long ioWait = ticks[CentralProcessor.TickType.IOWAIT.getIndex()] - prevTicks[CentralProcessor.TickType.IOWAIT.getIndex()]; + long idle = ticks[CentralProcessor.TickType.IDLE.getIndex()] - prevTicks[CentralProcessor.TickType.IDLE.getIndex()]; + long totalCpu = user + nice + cSys + idle + ioWait + irq + softIrq + steal; + + JSONObject map = new JSONObject(); + map.put("cpuCore", processor.getLogicalProcessorCount()); + map.put("cpuSysUsage", new DecimalFormat("#.##%").format(cSys * 1.0 / totalCpu)); + map.put("cpuUserUsage", new DecimalFormat("#.##%").format(user * 1.0 / totalCpu)); + map.put("cpuRtcWaitUsage", new DecimalFormat("#.##%").format(ioWait * 1.0 / totalCpu)); + map.put("cpuRtcUseUsage", new DecimalFormat("#.##%").format(1.0 - (idle * 1.0 / totalCpu))); + + return map; + } + + /** + * 鏌ヨ鍐呭瓨淇℃伅 + */ + public JSONObject selectMemInfo() { + JSONObject map = new JSONObject(); + SystemInfo systemInfo = new SystemInfo(); + GlobalMemory memory = systemInfo.getHardware().getMemory(); + + // 鎬诲唴瀛� + long totalByte = memory.getTotal(); + + // 鍓╀綑 + long surplusByte = memory.getAvailable(); + map.put("totalMem", FileHelper.formatByte(totalByte)); + map.put("use", FileHelper.formatByte(totalByte - surplusByte)); + map.put("remainMem", FileHelper.formatByte(surplusByte)); + map.put("usage", new DecimalFormat("#.##%").format((totalByte - surplusByte) * 1.0 / totalByte)); + + return map; + } + + /** + * 鏌ヨ鍦ㄧ嚎鐢ㄦ埛 + */ + public List<JSONObject> selectOnlineUsers() { + List<JSONObject> list = new ArrayList<JSONObject>(); + + Set<String> keys = redisTemplate.keys(RedisCacheKey.signUserKey("*")); + for (String key : keys) { + Object obj = redisTemplate.opsForValue().get(key); + if (obj instanceof UserEntity) { + UserEntity ue = (UserEntity) obj; + + JSONObject map = new JSONObject(); + map.put("uid", ue.getUid()); + map.put("uname", ue.getUname()); + map.put("loginTime", ue.getBak()); + + list.add(map); + } + } + + return list; + } + + /** + * 缁熻鍦ㄧ嚎鐢ㄦ埛鏁� + * @return + */ + public int countOnlineUsers() { + Set<String> keys = redisTemplate.keys(RedisCacheKey.signUserKey("*")); + + return null == keys ? 0 : keys.size(); + } + + /** + * 鏌ヨ鏈嶅姟璧勬簮鐘舵�� + */ + public List<ResEntity> selectResStatus() { + List<ResEntity> resList = resService.selectResAll(); + + return testResStatus(resList); + } + + private List<ResEntity> testResStatus(List<ResEntity> resList) { + List<ResEntity> list = new ArrayList<ResEntity>(); + for (ResEntity re : resList) { + Socket socket = new Socket(); + try { + if (StringHelper.isEmpty(re.getServer())) { + list.add(re); + continue; + } + + URI uri = new URI(re.getServer()); + SocketAddress add = new InetSocketAddress(uri.getHost(), uri.getPort() == -1 ? 80 : uri.getPort()); + + // Ping閫氬湴鍧� + socket.connect(add, 2000); + } catch (Exception e) { + log.error(e.getMessage()); + list.add(re); + } finally { + try { + socket.close(); + } catch (Exception ex) { + log.error(ex.getMessage()); + } + } + } + + return list; + } + + /** + * 缁熻鏈嶅姟璧勬簮鐘舵�� + */ + public JSONObject countResStatus() { + List<ResEntity> resList = resService.selectResAll(); + List<ResEntity> unableList = testResStatus(resList); + + JSONObject jsonObject = new JSONObject(); + + // 璧勬簮鍙敤 + jsonObject.put("resAbleCount", resList.size() - unableList.size()); + // 璧勬簮涓嶅彲鐢� + jsonObject.put("resUnableCount", unableList.size()); + + return jsonObject; + } + + /** + * 璧勬簮鎿嶄綔鐘舵�� + */ + public JSONObject operateCount() { + List<OperateEntity> list = operateService.operateCount(); + JSONObject jsonObject = new JSONObject(); + if (list.isEmpty()) { + return null; + } else { + List<JSONObject> lister = new ArrayList<JSONObject>(); + for (OperateEntity key : list) { + JSONObject map = new JSONObject(); + map.put("count", key.getCount()); + map.put("modular2", key.getModular2()); + lister.add(map); + } + jsonObject.put("operateCount", lister); + return jsonObject; + } + } + + /** + * 鐢ㄦ埛鐧诲綍鐘舵�� + */ + public JSONObject userLoginCount() { + List<LoginEntity> list = loginService.selectLoginCounts(); + if (list == null || list.isEmpty()) { + return null; + } + + JSONObject jsonObject = new JSONObject(); + List<JSONObject> lister = new ArrayList<JSONObject>(); + for (LoginEntity key : list) { + JSONObject map = new JSONObject(); + map.put("count", key.getCount()); + map.put("optime", key.getOptime()); + lister.add(map); + } + jsonObject.put("userLoginCount", lister); + + return jsonObject; + } +} diff --git a/src/main/java/com/lf/server/service/all/SignService.java b/src/main/java/com/lf/server/service/all/SignService.java new file mode 100644 index 0000000..bba4155 --- /dev/null +++ b/src/main/java/com/lf/server/service/all/SignService.java @@ -0,0 +1,69 @@ +package com.lf.server.service.all; + +import com.lf.server.config.PropertiesConfig; +import com.lf.server.entity.all.StaticData; +import com.lf.server.helper.WebHelper; +import org.apache.http.Header; +import org.apache.http.HttpEntity; +import org.apache.http.NameValuePair; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.util.EntityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.List; + +/** + * 绛惧悕鏈嶅姟绫� + * @author WWW + */ +@Service +public class SignService { + @Autowired + PropertiesConfig propertiesConfig; + + private final static String SUCCESS = "success"; + + /** + * 鑷姩鐧诲綍Druid + */ + public void loginDruid(HttpServletRequest req, HttpServletResponse res) throws Exception { + List<NameValuePair> list = new ArrayList<>(); + list.add(new BasicNameValuePair("loginUsername", propertiesConfig.getDruidUser())); + list.add(new BasicNameValuePair("loginPassword", propertiesConfig.getDruidPwd())); + + String url = req.getRequestURL().toString().replace("/sign/toDruid", "/druid/submitLogin"); + CloseableHttpClient httpClient = HttpClients.custom().build(); + + UrlEncodedFormEntity postEntity = new UrlEncodedFormEntity(list, StaticData.TEXT_ENCODER); + HttpPost httpPost = new HttpPost(url); + httpPost.setEntity(postEntity); + + CloseableHttpResponse closeResponse = httpClient.execute(httpPost); + HttpEntity entity = closeResponse.getEntity(); + + String rs = EntityUtils.toString(entity, StaticData.TEXT_ENCODER); + if (!SUCCESS.equals(rs)) { + return; + } + + Header[] headers = closeResponse.getAllHeaders(); + for (int i = 0; i < headers.length; i++) { + Header header = headers[i]; + if ("Set-Cookie".equals(header.getName())) { + String val = header.getValue(); + String sessionId = val.substring(val.indexOf("=") + 1, val.indexOf(";")); + WebHelper.saveCookie(StaticData.DRUID_COOKIE_KEY, sessionId, res); + break; + } + } + } +} diff --git a/src/main/java/com/lf/server/service/all/SysService.java b/src/main/java/com/lf/server/service/all/SysService.java new file mode 100644 index 0000000..95f6234 --- /dev/null +++ b/src/main/java/com/lf/server/service/all/SysService.java @@ -0,0 +1,25 @@ +package com.lf.server.service.all; + +import com.lf.server.service.sys.BlacklistService; +import com.lf.server.service.sys.TokenService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 绯荤粺鏈嶅姟绫� + * @author WWW + */ +@Service +public class SysService { + @Autowired + public TokenService tokenService; + + @Autowired + public RedisService redisService; + + @Autowired + public PermsService permsService; + + @Autowired + public BlacklistService blacklistService; +} diff --git a/src/main/java/com/lf/server/service/all/TestService.java b/src/main/java/com/lf/server/service/all/TestService.java new file mode 100644 index 0000000..8522655 --- /dev/null +++ b/src/main/java/com/lf/server/service/all/TestService.java @@ -0,0 +1,268 @@ +package com.lf.server.service.all; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.lf.server.entity.all.MenusAuthEntity; +import com.lf.server.entity.all.PermsAuthEntity; +import com.lf.server.entity.all.ResAuthEntity; +import com.lf.server.entity.bd.DlgagnpEntity; +import com.lf.server.entity.data.MetaEntity; +import com.lf.server.entity.data.MetaFileEntity; +import com.lf.server.entity.md.MdzxcgEntity; +import com.lf.server.helper.*; +import com.lf.server.mapper.bd.DlgagnpMapper; +import com.lf.server.service.data.MetaService; +import com.lf.server.service.data.UploadService; +import com.lf.server.service.show.LocateService; +import com.lf.server.service.sys.ArgsService; +import com.lf.server.service.sys.BlacklistService; +import com.lf.server.service.sys.ReportService; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.env.Environment; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 娴嬭瘯鏈嶅姟绫� + * @author WWW + */ +@Service +@SuppressWarnings("AlibabaRemoveCommentedCode") +public class TestService { + @Autowired + PathHelper pathHelper; + + @Autowired + ArgsService argsService; + + @Autowired + DlgagnpMapper dlgagnpMapper; + + @Autowired + PermsService permsService; + + @Autowired + BlacklistService blacklistService; + + @Autowired + BaseQueryService baseQueryService; + + @Autowired + LocateService locateService; + + @Autowired + Environment env; + + @Autowired + ReportService reportService; + + @Autowired + UploadService uploadService; + + @Autowired + MetaService metaService; + + private final static Log log = LogFactory.getLog(TestService.class); + + public void testGdal() { + GdalHelper.readTif("E:\\data\\7.Insar\\insartest.tif"); + GdalHelper.readShp("E:\\data\\13.cppe\\shps\\addr.shp"); + GdalHelper.readGdb("E:\\Test\\addr.gdb"); + //GdalHelper.readShpFirstRecord("D:\\LF\\data\\shp\\extent.shp"); + com.lf.server.helper.RsaHelper.generate(); + //FloatServerController.test(); + + testReadExcel(); + boolean f1 = ZipHelper.unzip("D:\\LF\\data\\resources.zip", "D:\\LF\\data\\unzip"); + boolean f2 = ZipHelper.zip("D:\\LF\\data\\res.zip", "D:\\LF\\data\\unzip\\resources"); + boolean f3 = Zip4jHelper.zip("D:\\LF\\data\\zip\\resources.zip", "D:\\LF\\data\\zip\\resources", "12345"); + boolean f4 = Zip4jHelper.unzip("D:\\LF\\data\\zip\\resources.zip", "D:\\LF\\data\\zip\\res", "12345"); + } + + public void testMeta() { + List<MetaEntity> list = metaService.selectByIdsForTab("1501,1500,1491,1492"); + String sql = metaService.getDelTabsSql(list); + } + + public void testReadShp() { + MetaFileEntity mf = new MetaFileEntity(); + //mf.setPath("D:\\model_data\\m_sitepoint.shp"); + mf.setPath("D:\\shpto\\m_sitepoint.shp"); + mf.setEntity("msitepoint"); + mf.setGuid("msitepoint"); + mf.setTab("bs.m_sitepoint"); + mf.setExtName(".shp"); + + uploadService.loadSpatialData(mf); + } + + public void testBatchUpdate() { + DlgagnpEntity d1 = new DlgagnpEntity(); + d1.setGid(56); + d1.setGb("10"); + d1.setName("a01"); + DlgagnpEntity d2 = new DlgagnpEntity(); + d2.setGid(57); + d2.setGb("20"); + d2.setName("a02"); + + List<DlgagnpEntity> list = new ArrayList<>(); + list.add(d1); + list.add(d2); + + int rows = dlgagnpMapper.updateBatch(list); + } + + public void testMybatisPlus() { + String s1 = locateService.selectWktById(1); + + String tabName = BaseQueryService.getTabName(dlgagnpMapper); + List<String> list0 = dlgagnpMapper.selectFieldFuzzy(tabName, "name", "%鍘�%"); + + DlgagnpEntity dlg = dlgagnpMapper.selectById(1); + String wkt = dlgagnpMapper.selectWktById(tabName, 2); + + Map<String, Object> map = new HashMap<String, Object>(3); + map.put("gid", 2); + List<DlgagnpEntity> list1 = dlgagnpMapper.selectByMap(map); + + QueryWrapper<DlgagnpEntity> w1 = new QueryWrapper<>(); + w1.eq("name", "娌诲鍘�"); + List<DlgagnpEntity> list2 = dlgagnpMapper.selectList(w1); + + UpdateWrapper<DlgagnpEntity> w2 = new UpdateWrapper<DlgagnpEntity>(); + // 璁剧疆鏇存柊鍐呭 + w2.set("name", "newName").set("gb", "10013") + // 璁剧疆鏇存柊鏉′欢 + .eq("gid", 0); + // dlgagnpMapper.update(null, w2) + + List<Integer> ids = new ArrayList<Integer>(); + ids.add(1); + ids.add(2); + // dlgagnpMapper.deleteBatchIds(ids) + List<DlgagnpEntity> list3 = dlgagnpMapper.selectBatchIds(ids); + + // dlgagnpMapper.updateById(dlg) + // List<DlgAgnp> all = dlgagnpMapper.selectList(null) + + // 椤垫暟 / 姣忛〉璁板綍鏁� + Page<DlgagnpEntity> page = new Page<>(1, 10); + // 鍗囧簭鎺掑簭 + page.addOrder(OrderItem.desc("gid")); + // 鍒嗛〉锛歐rapper鏌ヨ鏉′欢 + Page<DlgagnpEntity> userPage = dlgagnpMapper.selectPage(page, null); + // 鎬婚〉鏁� / 鎬昏褰曟暟锛�325 / 3247 + String str = userPage.getPages() + " / " + userPage.getTotal(); + List<DlgagnpEntity> list4 = userPage.getRecords(); + + QueryWrapper<DlgagnpEntity> w3 = new QueryWrapper<>(); + w3.like("name", "澶�").ge("gid", 100); + List<DlgagnpEntity> list5 = dlgagnpMapper.selectList(w3); + } + + public void testAes() { + try { + String content = "POLYGON ((115.94927385452 32.3754479115071 0,121.989371092554 32.2766788010181 0,121.850621222894 29.6874200067864 0,115.9727267226 29.7835368627922 0,115.94927385452 32.3754479115071 0))"; + System.out.println("鍔犲瘑鍓嶏細" + content); + String encrypt = AesHelper.encrypt(content); + + System.out.println("鍔犲瘑鍚庯細" + encrypt); + String decrypt = AesHelper.decrypt(encrypt); + + System.out.println("瑙e瘑鍚庯細" + decrypt); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + + public void testPerms() { + List<ResAuthEntity> raeList = permsService.selectRes("admin"); + List<ResAuthEntity> raeList2 = permsService.selectRes("admin"); + + List<MenusAuthEntity> maeList = permsService.selectMenus("admin"); + List<MenusAuthEntity> maeList2 = permsService.selectMenus("admin"); + + List<String> pList = permsService.selectPerms("admin"); + List<String> pList2 = permsService.selectPerms("admin"); + + List<PermsAuthEntity> pauList = permsService.selectPermsEntity("admin"); + List<PermsAuthEntity> pauList2 = permsService.selectPermsEntity("admin"); + + permsService.clearResCache(); + permsService.clearPermsCache(); + + raeList = permsService.selectRes("admin"); + maeList = permsService.selectMenus("admin"); + pList = permsService.selectPerms("admin"); + pauList = permsService.selectPermsEntity("admin"); + permsService.clearAllCache(); + } + + public void testBlacklist() { + List<String> list1 = blacklistService.selectIpList(1); + List<String> list2 = blacklistService.selectIpList(1); + List<String> list3 = blacklistService.selectIpList(2); + List<String> list4 = blacklistService.selectIpList(2); + blacklistService.clearCache(); + List<String> list5 = blacklistService.selectIpList(1); + } + + public void testReadExcel() { + List<?> listMdZxcg = ExcelHelper.readExcel(MdzxcgEntity.class, "D:\\LF\\data\\xls\\娴嬬粯\\1-椤圭洰鎴愭灉-瑗夸笁涓璡\1-1涓嚎鎴愭灉琛╘\娴峰師鍘夸腑绾挎垚鏋滆〃.xlsx"); + int r1 = listMdZxcg.size(); + + //List<MdGdcgEntity> listGdcg = ExcelHelper.readExcel(MdGdcgEntity.class, "D:\\LF\\data\\xls\\娴嬬粯\\2-鍦颁笅绠$嚎鎺㈡祴鎴愭灉\\2-2 绠$嚎鎴愭灉琛�.xlsx"); + //int r2 = listGdcg.size(); + + String entityName = "Gxcg"; + String xls = "D:\\LF\\data\\xls\\娴嬬粯\\2-鍦颁笅绠$嚎鎺㈡祴鎴愭灉\\2-2 绠$嚎鎴愭灉琛�.xlsx"; + + String className = "com.lf.server.entity.bs." + entityName; + Object obj = ClassHelper.createInstance(className); + + List<?> list = ExcelHelper.readExcel(obj.getClass(), xls); + int r3 = list.size(); + } + + public void testAccess() { + List<Map<String, Object>> list = AccessHelper.readMdb("D:\\LF\\data\\test.mdb", "", ""); + int count = null == list || list.isEmpty() ? 0 : list.size(); + } + + public void testMd5() { + try { + String file = "E:\\data\\mpt\\A4mpt20131125.mpt"; + + long stime = System.currentTimeMillis(); + // 2a0befb05146cd30213ee4b95038aca0 + String md51 = FileHelper.getFileMd5(file); + long etime = System.currentTimeMillis(); + String s1 = String.format("鎵ц鏃堕暱锛�%d 姣.", (etime - stime)); + + stime = System.currentTimeMillis(); + // 2a0befb05146cd30213ee4b95038aca0 + String md52 = FileHelper.getMd5ByJdk(file); + etime = System.currentTimeMillis(); + String s2 = String.format("鎵ц鏃堕暱锛�%d 姣.", (etime - stime)); + + stime = System.currentTimeMillis(); + // 9f1b7f050f41598710ffc08252484397 + String md53 = FileHelper.getFastMd5(file); + etime = System.currentTimeMillis(); + String s3 = String.format("鎵ц鏃堕暱锛�%d 姣.", (etime - stime)); + + etime = System.currentTimeMillis(); + } catch (Exception ex) { + // + } + } +} diff --git a/src/main/java/com/lf/server/service/all/UploadAttachService.java b/src/main/java/com/lf/server/service/all/UploadAttachService.java new file mode 100644 index 0000000..062f2c6 --- /dev/null +++ b/src/main/java/com/lf/server/service/all/UploadAttachService.java @@ -0,0 +1,512 @@ +package com.lf.server.service.all; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.*; +import com.lf.server.entity.ctrl.KeyValueEntity; +import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.data.MetaEntity; +import com.lf.server.entity.data.MetaFileEntity; +import com.lf.server.entity.sys.AttachEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.*; +import com.lf.server.mapper.all.BasicMapper; +import com.lf.server.mapper.data.DownloadMapper; +import com.lf.server.service.sys.AttachService; +import net.lingala.zip4j.ZipFile; +import net.lingala.zip4j.model.FileHeader; +import net.lingala.zip4j.model.ZipParameters; +import org.apache.commons.io.FileUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.lang.reflect.Field; +import java.util.*; + +/** + * 涓婁紶闄勪欢鏈嶅姟绫� + * @author WWW + */ +@Service +public class UploadAttachService { + @Autowired + PathHelper pathHelper; + + @Autowired + AttachService attachService; + + @Autowired + DownloadMapper downloadMapper; + + private static String tabs = "''"; + + public final static Map<String, String> ATTACH_TABS = new HashMap<>(); + + private final static Log log = LogFactory.getLog(UploadAttachService.class); + + /** + * 鑾峰彇琛ㄥ悕 + */ + public static String getTabs() { + return tabs; + } + + /** + * 鍒濆鍖栭檮浠惰〃 + */ + public static void init(String cfg) { + if (StringHelper.isEmpty(cfg)) { + return; + } + + String[] strs = cfg.split(StaticData.COMMA); + if (strs.length == 0) { + return; + } + + List<String> keys = new ArrayList<>(); + for (String str : strs) { + if (ATTACH_TABS.containsKey(str)) { + continue; + } + + ATTACH_TABS.put(str, str.contains("bd.") ? "materiname" : "photono"); + keys.add("'" + str + "'"); + } + tabs = StringHelper.join(keys, ","); + } + + /** + * 涓婁紶鏂囦欢 + */ + public ResponseMsg<String> upload(UserEntity ue, String tab, MultipartFile file, BaseController ctrl) { + try { + if (file == null && file.isEmpty()) { + return ctrl.fail("鏂囦欢涓婁紶涓虹┖", null); + } + if (file.getSize() > SettingData.MAX_FILE_SIZE) { + return ctrl.fail(String.format("鏂囦欢澶т簬 %d MB", SettingData.MAX_FILE_SIZE / 1024 / 1024), null); + } + + // 浼犺緭鏂囦欢 + String oldName = file.getOriginalFilename(); + String filePath = pathHelper.getTempPath() + File.separator + oldName; + File newFile = new File(filePath); + file.transferTo(newFile); + double sizes = FileHelper.sizeToMb(file.getSize()); + + // 鑾峰彇MD5 + String md5 = FileHelper.getFileMd5(filePath); + AttachEntity entity = attachService.selectByGuid(md5); + if (entity != null) { + newFile.delete(); + return ctrl.success("鏂囦欢宸插瓨鍦�", md5); + } + + AttachEntity ae = getAttachEntity(ue, tab, oldName, md5, sizes); + String targetPath = pathHelper.getConfig().getUploadPath() + File.separator + ae.getPath(); + newFile.renameTo(new File(targetPath)); + + int rows = attachService.insert(ae); + + return rows > 0 ? ctrl.success(md5) : ctrl.fail("淇濆瓨鏂囦欢澶辫触", null); + } catch (Exception ex) { + return ctrl.fail(ex.getMessage(), null); + } + } + + /** + * 鑾峰彇闄勪欢瀹炰綋绫� + */ + protected AttachEntity getAttachEntity(UserEntity ue, String tab, String oldName, String md5, double sizes) { + AttachEntity entity = new AttachEntity(); + entity.setName(oldName); + entity.setTab(tab); + entity.setGuid(md5); + String subPath = PathHelper.getUploadPath() + File.separator + md5 + FileHelper.getExtension(oldName); + entity.setPath(subPath); + entity.setSizes(sizes); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + return entity; + } + + /** + * 涓嬭浇鏂囦欢 + */ + public void download(String guid, HttpServletResponse res) { + download(guid, false, res); + } + + /** + * 涓嬭浇鏂囦欢 + */ + public void download(String guid, boolean inline, HttpServletResponse res) { + try { + if (StringHelper.isEmpty(guid)) { + WebHelper.writeStr2Page(res, StaticData.NO_FILE); + return; + } + + AttachEntity entity = attachService.selectByGuid(guid); + if (entity == null) { + WebHelper.writeStr2Page(res, StaticData.NO_FILE); + return; + } + + String filePath = pathHelper.getConfig().getUploadPath() + File.separator + entity.getPath(); + File file = new File(filePath); + if (!file.exists() || file.isDirectory()) { + WebHelper.writeJson2Page(res, "鏂囦欢涓嶅瓨鍦�"); + } + + WebHelper.download(filePath, entity.getName(), inline, res); + } catch (Exception ex) { + WebHelper.writeJson2Page(res, "鏂囦欢涓嬭浇鍑洪敊"); + log.error(ex.getMessage(), ex); + } + } + + /** + * 涓婁紶Excel闄勪欢 + */ + public List<KeyValueEntity> uploadXlsAnnex(UserEntity ue, List<MetaEntity> ms, List<MetaFileEntity> list, String path) { + List<String> files = getAttachFiles(list, path); + if (files.size() == 0) { + return null; + } + + List<KeyValueEntity> rs = new ArrayList<>(); + for (MetaEntity meta : ms) { + int rows = uploadXlsAnnex(ue, meta, files); + rs.add(new KeyValueEntity(meta.getName(), String.valueOf(rows))); + } + + return rs; + } + + /** + * 鑾峰彇闄勪欢鏂囦欢 + */ + private List<String> getAttachFiles(List<MetaFileEntity> list, String path) { + List<String> files = new ArrayList<>(); + + for (MetaFileEntity mf : list) { + if (mf.getName().contains(StaticData.ZIP)) { + List<String> subs = getZipFiles(mf, path); + if (null != subs && subs.size() > 0) { + files.addAll(subs); + } + continue; + } + + files.add(mf.getPath()); + } + + return files; + } + + /** + * 鑾峰彇zip涓殑鏂囦欢 + */ + private List<String> getZipFiles(MetaFileEntity mf, String path) { + File file = new File(mf.getPath()); + if (!file.exists() || file.isDirectory()) { + return null; + } + + File zipFolder = new File(pathHelper.getConfig().getTempPath() + File.separator + path + "_zip"); + if (!zipFolder.exists() || !zipFolder.isDirectory()) { + zipFolder.mkdirs(); + } + + String subPath = zipFolder + File.separator + mf.getName().toLowerCase().replace(".zip", ""); + ZipHelper.unzip(mf.getPath(), subPath); + + List<String> files = new ArrayList<>(); + getFilesByPath(files, subPath); + + return files; + } + + /** + * 鏍规嵁璺緞鑾峰彇鏂囦欢 + */ + private void getFilesByPath(List<String> list, String path) { + File file = new File(path); + if (!file.isDirectory()) { + list.add(file.getPath()); + return; + } + + File[] files = file.listFiles(); + if (null == files) { + return; + } + + for (File f : files) { + if (f.isDirectory()) { + getFilesByPath(list, f.getPath()); + } else { + list.add(f.getPath()); + } + } + } + + /** + * 涓婁紶Excel闄勪欢 + */ + private int uploadXlsAnnex(UserEntity ue, MetaEntity meta, List<String> files) { + List<?> list = queryXlsData(meta); + if (null == list || list.size() == 0) { + return 0; + } + + Field field = getAnnexField(list.get(0), meta.getTab()); + String folder = meta.getName().split("\\.")[0].trim().toLowerCase() + File.separator; + + int rows = 0; + for (Object obj : list) { + String[] names = getNames(getAnnexName(obj, field)); + if (null == names || names.length == 0) { + continue; + } + + for (String name : names) { + String file = findAnnexFile(name, folder, files); + if (null == file) { + continue; + } + + rows += insertXlsAnnex(ue, meta, (BaseEntity) obj, file); + } + } + + return rows; + } + + /** + * 鑾峰彇鍚嶇О + */ + public static String[] getNames(String str) { + if (StringHelper.isEmpty(str)) { + return null; + } + + return str.replace("锛�", ",").replace("锛�", ",").split(","); + } + + /** + * 鏌ヨExcel鏁版嵁 + */ + private List<?> queryXlsData(MetaEntity meta) { + String entity = meta.getTab().substring(meta.getTab().indexOf(".") + 1).replace("_", "").toLowerCase(); + BasicMapper basicMapper = ClassHelper.getBasicMapper(entity); + if (null == basicMapper) { + return null; + } + + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("parentid", meta.getEventid()); + + List<?> list = basicMapper.selectList(wrapper); + if (null == list || list.size() == 0) { + return null; + } + if (!(list.get(0) instanceof BaseEntity)) { + return null; + } + + return list; + } + + /** + * 鑾峰彇闄勪欢瀛楁 + */ + public static Field getAnnexField(Object obj, String tab) { + try { + String str = ATTACH_TABS.get(tab); + + Field field = obj.getClass().getDeclaredField(str); + field.setAccessible(true); + + return field; + } catch (Exception ex) { + return null; + } + } + + /** + * 鑾峰彇闄勪欢鍚嶇О + */ + public static String getAnnexName(Object obj, Field field) { + try { + Object val = field.get(obj); + + return null == val ? null : val.toString().trim(); + } catch (Exception ex) { + return null; + } + } + + /** + * 鏌ユ壘闄勪欢鏂囦欢 + */ + private String findAnnexFile(String name, String folder, List<String> files) { + name = File.separator + name.split("\\.")[0].trim().toLowerCase(); + for (String file : files) { + if (file.toLowerCase().contains(folder) && file.toLowerCase().contains(name)) { + return file; + } + } + for (String file : files) { + if (file.toLowerCase().contains(name)) { + return file; + } + } + + return null; + } + + /** + * 鎻掑叆Excel闄勪欢 + */ + private int insertXlsAnnex(UserEntity ue, MetaEntity meta, BaseEntity be, String file) { + File f = new File(file); + if (!f.exists() || f.isDirectory()) { + return 0; + } + + String md5 = FileHelper.getFileMd5(file); + AttachEntity old = attachService.selectByTabAndGuid(meta.getTab(), be.getEventid(), md5); + if (null != old) { + return 0; + } + + String fileName = FileHelper.getFileName(file); + double sizes = FileHelper.sizeToMb(f.length()); + + AttachEntity ae = getAttachEntity(ue, meta.getTab(), be.getEventid(), fileName, md5, sizes); + String targetPath = pathHelper.getConfig().getUploadPath() + File.separator + ae.getPath(); + + try { + FileUtils.copyFile(f, new File(targetPath)); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + + return attachService.insert(ae); + } + + /** + * 鑾峰彇闄勪欢瀹炰綋绫� + */ + protected AttachEntity getAttachEntity(UserEntity ue, String tabName, String eventid, String fileName, String md5, double sizes) { + AttachEntity entity = new AttachEntity(); + entity.setTab(tabName); + entity.setTabGuid(eventid); + entity.setName(fileName); + entity.setGuid(md5); + String subPath = PathHelper.getUploadPath() + File.separator + md5 + FileHelper.getExtension(fileName); + entity.setPath(subPath); + entity.setSizes(sizes); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + return entity; + } + + /** + * 璇锋眰涓嬭浇 + */ + public String downloadReqForGuids(UserEntity ue, List<String> guids) { + List<AttachEntity> list = attachService.selectByGuids(guids); + + return downloadReq(ue, list); + } + + /** + * 璇锋眰涓嬭浇 + */ + public String downloadReqForTabGuids(UserEntity ue, String tab, List<String> guids) { + List<AttachEntity> list = attachService.selectByTabGuids(tab, guids); + + return downloadReq(ue, list); + } + + /** + * 璇锋眰涓嬭浇 + */ + protected String downloadReq(UserEntity ue, List<AttachEntity> list) { + if (null == list || list.isEmpty()) { + return null; + } + + String zipName = StringHelper.YMDHMS2_FORMAT.format(new Date()) + ".zip"; + String zipFile = pathHelper.getDownloadFullPath() + File.separator + zipName; + + ZipFile zip = Zip4jHelper.createZipFile(zipFile, null); + ZipParameters params = Zip4jHelper.getZipParams(false); + addZipFiles(zip, params, list); + + DownloadEntity downloadEntity = getDownloadEntity(ue, zipFile, null); + int rows = downloadMapper.insert(downloadEntity); + + return rows > 0 ? downloadEntity.getGuid() : null; + } + + /** + * 娣诲姞Zip鏂囦欢 + */ + private void addZipFiles(ZipFile zip, ZipParameters params, List<AttachEntity> list) { + int i = 1; + String uploadPath = pathHelper.getConfig().getUploadPath(); + for (AttachEntity ae : list) { + try { + String filePath = uploadPath + File.separator + ae.getPath(); + + File file = new File(filePath); + if (!file.exists() || file.isDirectory()) { + continue; + } + + zip.addFile(file, params); + FileHeader header = zip.getFileHeader(file.getName()); + if (null != header) { + zip.renameFile(header, i + "_" + ae.getName()); + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + } + + /** + * 鑾峰彇涓嬭浇瀹炰綋绫� + */ + private DownloadEntity getDownloadEntity(UserEntity ue, String file, String pwd) { + DownloadEntity de = new DownloadEntity(); + de.setName(FileHelper.getFileName(file)); + // 1-Shp鏂囦欢锛�2-涓撻鍥撅紝3-鍏冩暟鎹紝4-涓氬姟鏁版嵁锛�5-绠¢亾鍒嗘瀽锛�6-缁熻鎶ュ憡锛�7-闄勪欢鏂囦欢锛�8-鐡︾墖鏂囦欢 + de.setType(7); + de.setSizes(FileHelper.sizeToMb(new File(file).length())); + de.setDepid(ue.getDepid()); + de.setDcount(0); + de.setPwd(pwd); + de.setUrl(FileHelper.getRelativePath(file)); + de.setDescr("闄勪欢鏂囦欢"); + de.setGuid(FileHelper.getFileMd5(file)); + de.setCreateUser(ue.getId()); + // de.setGeom(null) + + return de; + } +} diff --git a/src/main/java/com/lf/server/service/all/WebSocketService.java b/src/main/java/com/lf/server/service/all/WebSocketService.java new file mode 100644 index 0000000..82d0338 --- /dev/null +++ b/src/main/java/com/lf/server/service/all/WebSocketService.java @@ -0,0 +1,130 @@ +package com.lf.server.service.all; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import javax.websocket.*; +import javax.websocket.server.ServerEndpoint; +import java.io.IOException; +import java.util.concurrent.CopyOnWriteArraySet; +import java.util.concurrent.atomic.AtomicInteger; + +/** + * WebSocket鏈嶅姟绫� + * @author WWW + */ +@ServerEndpoint(value = "/ws/select") +@Component +public class WebSocketService { + @PostConstruct + public void init() { + System.out.println("websocket 鍔犺浇"); + } + + private final static Logger log = LoggerFactory.getLogger(WebSocketService.class); + + private static final AtomicInteger ONLINE_COUNT = new AtomicInteger(0); + + /** + * 鐢ㄦ潵瀛樻斁姣忎釜瀹㈡埛绔搴旂殑Session瀵硅薄锛堢嚎绋嬪畨鍏⊿et锛� + */ + private final static CopyOnWriteArraySet<Session> SESSION_SET = new CopyOnWriteArraySet<Session>(); + + /** + * 杩炴帴寤虹珛鎴愬姛璋冪敤鐨勬柟娉� + */ + @OnOpen + public void onOpen(Session session) { + SESSION_SET.add(session); + + int cnt = ONLINE_COUNT.incrementAndGet(); + log.info("鏈夎繛鎺ュ姞鍏ワ紝褰撳墠杩炴帴鏁颁负锛歿}", cnt); + sendMessage(session, "杩炴帴鎴愬姛"); + } + + /** + * 杩炴帴鍏抽棴璋冪敤鐨勬柟娉� + */ + @OnClose + public void onClose(Session session) { + SESSION_SET.remove(session); + + int cnt = ONLINE_COUNT.decrementAndGet(); + log.info("鏈夎繛鎺ュ叧闂紝褰撳墠杩炴帴鏁颁负锛歿}", cnt); + } + + /** + * 鏀跺埌瀹㈡埛绔秷鎭悗璋冪敤鐨勬柟娉� + * + * @param message 瀹㈡埛绔彂閫佽繃鏉ョ殑娑堟伅 + */ + @OnMessage + public void onMessage(String message, Session session) { + log.info("鏉ヨ嚜瀹㈡埛绔殑娑堟伅锛歿}", message); + sendMessage(session, "鏀跺埌娑堟伅锛屾秷鎭唴瀹癸細" + message); + } + + /** + * 鍑虹幇閿欒 + * + * @param session + * @param error + */ + @OnError + public void onError(Session session, Throwable error) { + log.error("鍙戠敓閿欒锛歿}锛孲ession ID锛� {}", error.getMessage(), session.getId()); + } + + /** + * 鍙戦�佹秷鎭紝瀹炶返琛ㄦ槑锛屾瘡娆℃祻瑙堝櫒鍒锋柊锛宻ession浼氬彂鐢熷彉鍖栥�� + * + * @param session + * @param message + */ + public static void sendMessage(Session session, String message) { + try { + session.getBasicRemote().sendText(String.format("%s", message)); + } catch (Exception ex) { + log.error("鍙戦�佹秷鎭嚭閿欙細{}", ex.getMessage()); + } + } + + /** + * 缇ゅ彂娑堟伅 + * + * @param message + * @throws IOException + */ + public static void broadCastInfo(String message) throws IOException { + for (Session session : SESSION_SET) { + if (session.isOpen()) { + sendMessage(session, message); + } + } + } + + /** + * 鎸囧畾Session鍙戦�佹秷鎭� + * + * @param sessionId + * @param message + * @throws IOException + */ + public static void sendMessage(String message, String sessionId) throws IOException { + Session session = null; + for (Session s : SESSION_SET) { + if (s.getId().equals(sessionId)) { + session = s; + break; + } + } + + if (session != null) { + sendMessage(session, message); + } else { + log.info("娌℃湁鎵惧埌浣犳寚瀹欼D鐨勪細璇濓細{}", sessionId); + } + } +} diff --git a/src/main/java/com/lf/server/service/data/DataQueryService.java b/src/main/java/com/lf/server/service/data/DataQueryService.java new file mode 100644 index 0000000..283a1de --- /dev/null +++ b/src/main/java/com/lf/server/service/data/DataQueryService.java @@ -0,0 +1,92 @@ +package com.lf.server.service.data; + +import com.lf.server.entity.all.SettingData; +import com.lf.server.entity.sys.AttachEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.FileHelper; +import com.lf.server.helper.PathHelper; +import com.lf.server.service.sys.AttachService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * 鏁版嵁妫�绱㈡湇鍔� + * @author WWW + */ +@Service +public class DataQueryService { + @Autowired + PathHelper pathHelper; + + @Autowired + AttachService attachService; + + /** + * 涓婁紶鏂囦欢 + */ + public Integer uploadFiles(UserEntity ue, String tabName, String eventid, MultipartFile[] files, HttpServletRequest req) throws IOException { + List<AttachEntity> list = new ArrayList<AttachEntity>(); + for (MultipartFile file : files) { + if (file.getSize() > SettingData.MAX_FILE_SIZE) { + continue; + } + + // 浼犺緭鏂囦欢 + String fileName = file.getOriginalFilename(); + String filePath = pathHelper.getTempPath() + File.separator + fileName; + File newFile = new File(filePath); + file.transferTo(newFile); + double sizes = FileHelper.sizeToMb(file.getSize()); + + // 鑾峰彇MD5 + String md5 = FileHelper.getFileMd5(filePath); + AttachEntity entity = attachService.selectByGuid(md5); + + AttachEntity ae = getAttachEntity(ue, tabName, eventid, fileName, md5, sizes); + if (entity != null) { + ae.setPath(entity.getPath()); + + String oldPath = pathHelper.getConfig().getUploadPath() + File.separator + ae.getPath(); + File f = new File(oldPath); + if (!f.exists() || f.isDirectory()) { + newFile.renameTo(new File(oldPath)); + } else { + newFile.delete(); + } + } else { + String targetPath = pathHelper.getConfig().getUploadPath() + File.separator + ae.getPath(); + newFile.renameTo(new File(targetPath)); + } + + list.add(ae); + } + + return attachService.inserts(list); + } + + /** + * 鑾峰彇闄勪欢瀹炰綋绫� + */ + protected AttachEntity getAttachEntity(UserEntity ue, String tabName, String eventid, String fileName, String md5, double sizes) { + AttachEntity entity = new AttachEntity(); + entity.setTab(tabName); + entity.setTabGuid(eventid); + entity.setName(fileName); + entity.setGuid(md5); + String subPath = PathHelper.getUploadPath() + File.separator + md5 + FileHelper.getExtension(fileName); + entity.setPath(subPath); + entity.setSizes(sizes); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } + + return entity; + } +} diff --git a/src/main/java/com/lf/server/service/data/DictService.java b/src/main/java/com/lf/server/service/data/DictService.java new file mode 100644 index 0000000..c70753f --- /dev/null +++ b/src/main/java/com/lf/server/service/data/DictService.java @@ -0,0 +1,78 @@ +package com.lf.server.service.data; + +import com.lf.server.entity.ctrl.TabEntity; +import com.lf.server.entity.data.DictEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.data.DictMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 瀛楀吀 + * @author WWW + */ +@Service +public class DictService implements DictMapper { + @Autowired + DictMapper dictMapper; + + @Override + public Integer selectCount(String ns, String tab) { + ns = StringHelper.isNull(ns) ? null : ns.trim(); + tab = StringHelper.getLikeUpperStr(tab); + + return dictMapper.selectCount(ns, tab); + } + + @Override + public List<DictEntity> selectByPage(String ns, String tab, Integer limit, Integer offset) { + ns = StringHelper.isNull(ns) ? null : ns.trim(); + tab = StringHelper.getLikeUpperStr(tab); + + return dictMapper.selectByPage(ns, tab, limit, offset); + } + + @Override + public DictEntity selectById(int id) { + return dictMapper.selectById(id); + } + + @Override + public List<TabEntity> selectDictTab(String name, String field) { + name = StringHelper.getLikeUpperStr(name); + + return dictMapper.selectDictTab(name, field); + } + + @Override + public Integer insert(DictEntity entity) { + return dictMapper.insert(entity); + } + + @Override + public Integer inserts(List<DictEntity> list) { + return dictMapper.inserts(list); + } + + @Override + public Integer delete(int id) { + return dictMapper.delete(id); + } + + @Override + public Integer deletes(List<Integer> ids) { + return dictMapper.deletes(ids); + } + + @Override + public Integer update(DictEntity entity) { + return dictMapper.update(entity); + } + + @Override + public Integer updates(List<DictEntity> list) { + return dictMapper.updates(list); + } +} diff --git a/src/main/java/com/lf/server/service/data/DirService.java b/src/main/java/com/lf/server/service/data/DirService.java new file mode 100644 index 0000000..f435d3f --- /dev/null +++ b/src/main/java/com/lf/server/service/data/DirService.java @@ -0,0 +1,130 @@ +package com.lf.server.service.data; + +import com.lf.server.entity.data.DirEntity; +import com.lf.server.helper.PathHelper; +import com.lf.server.helper.StringHelper; +import com.lf.server.helper.Zip4jHelper; +import com.lf.server.mapper.data.DirMapper; +import net.lingala.zip4j.ZipFile; +import net.lingala.zip4j.model.ZipParameters; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.File; +import java.util.Date; +import java.util.List; + +/** + * dir + * @author sws + * @date 2022-09-24 + */ + +@Service +public class DirService implements DirMapper { + @Autowired + PathHelper pathHelper; + + @Autowired + DirMapper dirMapper; + + @Override + public Integer insert(DirEntity dirEntity) { + return dirMapper.insert(dirEntity); + } + + @Override + public Integer inserts(List<DirEntity> dirEntity) { + return dirMapper.inserts(dirEntity); + } + + @Override + public Integer deleteDir(int id) { + return dirMapper.deleteDir(id); + } + + @Override + public Integer deleteDirs(List<Integer> ids) { + return dirMapper.deleteDirs(ids); + } + + @Override + public Integer update(DirEntity dirEntity) { + return dirMapper.update(dirEntity); + } + + @Override + public Integer updates(List<DirEntity> dirEntity) { + return dirMapper.updates(dirEntity); + } + + @Override + public DirEntity selectDir(int id) { + return dirMapper.selectDir(id); + } + + @Override + public DirEntity selectByCode(String code) { + return dirMapper.selectByCode(code); + } + + @Override + public List<DirEntity> selectDirAll() { + return dirMapper.selectDirAll(); + } + + @Override + public List<DirEntity> selectDirRoot() { + return dirMapper.selectDirRoot(); + } + + @Override + public List<DirEntity> selectProject(String name) { + name = StringHelper.getLikeUpperStr(name); + + return dirMapper.selectProject(name); + } + + @Override + public List<DirEntity> selectRecursiveById(Integer id) { + return dirMapper.selectRecursiveById(id); + } + + @Override + public List<DirEntity> selectDirsForPrj() { + return dirMapper.selectDirsForPrj(); + } + + /** + * 鍒涘缓鏁版嵁鐩綍 + */ + public String createDirs(int id) throws Exception { + List<DirEntity> list = selectRecursiveById(id); + if (null == list || list.isEmpty()) { + return null; + } + + String tempPath = pathHelper.getTempPath(); + for (DirEntity dir : list) { + String path = tempPath + File.separator + dir.getFullName(); + File f = new File(path); + if (f.exists() && f.isDirectory()) { + continue; + } + + f.mkdirs(); + } + + File file = new File(tempPath + File.separator + list.get(0).getName()); + if (!file.exists() || !file.isDirectory()) { + file.mkdirs(); + } + + String zipFile = tempPath + File.separator + list.get(0).getName() + ".zip"; + ZipFile zip = Zip4jHelper.createZipFile(zipFile, null); + ZipParameters params = Zip4jHelper.getZipParams(false); + zip.addFolder(file, params); + + return zipFile; + } +} diff --git a/src/main/java/com/lf/server/service/data/DomainService.java b/src/main/java/com/lf/server/service/data/DomainService.java new file mode 100644 index 0000000..b111576 --- /dev/null +++ b/src/main/java/com/lf/server/service/data/DomainService.java @@ -0,0 +1,78 @@ +package com.lf.server.service.data; + +import com.lf.server.entity.data.DomainEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.data.DomainMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 鍊煎煙 + * @author WWW + */ +@Service +public class DomainService implements DomainMapper { + @Autowired + DomainMapper domainMapper; + + @Override + public Integer selectCount(String ns, String tab, String name) { + name = StringHelper.getLikeUpperStr(name); + + return domainMapper.selectCount(ns, tab, name); + } + + @Override + public List<DomainEntity> selectByPage(String ns, String tab, String name, Integer limit, Integer offset) { + name = StringHelper.getLikeUpperStr(name); + + return domainMapper.selectByPage(ns, tab, name, limit, offset); + } + + @Override + public List<DomainEntity> selectAll() { + return domainMapper.selectAll(); + } + + @Override + public DomainEntity selectById(int id) { + return domainMapper.selectById(id); + } + + @Override + public List<String> selectDomainNames(String ns, String tab) { + return domainMapper.selectDomainNames(ns, tab); + } + + @Override + public Integer insert(DomainEntity entity) { + return domainMapper.insert(entity); + } + + @Override + public Integer inserts(List<DomainEntity> list) { + return domainMapper.inserts(list); + } + + @Override + public Integer delete(int id) { + return domainMapper.delete(id); + } + + @Override + public Integer deletes(List<Integer> ids) { + return domainMapper.deletes(ids); + } + + @Override + public Integer update(DomainEntity entity) { + return domainMapper.update(entity); + } + + @Override + public Integer updates(List<DomainEntity> list) { + return domainMapper.updates(list); + } +} diff --git a/src/main/java/com/lf/server/service/data/DownloadService.java b/src/main/java/com/lf/server/service/data/DownloadService.java new file mode 100644 index 0000000..6d4e5f3 --- /dev/null +++ b/src/main/java/com/lf/server/service/data/DownloadService.java @@ -0,0 +1,171 @@ +package com.lf.server.service.data; + +import com.lf.server.entity.all.AbstractPwdEntity; +import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.show.PipelineEntity; +import com.lf.server.helper.*; +import com.lf.server.mapper.data.DownloadMapper; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.File; +import java.util.*; + +/** + * 涓嬭浇璁板綍 + * @author WWW + */ +@Service +public class DownloadService implements DownloadMapper { + @Autowired + PathHelper pathHelper; + + @Autowired + DownloadMapper downloadMapper; + + private final static Log log = LogFactory.getLog(DownloadService.class); + + @Override + public Integer selectCount(String name) { + name = StringHelper.getLikeUpperStr(name); + + return downloadMapper.selectCount(name); + } + + @Override + public List<DownloadEntity> selectByPage(String name, Integer limit, Integer offset) { + name = StringHelper.getLikeUpperStr(name); + + return downloadMapper.selectByPage(name, limit, offset); + } + + @Override + public Integer selectCountForUser(Integer createUser, String types, String name) { + name = StringHelper.getLikeUpperStr(name); + + return downloadMapper.selectCountForUser(createUser, types, name); + } + + @Override + public List<DownloadEntity> selectByPageForUser(Integer createUser, String types, String name, Integer limit, Integer offset) { + name = StringHelper.getLikeUpperStr(name); + + return downloadMapper.selectByPageForUser(createUser, types, name, limit, offset); + } + + @Override + public List<DownloadEntity> selectAll() { + return downloadMapper.selectAll(); + } + + @Override + public DownloadEntity selectById(int id) { + return downloadMapper.selectById(id); + } + + @Override + public DownloadEntity selectByGuid(String guid) { + return downloadMapper.selectByGuid(guid); + } + + @Override + public Integer insert(DownloadEntity entity) { + return downloadMapper.insert(entity); + } + + @Override + public Integer inserts(List<DownloadEntity> list) { + return downloadMapper.inserts(list); + } + + @Override + public Integer delete(int id) { + return downloadMapper.delete(id); + } + + @Override + public Integer deletes(List<Integer> ids) { + return downloadMapper.deletes(ids); + } + + @Override + public Integer update(DownloadEntity entity) { + return downloadMapper.update(entity); + } + + @Override + public Integer updates(List<DownloadEntity> list) { + return downloadMapper.updates(list); + } + + /** + * 鑾峰彇涓嬭浇鏂囦欢璺緞 + * + * @param de 涓嬭浇瀹炰綋绫� + * @return 涓嬭浇鏂囦欢璺緞 + */ + public String getDownloadFilePath(DownloadEntity de) { + return pathHelper.getConfig().getDownloadPath() + File.separator + de.getUrl(); + } + + /** + * 瑙e瘑 + * + * @param entity 瀵嗙爜鎶借薄绫� + * @return 鏄�/鍚﹁В瀵嗘垚鍔� + */ + public static boolean decryptPwd(AbstractPwdEntity entity) { + try { + String pwd = RsaHelper.decrypt(entity.getPwd()); + if (StringHelper.isEmpty(pwd)) { + return false; + } + + entity.setPwd(pwd); + + return true; + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return false; + } + } + + /** + * 瑙e瘑 + * + * @param pe 绠¢亾鍒嗘瀽瀹炰綋绫� + * @return 鏄�/鍚﹁В瀵嗘垚鍔� + */ + public static boolean decryptPwd(PipelineEntity pe) { + try { + String pwd = RsaHelper.decrypt(pe.getPwd()); + if (StringHelper.isEmpty(pwd)) { + return false; + } + + pe.setPwd(pwd); + + return true; + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return false; + } + } + + /** + * 瑙e瘑 + * + * @param pwd 鍔犲瘑瀵嗙爜 + * @return 鍘熷瀵嗙爜 + */ + public static String decryptPwd(String pwd) { + try { + return RsaHelper.decrypt(pwd); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return null; + } + } +} diff --git a/src/main/java/com/lf/server/service/data/FmeService.java b/src/main/java/com/lf/server/service/data/FmeService.java new file mode 100644 index 0000000..3d380bc --- /dev/null +++ b/src/main/java/com/lf/server/service/data/FmeService.java @@ -0,0 +1,344 @@ +package com.lf.server.service.data; + +import com.lf.server.entity.ctrl.FmeReqEntity; +import com.lf.server.entity.ctrl.NameValueEntity; +import com.lf.server.entity.ctrl.RegisterEntity; +import com.lf.server.entity.data.MetaFileEntity; +import com.lf.server.helper.RestHelper; +import com.lf.server.helper.StringHelper; +import com.lf.server.helper.WebHelper; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * FME鏈嶅姟绫� + * @author WWW + */ +@Service +public class FmeService { + @Value("${sys.fmeUrl}") + private String fmeUrl; + + /** + * 鑾峰彇浠诲姟鐘舵�� + */ + public Object getTaskStatus(String id, HttpServletRequest req) { + String url = getUrl("datax/task/get", req) + "&id=" + id; + + return RestHelper.getForRest(url, Object.class); + } + + /** + * 涓嬭浇璐ㄦ閿欒缁撴灉 + */ + public String getDownloadUrl(String id, HttpServletRequest req) { + return getUrl("datax/task/downloadResult", req) + "&id=" + id; + } + + /** + * 1.OSGB妫�鏌ワ細.osgb + *鍊炬枩鎽勫奖*.xls/.xlsx + */ + public String checkOsgb(FmeReqEntity fme, HttpServletRequest req) { + String url = getUrl("datax/task/run/A8鎴愭灉璐ㄦ_OSGB妫�鏌�", req); + + List<NameValueEntity> list = getKeyValues("OSGB妫�鏌�"); + list.add(new NameValueEntity("XMMC", fme.xmmc)); + list.add(new NameValueEntity("GCXMYSB", fme.zipPath)); + list.add(new NameValueEntity("DMYX_FBL", fme.imgResolution)); + + return RestHelper.postForRest(url, list); + } + + /** + * 2.琛ㄦ牸鏁版嵁妫�鏌ワ細.xls/.xlsx锛堟帓闄ゅ厓鏁版嵁锛� + */ + public String checkXls(FmeReqEntity fme, HttpServletRequest req) { + String url = getUrl("datax/task/run/A3鎴愭灉璐ㄦ_琛ㄦ牸鏁版嵁妫�鏌�", req); + + List<NameValueEntity> list = getKeyValues("琛ㄦ牸鏁版嵁妫�鏌�"); + list.add(new NameValueEntity("XMMC", fme.xmmc)); + list.add(new NameValueEntity("SJZY", fme.sjzy)); + list.add(new NameValueEntity("GCXMYSB", fme.zipPath)); + + return RestHelper.postForRest(url, list); + } + + /** + * 3.鐐逛簯妫�鏌ワ細.laz + *婵�鍏夌偣浜�*.xls/.xlsx + */ + public String checkLaz(FmeReqEntity fme, HttpServletRequest req) { + String url = getUrl("datax/task/run/A9鎴愭灉璐ㄦ_鐐逛簯妫�鏌�", req); + + List<NameValueEntity> list = getKeyValues("鐐逛簯妫�鏌�"); + list.add(new NameValueEntity("XMMC", fme.xmmc)); + list.add(new NameValueEntity("GCXMYSB", fme.zipPath)); + list.add(new NameValueEntity("LAZ_MD", fme.lazDensity)); + + return RestHelper.postForRest(url, list); + } + + /** + * 4.楂樼▼妫�鏌ワ細.tif/.prj/.tfw/.tif.ovr + *鍦板舰鍥�*.dwg + */ + public String checkDem(FmeReqEntity fme, HttpServletRequest req) { + String url = getUrl("datax/task/run/A6鎴愭灉璐ㄦ_楂樼▼妫�鏌�", req); + + List<NameValueEntity> list = getKeyValues("楂樼▼妫�鏌�"); + list.add(new NameValueEntity("XMMC", fme.xmmc)); + list.add(new NameValueEntity("GCXMYSB", fme.zipPath)); + list.add(new NameValueEntity("GCZWC", fme.demTolerance)); + list.add(new NameValueEntity("ChangeRate", fme.demChangeRate)); + + return RestHelper.postForRest(url, list); + } + + /** + * 5.灞炴�ф鏌ワ細*dlg*.gdb + *鍦板舰鍥�*.dwg + */ + public String checkAttrs(FmeReqEntity fme, HttpServletRequest req) { + String url = getUrl("datax/task/run/A5鎴愭灉璐ㄦ_灞炴�ф鏌�", req); + + List<NameValueEntity> list = getKeyValues("灞炴�ф鏌�"); + list.add(new NameValueEntity("XMMC", fme.xmmc)); + list.add(new NameValueEntity("SJZY", fme.sjzy)); + list.add(new NameValueEntity("GCXMYSB", fme.zipPath)); + + return RestHelper.postForRest(url, list); + } + + /** + * 6.鎷撴墤妫�鏌ワ細*鍦板舰鍥�*.dwg + */ + public String checkTopology(FmeReqEntity fme, HttpServletRequest req) { + String url = getUrl("datax/task/run/A4鎴愭灉璐ㄦ_鎷撴墤妫�鏌�", req); + + List<NameValueEntity> list = getKeyValues("鎷撴墤妫�鏌�"); + list.add(new NameValueEntity("XMMC", fme.xmmc)); + list.add(new NameValueEntity("GCXMYSB", fme.zipPath)); + list.add(new NameValueEntity("S_MCDRC", fme.tolerance)); + list.add(new NameValueEntity("S_XCDRC", fme.tolerance)); + list.add(new NameValueEntity("S_DCDRC", fme.tolerance)); + list.add(new NameValueEntity("OFFSET_GCD", fme.gcdOffset)); + list.add(new NameValueEntity("OFFSET_KZD", fme.kzdOffset)); + list.add(new NameValueEntity("Range_OFFSET", fme.rangeOffset)); + list.add(new NameValueEntity("XG_MAX", fme.xgMax)); + + return RestHelper.postForRest(url, list); + } + + /** + * 7.鍥鹃潰鏁撮グ妫�鏌ワ細.dwg + */ + public String checkDecorate(FmeReqEntity fme, HttpServletRequest req) { + String url = getUrl("datax/task/run/A10鎴愭灉璐ㄦ_鍥鹃潰鏁撮グ妫�鏌�", req); + + List<NameValueEntity> list = getKeyValues("鍥鹃潰鏁撮グ妫�鏌�"); + list.add(new NameValueEntity("XMMC", fme.xmmc)); + list.add(new NameValueEntity("GCXMYSB", fme.zipPath)); + list.add(new NameValueEntity("S_XLS", "$(ZJPZWJ)\\璐ㄦ閰嶇疆琛ㄦ��.xlsx")); + list.add(new NameValueEntity("S_XLS2", "D:\\Project\\Data\\LF\\temp\\20230107010101\\鏂囦欢娓呭崟.xlsx")); + + return RestHelper.postForRest(url, list); + } + + /** + * 8.鍘熺偣妫�鏌ワ細*鍓栭潰鍥�*.dwg + */ + public String checkOrigin(FmeReqEntity fme, HttpServletRequest req) { + String url = getUrl("datax/task/run/A11鎴愭灉璐ㄦ_鍘熺偣妫�鏌�", req); + + List<NameValueEntity> list = getKeyValues("鍘熺偣妫�鏌�"); + list.add(new NameValueEntity("XMMC", fme.xmmc)); + list.add(new NameValueEntity("GCXMYSB", fme.zipPath)); + + return RestHelper.postForRest(url, list); + } + + /** + * 9.鏍呮牸妫�鏌ワ細.tif/.prj/.tfw/.tif.ovr + .xls/.xlsx + */ + public String checkDom(FmeReqEntity fme, HttpServletRequest req) { + String url = getUrl("datax/task/run/A7鎴愭灉璐ㄦ_鏍呮牸妫�鏌�", req); + + List<NameValueEntity> list = getKeyValues("鏍呮牸妫�鏌�"); + list.add(new NameValueEntity("XMMC", fme.xmmc)); + list.add(new NameValueEntity("SJZY", fme.sjzy)); + list.add(new NameValueEntity("GCXMYSB", fme.zipPath)); + list.add(new NameValueEntity("S_CoordinateSystem", fme.coordinateSystem)); + list.add(new NameValueEntity("DMYX_FBL", fme.imgResolution)); + + return RestHelper.postForRest(url, list); + } + + /** + * 10.鏁板鍩虹妫�鏌ワ細.shp, .gdb, *鍏冩暟鎹�*.xls/.xlsx + */ + public String checkMath(FmeReqEntity fme, HttpServletRequest req) { + String url = getUrl("datax/task/run/B1鍏ュ簱璐ㄦ_鏁板鍩虹妫�鏌�", req); + + List<NameValueEntity> list = getKeyValues("鏁板鍩虹妫�鏌�"); + list.add(new NameValueEntity("XMMC", fme.xmmc)); + list.add(new NameValueEntity("SJZY", fme.sjzy)); + list.add(new NameValueEntity("GCXMYSB", fme.zipPath)); + + return RestHelper.postForRest(url, list); + } + + /** + * 11.鍏冩暟鎹鏌ワ細*鍏冩暟鎹�*.xls/.xlsx + */ + public String checkMeta(FmeReqEntity fme, HttpServletRequest req) { + String url = getUrl("datax/task/run/B5鍏ュ簱璐ㄦ_鍏冩暟鎹鏌�", req); + + List<NameValueEntity> list = getKeyValues("鍏冩暟鎹鏌�"); + list.add(new NameValueEntity("XMMC", fme.xmmc)); + list.add(new NameValueEntity("SJZY", fme.sjzy)); + list.add(new NameValueEntity("GCXMYSB", fme.zipPath)); + + return RestHelper.postForRest(url, list); + } + + /** + * 12.鎬昏川妫�锛�.zip/.7z + .xls/.xlsx + */ + public String checkMain(FmeReqEntity fme, HttpServletRequest req) { + String url = getUrl("datax/task/run/B0鍏ュ簱璐ㄦ__鎬�", req); + + List<NameValueEntity> list = getKeyValues("鎬昏川妫�"); + list.add(new NameValueEntity("XMMC", fme.xmmc)); + list.add(new NameValueEntity("SJZY", fme.sjzy)); + list.add(new NameValueEntity("GCXMYSB", fme.zipPath)); + list.add(new NameValueEntity("S_WBSBG", fme.wbsPath)); + list.add(new NameValueEntity("S_DZDK", fme.isDiZai)); + list.add(new NameValueEntity("DZ_ZLLX", fme.diZaiType)); + + return RestHelper.postForRest(url, list); + } + + /** + * 13.閫昏緫涓�鑷存�ф鏌ワ細.dwg/.xls/.xlsx + */ + public String checkLogical(FmeReqEntity fme, HttpServletRequest req) { + String url = getUrl("datax/task/run/B3鍏ュ簱璐ㄦ_閫昏緫涓�鑷存�ф鏌�", req); + + List<NameValueEntity> list = getKeyValues("閫昏緫涓�鑷存�ф鏌�"); + list.add(new NameValueEntity("XMMC", fme.xmmc)); + list.add(new NameValueEntity("SJZY", fme.sjzy)); + list.add(new NameValueEntity("GCXMYSB", fme.zipPath)); + + return RestHelper.postForRest(url, list); + } + + /** + * 14.鍗曢」鎴愭灉瀹屾暣鎬ф鏌ワ細.* + */ + public String checkSingleIntegrity(FmeReqEntity fme, HttpServletRequest req) { + String url = getUrl("datax/task/run/B6鍏ュ簱璐ㄦ_鍗曢」鎴愭灉瀹屾暣鎬ф鏌�", req); + + List<NameValueEntity> list = getKeyValues("鍗曢」鎴愭灉瀹屾暣鎬ф鏌�"); + list.add(new NameValueEntity("XMMC", fme.xmmc)); + list.add(new NameValueEntity("SJZY", fme.sjzy)); + list.add(new NameValueEntity("GCXMYSB", fme.zipPath)); + list.add(new NameValueEntity("SJFL", fme.sjfl)); + + return RestHelper.postForRest(url, list); + } + + /** + * a.琛ㄦ牸鍏ュ簱锛歋_RKBG銆乨irid銆乸arentid锛屽涓互鑻辨枃閫楀彿闅斿紑 + */ + public String excelLoader(MetaFileEntity meta, HttpServletRequest req) { + String url = getUrl("datax/task/run/琛ㄦ牸鍏ュ簱", req); + + List<NameValueEntity> list = getKeyValues("琛ㄦ牸鍏ュ簱"); + list.add(new NameValueEntity("S_RKBG", meta.getPath())); + list.add(new NameValueEntity("COORDSYS", meta.getEpsgCode())); + list.add(new NameValueEntity("dirid", meta.getName())); + list.add(new NameValueEntity("depid", meta.getDepcode())); + list.add(new NameValueEntity("verid", meta.getVerid())); + list.add(new NameValueEntity("createuser", meta.getCreateUser())); + list.add(new NameValueEntity("parentid", meta.getEventid())); + + return RestHelper.postForRest(url, list); + } + + /** + * b.CRDS骞冲彴浜や粯 + */ + public String crdsPackaging(String dirCode, String major, String isCut, HttpServletRequest req) { + // datax/task/run/CRDS骞冲彴浜や粯_娴嬭瘯 + String url = getUrl("datax/task/run/CRDS骞冲彴浜や粯_code娴嬭瘯", req); + + List<NameValueEntity> list = getKeyValues("CRDS骞冲彴浜や粯"); + list.add(new NameValueEntity("S_FFXMMC", dirCode)); + list.add(new NameValueEntity("MBZY", major)); + list.add(new NameValueEntity("P_WBFW", isCut)); + + return RestHelper.postForRest(url, list); + } + + /** + * c.鏈嶅姟娉ㄥ唽 + */ + public RegisterEntity serverRegister(String name, String serverUri, String type, HttpServletRequest req) { + String url = getUrl("resource/res/item", req); + + RegisterEntity entity = new RegisterEntity(name, serverUri, type); + + String resid = RestHelper.postForRest(url, entity); + entity.setSerialnum(resid); + + return entity; + } + + /** + * d.鏈嶅姟鐢宠 + */ + public void serverApply(String id, Integer pubid, HttpServletRequest req) { + String url = getUrl("resource/res/request", req) + "&resourceid=" + id; + + RegisterEntity entity = new RegisterEntity(pubid); + + RestHelper.postForRest(url, entity); + } + + /** + * e.鍒犻櫎璧勬簮 + */ + public void deleteRes(String id, HttpServletRequest req) { + String url = getUrl("resource/res/hashid", req) + "&hashid=" + id; + + RestHelper.deleteForRest(url); + } + + /** + * 鑾峰彇Url + */ + public String getUrl(String subUrl, HttpServletRequest req) { + String token = WebHelper.getToken(req); + + return fmeUrl + subUrl + "?token=" + token; + } + + /** + * 鑾峰彇鍚嶇О鍊煎闆嗗悎 + */ + public List<NameValueEntity> getKeyValues(String name) { + List<NameValueEntity> list = new ArrayList<>(); + list.add(new NameValueEntity("_name", String.format("%s_%s", name, StringHelper.YMDHMS2_FORMAT.format(new Date())))); + list.add(new NameValueEntity("_priority", 100)); + list.add(new NameValueEntity("_terminate_on_error", false)); + list.add(new NameValueEntity("IID", "")); + list.add(new NameValueEntity("FANOUT_DIR", "$(OrgResultStorage)")); + list.add(new NameValueEntity("IID_JL", "$(ZJPZWJ)\\IID璁板綍琛�.xlsx")); + list.add(new NameValueEntity("S_ZJXZ", "$(ZJPZWJ)\\璐ㄦ缁嗗垯鎬�.xlsx")); + list.add(new NameValueEntity("S_BZPZB", "$(ZJPZWJ)\\璐ㄦ閰嶇疆琛ㄦ��.xlsx")); + + return list; + } +} diff --git a/src/main/java/com/lf/server/service/data/LayerService.java b/src/main/java/com/lf/server/service/data/LayerService.java new file mode 100644 index 0000000..bbb6aa5 --- /dev/null +++ b/src/main/java/com/lf/server/service/data/LayerService.java @@ -0,0 +1,73 @@ +package com.lf.server.service.data; + +import com.lf.server.entity.data.LayerEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.data.LayerMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 鍥惧眰 + * @author WWW + */ +@Service +public class LayerService implements LayerMapper { + @Autowired + LayerMapper layerMapper; + + @Override + public Integer selectCount(String cnName) { + cnName = StringHelper.getLikeUpperStr(cnName); + + return layerMapper.selectCount(cnName); + } + + @Override + public List<LayerEntity> selectByPage(String cnName, Integer limit, Integer offset) { + cnName = StringHelper.getLikeUpperStr(cnName); + + return layerMapper.selectByPage(cnName, limit, offset); + } + + @Override + public List<LayerEntity> selectAll() { + return layerMapper.selectAll(); + } + + @Override + public LayerEntity selectById(int id) { + return layerMapper.selectById(id); + } + + @Override + public Integer insert(LayerEntity entity) { + return layerMapper.insert(entity); + } + + @Override + public Integer inserts(List<LayerEntity> list) { + return layerMapper.inserts(list); + } + + @Override + public Integer delete(int id) { + return layerMapper.delete(id); + } + + @Override + public Integer deletes(List<Integer> ids) { + return layerMapper.deletes(ids); + } + + @Override + public Integer update(LayerEntity entity) { + return layerMapper.update(entity); + } + + @Override + public Integer updates(List<LayerEntity> list) { + return layerMapper.updates(list); + } +} diff --git a/src/main/java/com/lf/server/service/data/MetaService.java b/src/main/java/com/lf/server/service/data/MetaService.java new file mode 100644 index 0000000..61b5b5d --- /dev/null +++ b/src/main/java/com/lf/server/service/data/MetaService.java @@ -0,0 +1,631 @@ +package com.lf.server.service.data; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.ctrl.DownloadReqEntity; +import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.data.MetaEntity; +import com.lf.server.entity.sys.AttachEntity; +import com.lf.server.entity.sys.MetaDownEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.*; +import com.lf.server.mapper.all.BasicMapper; +import com.lf.server.mapper.all.GeomBaseMapper; +import com.lf.server.mapper.data.MetaMapper; +import com.lf.server.service.all.BaseQueryService; +import com.lf.server.service.sys.MetaDownService; +import net.lingala.zip4j.ZipFile; +import net.lingala.zip4j.model.FileHeader; +import net.lingala.zip4j.model.ZipParameters; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.util.*; + +/** + * 鍏冩暟鎹� + * @author WWW + */ +@Service +public class MetaService implements MetaMapper { + @Autowired + PathHelper pathHelper; + + @Autowired + MetaMapper metaMapper; + + @Autowired + MetaDownService metaDownService; + + @Autowired + DownloadService downloadService; + + private final static Log log = LogFactory.getLog(MetaService.class); + + @Override + public Integer selectCount(String depcode, String dircode, Integer verid, String name) { + depcode = StringHelper.getRightLike(depcode); + dircode = StringHelper.getRightLike(dircode); + name = StringHelper.getLikeUpperStr(name); + + return metaMapper.selectCount(depcode, dircode, verid, name); + } + + @Override + public List<MetaEntity> selectByPage(String depcode, String dircode, Integer verid, String name, Integer limit, Integer offset) { + depcode = StringHelper.getRightLike(depcode); + dircode = StringHelper.getRightLike(dircode); + name = StringHelper.getLikeUpperStr(name); + + return metaMapper.selectByPage(depcode, dircode, verid, name, limit, offset); + } + + @Override + public Integer selectMetasForCount(String depcode, String dirs, String name) { + depcode = StringHelper.getRightLike(depcode); + name = StringHelper.getLikeUpperStr(name); + + return metaMapper.selectMetasForCount(depcode, dirs, name); + } + + @Override + public List<MetaEntity> selectMetasForPage(String depcode, String dirs, String name, Integer limit, Integer offset) { + depcode = StringHelper.getRightLike(depcode); + name = StringHelper.getLikeUpperStr(name); + + return metaMapper.selectMetasForPage(depcode, dirs, name, limit, offset); + } + + @Override + public Integer selectCountForUpload(String name, Integer createUser, String types) { + name = StringHelper.getLikeUpperStr(name); + + return metaMapper.selectCountForUpload(name, createUser, types); + } + + @Override + public List<MetaEntity> selectByPageForUpload(String name, Integer createUser, String types, Integer limit, Integer offset) { + name = StringHelper.getLikeUpperStr(name); + + return metaMapper.selectByPageForUpload(name, createUser, types, limit, offset); + } + + @Override + public Integer selectCountByPid(Integer metaid, String name) { + name = StringHelper.getLikeUpperStr(name); + + return metaMapper.selectCountByPid(metaid, name); + } + + @Override + public List<MetaEntity> selectPageByPid(Integer metaid, String name, Integer limit, Integer offset) { + name = StringHelper.getLikeUpperStr(name); + + return metaMapper.selectPageByPid(metaid, name, limit, offset); + } + + @Override + public MetaEntity selectById(int id) { + return metaMapper.selectById(id); + } + + @Override + public MetaEntity selectByGuid(String guid, String dircode, String tab) { + return metaMapper.selectByGuid(guid, dircode, tab); + } + + @Override + public List<MetaEntity> selectByIdsForTab(String ids) { + return metaMapper.selectByIdsForTab(ids); + } + + @Override + public List<MetaEntity> selectMetaFiles(List<Integer> ids) { + return metaMapper.selectMetaFiles(ids); + } + + @Override + public List<MetaEntity> selectXlsAnnex(Integer[] ids, String tabs) { + return metaMapper.selectXlsAnnex(ids, tabs); + } + + @Override + public List<MetaEntity> selectMetasByDirCode(String dircode) { + dircode = StringHelper.getRightLike(dircode); + + return metaMapper.selectMetasByDirCode(dircode); + } + + @Override + public List<String> selectMetaOverflowDep(String ids, String depcode) { + depcode = StringHelper.getRightLike(depcode); + + return metaMapper.selectMetaOverflowDep(ids, depcode); + } + + @Override + public Integer insert(MetaEntity entity) { + return metaMapper.insert(entity); + } + + @Override + public Integer inserts(List<MetaEntity> list) { + return metaMapper.inserts(list); + } + + @Override + public Integer deletes(String sql, String ids) { + return metaMapper.deletes(sql, ids); + } + + @Override + public Integer update(MetaEntity entity) { + return metaMapper.update(entity); + } + + @Override + public Integer updates(List<MetaEntity> list) { + return metaMapper.updates(list); + } + + /** + * 鍒犻櫎鍏冩暟鎹� + */ + public Integer deletes(List<Integer> list) { + String ids = StringHelper.join(list, ","); + + String sql = null; + List<MetaEntity> metas = selectByIdsForTab(ids); + if (null != metas && metas.size() > 0) { + sql = getDelTabsSql(metas); + } + + return deletes(sql, ids); + } + + /** + * 鑾峰彇鍒犻櫎琛ㄨ褰昐QL + */ + public String getDelTabsSql(List<MetaEntity> metas) { + List<String> list = getTabDeletes(metas, metas.get(0).getTab()); + addCascadDeletes(list); + addAttachDeletes(list); + Collections.reverse(list); + + return StringHelper.join(list, ";"); + } + + /** + * 鑾峰彇鍒犻櫎琛ㄨ褰昐QL + */ + private List<String> getTabDeletes(List<MetaEntity> metas, String tab) { + List<String> list = new ArrayList<>(); + + List<String> pids = new ArrayList<>(); + for (MetaEntity me : metas) { + if (tab.equals(me.getTab())) { + pids.add("'" + me.getEventid() + "'"); + } else { + list.add(String.format("delete from %s where parentid in (%s)", tab, StringHelper.join(pids, ","))); + + pids.clear(); + tab = me.getTab(); + pids.add("'" + me.getEventid() + "'"); + } + } + if (pids.size() > 0) { + list.add(String.format("delete from %s where parentid in (%s)", tab, StringHelper.join(pids, ","))); + } + + return list; + } + + /** + * 娣诲姞绾ц仈鍒犻櫎 + */ + private void addCascadDeletes(List<String> list) { + int i = 0, c = list.size(); + while (i < c) { + String str = list.get(i); + if (str.contains("bs.m_pipelinepoint ")) { + list.add(str.replace("bs.m_pipelinepoint ", "bs.m_pipesegment ")); + list.add(str.replace("bs.m_pipelinepoint ", "bs.m_pipeline ")); + } + if (str.contains("bs.s_explorationpoint ")) { + list.add(str.replace("bs.s_explorationpoint ", "bs.s_surveyworksite ")); + } + + i++; + } + } + + /** + * 娣诲姞闄勪欢鍒犻櫎 + */ + private void addAttachDeletes(List<String> list) { + int i = 0, c = list.size(); + while (i < c) { + String str = list.get(i); + String tab = str.substring("delete from ".length(), str.indexOf(" where ")); + String select = str.replace("delete ", "select eventid "); + + list.add(String.format("delete from lf.sys_attach where tab='%s' and tab_guid in (%s)", tab, select)); + + i++; + } + } + + /** + * 鏌ョ湅鏂囦欢 + */ + public void downloadForView(String guid, boolean inline, HttpServletResponse res) { + try { + if (StringHelper.isEmpty(guid)) { + WebHelper.writeStr2Page(res, StaticData.NO_FILE); + return; + } + + MetaEntity me = selectByGuid(guid, null, null); + if (me == null) { + WebHelper.writeStr2Page(res, StaticData.NO_FILE); + return; + } + + String filePath = pathHelper.getConfig().getUploadPath() + File.separator + me.getPath(); + File file = new File(filePath); + if (!file.exists() || file.isDirectory()) { + WebHelper.writeJson2Page(res, "鏂囦欢涓嶅瓨鍦�"); + } + + WebHelper.download(filePath, me.getName(), inline, res); + } catch (Exception ex) { + WebHelper.writeJson2Page(res, "鏂囦欢涓嬭浇鍑洪敊"); + log.error(ex.getMessage(), ex); + } + } + + /** + * 鏌ヨ鍏冩暟鎹腑婧㈠嚭鐨勫崟浣岻D + */ + public List<String> selectMetaOverflowDep(UserEntity ue, DownloadReqEntity dr) { + String ids = StringHelper.join(dr.getIds(), ","); + + return selectMetaOverflowDep(ids, ue.getDepcode()); + } + + /** + * 璇锋眰鍏冩暟鎹笅杞� + * + * @param ue 鐢ㄦ埛瀹炰綋 + * @param dr 璇锋眰涓嬭浇瀹炰綋 + * @return 涓嬭浇鏂囦欢GUID + * @throws Exception 寮傚父 + */ + public String downloadMeteReq(UserEntity ue, DownloadReqEntity dr) throws Exception { + List<MetaEntity> list = selectMetaFiles(dr.getIds()); + if (null == list || list.isEmpty()) { + return null; + } + + Map<String, List<String>> tabs = getTabs(list); + rmRepeatMetas(list); + + Map<String, List<?>> dataMap = new HashMap<>(2); + Map<String, List<AttachEntity>> annexMap = new HashMap<>(2); + queryData(tabs, dataMap, annexMap); + + String tempName = StringHelper.YMDHMS2_FORMAT.format(new Date()); + String tempPath = pathHelper.getTempPath(tempName); + String gdbPath = tempPath + File.separator + "tabs.gdb"; + + File gdbFile = new File(gdbPath); + if (gdbFile.exists() && gdbFile.isDirectory()) { + FileHelper.deleteDir(gdbPath); + } + if (dataMap.size() > 0) { + GdbHelper.createGdb(gdbPath, dataMap); + } + + String zipFile = pathHelper.getDownloadFullPath() + File.separator + tempName + ".zip"; + ZipFile zip = Zip4jHelper.createZipFile(zipFile, dr.getPwd()); + ZipParameters params = Zip4jHelper.getZipParams(true); + addMetaFiles(zip, params, list); + if (dataMap.size() > 0) { + zip.addFolder(new File(gdbPath), params); + addAnnex(zip, params, annexMap); + } + + String dbPwd = Md5Helper.reverse(Md5Helper.generate(dr.getPwd())); + DownloadEntity de = getDownloadEntity(ue, zipFile, dbPwd); + int rows = downloadService.insert(de); + if (de.getId() > 0) { + insertMetaDown(ue, list, de); + } + + return rows > 0 ? de.getGuid() : null; + } + + /** + * 鑾峰彇鏁版嵁琛� + */ + private Map<String, List<String>> getTabs(List<MetaEntity> list) { + Map<String, List<String>> tabs = new HashMap<>(2); + for (MetaEntity meta : list) { + if (StringHelper.isEmpty(meta.getTab()) || meta.getRows() == 0 || StringHelper.isEmpty(meta.getEventid())) { + continue; + } + + if (!tabs.containsKey(meta.getTab())) { + tabs.put(meta.getTab(), new ArrayList<>()); + } + + List<String> ids = tabs.get(meta.getTab()); + if (!ids.contains(meta.getEventid())) { + ids.add(meta.getEventid()); + } + } + + return tabs; + } + + /** + * 绉婚櫎閲嶅鐨勫厓鏁版嵁鏂囦欢 + */ + private void rmRepeatMetas(List<MetaEntity> list) { + List<String> guidList = new ArrayList<>(); + + int i = 0; + while (i < list.size()) { + MetaEntity entity = list.get(i); + if (guidList.contains(entity.getGuid())) { + list.remove(i); + continue; + } + + guidList.add(entity.getGuid()); + i++; + } + } + + /** + * 鏌ヨ鏁版嵁 + */ + private void queryData(Map<String, List<String>> tabs, Map<String, List<?>> dataMap, Map<String, List<AttachEntity>> annexMap) { + for (String tab : tabs.keySet()) { + try { + String entity = tab.toLowerCase().replace("_", "").split("\\.")[1]; + BasicMapper baseMapper = ClassHelper.getBasicMapper(entity); + if (null == baseMapper) { + continue; + } + + QueryWrapper wrapper = createQueryWrapper(baseMapper, tabs.get(tab)); + addData(entity, baseMapper, wrapper, dataMap, annexMap); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + } + + /** + * 娣诲姞鏁版嵁 + */ + public void addData(String entity, BasicMapper baseMapper, QueryWrapper wrapper, Map<String, List<?>> dataMap, Map<String, List<AttachEntity>> annexMap) { + List list = baseMapper.selectList(wrapper); + if (null == list || list.size() == 0) { + return; + } + + if (!dataMap.containsKey(entity)) { + dataMap.put(entity, list); + } else { + dataMap.get(entity).addAll(list); + } + if (wrapper.isEmptyOfWhere()) { + wrapper.apply("1 = 1"); + } + if (StaticData.BBOREHOLE.equals(entity)) { + wrapper.last("limit 100"); + } + + String tab = BaseQueryService.getTabName(baseMapper); + List<AttachEntity> annex = baseMapper.selectAnnex(tab, wrapper); + if (null == annex || annex.isEmpty()) { + return; + } + + if (!annexMap.containsKey(entity)) { + annexMap.put(tab.replace(StaticData.POINT, "_"), annex); + } else { + annexMap.get(tab.replace(StaticData.POINT, "_")).addAll(annex); + } + } + + /** + * 鍒涘缓鏌ヨ鍖呰鍣� + */ + private <T> QueryWrapper<T> createQueryWrapper(BasicMapper baseMapper, List<String> ids) { + for (int i = 0, c = ids.size(); i < c; i++) { + ids.set(i, "'" + ids.get(i) + "'"); + } + String filter = String.format("parentid in (%s)", StringHelper.join(ids, ",")); + + QueryWrapper<T> wrapper = new QueryWrapper<T>(); + if (baseMapper instanceof GeomBaseMapper) { + wrapper.select("ST_AsText(geom) as geom, *"); + } + wrapper.apply(filter); + + return wrapper; + } + + /** + * 娣诲姞闄勪欢 + */ + public void addAnnex(ZipFile zip, ZipParameters params, Map<String, List<AttachEntity>> annexMap) { + List<String> files = new ArrayList<>(); + String uploadPath = pathHelper.getConfig().getUploadPath(); + for (String key : annexMap.keySet()) { + for (AttachEntity ae : annexMap.get(key)) { + try { + File srcFile = new File(uploadPath + File.separator + ae.getPath()); + if (!srcFile.exists() || srcFile.isDirectory()) { + continue; + } + if (files.contains(srcFile.getPath())) { + continue; + } + + files.add(srcFile.getPath()); + params.setFileNameInZip("annex" + File.separator + key + File.separator + ae.getName()); + zip.addStream(new FileInputStream(srcFile), params); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + } + } + + /** + * 娣诲姞鍏冩暟鎹枃浠惰嚦Zip鍖� + */ + private void addMetaFiles(ZipFile zip, ZipParameters params, List<MetaEntity> list) { + List<String> names = new ArrayList<>(); + String uploadPath = pathHelper.getConfig().getUploadPath(); + for (MetaEntity mf : list) { + if (names.contains(mf.getName())) { + mf.setName(mf.getId() + "_" + mf.getName()); + } else { + names.add(mf.getName()); + } + + try { + switch ("." + mf.getType()) { + case StaticData.MPT: + addMultiFile(uploadPath, mf, zip, params, StaticData.MPT_EXT); + break; + case StaticData.JPG: + addMultiFile(uploadPath, mf, zip, params, StaticData.JPG_EXT); + case StaticData.IMG: + addMultiFile(uploadPath, mf, zip, params, StaticData.IMG_EXT); + break; + case StaticData.TIF: + addMultiFile(uploadPath, mf, zip, params, StaticData.TIF_EXT); + break; + case StaticData.TIFF: + addMultiFile(uploadPath, mf, zip, params, StaticData.TIFF_EXT); + break; + case StaticData.SHP: + addMultiFile(uploadPath, mf, zip, params, StaticData.SHP_EXT); + break; + case StaticData.GDB: + addFolderFile(uploadPath, mf, zip, params); + break; + default: + addSingleFile(uploadPath, mf, zip, params); + break; + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + } + + /** + * 娣诲姞鐩綍鏂囦欢 + */ + private void addFolderFile(String uploadPath, MetaEntity mf, ZipFile zip, ZipParameters params) throws Exception { + File file = new File(uploadPath + File.separator + mf.getPath()); + if (!file.exists() || !file.isDirectory()) { + return; + } + zip.addFolder(file, params); + + String fileName = FileHelper.getFileName(file.getPath()); + FileHeader header = zip.getFileHeader(fileName); + if (null != header) { + zip.renameFile(header, mf.getName()); + } + } + + /** + * 娣诲姞澶氭枃浠� + */ + private void addMultiFile(String uploadPath, MetaEntity mf, ZipFile zip, ZipParameters params, List<String> extList) throws Exception { + addSingleFile(uploadPath, mf, zip, params); + + for (String ext : extList) { + File file = new File(uploadPath + File.separator + mf.getPath().replace("." + mf.getType(), ext)); + if (!file.exists() || file.isDirectory()) { + continue; + } + zip.addFile(file, params); + + String fileName = FileHelper.getFileName(file.getPath()); + FileHeader header = zip.getFileHeader(fileName); + if (null != header) { + zip.renameFile(header, mf.getName().replace("." + mf.getType(), ext)); + } + } + } + + /** + * 娣诲姞鍗曟枃浠� + */ + private void addSingleFile(String uploadPath, MetaEntity mf, ZipFile zip, ZipParameters params) throws Exception { + File file = new File(uploadPath + File.separator + mf.getPath()); + if (!file.exists() || file.isDirectory()) { + return; + } + zip.addFile(file, params); + + String fileName = FileHelper.getFileName(file.getPath()); + FileHeader header = zip.getFileHeader(fileName); + if (null != header) { + zip.renameFile(header, mf.getName()); + } + } + + /** + * 鑾峰彇涓嬭浇瀹炰綋绫� + */ + private DownloadEntity getDownloadEntity(UserEntity ue, String file, String pwd) { + DownloadEntity de = new DownloadEntity(); + de.setName(FileHelper.getFileName(file)); + // 1-Shp鏂囦欢锛�2-涓撻鍥撅紝3-鍏冩暟鎹紝4-涓氬姟鏁版嵁锛�5-绠¢亾鍒嗘瀽锛�6-缁熻鎶ュ憡锛�7-闄勪欢鏂囦欢锛�8-鐡︾墖鏂囦欢 + de.setType(3); + de.setSizes(FileHelper.sizeToMb(new File(file).length())); + de.setDepid(ue.getDepid()); + de.setDcount(0); + de.setPwd(pwd); + de.setUrl(FileHelper.getRelativePath(file)); + de.setDescr("鍏冩暟鎹枃浠�"); + de.setGuid(FileHelper.getFileMd5(file)); + de.setCreateUser(ue.getId()); + // de.setGeom(null) + + return de; + } + + /** + * 鎻掑叆鍏冩暟鎹�-涓嬭浇琛� + */ + private void insertMetaDown(UserEntity ue, List<MetaEntity> metas, DownloadEntity de) { + List<MetaDownEntity> list = new ArrayList<>(); + for (MetaEntity me : metas) { + MetaDownEntity md = new MetaDownEntity(); + md.setMetaid(me.getId()); + md.setDownid(de.getId()); + md.setCreateUser(ue.getId()); + + list.add(md); + } + + metaDownService.inserts(list); + } +} diff --git a/src/main/java/com/lf/server/service/data/PublishService.java b/src/main/java/com/lf/server/service/data/PublishService.java new file mode 100644 index 0000000..24d04b9 --- /dev/null +++ b/src/main/java/com/lf/server/service/data/PublishService.java @@ -0,0 +1,248 @@ +package com.lf.server.service.data; + +import com.alibaba.fastjson.JSON; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.ctrl.PubEntity; +import com.lf.server.entity.ctrl.RegisterEntity; +import com.lf.server.entity.data.MetaEntity; +import com.lf.server.entity.data.PublishEntity; +import com.lf.server.helper.RestHelper; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.data.PublishMapper; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 鏁版嵁鍙戝竷 + * @author WWW + */ +@Service +public class PublishService implements PublishMapper { + @Value("${sys.exportServer}") + private String exportServer; + + @Value("${sys.iisHost}") + private String iisHost; + + @Autowired + PublishMapper publishMapper; + + @Autowired + FmeService fmeService; + + private final static Log log = LogFactory.getLog(PublishService.class); + + @Override + public Integer selectCount(String name) { + name = StringHelper.getLikeUpperStr(name); + + return publishMapper.selectCount(name); + } + + @Override + public List<PublishEntity> selectByPage(String name, Integer limit, Integer offset) { + name = StringHelper.getLikeUpperStr(name); + + return publishMapper.selectByPage(name, limit, offset); + } + + @Override + public List<PublishEntity> selectAll() { + return publishMapper.selectAll(); + } + + @Override + public PublishEntity selectById(int id) { + return publishMapper.selectById(id); + } + + @Override + public List<PublishEntity> selectByIds(String ids) { + return publishMapper.selectByIds(ids); + } + + @Override + public Integer insert(PublishEntity entity) { + return publishMapper.insert(entity); + } + + @Override + public Integer inserts(List<PublishEntity> list) { + return publishMapper.inserts(list); + } + + @Override + public Integer insertPubDown(Integer pubid, Integer downid, Integer createUser) { + return publishMapper.insertPubDown(pubid, downid, createUser); + } + + @Override + public Integer delete(int id) { + return publishMapper.delete(id); + } + + @Override + public Integer deletes(String ids) { + return publishMapper.deletes(ids); + } + + @Override + public Integer update(PublishEntity entity) { + return publishMapper.update(entity); + } + + @Override + public Integer updates(List<PublishEntity> list) { + return publishMapper.updates(list); + } + + @Override + public Integer selectMetasByCount(String depcode, String dircode, Integer verid, String types, String name) { + depcode = StringHelper.getRightLike(depcode); + dircode = StringHelper.getRightLike(dircode); + name = StringHelper.getLikeUpperStr(name); + + return publishMapper.selectMetasByCount(depcode, dircode, verid, types, name); + } + + @Override + public List<MetaEntity> selectMetasByPage(String depcode, String dircode, Integer verid, String types, String name, Integer limit, Integer offset) { + depcode = StringHelper.getRightLike(depcode); + dircode = StringHelper.getRightLike(dircode); + name = StringHelper.getLikeUpperStr(name); + + return publishMapper.selectMetasByPage(depcode, dircode, verid, types, name, limit, offset); + } + + /** + * 鍙戦�佸彂甯冭姹� + */ + public long postForPub(PubEntity entity, String method, HttpServletRequest req) { + Map<String, Object> map = getMapData(entity); + + String str = RestHelper.postForRest(exportServer + method, map); + if (StringHelper.isEmpty(str)) { + return 0; + } + + ResponseMsg<String> msg = JSON.parseObject(str, ResponseMsg.class); + if (msg == null || msg.getCode() != StaticData.TWO_HUNDRED) { + return 0; + } + + if (msg.getCount() > 0) { + serverRegister(msg.getResult(), req); + } + + return msg.getCount(); + } + + /** + * 鑾峰彇Map鏁版嵁 + */ + private Map<String, Object> getMapData(PubEntity entity) { + Map<String, Object> map = new HashMap<>(3); + + Field[] fields = entity.getClass().getDeclaredFields(); + for (Field field : fields) { + try { + if ("serialVersionUID".equals(field.getName())) { + continue; + } + + field.setAccessible(true); + Object obj = field.get(entity); + + map.put(field.getName(), obj); + } catch (Exception ex) { + // + } + } + + return map; + } + + /** + * 鏈嶅姟娉ㄥ唽 + */ + private void serverRegister(String ids, HttpServletRequest req) { + List<PublishEntity> list = selectByIds(ids); + if (null == list || list.isEmpty()) { + return; + } + + for (PublishEntity entity : list) { + String url = entity.getUrl().replace("{host}", iisHost); + String type = getServerType(entity); + + RegisterEntity reg = fmeService.serverRegister(entity.getName(), url, type, req); + if (null == reg || StringHelper.isEmpty(reg.getSerialnum())) { + continue; + } + + fmeService.serverApply(reg.getSerialnum(), entity.getId(), req); + + entity.setRegid(reg.getHashid()); + update(entity); + } + } + + /** + * 鑾峰彇鏈嶅姟绫诲瀷 + */ + private String getServerType(PublishEntity entity) { + switch (entity.getType()) { + case "DOM": + return "TMS鏈嶅姟"; + case "DEM": + return "涓夌淮鍦板舰鏈嶅姟"; + case "mpt": + return "涓夌淮鍦烘櫙鏈嶅姟"; + default: + return "涓夌淮妯″瀷鏈嶅姟"; + } + } + + /** + * 鍒犻櫎澶氭潯 + */ + public Integer deletes(List<Integer> idList, HttpServletRequest req) { + String ids = StringHelper.join(idList, ","); + + deleteRes(ids, req); + + return deletes(ids); + } + + /** + * 鍒犻櫎璧勬簮 + */ + private void deleteRes(String ids, HttpServletRequest req) { + List<PublishEntity> list = selectByIds(ids); + if (null == list || list.isEmpty()) { + return; + } + + for (PublishEntity entity : list) { + if (StringHelper.isEmpty(entity.getRegid())) { + continue; + } + + try { + fmeService.deleteRes(entity.getRegid(), req); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + } +} diff --git a/src/main/java/com/lf/server/service/data/StyleService.java b/src/main/java/com/lf/server/service/data/StyleService.java new file mode 100644 index 0000000..c512561 --- /dev/null +++ b/src/main/java/com/lf/server/service/data/StyleService.java @@ -0,0 +1,70 @@ +package com.lf.server.service.data; + +import com.lf.server.entity.data.StyleEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.data.StyleMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 鏍峰紡绠$悊 + * @author sws + * @date 2022-09-26 + */ +@Service +public class StyleService implements StyleMapper { + @Autowired + StyleMapper styleMapper; + + @Override + public Integer selectCount(String name) { + name = StringHelper.getLikeUpperStr(name); + + return styleMapper.selectCount(name); + } + + @Override + public List<StyleEntity> selectByPage(String name, Integer limit, Integer offset) { + name = StringHelper.getLikeUpperStr(name); + + return styleMapper.selectByPage(name, limit, offset); + } + + @Override + public Integer insertStyle(StyleEntity styleEntity) { + return styleMapper.insertStyle(styleEntity); + } + + @Override + public Integer insertStyles(List<StyleEntity> styleEntity) { + return styleMapper.insertStyles(styleEntity); + } + + @Override + public Integer deleteStyle(int id) { + return styleMapper.deleteStyle(id); + } + + @Override + public Integer deleteStyles(List<Integer> ids) { + return styleMapper.deleteStyles(ids); + } + + @Override + public Integer updateStyle(StyleEntity styleEntity) { + return styleMapper.updateStyle(styleEntity); + } + + + @Override + public StyleEntity selectStyle(int id) { + return styleMapper.selectStyle(id); + } + + @Override + public List<StyleEntity> selectStyleAll() { + return styleMapper.selectStyleAll(); + } +} \ No newline at end of file diff --git a/src/main/java/com/lf/server/service/data/UploadService.java b/src/main/java/com/lf/server/service/data/UploadService.java new file mode 100644 index 0000000..5660dad --- /dev/null +++ b/src/main/java/com/lf/server/service/data/UploadService.java @@ -0,0 +1,576 @@ +package com.lf.server.service.data; + +import com.lf.server.entity.all.BaseEntity; +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.data.*; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.*; +import com.lf.server.mapper.all.BasicMapper; +import com.lf.server.mapper.data.UploadMapper; +import com.lf.server.service.all.BaseQueryService; +import com.lf.server.service.all.BaseUploadService; +import com.lf.server.service.sys.DepService; +import org.apache.commons.io.FileUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.io.File; +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.List; + +/** + * 鏁版嵁涓婁紶鏈嶅姟绫� + * + * @author WWW + */ +@Service +public class UploadService extends BaseUploadService implements UploadMapper { + @Autowired + UploadMapper uploadMapper; + + @Autowired + FmeService fmeService; + + @Autowired + MetaService metaService; + + @Autowired + DepService depService; + + @Autowired + DirService dirService; + + @Override + public List<CoordEntity> selectCoords(String zoning) { + return uploadMapper.selectCoords(zoning); + } + + @Override + public Integer selectCount4Coord(String epsgCode) { + return uploadMapper.selectCount4Coord(epsgCode); + } + + @Override + public List<DirEntity> selectProject() { + return uploadMapper.selectProject(); + } + + @Override + public List<FmeLogEntity> selectFmeLog(String parentid) { + return uploadMapper.selectFmeLog(parentid); + } + + /** + * 鎻掑叆鏂囦欢 + */ + public void insertFiles(UserEntity ue, List<MetaFileEntity> list, HttpServletRequest req) { + checkMetaFiles(ue, list); + List<MetaFileEntity> xlsList = getExcelFiles(list); + loadData(list); + copyFiles(list); + insertMetas(list); + if (xlsList.size() > 0) { + String guid = excelLoader(xlsList, req); + } + } + + /** + * 妫�鏌ュ厓鏁版嵁鏂囦欢 + */ + private void checkMetaFiles(UserEntity ue, List<MetaFileEntity> list) { + Timestamp createTime = WebHelper.getCurrentTimestamp(); + String tempPath = pathHelper.getConfig().getTempPath(); + + for (MetaFileEntity mf : list) { + mf.setCreateUser(ue.getId()); + mf.setCreateTime(createTime); + mf.setDepcode(ue.getDepcode()); + mf.setPath(tempPath + File.separator + mf.getPath()); + mf.setMsg(null); + + File f = new File(mf.getPath()); + if (!f.exists()) { + mf.setMsg("鏂囦欢涓㈠け"); + } + + MetaEntity old = metaService.selectByGuid(mf.getGuid(), getDirCode(mf), null); + if (null != old) { + mf.setMsg("宸插瓨鍦�"); + } + } + } + + /** + * 鑾峰彇鐩綍缂栫爜 + */ + private String getDirCode(MetaFileEntity mf) { + if (StringHelper.isEmpty(mf.getDircode())) { + return null; + } + + return StringHelper.getRightLike(mf.getDircode().substring(0, 2)); + } + + /** + * 鑾峰彇Excel鍏冩暟鎹枃浠� + */ + private List<MetaFileEntity> getExcelFiles(List<MetaFileEntity> list) { + List<MetaFileEntity> xlsList = new ArrayList<>(); + for (MetaFileEntity mf : list) { + if (null == mf.getMsg() && isExcel(mf)) { + xlsList.add(mf); + } + } + if (xlsList.isEmpty()) { + return xlsList; + } + + String xlsBasePath = getXlsPath(xlsList.get(0).getPath()); + for (int i = 0, c = xlsList.size(); i < c; i++) { + MetaFileEntity mf = xlsList.get(i); + String xlsPath = copyXlsFile(xlsBasePath, i, mf); + mf.setXlsPath(xlsPath); + } + + return xlsList; + } + + /** + * 鏄�/鍚︿负Excel + */ + private boolean isExcel(MetaFileEntity mf) { + return StaticData.XLS.equals(mf.getExtName()) || StaticData.XLSX.equals(mf.getExtName()); + } + + /** + * 鑾峰彇Xls鐩綍 + */ + private String getXlsPath(String filePath) { + String tempPath = pathHelper.getConfig().getTempPath() + File.separator; + String subPath = filePath.substring(tempPath.length()); + subPath = tempPath + subPath.substring(0, subPath.indexOf(File.separator)).replace("_zip", "") + "_xls"; + + File f = new File(subPath); + if (!f.exists() || !f.isDirectory()) { + f.mkdirs(); + } + + return subPath; + } + + /** + * 澶嶅埗Xls鏂囦欢 + */ + private String copyXlsFile(String xlsBasePath, int i, MetaFileEntity mf) { + try { + String xlsPath = xlsBasePath + File.separator + i; + + File file = new File(xlsPath); + if (!file.exists() || !file.isDirectory()) { + file.mkdirs(); + } + file = new File(mf.getPath()); + + File newFile = new File(xlsPath + File.separator + FileHelper.getFileName(file.getPath())); + FileUtils.copyFile(file, newFile); + + return newFile.getPath(); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return null; + } + } + + /** + * 鍔犺浇鏁版嵁 + */ + private void loadData(List<MetaFileEntity> list) { + for (MetaFileEntity mf : list) { + if (null != mf.getMsg() || StringHelper.isEmpty(mf.getEntity())) { + continue; + } + if (StaticData.SHP.equals(mf.getExtName()) || StaticData.GDB.equals(mf.getExtName())) { + loadSpatialData(mf); + } + } + } + + /** + * 鍔犺浇绌洪棿鏁版嵁 + */ + public void loadSpatialData(MetaFileEntity mf) { + BasicMapper basicMapper = ClassHelper.getBasicMapper(mf.getEntity()); + if (null == basicMapper) { + return; + } + + String tabName = BaseQueryService.getTabName(basicMapper); + String className = ClassHelper.getClassName(basicMapper); + Class clazz = ClassHelper.getEntityClass(className); + if (null == clazz || null == tabName) { + return; + } + + File file = new File(mf.getPath()); + if (!file.exists()) { + mf.setMsg("鏂囦欢涓㈠け"); + return; + } + + MetaEntity old = metaService.selectByGuid(mf.getGuid(), getDirCode(mf), tabName); + if (null != old) { + mf.setMsg("宸插瓨鍦�"); + return; + } + + List<?> list; + if (StaticData.SHP.equals(mf.getExtName())) { + list = ShpHelper.readData(clazz, mf.getPath()); + } else { + list = GdbHelper.readData(clazz, mf.getPath(), mf.getTab()); + } + if (null == list || list.isEmpty()) { + return; + } + setCreateInfo(list, mf); + + int rows = basicMapper.insertBatch(list); + if (rows > 0) { + mf.setEntity(mf.getTab()); + mf.setTab(tabName); + mf.setRows(rows); + } + } + + /** + * 璁剧疆鍒涘缓淇℃伅 + */ + private <T> void setCreateInfo(List<T> list, MetaFileEntity mf) { + try { + if (!(list.get(0) instanceof BaseEntity)) { + return; + } + + for (T t : list) { + BaseEntity be = (BaseEntity) t; + be.setEventid(StringHelper.getGuid()); + be.setParentid(mf.getEventid()); + be.setDirid(mf.getDircode()); + be.setDepid(mf.getDepcode()); + be.setVerid(mf.getVerid()); + be.setCreateuser(mf.getCreateUser()); + be.setCreatetime(mf.getCreateTime()); + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + + /** + * 澶嶅埗鏂囦欢 + */ + private void copyFiles(List<MetaFileEntity> list) { + List<String> gdbList = new ArrayList<>(); + for (MetaFileEntity mf : list) { + if (null != mf.getMsg()) { + continue; + } + + switch (mf.getExtName()) { + case StaticData.MPT: + copyMultiFile(mf, StaticData.MPT_EXT); + break; + case StaticData.JPG: + copyMultiFile(mf, StaticData.JPG_EXT); + break; + case StaticData.IMG: + copyMultiFile(mf, StaticData.IMG_EXT); + break; + case StaticData.TIF: + copyMultiFile(mf, StaticData.TIF_EXT); + break; + case StaticData.TIFF: + copyMultiFile(mf, StaticData.TIFF_EXT); + break; + case StaticData.SHP: + copyMultiFile(mf, StaticData.SHP_EXT); + break; + case StaticData.GDB: + if (gdbList.contains(mf.getPath())) { + String path = findPathByGuid(list, mf); + if (null != path) { + mf.setPath(path); + continue; + } + } + + gdbList.add(mf.getPath()); + copyFolderFile(mf); + break; + default: + copySingleFile(mf); + break; + } + } + } + + /** + * 澶嶅埗鍗曚釜鏂囦欢 + */ + private int copySingleFile(MetaFileEntity mf) { + File file = new File(mf.getPath()); + if (!file.exists()) { + mf.setMsg("鏂囦欢涓㈠け"); + return -1; + } + + MetaEntity old = metaService.selectByGuid(mf.getGuid(), null, null); + if (null != old) { + // mf.setMsg("宸插瓨鍦�") + setOldMeta(mf, old); + file.delete(); + return 0; + } + + String uploadPath = pathHelper.getUploadFullPath(); + String targetPath = uploadPath + File.separator + mf.getGuid() + mf.getExtName(); + String subPath = FileHelper.getRelativePath(targetPath); + + File newFile = new File(targetPath); + if (newFile.exists()) { + mf.setPath(subPath); + file.delete(); + return 0; + } + + file.renameTo(newFile); + mf.setPath(subPath); + + return 1; + } + + /** + * 璁剧疆鏃у厓鏁版嵁淇℃伅 + */ + private void setOldMeta(MetaFileEntity mf, MetaEntity old) { + mf.setPath(old.getPath()); + mf.setTab(old.getTab()); + mf.setRows(old.getRows()); + mf.setEntity(old.getEventid()); + } + + /** + * 澶嶅埗澶氫釜鏂囦欢 + */ + private void copyMultiFile(MetaFileEntity mf, List<String> extList) { + String path = mf.getPath(); + int status = copySingleFile(mf); + if (status < 1) { + for (int i = 0, c = extList.size(); i < c; i++) { + String subPath = path.replace(mf.getExtName(), extList.get(i)); + File file = new File(subPath); + if (file.exists()) { + file.delete(); + } + } + return; + } + + String uploadPath = pathHelper.getConfig().getUploadPath(); + for (int i = 0, c = extList.size(); i < c; i++) { + String sourcePath = path.replace(mf.getExtName(), extList.get(i)); + File file = new File(sourcePath); + if (!file.exists()) { + continue; + } + + String targetPath = uploadPath + File.separator + mf.getPath().replace(mf.getExtName(), extList.get(i)); + File newFile = new File(targetPath); + if (newFile.exists()) { + continue; + } + + file.renameTo(newFile); + } + } + + /** + * 澶嶅埗鏂囦欢澶规枃浠� + */ + private void copyFolderFile(MetaFileEntity mf) { + File file = new File(mf.getPath()); + if (!file.exists()) { + mf.setMsg("鏂囦欢涓㈠け"); + return; + } + + MetaEntity old = metaService.selectByGuid(mf.getGuid(), null, null); + if (null != old) { + // mf.setMsg("宸插瓨鍦�") + setOldMeta(mf, old); + FileHelper.deleteFiles(file); + return; + } + + String uploadPath = pathHelper.getUploadFullPath(); + String targetPath = uploadPath + File.separator + mf.getGuid() + mf.getExtName(); + String subPath = FileHelper.getRelativePath(targetPath); + + File newFile = new File(targetPath); + if (newFile.exists() && newFile.isDirectory()) { + mf.setPath(subPath); + FileHelper.deleteFiles(file); + return; + } + + newFile.mkdirs(); + File[] files = file.listFiles(); + if (null == files || files.length == 0) { + return; + } + + for (File f : files) { + String subFile = targetPath + File.separator + FileHelper.getFileName(f.getPath()); + f.renameTo(new File(subFile)); + } + mf.setPath(subPath); + } + + /** + * 鏍规嵁GUID鏌ユ壘璺緞 + */ + private String findPathByGuid(List<MetaFileEntity> list, MetaFileEntity mf) { + for (MetaFileEntity meta : list) { + if (meta.getGuid().equals(mf.getGuid()) && !meta.getPath().equals(mf.getPath())) { + return meta.getPath(); + } + } + + return null; + } + + /** + * 鍒涘缓鏂囦欢閾炬帴 + */ + private void createFileLink(String source, String target) { + String cmd = String.format("cmd /c mklink \"%s\" \"%s\"", target, source); + WebHelper.exec(cmd); + } + + /** + * 鎻掑叆鍏冩暟鎹� + */ + private void insertMetas(List<MetaFileEntity> list) { + int metaId = insertParentMeta(list); + for (MetaFileEntity mf : list) { + if (null != mf.getMsg()) { + continue; + } + + MetaEntity me = createMeta(mf, metaId); + metaService.insert(me); + + mf.setMsg(me.getId() > 0 ? "鎴愬姛" : "澶辫触"); + } + } + + /** + * 鍒涘缓鍏冩暟鎹� + */ + private MetaEntity createMeta(MetaFileEntity mf, int metaId) { + MetaEntity me = new MetaEntity(); + me.setMetaid(metaId); + me.setEventid(mf.getEventid()); + me.setDircode(mf.getDircode()); + me.setDepcode(mf.getDepcode()); + me.setVerid(mf.getVerid()); + me.setName(mf.getName()); + me.setType(mf.getType()); + me.setGuid(mf.getGuid()); + me.setPath(mf.getPath()); + me.setSizes(mf.getSizes()); + if (mf.getRows() > 0) { + me.setTab(mf.getTab()); + } + if (!StringHelper.isEmpty(mf.getEntity())) { + me.setLayer(mf.getEntity()); + } + me.setRows(mf.getRows()); + me.setCreateUser(mf.getCreateUser()); + me.setCreateTime(mf.getCreateTime()); + + return me; + } + + /** + * 鎻掑叆鐖跺厓鏁版嵁 + */ + private int insertParentMeta(List<MetaFileEntity> list) { + for (MetaFileEntity mf : list) { + if (null != mf.getMsg() || !mf.getIsMeta()) { + continue; + } + + MetaEntity me = createMeta(mf, 0); + me.setIsmeta((short) 1); + metaService.insert(me); + mf.setMsg(me.getId() > 0 ? "鎴愬姛" : "澶辫触"); + + return me.getId(); + } + + return 0; + } + + /** + * Excel鍏ュ簱 + */ + private String excelLoader(List<MetaFileEntity> xlsList, HttpServletRequest req) { + try { + MetaFileEntity xlsMeta = getExcelMeta(xlsList); + if (null != xlsMeta) { + return fmeService.excelLoader(xlsMeta, req); + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + + return null; + } + + /** + * 鑾峰彇Excel鐨勫厓鏁版嵁 + */ + private MetaFileEntity getExcelMeta(List<MetaFileEntity> xlsList) { + if (null == xlsList || xlsList.isEmpty()) { + return null; + } + + List<String> pathList = new ArrayList<>(); + List<String> dirList = new ArrayList<>(); + List<String> pidList = new ArrayList<>(); + + for (int i = 0, c = xlsList.size(); i < c; i++) { + MetaFileEntity mf = xlsList.get(i); + if ("鎴愬姛".equals(mf.getMsg()) && null != mf.getXlsPath()) { + pathList.add(mf.getXlsPath()); + dirList.add(mf.getDircode()); + pidList.add(mf.getEventid()); + } + } + + MetaFileEntity first = xlsList.get(0); + MetaFileEntity meta = new MetaFileEntity(); + meta.setPath(StringHelper.join(pathList, ",")); + meta.setEpsgCode(first.getEpsgCode()); + meta.setName(StringHelper.join(dirList, ";")); + meta.setDepcode(first.getDepcode()); + meta.setVerid(first.getVerid()); + meta.setCreateUser(first.getCreateUser()); + meta.setEventid(StringHelper.join(pidList, ";")); + + return meta; + } +} diff --git a/src/main/java/com/lf/server/service/data/VerService.java b/src/main/java/com/lf/server/service/data/VerService.java new file mode 100644 index 0000000..ec6e982 --- /dev/null +++ b/src/main/java/com/lf/server/service/data/VerService.java @@ -0,0 +1,74 @@ +package com.lf.server.service.data; + +import com.lf.server.entity.data.VerEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.data.VerMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 鐗堟湰琛� + * @author sws + * @date 2022-09-29 + */ +@Service +public class VerService implements VerMapper { + @Autowired + VerMapper verMapper; + + @Override + public Integer selectCount(Integer dirid, String name) { + name = StringHelper.getLikeUpperStr(name); + + return verMapper.selectCount(dirid, name); + } + + @Override + public List<VerEntity> selectByPage(Integer dirid, String name, Integer limit, Integer offset) { + name = StringHelper.getLikeUpperStr(name); + + return verMapper.selectByPage(dirid, name, limit, offset); + } + + @Override + public List<VerEntity> selectByDirid(Integer dirid) { + return verMapper.selectByDirid(dirid); + } + + @Override + public Integer insertVersion(VerEntity verEntity) { + return verMapper.insertVersion(verEntity); + } + + @Override + public Integer insertVersions(List<VerEntity> verEntity) { + return verMapper.insertVersions(verEntity); + } + + @Override + public Integer deleteVersion(int id) { + return verMapper.deleteVersion(id); + } + + @Override + public Integer deleteVersions(List<Integer> ids) { + return verMapper.deleteVersions(ids); + } + + @Override + public Integer updateVersion(VerEntity verEntity) { + return verMapper.updateVersion(verEntity); + } + + @Override + public VerEntity selectVersion(int id) { + return verMapper.selectVersion(id); + } + + @Override + public List<VerEntity> selectVersionAll() { + return verMapper.selectVersionAll(); + } +} diff --git a/src/main/java/com/lf/server/service/show/ApplyService.java b/src/main/java/com/lf/server/service/show/ApplyService.java new file mode 100644 index 0000000..b3adb4a --- /dev/null +++ b/src/main/java/com/lf/server/service/show/ApplyService.java @@ -0,0 +1,276 @@ +package com.lf.server.service.show; + +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.ctrl.DownloadReqEntity; +import com.lf.server.entity.data.MetaEntity; +import com.lf.server.entity.show.ApplyEntity; +import com.lf.server.entity.show.FlowEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.AesHelper; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.show.ApplyMapper; +import com.lf.server.service.data.MetaService; +import com.lf.server.service.sys.UserService; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** + * 鏁版嵁鐢宠 + * @author WWW + */ +@Service +public class ApplyService implements ApplyMapper { + @Autowired + ApplyMapper applyMapper; + + @Autowired + FlowService flowService; + + @Autowired + UserService userService; + + @Autowired + MetaService metaService; + + @Autowired + DataLibService dataLibService; + + private final static Log log = LogFactory.getLog(ApplyService.class); + + @Override + public Integer selectCount(String uname, Integer status, Timestamp start, Timestamp end) { + uname = StringHelper.getLikeUpperStr(uname); + + return applyMapper.selectCount(uname, status, start, end); + } + + @Override + public List<ApplyEntity> selectByPage(Integer userid, String uname, Integer status, Timestamp start, Timestamp end, Integer limit, Integer offset) { + uname = StringHelper.getLikeUpperStr(uname); + + return applyMapper.selectByPage(userid, uname, status, start, end, limit, offset); + } + + @Override + public List<ApplyEntity> selectAll() { + return applyMapper.selectAll(); + } + + @Override + public ApplyEntity selectById(int id) { + return applyMapper.selectById(id); + } + + @Override + public UserEntity selectUserByDepcode(String depcode) { + return applyMapper.selectUserByDepcode(depcode); + } + + @Override + public Integer selectSubmits(Integer userid) { + return applyMapper.selectSubmits(userid); + } + + @Override + public List<FlowEntity> selectFlows(Integer applyid) { + return applyMapper.selectFlows(applyid); + } + + @Override + public Integer insert(ApplyEntity entity) { + return applyMapper.insert(entity); + } + + @Override + public Integer inserts(List<ApplyEntity> list) { + return applyMapper.inserts(list); + } + + @Override + public Integer delete(int id) { + return applyMapper.delete(id); + } + + @Override + public Integer deletes(List<Integer> ids) { + return applyMapper.deletes(ids); + } + + @Override + public Integer update(ApplyEntity entity) { + return applyMapper.update(entity); + } + + @Override + public Integer updates(List<ApplyEntity> list) { + return applyMapper.updates(list); + } + + @Override + public Integer updateForDiscard(Integer userid, Integer id) { + return applyMapper.updateForDiscard(userid, id); + } + + @Override + public Integer updateForResubmit(Integer userid, Integer id) { + return applyMapper.updateForResubmit(userid, id); + } + + @Override + public Integer updateForSubmit(Integer userid, Integer applyid, Integer flowId) { + return applyMapper.updateForSubmit(userid, applyid, flowId); + } + + @Override + public Integer updateForReject(Integer userid, Integer applyid, Integer flowId) { + return applyMapper.updateForReject(userid, applyid, flowId); + } + + /** + * 鎻掑叆鏁版嵁鐢宠 + */ + public Integer insertApply(UserEntity ue, DownloadReqEntity dr) throws Exception { + ApplyEntity apply = getApplyEntity(ue, dr); + int rows = applyMapper.insert(apply); + if (0 == rows) { + return 0; + } + + List<FlowEntity> list = getFlowEntities(apply.getId(), ue, dr); + if (list.isEmpty()) { + applyMapper.delete(apply.getId()); + throw new Exception("鎵句笉鍒板緟瀹℃牳浜�"); + } + + return flowService.inserts(list); + } + + /** + * 鑾峰彇鏁版嵁鐢宠瀹炰綋绫� + */ + private ApplyEntity getApplyEntity(UserEntity ue, DownloadReqEntity dr) throws Exception { + // String dbPwd = Md5Helper.reverse(Md5Helper.generate(dr.getPwd())) + String aesPwd = AesHelper.encrypt(dr.getPwd()); + String gids = null == dr.getIds() || dr.getIds().isEmpty() ? null : StringHelper.join(dr.getIds(), ","); + + ApplyEntity apply = new ApplyEntity(); + apply.setUserid(ue.getId()); + apply.setDepids(StringHelper.join(dr.getDepcodes(), ",")); + apply.setTabs(getTabs(dr)); + apply.setEntities(StringHelper.join(dr.getEntities(), ",")); + apply.setWkt(dr.getWkt()); + apply.setPwd(aesPwd); + apply.setStatus(0); + apply.setCount(dr.getDepcodes().size()); + apply.setDescr(dr.getDescr()); + apply.setCreateUser(ue.getId()); + apply.setDepcode(dr.getDepcode()); + apply.setDircodes(dr.getDirs()); + apply.setGids(gids); + apply.setFilters(dr.getFilter()); + + return apply; + } + + /** + * 鑾峰彇琛ㄥ悕 + */ + private String getTabs(DownloadReqEntity dr) { + if (!StaticData.SYS_META.equals(dr.getEntities().get(0))) { + return StringHelper.join(dr.getTabs(), ","); + } + + List<MetaEntity> list = metaService.selectMetaFiles(dr.getIds()); + if (null == list || list.isEmpty()) { + return "鍏冩暟鎹〃"; + } + + StringBuilder sb = new StringBuilder(); + for (MetaEntity me : list) { + sb.append(me.getName()).append(","); + if (sb.length() > StaticData.I1000) { + break; + } + } + if (sb.length() > 1) { + sb.deleteCharAt(sb.length() - 1); + } + + return sb.toString(); + } + + /** + * 鑾峰彇鐢宠娴佺▼瀹炰綋绫婚泦鍚� + */ + private List<FlowEntity> getFlowEntities(Integer applyId, UserEntity ue, DownloadReqEntity dr) { + List<FlowEntity> list = new ArrayList<>(); + for (String depcode : dr.getDepcodes()) { + UserEntity user = selectUserByDepcode(depcode); + if (null == user) { + user = userService.selectByUid(StaticData.ADMIN); + } + + FlowEntity flow = new FlowEntity(); + flow.setApplyid(applyId); + flow.setDepcode(depcode); + flow.setUserid(user.getId()); + flow.setStatus(0); + flow.setDescr(null); + flow.setCreateUser(ue.getId()); + + list.add(flow); + } + + return list; + } + + /** + * 鎵撳寘DB鏁版嵁 + */ + public void zipDbData(UserEntity ue, ApplyEntity entity) { + try { + List<String> entities = Arrays.asList(entity.getEntities().split(StaticData.COMMA)); + String pwd = AesHelper.decrypt(entity.getPwd()); + + DownloadReqEntity dr = new DownloadReqEntity(); + dr.setEntities(entities); + dr.setWkt(dr.getWkt()); + dr.setPwd(pwd); + dr.setDepcode(entity.getDepcode()); + dr.setDirs(entity.getDircodes()); + dr.setIds(getIds(entity.getGids())); + dr.setFilter(entity.getFilters()); + + String guid = StaticData.SYS_META.equals(entity.getEntities()) ? metaService.downloadMeteReq(ue, dr) : dataLibService.downloadDbReq(ue, dr); + if (!StringHelper.isEmpty(guid)) { + entity.setGuid(guid); + update(entity); + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + + /** + * 鑾峰彇ID闆嗗悎 + */ + private List<Integer> getIds(String gids) { + if (StringHelper.isEmpty(gids)) { + return null; + } + + List<Integer> list = new ArrayList<>(); + for (String str : gids.split(StaticData.COMMA)) { + list.add(Integer.parseInt(str)); + } + + return list; + } +} diff --git a/src/main/java/com/lf/server/service/show/DataLibService.java b/src/main/java/com/lf/server/service/show/DataLibService.java new file mode 100644 index 0000000..8ef4765 --- /dev/null +++ b/src/main/java/com/lf/server/service/show/DataLibService.java @@ -0,0 +1,346 @@ +package com.lf.server.service.show; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.lf.server.entity.ctrl.DownloadReqEntity; +import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.sys.AttachEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.*; +import com.lf.server.mapper.all.BasicMapper; +import com.lf.server.mapper.all.GeomBaseMapper; +import com.lf.server.mapper.data.DownloadMapper; +import com.lf.server.service.all.BaseQueryService; +import com.lf.server.service.data.MetaService; +import net.lingala.zip4j.ZipFile; +import net.lingala.zip4j.model.ZipParameters; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.File; +import java.util.*; + +/** + * 璧勬枡棣� + * @author WWW + */ +@Service +public class DataLibService { + @Autowired + PathHelper pathHelper; + + @Autowired + MetaService metaService; + + @Autowired + DownloadMapper downloadMapper; + + @Autowired + BaseQueryService baseQueryService; + + private final static Log log = LogFactory.getLog(DataLibService.class); + + /** + * 鏌ヨDB涓孩鍑虹殑鍗曚綅缂栫爜 + */ + public List<String> selectDbOverflowDep(UserEntity ue, DownloadReqEntity dr) { + if (!StringHelper.isEmpty(dr.getWkt())) { + return selectDbOverflowDep4Wkt(ue, dr); + } + + return selectDbOverflowDep4Prop(ue, dr); + } + + /** + * 鏌ヨDB涓孩鍑虹殑鍗曚綅缂栫爜-绌洪棿鏌ヨ + */ + public List<String> selectDbOverflowDep4Wkt(UserEntity ue, DownloadReqEntity dr) { + List<String> rs = new ArrayList<>(); + for (String entity : dr.getEntities()) { + GeomBaseMapper<?> baseMapper = ClassHelper.getGeoBaseMapper(entity); + if (null == baseMapper) { + continue; + } + + QueryWrapper wrapper = getWrapper4DbOverflow(ue, dr); + Integer srid = baseQueryService.getSrid(baseMapper); + wrapper.apply(String.format("ST_Intersects(ST_PolygonFromText('%s', %d), geom)", dr.getWkt(), srid)); + + List<String> ids = baseMapper.selectObjs(wrapper); + addDepCodes(rs, ids); + } + + return rs; + } + + /** + * 鏌ヨDB涓孩鍑虹殑鍗曚綅缂栫爜-灞炴�ф煡璇� + */ + public List<String> selectDbOverflowDep4Prop(UserEntity ue, DownloadReqEntity dr) { + List<String> rs = new ArrayList<>(); + BasicMapper<?> baseMapper = ClassHelper.getBasicMapper(dr.getEntities().get(0)); + if (null == baseMapper) { + return rs; + } + + QueryWrapper wrapper = getWrapper4DbOverflow(ue, dr); + List<String> ids = baseMapper.selectObjs(wrapper); + addDepCodes(rs, ids); + + return rs; + } + + /** + * 鏌ヨDB涓孩鍑哄崟浣嶇紪鐮佺殑鏌ヨ鍖呰鍣� + */ + private <T> QueryWrapper<T> getWrapper4DbOverflow(UserEntity ue, DownloadReqEntity dr) { + QueryWrapper<T> wrapper = new QueryWrapper<T>(); + wrapper.select("depid"); + wrapper.groupBy("depid"); + wrapper.apply("depid is not null and depid not like '" + ue.getDepcode() + "%'"); + + if (null != dr.getIds() && dr.getIds().size() > 0) { + wrapper.apply(String.format("gid in (%s)", StringHelper.join(dr.getIds(), ","))); + } else { + baseQueryService.addFilterWrapper(wrapper, dr.getFilter()); + } + + String dirs = copeCodes(dr.getDirs(), "dirid"); + if (!StringHelper.isEmpty(dirs)) { + wrapper.apply(dirs); + } + if (!StringHelper.isEmpty(dr.getDepcode())) { + wrapper.likeRight("depid", dr.getDepcode()); + } + + return wrapper; + } + + /** + * 娣诲姞鍗曚綅缂栫爜 + */ + private void addDepCodes(List<String> rs, List<String> ids) { + if (null == ids || ids.isEmpty()) { + return; + } + + for (String id : ids) { + if (StringHelper.isEmpty(id)) { + continue; + } + if (!rs.contains(id)) { + rs.add(id); + } + } + } + + /** + * 璇锋眰DB鏁版嵁涓嬭浇 + */ + public String downloadDbReq(UserEntity ue, DownloadReqEntity dr) throws Exception { + Map<String, List<?>> dataMap = new HashMap<>(2); + Map<String, List<AttachEntity>> annexMap = new HashMap<>(2); + queryData(dr, dataMap, annexMap); + if (dataMap.size() == 0) { + return null; + } + + String tempName = StringHelper.YMDHMS2_FORMAT.format(new Date()); + String tempPath = pathHelper.getTempPath(tempName); + String gdbPath = tempPath + File.separator + "tabs.gdb"; + + File gdbFile = new File(gdbPath); + if (gdbFile.exists() && gdbFile.isDirectory()) { + FileHelper.deleteDir(gdbPath); + } + GdbHelper.createGdb(gdbPath, dataMap); + + String zipFile = pathHelper.getDownloadFullPath() + File.separator + tempName + ".gdb.zip"; + ZipFile zip = Zip4jHelper.createZipFile(zipFile, dr.getPwd()); + ZipParameters params = Zip4jHelper.getZipParams(true); + zip.addFolder(new File(gdbPath), params); + // zip.addFolder(new File(annexPath), params) + metaService.addAnnex(zip, params, annexMap); + + String dbPwd = Md5Helper.reverse(Md5Helper.generate(dr.getPwd())); + DownloadEntity de = getDownloadEntity(ue, zipFile, dbPwd); + int rows = downloadMapper.insert(de); + + return rows > 0 ? de.getGuid() : null; + } + + /** + * 鏌ヨ鏁版嵁+闄勪欢 + */ + private void queryData(DownloadReqEntity dr, Map<String, List<?>> dataMap, Map<String, List<AttachEntity>> annexMap) { + for (String entity : dr.getEntities()) { + try { + BasicMapper baseMapper = ClassHelper.getBasicMapper(entity); + if (null == baseMapper) { + continue; + } + + QueryWrapper wrapper = createQueryWrapper(baseMapper, dr); + metaService.addData(entity, baseMapper, wrapper, dataMap, annexMap); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + } + + /** + * 鍒涘缓鏌ヨ鍖呰鍣� + */ + private <T> QueryWrapper<T> createQueryWrapper(BasicMapper baseMapper, DownloadReqEntity dr) { + QueryWrapper<T> wrapper = new QueryWrapper<T>(); + + String dirs = copeCodes(dr.getDirs(), "dirid"); + if (!StringHelper.isEmpty(dirs)) { + wrapper.apply(dirs); + } + if (!StringHelper.isEmpty(dr.getDepcode())) { + // wrapper.apply(String.format("depid like '%s'", StringHelper.getRightLike(dr.getDepcode()))) + wrapper.likeRight("depid", dr.getDepcode()); + } + if (baseMapper instanceof GeomBaseMapper) { + wrapper.select("ST_AsText(geom) as geom, *"); + if (!StringHelper.isEmpty(dr.getWkt())) { + Integer srid = baseQueryService.getSrid((GeomBaseMapper) baseMapper); + wrapper.apply(String.format("ST_Intersects(ST_PolygonFromText('%s', %d), geom)", dr.getWkt(), srid)); + } + } + if (null != dr.getIds() && dr.getIds().size() > 0) { + wrapper.apply(String.format("gid in (%s)", StringHelper.join(dr.getIds(), ","))); + } else { + baseQueryService.addFilterWrapper(wrapper, dr.getFilter()); + } + + return wrapper; + } + + /** + * 鍒涘缓闄勪欢 * + */ + private void createAnnex(String annexPath, Map<String, List<AttachEntity>> annexMap) { + if (annexMap.size() == 0) { + return; + } + + String uploadPath = pathHelper.getConfig().getUploadPath(); + for (String key : annexMap.keySet()) { + String targetPath = annexPath + File.separator + key; + File targetFile = new File(targetPath); + if (!targetFile.exists() || !targetFile.isDirectory()) { + targetFile.mkdirs(); + } + + for (AttachEntity ae : annexMap.get(key)) { + try { + File srcFile = new File(uploadPath + File.separator + ae.getPath()); + if (!srcFile.exists() || srcFile.isDirectory()) { + continue; + } + + File destFile = new File(targetPath + File.separator + ae.getName()); + if (destFile.exists() && !destFile.isDirectory()) { + continue; + } + + FileHelper.copyFile(srcFile, destFile); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + } + } + + /** + * 鑾峰彇涓嬭浇瀹炰綋绫� + */ + private DownloadEntity getDownloadEntity(UserEntity ue, String file, String pwd) { + DownloadEntity de = new DownloadEntity(); + de.setName(FileHelper.getFileName(file)); + // 1-Shp鏂囦欢锛�2-涓撻鍥撅紝3-鍏冩暟鎹紝4-涓氬姟鏁版嵁锛�5-绠¢亾鍒嗘瀽锛�6-缁熻鎶ュ憡锛�7-闄勪欢鏂囦欢锛�8-鐡︾墖鏂囦欢 + de.setType(4); + de.setSizes(FileHelper.sizeToMb(new File(file).length())); + de.setDepid(ue.getDepid()); + de.setDcount(0); + de.setPwd(pwd); + de.setUrl(FileHelper.getRelativePath(file)); + de.setDescr("涓氬姟鏁版嵁鏂囦欢"); + de.setGuid(FileHelper.getFileMd5(file)); + de.setCreateUser(ue.getId()); + // de.setGeom(null) + + return de; + } + + /** + * 澶勭悊缂栫爜 + */ + public static String copeCodes(String codes, String field) { + if (StringHelper.isEmpty(codes) || StringHelper.isSqlInjection(codes)) { + return null; + } + + List<String> list = codesAsList(codes); + removeDuplicate(list); + setRightLike(list, field); + + return "(" + StringHelper.join(list, " or ") + ")"; + } + + /** + * 鍗曚綅缂栫爜杞泦鍚� + */ + private static List<String> codesAsList(String codes) { + List<String> list = Arrays.asList(codes.split(",")); + Set set = new HashSet(list); + + List<String> newList = new ArrayList<>(set); + Collections.sort(newList); + + return newList; + } + + /** + * 鍘婚櫎閲嶅 + */ + private static void removeDuplicate(List<String> list) { + int i = 0; + while (i < list.size()) { + int j = findStr(list, i); + if (j > -1) { + list.remove(j); + continue; + } + + i++; + } + } + + /** + * 鏌ユ壘瀛楃涓� + */ + private static int findStr(List<String> list, int i) { + String source = list.get(i); + for (int j = i + 1, c = list.size(); j < c; j++) { + if (list.get(j).startsWith(source)) { + return j; + } + } + + return -1; + } + + /** + * 璁剧疆 鍙砽ike + */ + private static void setRightLike(List<String> list, String field) { + for (int i = 0, c = list.size(); i < c; i++) { + String str = String.format("%s like '%s%%'", field, list.get(i)); + list.set(i, str); + } + } +} diff --git a/src/main/java/com/lf/server/service/show/ExportService.java b/src/main/java/com/lf/server/service/show/ExportService.java new file mode 100644 index 0000000..6de55a9 --- /dev/null +++ b/src/main/java/com/lf/server/service/show/ExportService.java @@ -0,0 +1,118 @@ +package com.lf.server.service.show; + +import com.alibaba.fastjson.JSON; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.show.ExportEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.FileHelper; +import com.lf.server.helper.PathHelper; +import com.lf.server.helper.RestHelper; +import com.lf.server.helper.StringHelper; +import com.lf.server.service.data.DownloadService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.io.File; +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.Map; + +/** + * 鍦ㄧ嚎鍒跺浘 + * @author WWW + */ +@Service +public class ExportService { + @Value("${sys.exportServer}") + private String exportServer; + + @Autowired + PathHelper pathHelper; + + @Autowired + DownloadService downloadService; + + /** + * POST璇锋眰鍑哄浘鏈嶅姟 + * + * @param ue 鐢ㄦ埛绫� + * @param entity 鍦ㄧ嚎鍒跺浘绫� + * @return 鎴愬姛 + * @throws Exception + */ + public String post(UserEntity ue, ExportEntity entity) throws Exception { + Map<String, Object> map = getMapData(entity); + String url = exportServer + "/Export/Start"; + + String str = RestHelper.postForRest(url, map); + if (StringHelper.isEmpty(str)) { + return null; + } + + ResponseMsg<String> msg = JSON.parseObject(str, ResponseMsg.class); + if (msg == null || msg.getCode() != StaticData.TWO_HUNDRED) { + return null; + } + + String file = pathHelper.getConfig().getDownloadPath() + File.separator + msg.getResult(); + File f = new File(file); + if (!f.exists() && !f.isDirectory()) { + return null; + } + + DownloadEntity de = getDownloadEntity(ue, entity, file); + int rows = downloadService.insert(de); + + return rows > 0 ? de.getGuid() : null; + } + + /** + * 鑾峰彇Map鏁版嵁 + */ + private Map<String, Object> getMapData(ExportEntity entity) { + Map<String, Object> map = new HashMap<String, Object>(3); + + Field[] fields = entity.getClass().getDeclaredFields(); + for (Field field : fields) { + try { + if ("serialVersionUID".equals(field.getName())) { + continue; + } + + field.setAccessible(true); + Object obj = field.get(entity); + + map.put(field.getName(), obj); + } catch (Exception ex) { + // + } + } + + return map; + } + + /** + * 鑾峰彇涓嬭浇瀹炰綋绫� + */ + private DownloadEntity getDownloadEntity(UserEntity ue, ExportEntity entity, String file) throws Exception { + DownloadEntity de = new DownloadEntity(); + de.setName(FileHelper.getFileName(file)); + // 1-Shp鏂囦欢锛�2-涓撻鍥撅紝3-鍏冩暟鎹紝4-涓氬姟鏁版嵁锛�5-绠¢亾鍒嗘瀽锛�6-缁熻鎶ュ憡锛�7-闄勪欢鏂囦欢锛�8-鐡︾墖鏂囦欢 + de.setType(2); + de.setSizes(FileHelper.sizeToMb(new File(file).length())); + de.setDepid(ue.getDepid()); + de.setDcount(0); + // de.setPwd(null) + de.setUrl(FileHelper.getRelativePath(file)); + // de.setDescr("涓撻鍥炬枃浠�") + de.setDescr(StringHelper.isEmpty(entity.getTitle()) ? "涓撻鍥炬枃浠�" : entity.getTitle().trim()); + de.setGuid(FileHelper.getFileMd5(file)); + de.setCreateUser(ue.getId()); + // de.setGeom(null) + + return de; + } +} diff --git a/src/main/java/com/lf/server/service/show/FlowService.java b/src/main/java/com/lf/server/service/show/FlowService.java new file mode 100644 index 0000000..15454ee --- /dev/null +++ b/src/main/java/com/lf/server/service/show/FlowService.java @@ -0,0 +1,69 @@ +package com.lf.server.service.show; + +import com.lf.server.entity.show.FlowEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.show.FlowMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 鐢宠娴佺▼ + * @author WWW + */ +@Service +public class FlowService implements FlowMapper { + @Autowired + FlowMapper flowMapper; + + @Override + public Integer selectCount(Integer userid) { + return flowMapper.selectCount(userid); + } + + @Override + public List<FlowEntity> selectByPage(Integer userid, Integer limit, Integer offset) { + return flowMapper.selectByPage(userid, limit, offset); + } + + @Override + public List<FlowEntity> selectAll() { + return flowMapper.selectAll(); + } + + @Override + public FlowEntity selectById(int id) { + return flowMapper.selectById(id); + } + + @Override + public Integer insert(FlowEntity entity) { + return flowMapper.insert(entity); + } + + @Override + public Integer inserts(List<FlowEntity> list) { + return flowMapper.inserts(list); + } + + @Override + public Integer delete(int id) { + return flowMapper.delete(id); + } + + @Override + public Integer deletes(List<Integer> ids) { + return flowMapper.deletes(ids); + } + + @Override + public Integer update(FlowEntity entity) { + return flowMapper.update(entity); + } + + @Override + public Integer updates(List<FlowEntity> list) { + return flowMapper.updates(list); + } +} diff --git a/src/main/java/com/lf/server/service/show/InquiryService.java b/src/main/java/com/lf/server/service/show/InquiryService.java new file mode 100644 index 0000000..c607988 --- /dev/null +++ b/src/main/java/com/lf/server/service/show/InquiryService.java @@ -0,0 +1,206 @@ +package com.lf.server.service.show; + +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.ctrl.DownloadTileEntity; +import com.lf.server.entity.ctrl.ShpRecordEntity; +import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.data.MetaFileEntity; +import com.lf.server.entity.data.PublishEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.*; +import com.lf.server.service.data.DownloadService; +import com.lf.server.service.data.PublishService; +import net.lingala.zip4j.ZipFile; +import net.lingala.zip4j.model.ZipParameters; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.io.File; +import java.io.FileInputStream; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 鏌ヨ鏈嶅姟绫� + * @author WWW + */ +@Service +public class InquiryService { + @Resource + PathHelper pathHelper; + + @Resource + PublishService publishService; + + @Resource + DownloadService downloadService; + + private final static Log log = LogFactory.getLog(InquiryService.class); + + /** + * 璇诲彇Shp绗竴鏉¤褰曠殑WKT + */ + public ShpRecordEntity readShpFirstRecord(List<MetaFileEntity> list) { + String fileName = null; + for (MetaFileEntity mf : list) { + if (mf.getName().toLowerCase().contains(".shp")) { + fileName = mf.getPath(); + break; + } + } + if (StringHelper.isEmpty(fileName)) { + return null; + } + + ShpRecordEntity sr = ShpHelper.readShpFirstRecord(fileName); + FileHelper.deleteFiles(list); + + return sr; + } + + /** + * 鎵撳寘鐡︾墖 + */ + public String zipTiles(DownloadTileEntity dt, PublishEntity pub, UserEntity ue) { + if (!isTilePathExist(pub)) { + return null; + } + + List<File> list = findTiles(dt, pub); + if (list.isEmpty()) { + return null; + } + + String tempName = StringHelper.YMDHMS2_FORMAT.format(new Date()); + String zipFile = pathHelper.getDownloadFullPath() + File.separator + tempName + ".zip"; + + ZipFile zip = Zip4jHelper.createZipFile(zipFile, dt.getPwd()); + ZipParameters params = Zip4jHelper.getZipParams(true); + addFiles(zip, params, list, pub.getPath() + File.separator); + + String dbPwd = Md5Helper.reverse(Md5Helper.generate(dt.getPwd())); + DownloadEntity de = getDownloadEntity(ue, zipFile, dbPwd); + int rows = downloadService.insert(de); + if (de.getId() > 0) { + insertPubDown(pub, de, ue); + } + + return rows > 0 ? de.getGuid() : null; + } + + /** + * 鐡︾墖璺緞鏄惁瀛樺湪 + */ + private boolean isTilePathExist(PublishEntity pub) { + String tilePath = pathHelper.getConfig().getTilePath().replace("2d\\tiles", "") + pub.getPath(); + + File f = new File(tilePath); + if (!f.exists() || !f.isDirectory()) { + return false; + } + + pub.setPath(tilePath); + + return true; + } + + /** + * 鏌ユ壘鐡︾墖 + */ + private List<File> findTiles(DownloadTileEntity dt, PublishEntity pub) { + List<File> list = new ArrayList<>(); + for (int i = 0; i < StaticData.I23; i++) { + List<File> files = findTilesByZoom(dt, pub, i); + if (files.size() > 0) { + list.addAll(files); + } + } + + return list; + } + + /** + * 鏍规嵁灞傛鏌ユ壘鐡︾墖 + */ + private List<File> findTilesByZoom(DownloadTileEntity dt, PublishEntity pub, int zoom) { + List<File> list = new ArrayList<>(); + File f = new File(pub.getPath() + File.separator + zoom); + if (!f.exists() || !f.isDirectory()) { + return list; + } + + int[] leftTop = deg2num(zoom, dt.getXmin(), dt.getYmax()); + int[] rightBottom = deg2num(zoom, dt.getXmax(), dt.getYmin()); + + for (int x = leftTop[0]; x <= rightBottom[0]; x++) { + for (int y = leftTop[1]; y <= rightBottom[1]; y++) { + String pngPath = String.format("%s\\%d\\%d\\%d.png", pub.getPath(), zoom, x, y); + + File pngFile = new File(pngPath); + if (pngFile.exists()) { + list.add(pngFile); + } + } + } + + return list; + } + + /** + * 瑙掑害杞暟鍊� + */ + private int[] deg2num(int zoom, double x, double y) { + double yRad = Math.toRadians(y); + double n = Math.pow(2.0, zoom); + + int xTile = (int) ((x + 180.0) / 360.0 * n); + int yTile = (int) ((1.0 - Math.log(Math.tan(yRad) + (1 / Math.cos(yRad))) / Math.PI) / 2.0 * n); + + return new int[]{xTile, yTile}; + } + + /** + * 娣诲姞鏂囦欢鑷冲帇缂╁寘 + */ + private void addFiles(ZipFile zip, ZipParameters params, List<File> list, String basePath) { + for (File f : list) { + try { + params.setFileNameInZip(f.getPath().replace(basePath, "")); + zip.addStream(new FileInputStream(f), params); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + } + + /** + * 鑾峰彇涓嬭浇瀹炰綋绫� + */ + private DownloadEntity getDownloadEntity(UserEntity ue, String file, String pwd) { + DownloadEntity de = new DownloadEntity(); + de.setName(FileHelper.getFileName(file)); + // 1-Shp鏂囦欢锛�2-涓撻鍥撅紝3-鍏冩暟鎹紝4-涓氬姟鏁版嵁锛�5-绠¢亾鍒嗘瀽锛�6-缁熻鎶ュ憡锛�7-闄勪欢鏂囦欢锛�8-鐡︾墖鏂囦欢 + de.setType(8); + de.setSizes(FileHelper.sizeToMb(new File(file).length())); + de.setDepid(ue.getDepid()); + de.setDcount(0); + de.setPwd(pwd); + de.setUrl(FileHelper.getRelativePath(file)); + de.setDescr("鐡︾墖鏂囦欢"); + de.setGuid(FileHelper.getFileMd5(file)); + de.setCreateUser(ue.getId()); + // de.setGeom(null) + + return de; + } + + /** + * 鎻掑叆鏁版嵁鍙戝竷-涓嬭浇琛� + */ + private void insertPubDown(PublishEntity pub, DownloadEntity de, UserEntity ue) { + publishService.insertPubDown(pub.getId(), de.getId(), ue.getId()); + } +} diff --git a/src/main/java/com/lf/server/service/show/LocateService.java b/src/main/java/com/lf/server/service/show/LocateService.java new file mode 100644 index 0000000..dbf7672 --- /dev/null +++ b/src/main/java/com/lf/server/service/show/LocateService.java @@ -0,0 +1,46 @@ +package com.lf.server.service.show; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.lf.server.entity.bd.DlgagnpEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.bd.DlgagnpMapper; +import com.lf.server.service.all.BaseQueryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 缁煎悎灞曠ず + * @author WWW + */ +@Service +public class LocateService { + @Autowired + DlgagnpMapper dlgAgnpMapper; + + @Autowired + BaseQueryService baseQueryService; + + public Page<DlgagnpEntity> selectAddrByPage(String name, Integer pageSize, Integer pageIndex) { + Page<DlgagnpEntity> paging = new Page<>(pageIndex, pageSize); + paging.addOrder(OrderItem.desc("gid")); + + QueryWrapper<DlgagnpEntity> wrapper = null; + if (!StringHelper.isEmpty(name)) { + wrapper = new QueryWrapper<>(); + wrapper.like("name", name.trim()); + } + + return dlgAgnpMapper.selectPage(paging, wrapper); + } + + public String selectWktById(Integer id) { + String tab = BaseQueryService.getTabName(dlgAgnpMapper); + if (StringHelper.isNull(tab)) { + return null; + } + + return dlgAgnpMapper.selectWktById(tab, id); + } +} diff --git a/src/main/java/com/lf/server/service/show/MarkService.java b/src/main/java/com/lf/server/service/show/MarkService.java new file mode 100644 index 0000000..a5ab635 --- /dev/null +++ b/src/main/java/com/lf/server/service/show/MarkService.java @@ -0,0 +1,234 @@ +package com.lf.server.service.show; + +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.ctrl.MarkJsonEntity; +import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.data.MetaEntity; +import com.lf.server.entity.data.MetaFileEntity; +import com.lf.server.entity.show.MarkEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.*; +import com.lf.server.mapper.show.MarkMapper; +import com.lf.server.service.data.DownloadService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 鏍囩粯 + * @author WWW + */ +@Service +public class MarkService implements MarkMapper { + @Autowired + MarkMapper markMapper; + + @Autowired + PathHelper pathHelper; + + @Autowired + DownloadService downloadService; + + @Override + public Integer selectCount(Integer uid) { + return markMapper.selectCount(uid); + } + + @Override + public List<MarkEntity> selectByPage(Integer uid, Integer limit, Integer offset) { + return markMapper.selectByPage(uid, limit, offset); + } + + @Override + public List<MarkEntity> selectAll() { + return markMapper.selectAll(); + } + + @Override + public MarkEntity selectById(int id) { + return markMapper.selectById(id); + } + + @Override + public Integer insert(MarkEntity entity) { + return markMapper.insert(entity); + } + + @Override + public Integer inserts(List<MarkEntity> list) { + return markMapper.inserts(list); + } + + @Override + public Integer delete(int id) { + return markMapper.delete(id); + } + + @Override + public Integer deletes(List<Integer> ids) { + return markMapper.deletes(ids); + } + + @Override + public Integer update(MarkEntity entity) { + return markMapper.update(entity); + } + + @Override + public Integer updates(List<MarkEntity> list) { + return markMapper.updates(list); + } + + /** + * 涓嬭浇ShapeFile鏂囦欢 + * + * @param ue 鐢ㄦ埛瀹炰綋 + * @param list 鏍囩粯JSON瀹炰綋绫婚泦鍚� + * @return GUID + * @throws Exception 寮傚父 + */ + public String downloadShp(UserEntity ue, List<MarkJsonEntity> list) throws Exception { + String path = pathHelper.getTempPath(); + createShapeFiles(ue, list, path); + + File[] files = new File(path).listFiles(); + if (files == null || files.length == 0) { + return null; + } + + String zip = getZipPath(); + ZipHelper.zip(zip, path); + FileHelper.deleteDir(path); + + String guid = FileHelper.getFileMd5(zip); + DownloadEntity entity = downloadService.selectByGuid(guid); + if (entity != null) { + return entity.getGuid(); + } + + DownloadEntity de = getDownloadEntity(ue, zip); + int rows = downloadService.insert(de); + + return rows > 0 ? de.getGuid() : null; + } + + /** + * 鍒涘缓shp鏂囦欢 + */ + private String createShapeFiles(UserEntity ue, List<MarkJsonEntity> list, String path) { + List<MarkJsonEntity> points = getMarkByType(list, "POINT"); + if (points.size() > 0) { + ShpHelper.createShp(points, path, "POINT"); + } + List<MarkJsonEntity> lines = getMarkByType(list, "LINESTRING"); + if (lines.size() > 0) { + ShpHelper.createShp(lines, path, "LINESTRING"); + } + List<MarkJsonEntity> polygons = getMarkByType(list, "POLYGON"); + if (polygons.size() > 0) { + ShpHelper.createShp(polygons, path, "POLYGON"); + } + + return path; + } + + /** + * 鑾峰彇shp鐩綍 + */ + private String getShpDir(UserEntity ue, String parent) { + String path = parent + File.separator + StringHelper.YMDHMS2_FORMAT.format(new Date()); + + File file = new File(path); + if (!file.exists() && !file.isDirectory()) { + file.mkdirs(); + } + + return path; + } + + /** + * 鑾峰彇鏍囩粯绫诲瀷 + */ + private List<MarkJsonEntity> getMarkByType(List<MarkJsonEntity> list, String type) { + List<MarkJsonEntity> rs = new ArrayList<>(); + for (MarkJsonEntity mark : list) { + if (StringHelper.isEmpty(mark.getWkt())) { + continue; + } + if (mark.getWkt().contains(type)) { + rs.add(mark); + } + } + + return rs; + } + + /** + * 鑾峰彇zip璺緞 + */ + private String getZipPath() { + String path = pathHelper.getDownloadFullPath() + File.separator + StringHelper.YMDHMS2_FORMAT.format(new Date()) + ".zip"; + + File file = new File(path); + if (file.exists() && !file.isDirectory()) { + file.delete(); + } + + return path; + } + + /** + * 鑾峰彇涓嬭浇瀹炰綋绫� + */ + private DownloadEntity getDownloadEntity(UserEntity ue, String file) throws Exception { + DownloadEntity de = new DownloadEntity(); + de.setName(FileHelper.getFileName(file)); + // 1-Shp鏂囦欢锛�2-涓撻鍥撅紝3-鍏冩暟鎹紝4-涓氬姟鏁版嵁锛�5-绠¢亾鍒嗘瀽锛�6-缁熻鎶ュ憡锛�7-闄勪欢鏂囦欢锛�8-鐡︾墖鏂囦欢 + de.setType(1); + de.setSizes(FileHelper.sizeToMb(new File(file).length())); + de.setDepid(ue.getDepid()); + de.setDcount(0); + // de.setPwd(null) + de.setUrl(FileHelper.getRelativePath(file)); + de.setDescr("Shp鏂囦欢"); + de.setGuid(FileHelper.getFileMd5(file)); + de.setCreateUser(ue.getId()); + // de.setGeom(null) + + return de; + } + + /** + * 鑾峰彇涓嬭浇鏂囦欢璺緞 + */ + public String getDownloadFilePath(DownloadEntity de) { + return pathHelper.getConfig().getDownloadPath() + File.separator + de.getUrl(); + } + + /** + * 璇诲彇ShapeFile鏂囦欢鑾峰彇Mark瀹炰綋绫� + */ + public List<MarkJsonEntity> readShpForMarks(List<MetaFileEntity> list) { + String fileName = null; + for (MetaFileEntity mf : list) { + if (mf.getName().toLowerCase().contains(StaticData.SHP)) { + fileName = mf.getPath(); + break; + } + } + if (StringHelper.isEmpty(fileName)) { + return null; + } + + List<MarkJsonEntity> mjeList = ShpHelper.readShpForMarks(fileName); + FileHelper.deleteFiles(list); + + return mjeList; + } +} diff --git a/src/main/java/com/lf/server/service/show/ModelService.java b/src/main/java/com/lf/server/service/show/ModelService.java new file mode 100644 index 0000000..574cb6b --- /dev/null +++ b/src/main/java/com/lf/server/service/show/ModelService.java @@ -0,0 +1,74 @@ +package com.lf.server.service.show; + +import com.lf.server.entity.show.ModelEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.show.ModelMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 妯″瀷 + * @author WWW + */ +@Service +public class ModelService implements ModelMapper { + @Autowired + ModelMapper modelMapper; + + @Override + public Integer selectCount(Integer layerid) { + return modelMapper.selectCount(layerid); + } + + @Override + public List<ModelEntity> selectByPage(Integer layerid, Integer limit, Integer offset) { + return modelMapper.selectByPage(layerid, limit, offset); + } + + @Override + public List<ModelEntity> selectAll() { + return modelMapper.selectAll(); + } + + @Override + public ModelEntity selectById(int id) { + return modelMapper.selectById(id); + } + + @Override + public ModelEntity selectModelByGuid(int layerid, String modelid) { + return modelMapper.selectModelByGuid(layerid, modelid); + } + + @Override + public Integer insert(ModelEntity entity) { + return modelMapper.insert(entity); + } + + @Override + public Integer inserts(List<ModelEntity> list) { + return modelMapper.inserts(list); + } + + @Override + public Integer delete(int id) { + return modelMapper.delete(id); + } + + @Override + public Integer deletes(List<Integer> ids) { + return modelMapper.deletes(ids); + } + + @Override + public Integer update(ModelEntity entity) { + return modelMapper.update(entity); + } + + @Override + public Integer updates(List<ModelEntity> list) { + return modelMapper.updates(list); + } +} diff --git a/src/main/java/com/lf/server/service/show/OneMapService.java b/src/main/java/com/lf/server/service/show/OneMapService.java new file mode 100644 index 0000000..b01311f --- /dev/null +++ b/src/main/java/com/lf/server/service/show/OneMapService.java @@ -0,0 +1,372 @@ +package com.lf.server.service.show; + +import com.lf.server.entity.bs.MpipelineEntity; +import com.lf.server.entity.show.OneMapEntity; +import com.lf.server.mapper.show.OneMapMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * 绠$綉涓�寮犲浘Service + * + * @author 閭㈤敠鍙� + */ +@Service +public class OneMapService implements OneMapMapper { + @Autowired + OneMapMapper aMapOfPipelineMapper; + + /** + * 娴嬬粯 + */ + private static final String MEASUREMENT = "娴嬬粯锛圗SV锛�"; + /** + * 璋冩煡 + */ + private static final String TOINVESTIGATE = "鍕樺療锛圗GE锛�"; + /** + * 鍦扮伨 + */ + private static final String DISASTER = "鍦扮伨锛圗GD锛�"; + /** + * 鍦颁笅缁撴瀯娲炲簱 + */ + private static final String UNDERGROUNDSTRUCTURE = "娲炲簱锛圗GD锛�"; + + /** + * 椤圭洰绫诲埆conut + */ + @Override + public List<String> projectCategoryCount() { + return aMapOfPipelineMapper.projectCategoryCount(); + } + + /** + * 椤圭洰浣嶇疆conut + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> projectLocationCount() { + return aMapOfPipelineMapper.projectLocationCount(); + } + + /** + * 鍥藉缁村害conut + */ + @Override + public List<String> countryDimensionCount() { + return aMapOfPipelineMapper.countryDimensionCount(); + } + + /** + * 鐪佺淮conut + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> provinceDimensionCount() { + return aMapOfPipelineMapper.provinceDimensionCount(); + } + + /** + * 鍏ㄥ浗缁村害-鎸夌収椤硅嚜绫诲瀷缁熻涓嶅悓椤圭洰涓暟 + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> countProjectTypeNumber() { + return aMapOfPipelineMapper.countProjectTypeNumber(); + } + + /** + * 鏁版嵁瀛樺偍conut + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> dataStorageCount() { + return aMapOfPipelineMapper.dataStorageCount(); + } + + /** + * 缁熻鏁版嵁绫诲埆 + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> statisticalDataCategories() { + return aMapOfPipelineMapper.statisticalDataCategories(); + } + + /** + * 缁熻鏁版嵁鏈嶅姟绫诲瀷 + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> statisticalDataServiceType() { + return aMapOfPipelineMapper.statisticalDataServiceType(); + } + + /** + * 鐧诲綍浜烘暟缁熻 + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> loginNumberStatistics() { + return aMapOfPipelineMapper.loginNumberStatistics(); + } + + /** + * 鏂囦欢鏍煎紡conut + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> fileFormatCount() { + return aMapOfPipelineMapper.fileFormatCount(); + } + + /** + * 鏁版嵁鐢宠conut + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> dataApplyCount() { + return aMapOfPipelineMapper.dataApplyCount(); + } + + /** + * 鏁版嵁璁块棶鏁� + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> dataVisitCount() { + return aMapOfPipelineMapper.dataVisitCount(); + } + + /** + * 涓嬭浇鏁扮粺璁� + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> countDownloads() { + return aMapOfPipelineMapper.countDownloads(); + } + + /** + * 缁熻椤圭洰鏄剧ず + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> countProjectDisplay() { + return aMapOfPipelineMapper.countProjectDisplay(); + } + + /** + * 缁熻椤圭洰鍙傝 + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> countProjectTour(MpipelineEntity mpipelineEntity) { + return aMapOfPipelineMapper.countProjectTour(mpipelineEntity); + } + + /** + * 閫夋嫨椤圭洰鍙傝鍒楄〃 + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> selectProjectTour() { + return aMapOfPipelineMapper.selectProjectTour(); + } + + + /** + * 閫夋嫨椤圭洰绫诲瀷 + * + * @return {@link List}<{@link OneMapEntity}> + */ + @Override + public List<OneMapEntity> selectProjectType1() { + List<OneMapEntity> resList = new ArrayList<>(); + List<OneMapEntity> resInfo = aMapOfPipelineMapper.selectProjectType1(); + for (OneMapEntity oneMapEntity : resInfo) { + if (MEASUREMENT.equals(oneMapEntity.getValue())) { + resList.addAll(queryDirectory(oneMapEntity)); + } else if (TOINVESTIGATE.equals(oneMapEntity.getValue())) { + resList.addAll(queryDirectory(oneMapEntity)); + } else if (DISASTER.equals(oneMapEntity.getValue())) { + resList.addAll(queryDirectory(oneMapEntity)); + } else if (UNDERGROUNDSTRUCTURE.equals(oneMapEntity.getValue())) { + resList.addAll(queryDirectory(oneMapEntity)); + } + } + return resList; + } + + /** + * 鏌ヨ鐩綍 + * + * @return {@link List}<{@link OneMapEntity}> + */ + public List<OneMapEntity> queryDirectory(OneMapEntity oneMapEntity) { + String valueStr = oneMapEntity.getKey(); + System.out.println(oneMapEntity.getValue() + " == value == " + valueStr); + String endSql = null; + String sqlQur; + if (valueStr.length() > 0) { + String[] arrStr = valueStr.split(","); + StringBuilder one = new StringBuilder(); + if (arrStr.length > 0) { + System.out.println("arrStr = " + arrStr.length); + } + for (String s : arrStr) { + sqlQur = "'" + s + "%' " + "or dircode like"; + one.append(sqlQur); + } + endSql = " where dircode like " + one.substring(0, one.toString().length() - 15); + System.out.println("endSql = " + endSql); + } + return aMapOfPipelineMapper.selectProjectTypeOne(endSql); + } + + /** + * 閫夋嫨椤圭洰绫诲瀷涓� + * + * @param sqlQur sql + * @return {@link List}<{@link OneMapEntity}> + */ + @Override + public List<OneMapEntity> selectProjectTypeOne(String sqlQur) { + return null; + } + + + /** + * 鏌ヨ琛ㄤ俊鎭� + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> queryTableInfo(String tableName) { + return aMapOfPipelineMapper.queryTableInfo(tableName); + } + + /** + * 璁$畻鍏ㄧ悆绠¢亾鍥� + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> countGlobalPipeMap() { + return aMapOfPipelineMapper.countGlobalPipeMap(); + } + + /** + * 璁$畻鍏ㄥ浗绠¢亾鍥� + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> countNationalPipeMap() { + return aMapOfPipelineMapper.countNationalPipeMap(); + } + + /** + * 鍏ㄥ浗绠$綉鍥捐緭閫佷粙璐ㄩ暱搴� + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> countZhPipeMapLenByMed() { + return aMapOfPipelineMapper.countZhPipeMapLenByMed(); + } + + /** + * 鍏ㄥ浗绔欏満搴ф暟銆侀榾瀹ゃ�佺閬撴暟绛� + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> countZhPipeStations() { + return aMapOfPipelineMapper.countZhPipeStations(); + } + + /** + * 鎸夐」鐩粺璁¢」鐩瓨鍌ㄩ噺 + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> countStorageByProject() { + return aMapOfPipelineMapper.countStorageByProject(); + } + + /** + * 閫夋嫨椤圭洰淇℃伅 + * 鏌ヨ椤圭洰淇℃伅 + * + * @param projectName 椤圭洰鍚嶇О + * @return {@link List}<{@link String}> + */ + @Override + public List<String> selectProjectInfo(String projectCode) { + return aMapOfPipelineMapper.selectProjectInfo(projectCode); + } + + /** + * 閫夋嫨椤圭洰鏂囦欢鍒楄〃 + * + * @return {@link List}<{@link String}> + */ + @Override + public List<String> selectProjectFileList() { + return aMapOfPipelineMapper.selectProjectFileList(); + } + + /** + * 璁$畻瀛樺偍椤圭洰 + * + * @param projectCode 椤圭洰浠g爜 + * @return {@link List}<{@link String}> + */ + @Override + public List<String> countProjectStorage(String projectCode) { + return aMapOfPipelineMapper.countProjectStorage(projectCode); + } + + /** + * 鍗曚釜椤圭洰鏂囦欢鏁伴噺 + * + * @param projectCode 椤圭洰浠g爜 + * @return {@link List}<{@link String}> + */ + @Override + public List<String> countProjectType(String projectCode) { + return aMapOfPipelineMapper.countProjectType(projectCode); + } + + /** + * 缁熻椤圭洰涓� + * + * @param projectCode 椤圭洰浠g爜 + * @return {@link List}<{@link String}> + */ + @Override + public List<String> countProjectDown(String projectCode) { + return aMapOfPipelineMapper.countProjectDown(projectCode); + } + +} diff --git a/src/main/java/com/lf/server/service/show/PipelineService.java b/src/main/java/com/lf/server/service/show/PipelineService.java new file mode 100644 index 0000000..68caf48 --- /dev/null +++ b/src/main/java/com/lf/server/service/show/PipelineService.java @@ -0,0 +1,231 @@ +package com.lf.server.service.show; + +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.show.PipelineEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.*; +import com.lf.server.mapper.data.DownloadMapper; +import com.lf.server.mapper.show.PipelineMapper; +import net.lingala.zip4j.ZipFile; +import net.lingala.zip4j.model.ZipParameters; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.gdal.ogr.*; +import org.gdal.osr.SpatialReference; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.File; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * 绠¢亾鍒嗘瀽鏈嶅姟绫� + * @author WWW + */ +@Service +public class PipelineService implements PipelineMapper { + @Autowired + PathHelper pathHelper; + + @Autowired + DownloadMapper downloadMapper; + + @Autowired + PipelineMapper pipelineMapper; + + private final static Log log = LogFactory.getLog(PipelineService.class); + + @Override + public List<PipelineEntity> selectPipelines(String name) { + name = StringHelper.getLikeUpperStr(name); + + return pipelineMapper.selectPipelines(name); + } + + @Override + public List<PipelineEntity> selectSegNames() { + return pipelineMapper.selectSegNames(); + } + + @Override + public List<PipelineEntity> selectPipeAnalysis(String tab, Integer gid) { + return pipelineMapper.selectPipeAnalysis(tab, gid); + } + + /** + * 鍒涘缓Zip鍖� + * + * @param ue 鐢ㄦ埛瀹炰綋 + * @param map 绠¢亾鍒嗘瀽鏁版嵁闆嗗悎 + * @param pwd 瀵嗙爜 + * @return 涓嬭浇鏂囦欢GUID + */ + public String createZipFile(UserEntity ue, Map<String, List<PipelineEntity>> map, String pwd) throws Exception { + String tempName = StringHelper.YMDHMS2_FORMAT.format(new Date()); + String tempPath = pathHelper.getTempPath(tempName); + String filePath = tempPath + File.separator + tempName + ".gdb"; + + File file = new File(filePath); + if (file.exists() && file.isDirectory()) { + FileHelper.deleteDir(filePath); + } + createGdb(filePath, map); + + String zipName = tempName + ".gdb.zip"; + String zipFile = pathHelper.getDownloadFullPath() + File.separator + zipName; + + ZipFile zip = Zip4jHelper.createZipFile(zipFile, pwd); + ZipParameters params = Zip4jHelper.getZipParams(true); + addZipFiles(zip, params, file.listFiles()); + + String dbPwd = Md5Helper.reverse(Md5Helper.generate(pwd)); + DownloadEntity downloadEntity = getDownloadEntity(ue, zipFile, dbPwd); + int rows = downloadMapper.insert(downloadEntity); + + return rows > 0 ? downloadEntity.getGuid() : null; + } + + /** + * 鍒涘缓GDB + */ + public static void createGdb(String filePath, Map<String, List<PipelineEntity>> map) throws Exception { + Driver driver = null; + DataSource dataSource = null; + try { + driver = ogr.GetDriverByName("FileGDB"); + if (null == driver) { + log.error("PipelineService.createGdb.driver(FileGDB) is null."); + return; + } + dataSource = driver.CreateDataSource(filePath, null); + if (null == dataSource) { + log.error("PipelineService.createGdb.dataSource is null. " + filePath); + return; + } + + for (String key : map.keySet()) { + Layer layer = null; + try { + List<PipelineEntity> list = map.get(key); + layer = createLayer(dataSource, key.replace(".", "_"), list.get(0)); + + List<Field> fields = new ArrayList<>(); + getFields(PipelineEntity.class, fields); + + GdbHelper.addLayerField(layer, fields); + setLayerData(layer, fields, list); + } finally { + if (null != layer) { + layer.delete(); + } + } + } + + dataSource.SyncToDisk(); + dataSource.FlushCache(); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + throw ex; + } finally { + GdbHelper.delete(dataSource, driver); + } + } + + /** + * 鍒涘缓鍥惧眰 + */ + private static Layer createLayer(DataSource dataSource, String tab, PipelineEntity pe) { + int geomType = pe.getWkt().contains("POINT") ? ogr.wkbMultiPoint : ogr.wkbMultiLineString; + + SpatialReference sr = new SpatialReference(); + sr.ImportFromEPSG(4490); + + return dataSource.CreateLayer(tab, sr, geomType, null); + } + + /** + * 鑾峰彇瀛楁 + */ + private static void getFields(Class clazz, List<Field> list) { + try { + Field[] fields = clazz.getDeclaredFields(); + for (Field f : fields) { + if (StaticData.PIPE_EXCLUDE_FIELDS.contains(f.getName())) { + continue; + } + + f.setAccessible(true); + list.add(f); + } + + if (!StaticData.OBJECT.equals(clazz.getSuperclass().getName())) { + getFields(clazz.getSuperclass(), list); + } + } catch (Exception ex) { + // + } + } + + /** + * 璁剧疆鍥惧眰鏁版嵁 + */ + private static void setLayerData(Layer layer, List<Field> fields, List<PipelineEntity> list) throws Exception { + for (PipelineEntity t : list) { + Feature f = new Feature(layer.GetLayerDefn()); + + String wkt = t.getWkt(); + if (!wkt.contains("MULTI")) { + wkt = wkt.replace("POINT", "MULTIPOINT").replace("LINESTRING", "MULTILINESTRING(") + (wkt.contains("LINESTRING") ? ")" : ""); + } + + Geometry geom = Geometry.CreateFromWkt(wkt); + f.SetGeometry(geom); + + GdbHelper.setFeatureData(f, fields, t); + layer.CreateFeature(f); + } + } + + /** + * 娣诲姞Zip鏂囦欢 + */ + private void addZipFiles(ZipFile zip, ZipParameters params, File[] files) { + if (null == files || files.length == 0) { + return; + } + + for (File f : files) { + try { + zip.addFile(f, params); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + } + + /** + * 鑾峰彇涓嬭浇瀹炰綋绫� + */ + private DownloadEntity getDownloadEntity(UserEntity ue, String file, String pwd) throws Exception { + DownloadEntity de = new DownloadEntity(); + de.setName(FileHelper.getFileName(file)); + // 1-Shp鏂囦欢锛�2-涓撻鍥撅紝3-鍏冩暟鎹紝4-涓氬姟鏁版嵁锛�5-绠¢亾鍒嗘瀽锛�6-缁熻鎶ュ憡锛�7-闄勪欢鏂囦欢锛�8-鐡︾墖鏂囦欢 + de.setType(5); + de.setSizes(FileHelper.sizeToMb(new File(file).length())); + de.setDepid(ue.getDepid()); + de.setDcount(0); + de.setPwd(pwd); + de.setUrl(FileHelper.getRelativePath(file)); + de.setDescr("绠¢亾鍒嗘瀽鏂囦欢"); + de.setGuid(FileHelper.getFileMd5(file)); + de.setCreateUser(ue.getId()); + // de.setGeom(null) + + return de; + } +} diff --git a/src/main/java/com/lf/server/service/sys/ArgsService.java b/src/main/java/com/lf/server/service/sys/ArgsService.java new file mode 100644 index 0000000..2fc0c19 --- /dev/null +++ b/src/main/java/com/lf/server/service/sys/ArgsService.java @@ -0,0 +1,103 @@ +package com.lf.server.service.sys; + +import com.lf.server.entity.all.SettingData; +import com.lf.server.entity.sys.ArgsEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.sys.ArgsMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.lang.reflect.Field; +import java.util.List; + +/** + * 鍙傛暟璁剧疆 + * @author WWW + */ +@Service +public class ArgsService implements ArgsMapper { + @Autowired + ArgsMapper argsMapper; + + @Override + public Integer selectCount(String name) { + name = StringHelper.getLikeUpperStr(name); + + return argsMapper.selectCount(name); + } + + @Override + public List<ArgsEntity> selectByPage(String name, Integer limit, Integer offset) { + name = StringHelper.getLikeUpperStr(name); + + return argsMapper.selectByPage(name, limit, offset); + } + + @Override + public List<ArgsEntity> selectAll() { + return argsMapper.selectAll(); + } + + @Override + public ArgsEntity selectById(int id) { + return argsMapper.selectById(id); + } + + @Override + public Integer insert(ArgsEntity entity) { + return argsMapper.insert(entity); + } + + @Override + public Integer inserts(List<ArgsEntity> list) { + return argsMapper.inserts(list); + } + + @Override + public Integer delete(int id) { + return argsMapper.delete(id); + } + + @Override + public Integer deletes(List<Integer> ids) { + return argsMapper.deletes(ids); + } + + @Override + public Integer update(ArgsEntity entity) { + return argsMapper.update(entity); + } + + @Override + public Integer updateForValue(ArgsEntity entity) { + return argsMapper.updateForValue(entity); + } + + @Override + public Integer updates(List<ArgsEntity> list) { + return argsMapper.updates(list); + } + + /** + * 鍒濆鍖栬缃�� + */ + public void initSettingData() throws Exception { + List<ArgsEntity> list = selectAll(); + if (list == null || list.isEmpty()) { + return; + } + + for (ArgsEntity entity : list) { + updateSettingData(entity); + } + } + + /** + * 鏇存柊璁剧疆鍊� + */ + public void updateSettingData(ArgsEntity entity) throws Exception { + Field field = SettingData.class.getField(entity.getMark()); + // field.setAccessible(true) + field.set(null, entity.getCvalue() * entity.getTimes()); + } +} diff --git a/src/main/java/com/lf/server/service/sys/AttachService.java b/src/main/java/com/lf/server/service/sys/AttachService.java new file mode 100644 index 0000000..290b489 --- /dev/null +++ b/src/main/java/com/lf/server/service/sys/AttachService.java @@ -0,0 +1,196 @@ +package com.lf.server.service.sys; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.lf.server.entity.all.BaseEntity; +import com.lf.server.entity.data.FmeLogEntity; +import com.lf.server.entity.sys.AttachEntity; +import com.lf.server.helper.ClassHelper; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.all.BasicMapper; +import com.lf.server.mapper.sys.AttachMapper; +import com.lf.server.service.all.UploadAttachService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.lang.reflect.Field; +import java.util.List; + +/** + * 闄勪欢 + * @author WWW + */ +@Service +public class AttachService implements AttachMapper { + @Autowired + AttachMapper attachMapper; + + private static String tabs; + + @Override + public Integer selectCount(String name) { + name = StringHelper.getLikeUpperStr(name); + + return attachMapper.selectCount(name); + } + + @Override + public List<AttachEntity> selectByPage(String name, Integer limit, Integer offset) { + name = StringHelper.getLikeUpperStr(name); + + return attachMapper.selectByPage(name, limit, offset); + } + + @Override + public List<AttachEntity> selectAll() { + return attachMapper.selectAll(); + } + + @Override + public AttachEntity selectById(int id) { + return attachMapper.selectById(id); + } + + @Override + public AttachEntity selectByGuid(String guid) { + return attachMapper.selectByGuid(guid); + } + + @Override + public List<AttachEntity> selectByGuids(List<String> guids) { + return attachMapper.selectByGuids(guids); + } + + @Override + public AttachEntity selectByTabAndGuid(String tab, String tabGuid, String guid) { + return attachMapper.selectByTabAndGuid(tab, tabGuid, guid); + } + + @Override + public List<AttachEntity> selectByTabGuids(String tab, List<String> guids) { + return attachMapper.selectByTabGuids(tab, guids); + } + + @Override + public List<AttachEntity> selectByTab(String tab, String guid) { + return attachMapper.selectByTab(tab, guid); + } + + @Override + public Integer insert(AttachEntity entity) { + return attachMapper.insert(entity); + } + + @Override + public Integer inserts(List<AttachEntity> list) { + return attachMapper.inserts(list); + } + + @Override + public Integer delete(int id) { + return attachMapper.delete(id); + } + + @Override + public Integer deletes(List<Integer> ids) { + return attachMapper.deletes(ids); + } + + @Override + public Integer update(AttachEntity entity) { + return attachMapper.update(entity); + } + + @Override + public Integer updates(List<AttachEntity> list) { + return attachMapper.updates(list); + } + + @Override + public List<FmeLogEntity> selectFmeLogs(String tabs) { + return attachMapper.selectFmeLogs(tabs); + } + + /** + * 鏌ヨFME鏃ュ織 + */ + public List<FmeLogEntity> selectFmeLogs() { + if (StringHelper.isEmpty(tabs)) { + tabs = UploadAttachService.getTabs().replace("'", ""); + } + + return attachMapper.selectFmeLogs(tabs); + } + + @Override + public Integer updateFmeLog(Integer id) { + return attachMapper.updateFmeLog(id); + } + + @Override + public Integer insertAttachByMeta(String tab, String tabGuid, String metaName, String dirid) { + return attachMapper.insertAttachByMeta(tab, tabGuid, metaName, dirid); + } + + /** + * 鍚屾闄勪欢 + */ + public void syncAttaches(FmeLogEntity entity) { + String tab = entity.getPgNs() + "." + entity.getTcdm(); + String fieldName = UploadAttachService.ATTACH_TABS.get(tab); + + List<?> list = selectRowsByParentid(entity.getTcdm().replace("_", ""), entity.getParentid(), fieldName); + if (null == list || list.isEmpty()) { + return; + } + + Field field = UploadAttachService.getAnnexField(list.get(0), tab); + if (null == field) { + return; + } + + for (Object obj : list) { + String[] names = UploadAttachService.getNames(UploadAttachService.getAnnexName(obj, field)); + if (null == names || names.length == 0) { + continue; + } + + BaseEntity be = (BaseEntity) obj; + String dirid = getDirid(be); + for (String name : names) { + if (StringHelper.isEmpty(name)) { + continue; + } + insertAttachByMeta(tab, be.getEventid(), name.trim(), dirid); + } + } + } + + /** + * 鑾峰彇鐩綍缂栫爜 + */ + private String getDirid(BaseEntity be) { + if (StringHelper.isEmpty(be.getDirid())) { + return null; + } + + String dirid = be.getDirid().substring(0, 2); + + return StringHelper.getRightLike(dirid); + } + + /** + * 鏍规嵁鐖禝D鏌ヨ璁板綍 + */ + private List<?> selectRowsByParentid(String entity, String parentid, String field) { + BasicMapper baseMapper = ClassHelper.getBasicMapper(entity); + if (null == baseMapper) { + return null; + } + + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("parentid", parentid); + wrapper.apply(field + " is not null"); + + return baseMapper.selectList(wrapper); + } +} diff --git a/src/main/java/com/lf/server/service/sys/AuthService.java b/src/main/java/com/lf/server/service/sys/AuthService.java new file mode 100644 index 0000000..d78c227 --- /dev/null +++ b/src/main/java/com/lf/server/service/sys/AuthService.java @@ -0,0 +1,74 @@ +package com.lf.server.service.sys; + +import com.lf.server.entity.sys.AuthEntity; +import com.lf.server.mapper.sys.AuthMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 鏉冮檺琛� + * @author sws + * @date 2022-09-28 + */ +@Service +public class AuthService implements AuthMapper { + @Autowired + AuthMapper authMapper; + + @Override + public Integer selectCount(String name) { + return authMapper.selectCount(name); + } + + @Override + public List<AuthEntity> selectByPage(String name, Integer limit, Integer offset) { + return authMapper.selectByPage(name, limit, offset); + } + + @Override + public Integer selectCountForMenu(Integer menuid) { + return authMapper.selectCountForMenu(menuid); + } + + @Override + public List<AuthEntity> selectByPageForMenu(Integer menuid, Integer limit, Integer offset) { + return authMapper.selectByPageForMenu(menuid, limit, offset); + } + + @Override + public Integer insertAuth(AuthEntity authEntity) { + return authMapper.insertAuth(authEntity); + } + + @Override + public Integer insertAuths(List<AuthEntity> authEntity) { + return authMapper.insertAuths(authEntity); + } + + @Override + public Integer deleteAuth(int id) { + return authMapper.deleteAuth(id); + } + + @Override + public Integer deleteAuths(List<Integer> ids) { + return authMapper.deleteAuths(ids); + } + + @Override + public Integer updateAuth(AuthEntity authEntity) { + return authMapper.updateAuth(authEntity); + } + + @Override + public AuthEntity selectAuth(int id) { + return authMapper.selectAuth(id); + } + + @Override + public List<AuthEntity> selectAuthAll() { + return authMapper.selectAuthAll(); + } +} diff --git a/src/main/java/com/lf/server/service/sys/BlacklistService.java b/src/main/java/com/lf/server/service/sys/BlacklistService.java new file mode 100644 index 0000000..8beb0f2 --- /dev/null +++ b/src/main/java/com/lf/server/service/sys/BlacklistService.java @@ -0,0 +1,109 @@ +package com.lf.server.service.sys; + +import com.lf.server.entity.all.RedisCacheKey; +import com.lf.server.entity.all.SettingData; +import com.lf.server.entity.sys.BlacklistEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.sys.BlacklistMapper; +import com.lf.server.service.all.RedisService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * 榛戝悕鍗� + * @author WWW + */ +@Service +public class BlacklistService implements BlacklistMapper { + @Autowired + BlacklistMapper blacklistMapper; + + @Autowired + RedisService redisService; + + private final static int TWO = 2; + + @Override + public Integer selectCount(String ip, Integer type) { + ip = StringHelper.getLikeUpperStr(ip); + + return blacklistMapper.selectCount(ip, type); + } + + @Override + public List<BlacklistEntity> selectByPage(String ip, Integer type, Integer limit, Integer offset) { + ip = StringHelper.getLikeUpperStr(ip); + + return blacklistMapper.selectByPage(ip, type, limit, offset); + } + + @Override + public List<BlacklistEntity> selectAll() { + return blacklistMapper.selectAll(); + } + + @Override + public BlacklistEntity selectById(int id) { + return blacklistMapper.selectById(id); + } + + @Override + public List<String> selectIpList(Integer type) { + if (type == null || type < 1 || type > TWO) { + return null; + } + + String key = RedisCacheKey.blacklistKey(type.toString()); + Object obj = redisService.get(key); + if (obj instanceof List<?>) { + return (List<String>) obj; + } + + List<String> list = blacklistMapper.selectIpList(type); + if (list != null && list.size() > 0) { + redisService.put(key, list, SettingData.CACHE_EXPIRE, TimeUnit.MINUTES); + } + + return list; + } + + /** + * 娓呯┖缂撳瓨 + */ + public void clearCache() { + redisService.clearKeys(RedisCacheKey.blacklistKey("")); + } + + @Override + public Integer insert(BlacklistEntity entity) { + return blacklistMapper.insert(entity); + } + + @Override + public Integer inserts(List<BlacklistEntity> list) { + return blacklistMapper.inserts(list); + } + + @Override + public Integer delete(int id) { + return blacklistMapper.delete(id); + } + + @Override + public Integer deletes(List<Integer> ids) { + return blacklistMapper.deletes(ids); + } + + @Override + public Integer update(BlacklistEntity entity) { + return blacklistMapper.update(entity); + } + + @Override + public Integer updates(List<BlacklistEntity> list) { + return blacklistMapper.updates(list); + } +} diff --git a/src/main/java/com/lf/server/service/sys/DepService.java b/src/main/java/com/lf/server/service/sys/DepService.java new file mode 100644 index 0000000..fc5e03e --- /dev/null +++ b/src/main/java/com/lf/server/service/sys/DepService.java @@ -0,0 +1,71 @@ +package com.lf.server.service.sys; + +import com.lf.server.entity.ctrl.IdNameEntity; +import com.lf.server.entity.sys.DepEntity; +import com.lf.server.mapper.sys.DepMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 缁勭粐鏈烘瀯 + * @author sws + * @date 2022-09-23 + */ +@Service +public class DepService implements DepMapper { + @Autowired + DepMapper depMapper; + + @Override + public Integer insertDep(DepEntity depEntity) { + return depMapper.insertDep(depEntity); + } + + @Override + public Integer insertDeps(List<DepEntity> depEntity) { + return depMapper.insertDeps(depEntity); + } + + @Override + public Integer deleteDep(int id) { + return depMapper.deleteDep(id); + } + + @Override + public Integer deleteDeps(List<Integer> ids) { + return depMapper.deleteDeps(ids); + } + + @Override + public Integer updateDep(DepEntity depEntity) { + return depMapper.updateDep(depEntity); + } + + + @Override + public DepEntity selectDep(int id) { + return depMapper.selectDep(id); + } + + @Override + public List<IdNameEntity> selectDepsByCodes(String[] codes) { + return depMapper.selectDepsByCodes(codes); + } + + @Override + public List<DepEntity> selectDepAll() { + return depMapper.selectDepAll(); + } + + @Override + public Integer updateDeps(List<DepEntity> list) { + return depMapper.updateDeps(list); + } + + @Override + public List<DepEntity> selectDepRecursive(String name) { + return depMapper.selectDepRecursive(name); + } +} \ No newline at end of file diff --git a/src/main/java/com/lf/server/service/sys/DownlogService.java b/src/main/java/com/lf/server/service/sys/DownlogService.java new file mode 100644 index 0000000..2814ee8 --- /dev/null +++ b/src/main/java/com/lf/server/service/sys/DownlogService.java @@ -0,0 +1,98 @@ +package com.lf.server.service.sys; + +import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.sys.DownlogEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.helper.WebHelper; +import com.lf.server.mapper.sys.DownlogMapper; +import com.lf.server.service.data.DownloadService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.sql.Timestamp; +import java.util.List; + +/** + * 涓嬭浇鏃ュ織 + * @author WWW + */ +@Service +public class DownlogService implements DownlogMapper { + @Autowired + DownlogMapper downlogMapper; + + @Autowired + DownloadService downloadService; + + @Override + public Integer selectCount(String uname, Integer type, Timestamp start, Timestamp end) { + uname = StringHelper.getLikeUpperStr(uname); + + return downlogMapper.selectCount(uname, type, start, end); + } + + @Override + public List<DownlogEntity> selectByPage(String uname, Integer type, Timestamp start, Timestamp end, Integer limit, Integer offset) { + uname = StringHelper.getLikeUpperStr(uname); + + return downlogMapper.selectByPage(uname, type, start, end, limit, offset); + } + + @Override + public List<DownlogEntity> selectAll() { + return downlogMapper.selectAll(); + } + + @Override + public DownlogEntity selectById(int id) { + return downlogMapper.selectById(id); + } + + @Override + public Integer insert(DownlogEntity entity) { + return downlogMapper.insert(entity); + } + + @Override + public Integer inserts(List<DownlogEntity> list) { + return downlogMapper.inserts(list); + } + + @Override + public Integer delete(int id) { + return downlogMapper.delete(id); + } + + @Override + public Integer deletes(List<Integer> ids) { + return downlogMapper.deletes(ids); + } + + @Override + public Integer update(DownlogEntity entity) { + return downlogMapper.update(entity); + } + + @Override + public Integer updates(List<DownlogEntity> list) { + return downlogMapper.updates(list); + } + + /** + * 鏇存柊涓嬭浇淇℃伅 + */ + public void updateInfos(UserEntity ue, DownloadEntity de, HttpServletRequest req) { + de.setDcount(de.getDcount() + 1); + de.setDownloadUser(ue.getId()); + int rows = downloadService.update(de); + + DownlogEntity entity = new DownlogEntity(); + entity.setDownid(de.getId()); + entity.setCreateUser(ue.getId()); + entity.setIp(WebHelper.getIpAddress(req)); + + rows = downlogMapper.insert(entity); + } +} diff --git a/src/main/java/com/lf/server/service/sys/LoginService.java b/src/main/java/com/lf/server/service/sys/LoginService.java new file mode 100644 index 0000000..5e9653a --- /dev/null +++ b/src/main/java/com/lf/server/service/sys/LoginService.java @@ -0,0 +1,96 @@ +package com.lf.server.service.sys; + +import com.lf.server.entity.sys.LoginEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.helper.WebHelper; +import com.lf.server.mapper.sys.LoginMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.sql.Timestamp; +import java.util.List; + +/** + *鐧诲綍鏃ュ織 + * @author sws + * @date 2022-09-28 + */ +@Service +public class LoginService implements LoginMapper { + @Autowired + LoginMapper loginMapper; + + @Override + public Integer selectCount(String uname, Integer type, Timestamp start, Timestamp end) { + uname = StringHelper.getLikeUpperStr(uname); + + return loginMapper.selectCount(uname, type, start, end); + } + + @Override + public List<LoginEntity> selectByPage(String uname, Integer type, Timestamp start, Timestamp end, Integer limit, Integer offset) { + uname = StringHelper.getLikeUpperStr(uname); + + return loginMapper.selectByPage(uname, type, start, end, limit, offset); + } + + @Override + public Integer insertLogin(LoginEntity loginEntity) { + return loginMapper.insertLogin(loginEntity); + } + + @Override + public Integer insertLogins(List<LoginEntity> loginEntity) { + return loginMapper.insertLogins(loginEntity); + } + + @Override + public Integer deleteLogin(int id) { + return loginMapper.deleteLogin(id); + } + + @Override + public Integer deleteLogins(List<Integer> ids) { + return loginMapper.deleteLogins(ids); + } + + @Override + public Integer updateLogin(LoginEntity loginEntity) { + return loginMapper.updateLogin(loginEntity); + } + + @Override + public LoginEntity selectLogin(int id) { + return loginMapper.selectLogin(id); + } + + @Override + public List<LoginEntity> selectLoginAll() { + return loginMapper.selectLoginAll(); + } + + /** + * 鑾峰彇鏂扮殑鐧诲綍瀹炰綋绫� + */ + public LoginEntity getNewLogin(int userid, int appId, int type, int status, HttpServletRequest req) { + LoginEntity le = new LoginEntity(); + le.setUserid(userid); + le.setAppid(appId); + le.setIp(WebHelper.getIpAddress(req)); + le.setType(type); + le.setStatus(status); + le.setOptime(WebHelper.getCurrentTimestamp()); + + return le; + } + + /** + * 鐢ㄦ埛鐧诲綍鐘舵�� + * @return + */ + @Override + public List<LoginEntity> selectLoginCounts(){ + return loginMapper.selectLoginCounts(); + } +} diff --git a/src/main/java/com/lf/server/service/sys/MenuAuthService.java b/src/main/java/com/lf/server/service/sys/MenuAuthService.java new file mode 100644 index 0000000..3f41954 --- /dev/null +++ b/src/main/java/com/lf/server/service/sys/MenuAuthService.java @@ -0,0 +1,79 @@ +package com.lf.server.service.sys; + +import com.lf.server.entity.sys.MenuAuthEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.sys.MenuAuthMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 鑿滃崟-鏉冮檺 + * @author WWW + */ +@Service +public class MenuAuthService implements MenuAuthMapper { + @Autowired + MenuAuthMapper menuAuthMapper; + + @Override + public Integer selectCount(Integer menuid) { + return menuAuthMapper.selectCount(menuid); + } + + @Override + public List<MenuAuthEntity> selectByPage(Integer menuid, Integer limit, Integer offset) { + return menuAuthMapper.selectByPage(menuid, limit, offset); + } + + @Override + public Integer selectCountForRole(Integer roleid, Integer menuid) { + return menuAuthMapper.selectCountForRole(roleid, menuid); + } + + @Override + public List<MenuAuthEntity> selectByPageForRole(Integer roleid, Integer menuid, Integer limit, Integer offset) { + return menuAuthMapper.selectByPageForRole(roleid, menuid, limit, offset); + } + + @Override + public List<MenuAuthEntity> selectAll() { + return menuAuthMapper.selectAll(); + } + + @Override + public MenuAuthEntity selectById(int id) { + return menuAuthMapper.selectById(id); + } + + @Override + public Integer insert(MenuAuthEntity entity) { + return menuAuthMapper.insert(entity); + } + + @Override + public Integer inserts(List<MenuAuthEntity> list) { + return menuAuthMapper.inserts(list); + } + + @Override + public Integer delete(int id) { + return menuAuthMapper.delete(id); + } + + @Override + public Integer deletes(List<Integer> ids) { + return menuAuthMapper.deletes(ids); + } + + @Override + public Integer update(MenuAuthEntity entity) { + return menuAuthMapper.update(entity); + } + + @Override + public Integer updates(List<MenuAuthEntity> list) { + return menuAuthMapper.updates(list); + } +} diff --git a/src/main/java/com/lf/server/service/sys/MenuService.java b/src/main/java/com/lf/server/service/sys/MenuService.java new file mode 100644 index 0000000..5457a53 --- /dev/null +++ b/src/main/java/com/lf/server/service/sys/MenuService.java @@ -0,0 +1,64 @@ +package com.lf.server.service.sys; + +import com.lf.server.entity.sys.MenuEntity; +import com.lf.server.mapper.sys.MenuMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 鑿滃崟 + * @author sws + * @date 2022-09-24 + */ +@Service +public class MenuService implements MenuMapper { + @Autowired + MenuMapper menuMapper; + + @Override + public Integer insertMenu(MenuEntity menuEntity) { + return menuMapper.insertMenu(menuEntity); + } + + @Override + public Integer insertMenus(List<MenuEntity> menuEntity) { + return menuMapper.insertMenus(menuEntity); + } + + @Override + public Integer deleteMenu(int id) { + return menuMapper.deleteMenu(id); + } + + @Override + public Integer deleteMenus(List<Integer> ids) { + return menuMapper.deleteMenus(ids); + } + + @Override + public Integer updateMenu(MenuEntity menuEntity) { + return menuMapper.updateMenu(menuEntity); + } + + @Override + public Integer updateMenus(List<MenuEntity> menuEntity) { + return menuMapper.updateMenus(menuEntity); + } + + @Override + public MenuEntity selectMenu(int id) { + return menuMapper.selectMenu(id); + } + + @Override + public List<MenuEntity> selectMenuAll() { + return menuMapper.selectMenuAll(); + } + + @Override + public List<MenuEntity> selectMenuRecursive(String name) { + return menuMapper.selectMenuRecursive(name); + } +} \ No newline at end of file diff --git a/src/main/java/com/lf/server/service/sys/MetaDownService.java b/src/main/java/com/lf/server/service/sys/MetaDownService.java new file mode 100644 index 0000000..1205b4c --- /dev/null +++ b/src/main/java/com/lf/server/service/sys/MetaDownService.java @@ -0,0 +1,69 @@ +package com.lf.server.service.sys; + +import com.lf.server.entity.sys.MetaDownEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.sys.MetaDownMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 鍏冩暟鎹�-涓嬭浇 + * @author WWW + */ +@Service +public class MetaDownService implements MetaDownMapper { + @Autowired + MetaDownMapper metaDownMapper; + + @Override + public Integer selectCount(Integer metaid) { + return metaDownMapper.selectCount(metaid); + } + + @Override + public List<MetaDownEntity> selectByPage(Integer metaid, Integer limit, Integer offset) { + return metaDownMapper.selectByPage(metaid, limit, offset); + } + + @Override + public List<MetaDownEntity> selectAll() { + return metaDownMapper.selectAll(); + } + + @Override + public MetaDownEntity selectById(int id) { + return metaDownMapper.selectById(id); + } + + @Override + public Integer insert(MetaDownEntity entity) { + return metaDownMapper.insert(entity); + } + + @Override + public Integer inserts(List<MetaDownEntity> list) { + return metaDownMapper.inserts(list); + } + + @Override + public Integer delete(int id) { + return metaDownMapper.delete(id); + } + + @Override + public Integer deletes(List<Integer> ids) { + return metaDownMapper.deletes(ids); + } + + @Override + public Integer update(MetaDownEntity entity) { + return metaDownMapper.update(entity); + } + + @Override + public Integer updates(List<MetaDownEntity> list) { + return metaDownMapper.updates(list); + } +} diff --git a/src/main/java/com/lf/server/service/sys/OperateService.java b/src/main/java/com/lf/server/service/sys/OperateService.java new file mode 100644 index 0000000..aa833b4 --- /dev/null +++ b/src/main/java/com/lf/server/service/sys/OperateService.java @@ -0,0 +1,75 @@ +package com.lf.server.service.sys; + +import com.lf.server.entity.sys.OperateEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.sys.OperateMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.sql.Timestamp; +import java.util.List; + +/** + * 鎿嶄綔鏃ュ織 + * @author sws + * @date 2022-09-28 + */ +@Service +public class OperateService implements OperateMapper { + @Autowired + OperateMapper operateMapper; + + @Override + public Integer selectCount(String uname, Integer type, Timestamp start, Timestamp end) { + uname = StringHelper.getLikeUpperStr(uname); + + return operateMapper.selectCount(uname, type, start, end); + } + + @Override + public List<OperateEntity> selectByPage(String uname, Integer type, Timestamp start, Timestamp end, Integer limit, Integer offset) { + uname = StringHelper.getLikeUpperStr(uname); + + return operateMapper.selectByPage(uname, type, start, end, limit, offset); + } + + @Override + public Integer insertOperate(OperateEntity operateEntity) { + return operateMapper.insertOperate(operateEntity); + } + + @Override + public Integer insertOperates(List<OperateEntity> operateEntity) { + return operateMapper.insertOperates(operateEntity); + } + + @Override + public Integer deleteOperate(int id) { + return operateMapper.deleteOperate(id); + } + + @Override + public Integer deleteOperates(List<Integer> ids) { + return operateMapper.deleteOperates(ids); + } + + @Override + public Integer updateOperate(OperateEntity operateEntity) { + return operateMapper.updateOperate(operateEntity); + } + + @Override + public OperateEntity selectOperate(int id) { + return operateMapper.selectOperate(id); + } + + @Override + public List<OperateEntity> selectOperateAll() { + return operateMapper.selectOperateAll(); + } + + @Override + public List<OperateEntity> operateCount() { + return operateMapper.operateCount(); + } +} diff --git a/src/main/java/com/lf/server/service/sys/ReportService.java b/src/main/java/com/lf/server/service/sys/ReportService.java new file mode 100644 index 0000000..2f662dd --- /dev/null +++ b/src/main/java/com/lf/server/service/sys/ReportService.java @@ -0,0 +1,310 @@ +package com.lf.server.service.sys; + +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.ctrl.CountEntity; +import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.sys.AttachEntity; +import com.lf.server.entity.sys.ReportEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.*; +import com.lf.server.mapper.sys.ReportMapper; +import com.lf.server.service.data.DownloadService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.util.*; + +/** + * 鎶ュ憡妯℃澘 + * @author WWW + */ +@Service +public class ReportService implements ReportMapper { + @Autowired + ReportMapper reportMapper; + + @Autowired + AttachService attachService; + + @Autowired + PathHelper pathHelper; + + @Autowired + DownloadService downloadService; + + @Override + public Integer selectCount(String name, String code) { + name = StringHelper.getLikeUpperStr(name); + + return reportMapper.selectCount(name, code); + } + + @Override + public List<ReportEntity> selectByPage(String name, String code, Integer limit, Integer offset) { + name = StringHelper.getLikeUpperStr(name); + + return reportMapper.selectByPage(name, code, limit, offset); + } + + @Override + public List<ReportEntity> selectAll() { + return reportMapper.selectAll(); + } + + @Override + public ReportEntity selectById(int id) { + return reportMapper.selectById(id); + } + + @Override + public Integer insert(ReportEntity entity) { + return reportMapper.insert(entity); + } + + @Override + public Integer inserts(List<ReportEntity> list) { + return reportMapper.inserts(list); + } + + @Override + public Integer delete(int id) { + return reportMapper.delete(id); + } + + @Override + public Integer deletes(List<Integer> ids) { + return reportMapper.deletes(ids); + } + + @Override + public Integer update(ReportEntity entity) { + return reportMapper.update(entity); + } + + @Override + public Integer updates(List<ReportEntity> list) { + return reportMapper.updates(list); + } + + @Override + public List<CountEntity> countSizes() { + return reportMapper.countSizes(); + } + + @Override + public List<CountEntity> countServices() { + return reportMapper.countServices(); + } + + @Override + public List<CountEntity> countOperates() { + return reportMapper.countOperates(); + } + + /** + * 鍒涘缓鎶ュ憡 + */ + public void createReport(UserEntity ue, ReportEntity re, HttpServletResponse res) throws Exception { + AttachEntity ae = attachService.selectByGuid(re.getGuid()); + if (null == ae) { + return; + } + + String source = pathHelper.getConfig().getUploadPath() + File.separator + ae.getPath(); + String targetName = StringHelper.YMDHMS2_FORMAT.format(new Date()) + FileHelper.getExtension(ae.getName()); + String target = pathHelper.getDownloadFullPath() + File.separator + targetName; + + File sourceFile = new File(source); + if (!sourceFile.exists() || sourceFile.isDirectory()) { + return; + } + generateReport(source, target, re); + + File targetFile = new File(target); + if (!targetFile.exists() || sourceFile.isDirectory()) { + return; + } + + DownloadEntity de = getDownloadEntity(ue, target); + int rows = downloadService.insert(de); + if (rows > 0) { + WebHelper.download(target, targetName, res); + } + } + + /** + * 鐢熸垚鎶ュ憡 + */ + private void generateReport(String source, String target, ReportEntity re) { + if (StaticData.S1.equals(re.getType())) { + switch (re.getCode()) { + case "countOperates": + createCountOperatesWord(source, target); + break; + case "countSizes": + createCountSizesWord(source, target); + break; + case "countServices": + createCountServicesWord(source, target); + break; + default: + break; + } + } else { + switch (re.getCode()) { + case "countOperates": + createCountOperatesExcel(source, target); + break; + case "countSizes": + createCountSizesExcel(source, target); + break; + case "countServices": + createCountServicesExcel(source, target); + break; + default: + break; + } + } + } + + /** + * 鍒涘缓 鐢ㄦ埛娴侀噺缁熻 Word + */ + public void createCountOperatesWord(String source, String target) { + List<CountEntity> list = countOperates(); + if (null == list || list.isEmpty()) { + return; + } + + int rows = 1; + ArrayList<String[]> addList = new ArrayList<>(); + for (CountEntity ce : list) { + String[] strs = new String[]{"" + rows++, ce.getM1(), ce.getM2(), ce.getCount().toString()}; + addList.add(strs); + } + + WordHelper.generateWord(source, target, null, addList); + } + + /** + * 鍒涘缓 鏈嶅姟璋冪敤閲忕粺璁� Word + */ + public void createCountServicesWord(String source, String target) { + List<CountEntity> list = countServices(); + if (null == list || list.isEmpty()) { + return; + } + + int rows = 1; + ArrayList<String[]> addList = new ArrayList<>(); + for (CountEntity ce : list) { + String[] strs = new String[]{"" + rows++, ce.getM1(), ce.getCount().toString()}; + addList.add(strs); + } + + WordHelper.generateWord(source, target, null, addList); + } + + /** + * 鍒涘缓 鏁版嵁閲忕粺璁� Word + */ + public void createCountSizesWord(String source, String target) { + List<CountEntity> list = countSizes(); + if (null == list || list.isEmpty()) { + return; + } + + int rows = 1; + ArrayList<String[]> addList = new ArrayList<>(); + for (CountEntity ce : list) { + String[] strs = new String[]{"" + rows++, ce.getM1(), FileHelper.getSizes(ce.getSizes())}; + addList.add(strs); + } + + WordHelper.generateWord(source, target, null, addList); + } + + /** + * 鍒涘缓 鐢ㄦ埛娴侀噺缁熻 Excel + */ + public void createCountOperatesExcel(String source, String target) { + List<CountEntity> list = countOperates(); + if (null == list || list.isEmpty()) { + return; + } + + int rows = 1; + for (CountEntity ce : list) { + ce.setNo(rows++); + } + + Map<String, List<CountEntity>> map = new HashMap<>(1); + map.put("data", list); + + ExcelHelper.writeToTemplate(source, target, map); + } + + /** + * 鍒涘缓 鏈嶅姟璋冪敤閲忕粺璁� Excel + */ + public void createCountServicesExcel(String source, String target) { + List<CountEntity> list = countServices(); + if (null == list || list.isEmpty()) { + return; + } + + int rows = 1; + for (CountEntity ce : list) { + ce.setNo(rows++); + } + + Map<String, List<CountEntity>> map = new HashMap<>(1); + map.put("data", list); + + ExcelHelper.writeToTemplate(source, target, map); + } + + /** + * 鍒涘缓 鏁版嵁閲忕粺璁� Excel + */ + public void createCountSizesExcel(String source, String target) { + List<CountEntity> list = countSizes(); + if (null == list || list.isEmpty()) { + return; + } + + int rows = 1; + for (CountEntity ce : list) { + ce.setNo(rows++); + ce.setM2(FileHelper.getSizes(ce.getSizes())); + } + + Map<String, List<CountEntity>> map = new HashMap<>(1); + map.put("data", list); + + ExcelHelper.writeToTemplate(source, target, map); + } + + /** + * 鑾峰彇涓嬭浇瀹炰綋绫� + */ + private DownloadEntity getDownloadEntity(UserEntity ue, String file) { + DownloadEntity de = new DownloadEntity(); + de.setName(FileHelper.getFileName(file)); + // 1-Shp鏂囦欢锛�2-涓撻鍥撅紝3-鍏冩暟鎹紝4-涓氬姟鏁版嵁锛�5-绠¢亾鍒嗘瀽锛�6-缁熻鎶ュ憡锛�7-闄勪欢鏂囦欢锛�8-鐡︾墖鏂囦欢 + de.setType(6); + de.setSizes(FileHelper.sizeToMb(new File(file).length())); + de.setDepid(ue.getDepid()); + de.setDcount(1); + de.setPwd(null); + de.setUrl(FileHelper.getRelativePath(file)); + de.setDescr("缁熻鎶ュ憡"); + de.setGuid(FileHelper.getFileMd5(file)); + de.setCreateUser(ue.getId()); + // de.setGeom(null) + + return de; + } +} diff --git a/src/main/java/com/lf/server/service/sys/ResOpService.java b/src/main/java/com/lf/server/service/sys/ResOpService.java new file mode 100644 index 0000000..733ceb9 --- /dev/null +++ b/src/main/java/com/lf/server/service/sys/ResOpService.java @@ -0,0 +1,70 @@ +package com.lf.server.service.sys; + +import com.lf.server.entity.sys.ResOpEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.sys.ResOpMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.sql.Timestamp; +import java.util.List; + +/** + * 璧勬簮鎿嶄綔琛� + * @author sws + * @date 2022-09-28 + */ +@Service +public class ResOpService implements ResOpMapper { + @Autowired + ResOpMapper resOpMapper; + + @Override + public Integer selectCount(String name, Integer type, Timestamp start, Timestamp end) { + name = StringHelper.getLikeUpperStr(name); + + return resOpMapper.selectCount(name, type, start, end); + } + + @Override + public List<ResOpEntity> selectByPage(String name, Integer type, Timestamp start, Timestamp end, Integer limit, Integer offset) { + name = StringHelper.getLikeUpperStr(name); + + return resOpMapper.selectByPage(name, type, start, end, limit, offset); + } + + @Override + public Integer insertResOp(ResOpEntity resOpEntity) { + return resOpMapper.insertResOp(resOpEntity); + } + + @Override + public Integer insertResOps(List<ResOpEntity> resOpEntity) { + return resOpMapper.insertResOps(resOpEntity); + } + + @Override + public Integer deleteResOp(int id) { + return resOpMapper.deleteResOp(id); + } + + @Override + public Integer deleteResOps(List<Integer> ids) { + return resOpMapper.deleteResOps(ids); + } + + @Override + public Integer updateResOp(ResOpEntity resOpEntity) { + return resOpMapper.updateResOp(resOpEntity); + } + + @Override + public ResOpEntity selectResOp(int id) { + return resOpMapper.selectResOp(id); + } + + @Override + public List<ResOpEntity> selectResOpAll() { + return resOpMapper.selectResOpAll(); + } +} diff --git a/src/main/java/com/lf/server/service/sys/ResService.java b/src/main/java/com/lf/server/service/sys/ResService.java new file mode 100644 index 0000000..d31c0ea --- /dev/null +++ b/src/main/java/com/lf/server/service/sys/ResService.java @@ -0,0 +1,80 @@ +package com.lf.server.service.sys; + +import com.lf.server.entity.sys.ResEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.sys.ResMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 浠ょ墝琛� + * @author sws + * @date 2022-09-28 + */ +@Service +public class ResService implements ResMapper { + @Autowired + ResMapper resMapper; + + @Override + public Integer selectCount(String name) { + name = StringHelper.getLikeUpperStr(name); + + return resMapper.selectCount(name); + } + + @Override + public List<ResEntity> selectByPage(String name, Integer limit, Integer offset) { + name = StringHelper.getLikeUpperStr(name); + + return resMapper.selectByPage(name, limit, offset); + } + + @Override + public Integer selectCountForRole(Integer roleid) { + return resMapper.selectCountForRole(roleid); + } + + @Override + public List<ResEntity> selectByPageForRole(Integer roleid, Integer limit, Integer offset) { + return resMapper.selectByPageForRole(roleid, limit, offset); + } + + @Override + public Integer insertRes(ResEntity resEntity) { + return resMapper.insertRes(resEntity); + } + + @Override + public Integer insertRess(List<ResEntity> resEntity) { + return resMapper.insertRess(resEntity); + } + + @Override + public Integer deleteRes(int id) { + return resMapper.deleteRes(id); + } + + @Override + public Integer deleteRess(List<Integer> ids) { + return resMapper.deleteRess(ids); + } + + @Override + public Integer updateRes(ResEntity resEntity) { + return resMapper.updateRes(resEntity); + } + + @Override + public ResEntity selectRes(int id) { + return resMapper.selectRes(id); + } + + @Override + public List<ResEntity> selectResAll() { + return resMapper.selectResAll(); + } + +} diff --git a/src/main/java/com/lf/server/service/sys/RoleMenuAuthService.java b/src/main/java/com/lf/server/service/sys/RoleMenuAuthService.java new file mode 100644 index 0000000..e0cbd9d --- /dev/null +++ b/src/main/java/com/lf/server/service/sys/RoleMenuAuthService.java @@ -0,0 +1,79 @@ +package com.lf.server.service.sys; + +import com.lf.server.entity.sys.RoleMenuAuthEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.sys.RoleMenuAuthMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 瑙掕壊-鑿滃崟 + * @author WWW + */ +@Service +public class RoleMenuAuthService implements RoleMenuAuthMapper { + @Autowired + RoleMenuAuthMapper roleMenuAuthMapper; + + @Override + public Integer selectCount(Integer roleid) { + return roleMenuAuthMapper.selectCount(roleid); + } + + @Override + public List<RoleMenuAuthEntity> selectByPage(Integer roleid, Integer limit, Integer offset) { + return roleMenuAuthMapper.selectByPage(roleid, limit, offset); + } + + @Override + public Integer selectCountForRole(Integer roleid, Integer menuid) { + return roleMenuAuthMapper.selectCountForRole(roleid, menuid); + } + + @Override + public List<RoleMenuAuthEntity> selectByPageForRole(Integer roleid, Integer menuid, Integer limit, Integer offset) { + return roleMenuAuthMapper.selectByPageForRole(roleid, menuid, limit, offset); + } + + @Override + public List<RoleMenuAuthEntity> selectAll() { + return roleMenuAuthMapper.selectAll(); + } + + @Override + public RoleMenuAuthEntity selectById(int id) { + return roleMenuAuthMapper.selectById(id); + } + + @Override + public Integer insert(RoleMenuAuthEntity entity) { + return roleMenuAuthMapper.insert(entity); + } + + @Override + public Integer inserts(List<RoleMenuAuthEntity> list) { + return roleMenuAuthMapper.inserts(list); + } + + @Override + public Integer delete(int id) { + return roleMenuAuthMapper.delete(id); + } + + @Override + public Integer deletes(List<Integer> ids) { + return roleMenuAuthMapper.deletes(ids); + } + + @Override + public Integer update(RoleMenuAuthEntity entity) { + return roleMenuAuthMapper.update(entity); + } + + @Override + public Integer updates(List<RoleMenuAuthEntity> list) { + return roleMenuAuthMapper.updates(list); + } +} diff --git a/src/main/java/com/lf/server/service/sys/RoleResService.java b/src/main/java/com/lf/server/service/sys/RoleResService.java new file mode 100644 index 0000000..ee43456 --- /dev/null +++ b/src/main/java/com/lf/server/service/sys/RoleResService.java @@ -0,0 +1,69 @@ +package com.lf.server.service.sys; + +import com.lf.server.entity.sys.RoleResEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.sys.RoleResMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 瑙掕壊-璧勬簮 + * @author WWW + */ +@Service +public class RoleResService implements RoleResMapper { + @Autowired + RoleResMapper roleResMapper; + + @Override + public Integer selectCount(Integer roleid) { + return roleResMapper.selectCount(roleid); + } + + @Override + public List<RoleResEntity> selectByPage(Integer roleid, Integer limit, Integer offset) { + return roleResMapper.selectByPage(roleid, limit, offset); + } + + @Override + public List<RoleResEntity> selectAll() { + return roleResMapper.selectAll(); + } + + @Override + public RoleResEntity selectById(int id) { + return roleResMapper.selectById(id); + } + + @Override + public Integer insert(RoleResEntity entity) { + return roleResMapper.insert(entity); + } + + @Override + public Integer inserts(List<RoleResEntity> list) { + return roleResMapper.inserts(list); + } + + @Override + public Integer delete(int id) { + return roleResMapper.delete(id); + } + + @Override + public Integer deletes(List<Integer> ids) { + return roleResMapper.deletes(ids); + } + + @Override + public Integer update(RoleResEntity entity) { + return roleResMapper.update(entity); + } + + @Override + public Integer updates(List<RoleResEntity> list) { + return roleResMapper.updates(list); + } +} diff --git a/src/main/java/com/lf/server/service/sys/RoleService.java b/src/main/java/com/lf/server/service/sys/RoleService.java new file mode 100644 index 0000000..680c2de --- /dev/null +++ b/src/main/java/com/lf/server/service/sys/RoleService.java @@ -0,0 +1,69 @@ +package com.lf.server.service.sys; + +import com.lf.server.entity.sys.RoleEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.sys.RoleMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 瑙掕壊琛� + * @author sws + * @date 2022-09-29 + */ +@Service +public class RoleService implements RoleMapper { + @Autowired + RoleMapper roleMapper; + + @Override + public Integer selectCount(String name, Integer depid) { + name = StringHelper.getLikeUpperStr(name); + + return roleMapper.selectCount(name, depid); + } + + @Override + public List<RoleEntity> selectByPage(String name, Integer depid, Integer limit, Integer offset) { + name = StringHelper.getLikeUpperStr(name); + + return roleMapper.selectByPage(name, depid, limit, offset); + } + + @Override + public Integer insertRole(RoleEntity roleEntity) { + return roleMapper.insertRole(roleEntity); + } + + @Override + public Integer insertRoles(List<RoleEntity> roleEntity) { + return roleMapper.insertRoles(roleEntity); + } + + @Override + public Integer deleteRole(int id) { + return roleMapper.deleteRole(id); + } + + @Override + public Integer deleteRoles(List<Integer> ids) { + return roleMapper.deleteRoles(ids); + } + + @Override + public Integer updateRole(RoleEntity roleEntity) { + return roleMapper.updateRole(roleEntity); + } + + @Override + public RoleEntity selectRole(int id) { + return roleMapper.selectRole(id); + } + + @Override + public List<RoleEntity> selectRoleAll() { + return roleMapper.selectRoleAll(); + } +} diff --git a/src/main/java/com/lf/server/service/sys/RoleUserService.java b/src/main/java/com/lf/server/service/sys/RoleUserService.java new file mode 100644 index 0000000..34ee277 --- /dev/null +++ b/src/main/java/com/lf/server/service/sys/RoleUserService.java @@ -0,0 +1,69 @@ +package com.lf.server.service.sys; + +import com.lf.server.entity.sys.RoleUserEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.sys.RoleUserMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 瑙掕壊-鐢ㄦ埛 + * @author WWW + */ +@Service +public class RoleUserService implements RoleUserMapper { + @Autowired + RoleUserMapper roleUserMapper; + + @Override + public Integer selectCount(Integer roleid) { + return roleUserMapper.selectCount(roleid); + } + + @Override + public List<RoleUserEntity> selectByPage(Integer roleid, Integer limit, Integer offset) { + return roleUserMapper.selectByPage(roleid, limit, offset); + } + + @Override + public List<RoleUserEntity> selectAll() { + return roleUserMapper.selectAll(); + } + + @Override + public RoleUserEntity selectById(int id) { + return roleUserMapper.selectById(id); + } + + @Override + public Integer insert(RoleUserEntity entity) { + return roleUserMapper.insert(entity); + } + + @Override + public Integer inserts(List<RoleUserEntity> list) { + return roleUserMapper.inserts(list); + } + + @Override + public Integer delete(int id) { + return roleUserMapper.delete(id); + } + + @Override + public Integer deletes(List<Integer> ids) { + return roleUserMapper.deletes(ids); + } + + @Override + public Integer update(RoleUserEntity entity) { + return roleUserMapper.update(entity); + } + + @Override + public Integer updates(List<RoleUserEntity> list) { + return roleUserMapper.updates(list); + } +} diff --git a/src/main/java/com/lf/server/service/sys/TokenService.java b/src/main/java/com/lf/server/service/sys/TokenService.java new file mode 100644 index 0000000..5203629 --- /dev/null +++ b/src/main/java/com/lf/server/service/sys/TokenService.java @@ -0,0 +1,285 @@ +package com.lf.server.service.sys; + +import com.lf.server.entity.all.SettingData; +import com.lf.server.entity.sys.LoginEntity; +import com.lf.server.entity.sys.TokenEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.entity.all.RedisCacheKey; +import com.lf.server.helper.StringHelper; +import com.lf.server.helper.WebHelper; +import com.lf.server.mapper.sys.TokenMapper; +import com.lf.server.service.all.RedisService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Date; +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * 浠ょ墝琛� + * @author sws + * @date 2022-09-28 + */ + +@Service +public class TokenService implements TokenMapper { + @Autowired + TokenMapper tokenMapper; + + @Autowired + UserService usersService; + + @Autowired + LoginService loginService; + + @Autowired + RedisService redisService; + + @Override + public Integer selectCount(String name, Integer type) { + name = StringHelper.getLikeUpperStr(name); + + return tokenMapper.selectCount(name, type); + } + + @Override + public List<TokenEntity> selectByPage(String name, Integer type, Integer limit, Integer offset) { + name = StringHelper.getLikeUpperStr(name); + + return tokenMapper.selectByPage(name, type, limit, offset); + } + + @Override + public TokenEntity selectToken(int id) { + return tokenMapper.selectToken(id); + } + + @Override + public TokenEntity selectOneByToken(String token) { + return tokenMapper.selectOneByToken(token); + } + + @Override + public List<TokenEntity> selectTokenAll() { + return tokenMapper.selectTokenAll(); + } + + @Override + public Integer insertToken(TokenEntity tokenEntity) { + return tokenMapper.insertToken(tokenEntity); + } + + @Override + public Integer insertTokens(List<TokenEntity> tokenEntity) { + return tokenMapper.insertTokens(tokenEntity); + } + + @Override + public Integer deleteToken(int id) { + return tokenMapper.deleteToken(id); + } + + @Override + public Integer deleteTokens(List<Integer> ids) { + return tokenMapper.deleteTokens(ids); + } + + @Override + public Integer updateToken(TokenEntity tokenEntity) { + return tokenMapper.updateToken(tokenEntity); + } + + @Override + public Integer updateTokenExpire(TokenEntity tokenEntity) { + return tokenMapper.updateTokenExpire(tokenEntity); + } + + /** + * 鑾峰彇鏂扮殑浠ょ墝瀹炰綋绫� + */ + public TokenEntity getNewToken(UserEntity ue, HttpServletRequest req) { + TokenEntity te = new TokenEntity(); + te.setToken(WebHelper.getGuid()); + te.setDuration(SettingData.TOKEN_EXPIRE); + te.setExpire(WebHelper.getTimestamp(SettingData.TOKEN_EXPIRE)); + te.setType(0); + te.setIp(WebHelper.getIpAddress(req)); + te.setCreateUser(ue.getId()); + te.setUname(ue.getUname()); + + return te; + } + + /** + * 鏄�/鍚︾櫥褰� + */ + public Boolean isLogin(HttpServletRequest req, HttpServletResponse res) { + String token = WebHelper.getToken(req); + if (StringHelper.isNull(token)) { + return false; + } + + // redis + String tokenKey = RedisCacheKey.signTokenKey(token); + if (redisService.hasKey(tokenKey)) { + return true; + } + + // db + TokenEntity te = selectOneByToken(token); + if (te != null) { + redisService.put(tokenKey, te, te.getDuration(), TimeUnit.MINUTES); + return true; + } + + return false; + } + + /** + * 鐧诲嚭 + */ + public Boolean logout(String token, HttpServletRequest req, HttpServletResponse res) { + TokenEntity te = getEntityByToken(token); + if (te == null) { + return false; + } + + // 娓呴櫎Cookie + WebHelper.deleteCookies(req, res); + + // 鑾峰彇褰撳墠鐢ㄦ埛 + UserEntity ue = getCurrentUser(req); + if (ue == null) { + return false; + } + + // 娓呴櫎缂撳瓨 + String tokenKey = RedisCacheKey.signTokenKey(token); + if (redisService.hasKey(tokenKey)) { + redisService.delete(tokenKey); + } + String userKey = RedisCacheKey.signUserKey(te.getToken()); + if (redisService.hasKey(userKey)) { + redisService.delete(userKey); + } + + // db锛岃缃护鐗岃繃鏈� + te.setUpdateUser(ue.getId()); + Integer rows = updateTokenExpire(te); + if (rows == 0) { + return false; + } + + // 鍐欐棩蹇� + LoginEntity le = loginService.getNewLogin(ue.getId(), 1, 3, 1, req); + rows = loginService.insertLogin(le); + + return rows > 0; + } + + /** + * 鏍规嵁浠ょ墝鑾峰彇瀹炰綋 + */ + public TokenEntity getEntityByToken(String token) { + if (StringHelper.isNull(token)) { + return null; + } + + String tokenKey = RedisCacheKey.signTokenKey(token); + + // redis + Object obj = redisService.get(tokenKey); + if (obj instanceof TokenEntity) { + return (TokenEntity) obj; + } + + // db + TokenEntity te = selectOneByToken(token); + if (te != null) { + redisService.put(tokenKey, te, te.getDuration(), TimeUnit.MINUTES); + } + + return te; + } + + /** + * 淇濆瓨token + */ + public void saveToken(UserEntity ue, TokenEntity te, HttpServletRequest req, HttpServletResponse res) { + // 淇濆瓨鑷矯ookie + WebHelper.saveToken2Cookie(te.getToken(), req, res); + + // 浠ょ墝淇濆瓨鑷砇edis + String tokenKey = RedisCacheKey.signTokenKey(te.getToken()); + redisService.put(tokenKey, te, te.getDuration(), TimeUnit.MINUTES); + + String userKey = RedisCacheKey.signUserKey(te.getToken()); + ue.setBak(StringHelper.YMDHMS_FORMAT.format(new Date())); + redisService.put(userKey, ue, te.getDuration(), TimeUnit.MINUTES); + } + + /** + * 鑾峰彇褰撳墠鐢ㄦ埛 + */ + public UserEntity getCurrentUser(HttpServletRequest req) { + String token = WebHelper.getToken(req); + if (StringHelper.isNull(token)) { + return null; + } + + String userKey = RedisCacheKey.signUserKey(token); + + // redis + Object obj = redisService.get(userKey); + if (obj instanceof UserEntity) { + return (UserEntity) obj; + } + + // db + UserEntity ue = usersService.selectByToken(token); + if (ue != null) { + TokenEntity te = getEntityByToken(token); + if (te != null) { + redisService.put(userKey, ue, te.getDuration(), TimeUnit.MINUTES); + } + } + + return ue; + } + + /** + * 璁剧疆瀵嗙爜閿欒缂撳瓨 + */ + public void setPwdErrCache(UserEntity ue) { + String key = RedisCacheKey.signPwdError(ue.getUid()); + Object objCount = redisService.get(key); + + int count = objCount == null ? 1 : (int) objCount + 1; + redisService.put(key, count, SettingData.PWD_ERR_TIME, TimeUnit.MINUTES); + + // 璁板綍鏃ュ織 + HttpServletRequest req = WebHelper.getRequest(); + LoginEntity le = loginService.getNewLogin(ue.getId(), 1, 1, 0, req); + le.setDescr("瀵嗙爜涓嶆纭�"); + loginService.insertLogin(le); + + if (count >= SettingData.PWD_ERR_COUNT) { + String token = WebHelper.getToken(req); + HttpServletResponse res = WebHelper.getResponse(); + logout(token, req, res); + } + } + + /** + * 鐢ㄦ埛ID鏄�/鍚︾鐢� + */ + public boolean isUidDisable(UserEntity ue) { + String key = RedisCacheKey.signPwdError(ue.getUid()); + Object objCount = redisService.get(key); + + return objCount != null && (int) objCount >= SettingData.PWD_ERR_COUNT; + } +} diff --git a/src/main/java/com/lf/server/service/sys/UserService.java b/src/main/java/com/lf/server/service/sys/UserService.java new file mode 100644 index 0000000..2301bee --- /dev/null +++ b/src/main/java/com/lf/server/service/sys/UserService.java @@ -0,0 +1,303 @@ +package com.lf.server.service.sys; + +import com.lf.server.entity.sys.RoleEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.Md5Helper; +import com.lf.server.helper.RsaHelper; +import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.sys.UserMapper; +import com.lf.server.service.all.RedisService; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 鐢ㄦ埛琛� + * @author sws + * @date 2022-09-27 + */ + +@Service +public class UserService implements UserMapper { + @Autowired + UserMapper userMapper; + + @Autowired + RedisService redisService; + + @Autowired + LoginService loginService; + + @Autowired + TokenService tokenService; + + private final static Log log = LogFactory.getLog(UserService.class); + + @Override + public Integer selectCount(String uname, String depcode) { + uname = StringHelper.getLikeUpperStr(uname); + depcode = StringHelper.getRightLike(depcode); + + return userMapper.selectCount(uname, depcode); + } + + @Override + public UserEntity selectUser(int id) { + return userMapper.selectUser(id); + } + + @Override + public UserEntity selectByUid(String uid) { + return userMapper.selectByUid(uid); + } + + @Override + public List<UserEntity> selectUserAll() { + return userMapper.selectUserAll(); + } + + @Override + public List<UserEntity> selectByPage(String uname, String depcode, Integer limit, Integer offset) { + uname = StringHelper.getLikeUpperStr(uname); + depcode = StringHelper.getRightLike(depcode); + + return userMapper.selectByPage(uname, depcode, limit, offset); + } + + @Override + public UserEntity selectByToken(String token) { + return userMapper.selectByToken(token); + } + + @Override + public Integer selectForIsAdmin(Integer id) { + return userMapper.selectForIsAdmin(id); + } + + @Override + public List<UserEntity> selectAdminUsers(Integer type) { + return userMapper.selectAdminUsers(type); + } + + @Override + public List<RoleEntity> selectRoleByUserId(Integer id) { + return userMapper.selectRoleByUserId(id); + } + + @Override + public List<UserEntity> selectUserByRoleId(Integer roleId) { + return userMapper.selectUserByRoleId(roleId); + } + + @Override + public Integer insertUser(UserEntity userEntity) { + return userMapper.insertUser(userEntity); + } + + @Override + public Integer insertUsers(List<UserEntity> userEntity) { + return userMapper.insertUsers(userEntity); + } + + @Override + public Integer deleteUser(int id) { + return userMapper.deleteUser(id); + } + + @Override + public Integer deleteUsers(List<Integer> ids) { + return userMapper.deleteUsers(ids); + } + + @Override + public Integer updateUser(UserEntity userEntity) { + return userMapper.updateUser(userEntity); + } + + @Override + public Integer selectCountForRole(String uname, Integer roleid, String depcode) { + uname = StringHelper.getLikeUpperStr(uname); + depcode = StringHelper.getRightLike(depcode); + + return userMapper.selectCountForRole(uname, roleid, depcode); + } + + @Override + public List<UserEntity> selectByPageForRole(String uname, Integer roleid, String depcode, Integer limit, Integer offset) { + uname = StringHelper.getLikeUpperStr(uname); + depcode = StringHelper.getRightLike(depcode); + + return userMapper.selectByPageForRole(uname, roleid, depcode, limit, offset); + } + + @Override + public Integer updateUsersPwd(Integer updateUser, String pwd, List<Integer> ids) { + return userMapper.updateUsersPwd(updateUser, pwd, ids); + } + + /** + * 楠岃瘉鐢ㄦ埛瀹炰綋绫� + */ + public String validateUserEntity(UserEntity entity) { + if (entity == null) { + return "娌℃湁鎵惧埌鐢ㄦ埛"; + } + if (StringHelper.isEmpty(entity.getUid())) { + return "鐢ㄦ埛ID涓嶈兘涓虹┖"; + } + if (StringHelper.isEmpty(entity.getPwd())) { + return "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖"; + } + + return null; + } + + /** + * 楠岃瘉鐧诲綍鐢ㄦ埛瀵嗙爜 + */ + public String validateLoginPwd(UserEntity entity) { + try { + String str = validateUserEntity(entity); + if (str != null) { + return str; + } + + // 瑙e瘑 + String uid = RsaHelper.decrypt(entity.getUid()); + String pwd = RsaHelper.decrypt(entity.getPwd()); + + entity.setUid(uid); + entity.setPwd(pwd); + + if (tokenService.isUidDisable(entity)) { + return "鐢ㄦ埛ID宸茬鐢�"; + } + + return null; + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return "瑙e瘑澶辫触"; + } + } + + /** + * 楠岃瘉鏂扮敤鎴峰瘑鐮� + */ + @SuppressWarnings("AlibabaRemoveCommentedCode") + public String validateNewPwd(UserEntity entity) { + try { + String str = validateUserEntity(entity); + if (str != null) { + return str; + } + + // 瑙e瘑 + String uid = RsaHelper.decrypt(entity.getUid()); + /*String pwd = RsaHelper.decrypt(entity.getPwd()); + if (!StringHelper.isPwdValid(pwd)) { + return "瀵嗙爜涓嶇鍚堣姹�"; + } + + String newPwd = Md5Helper.reverse(Md5Helper.generate(pwd)); + entity.setPwd(newPwd);*/ + entity.setUid(uid); + + return null; + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return "瑙e瘑澶辫触"; + } + } + + /** + * 楠岃瘉鑰佺敤鎴峰瘑鐮� + */ + public String validateOldPwd(UserEntity entity) { + try { + String str = validateUserEntity(entity); + if (str != null) { + return str; + } + if (StringHelper.isEmpty(entity.getSalt())) { + return "鏂板瘑鐮佷笉鑳戒负绌�"; + } + + String uid = RsaHelper.decrypt(entity.getUid()); + String pwd = RsaHelper.decrypt(entity.getPwd()); + String salt = RsaHelper.decrypt(entity.getSalt()); + + UserEntity ue = selectByUid(uid); + if (ue == null) { + return "娌℃湁鎵惧埌鐢ㄦ埛"; + } + if (!Md5Helper.validatePassword(pwd, ue.getPwd())) { + tokenService.setPwdErrCache(ue); + return "鏃у瘑鐮佷笉姝g‘"; + } + if (StringHelper.isPwdInvalid(salt)) { + return "瀵嗙爜涓嶇鍚堣姹�"; + } + + String newPwd = Md5Helper.reverse(Md5Helper.generate(salt)); + entity.setPwd(newPwd); + entity.setSalt(null); + entity.setUid(uid); + + return null; + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return "瑙e瘑澶辫触"; + } + } + + /** + * 楠岃瘉绠$悊鍛樺瘑鐮� + */ + public String validateAdminPwd(UserEntity ue, String adminPwd) { + if (ue == null) { + return "娌℃湁鐧诲綍鎴栬秴鏃�"; + } + if (StringHelper.isEmpty(adminPwd)) { + return "绠$悊鍛樺瘑鐮佷笉鑳戒负绌�"; + } + + try { + String pwd = RsaHelper.decrypt(adminPwd); + if (!Md5Helper.validatePassword(pwd, ue.getPwd())) { + tokenService.setPwdErrCache(ue); + return "绠$悊鍛樺瘑鐮佷笉姝g‘"; + } + + return null; + } catch (Exception ex) { + return "瑙e瘑澶辫触"; + } + } + + /** + * 楠岃瘉鏂板瘑鐮� + */ + public String validateNewPwd(UserEntity ue, String newPwd) { + if (StringHelper.isEmpty(newPwd)) { + return "鏂板瘑鐮佷笉鑳戒负绌�"; + } + + try { + String pwd = RsaHelper.decrypt(newPwd); + if (StringHelper.isPwdInvalid(pwd)) { + return "瀵嗙爜涓嶇鍚堣姹�"; + } + + String dbPwd = Md5Helper.reverse(Md5Helper.generate(pwd)); + ue.setSalt(dbPwd); + + return null; + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + return "瑙e瘑澶辫触"; + } + } +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml new file mode 100644 index 0000000..2e972c2 --- /dev/null +++ b/src/main/resources/application.yml @@ -0,0 +1,146 @@ +server: + tomcat: + uri-encoding: UTF-8 + max-connections: 1000 + port: 12316 + servlet: + context-path: /server + +spring: + application: + name: server + # redis + redis: + database: 0 + host: 127.0.0.1 + port: 6369 + password: rediS_5L#F4_Server + timeout: 90000 # 杩炴帴瓒呮椂鏃堕暱锛堟绉掞級 + lettuce: + pool: + max-active: 1000 # 杩炴帴姹犳渶澶ц繛鎺ユ暟锛堜娇鐢ㄨ礋鍊艰〃绀烘病鏈夐檺鍒讹級 + max-wait: -1 # 杩炴帴姹犳渶澶ч樆濉炵瓑寰呮椂闂达紙浣跨敤璐熷�艰〃绀烘病鏈夐檺鍒讹級 + max-idle: 10 # 杩炴帴姹犱腑鐨勬渶澶х┖闂茶繛鎺� + min-idle: 5 # 杩炴帴姹犱腑鐨勬渶灏忕┖闂茶繛鎺� + # session + session: + timeout: PT20M # 20鍒嗛挓 + # 璁剧疆涓婁紶鏂囦欢澶у皬 + servlet: + multipart: + enabled: true + max-file-size: 204800MB + max-request-size: 1048576MB + # jackson + jackson: + time-zone: GMT+8 + date-format: yyyy-MM-dd HH:mm:ss + locale: zh_CN + thymeleaf: + cache: false + # datasource + datasource: + name: prod + # JDBC 鍩烘湰閰嶇疆 ¤tSchema=public + #url: jdbc:postgresql://103.85.165.99:5433/langfang?useAffectedRows=true + #url: jdbc:postgresql://192.168.20.205:5433/langfang?useAffectedRows=true + url: jdbc:postgresql://127.0.0.1:5433/langfang?useAffectedRows=true + username : postgres + #password: Postgres!_14_Lf + password: postgres + driver-class-name: org.postgresql.Driver + platform: POSTGRESQL + type: com.alibaba.druid.pool.DruidDataSource + # 閰嶇疆鐩戞帶缁熻鎷︽埅鐨刦ilters锛宻tat:鐩戞帶缁熻銆乴og4j锛氭棩蹇楄褰曘�亀all锛氶槻寰ql娉ㄥ叆 + filters: stat,wall,log4j + # 閫氳繃connectProperties灞炴�ф潵鎵撳紑mergeSql鍔熻兘锛涙參SQL璁板綍 + connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 + # 瓒呰繃鏃堕棿闄愬埗鏄惁鍥炴敹 + removeAbandoned: true + # 瓒呮椂鏃堕棿锛涘崟浣嶄负绉掋��180绉�=3鍒嗛挓 + removeAbandonedTimeout: 180 + # 鍏抽棴 abanded 杩炴帴鏃惰緭鍑洪敊璇棩蹇� + logAbandoned: true + # 閰嶇疆杩炴帴姹犱俊鎭� + druid: + ## 鍒濆鍖栧ぇ灏忥紝鏈�灏忥紝鏈�澶� + initial-size: 5 + min-idle: 5 + max-active: 100 + ## 閰嶇疆鑾峰彇杩炴帴绛夊緟瓒呮椂鐨勬椂闂� + max-wait: 6000 + # 閰嶇疆闂撮殧澶氫箙鎵嶈繘琛屼竴娆℃娴嬶紝妫�娴嬮渶瑕佸叧闂殑绌洪棽杩炴帴锛屽崟浣嶆槸姣 + time-between-eviction-runs-millis: 60000 + # 閰嶇疆涓�涓繛鎺ュ湪姹犱腑鏈�灏忕敓瀛樼殑鏃堕棿锛屽崟浣嶆槸姣 + min-evictable-idle-time-millis: 300000 + max-pool-prepared-statement-per-connection-size: 50 + pool-prepared-statements: true + # 鐢ㄦ潵娴嬭瘯杩炴帴鏄惁鍙敤鐨凷QL璇彞 + validation-query: SELECT 1 + # 搴旂敤鍚戣繛鎺ユ睜鐢宠杩炴帴锛屽苟涓攖estOnBorrow涓篺alse鏃讹紝杩炴帴姹犲皢浼氬垽鏂繛鎺ユ槸鍚﹀浜庣┖闂茬姸鎬侊紝濡傛灉鏄紝鍒欓獙璇佽繖鏉¤繛鎺ユ槸鍚﹀彲鐢� + test-while-idle: true + # 濡傛灉涓簍rue锛岄粯璁ゆ槸false锛屽簲鐢ㄥ悜杩炴帴姹犵敵璇疯繛鎺ユ椂锛岃繛鎺ユ睜浼氬垽鏂繖鏉¤繛鎺ユ槸鍚︽槸鍙敤鐨� + test-on-borrow: false + # 濡傛灉涓簍rue锛堥粯璁alse锛夛紝褰撳簲鐢ㄤ娇鐢ㄥ畬杩炴帴锛岃繛鎺ユ睜鍥炴敹杩炴帴鐨勬椂鍊欎細鍒ゆ柇璇ヨ繛鎺ユ槸鍚﹁繕鍙敤 + test-on-return: false + # servlet閰嶇疆 + stat-view-servlet: + # sql鐩戞帶寮�鍏� + enabled: true + # 璁块棶鍐呯疆鐩戞帶椤甸潰鐨勮矾寰勶紝鍐呯疆鐩戞帶椤甸潰鐨勯椤垫槸/druid/index.html + url-pattern: /druid/* + # 鏄惁鍏佽娓呯┖缁熻鏁版嵁锛岄噸鏂拌绠� true:鍏佽 false:涓嶅厑璁� + reset-enable: false + # 閰嶇疆鐩戞帶椤甸潰璁块棶璐﹀彿瀵嗙爜 + #login-username: admin + #login-password: ad_!Druid!_min + # 鍏佽璁块棶鐨勫湴鍧�锛屽鏋渁llow娌℃湁閰嶇疆鎴栬�呬负绌猴紝鍒欏厑璁告墍鏈夎闂� + allow: + # 鎷掔粷璁块棶鐨勫湴鍧�锛宒eny浼樺厛浜巃llow + deny: + +# mybatis +#mybatis: +# type-aliases-package: com.lf.server.entity +# config-location: classpath:mybatis.xml +# mapper-locations: classpath:mapper/**/*.xml + +mybatis-plus: + type-aliases-package: com.lf.server.entity + config-location: classpath:mybatis.xml + mapper-locations: classpath:mapper/**/*.xml + +# logging +logging: + config: classpath:logback-spring.xml + +# RestTemplate config +remote: + maxTotalConnect: 0 + maxConnectPerRoute: 1000 + connectTimeout: 5000 + readTimeout: 1800000 + +# 绯荤粺閰嶇疆 +sys: + # IIS鐨勪富鏈哄湴鍧� + iisHost: 127.0.0.1 + # FME鏈嶅姟鍦板潃 + #fmeUrl: http://103.85.165.99:8051/ + fmeUrl: http://192.168.20.205:88/ + # 鍑哄浘鏈嶅姟 + exportServer: http://127.0.0.1/ExportMap + #exportServer: http://103.85.165.99:8050/ExportMap + # Gdal椹卞姩鐩綍 + gdal_path: E:\terrait\TianJin\Zip\release-1928-x64-dev\release-1928-x64\bin + # 鐡︾墖鍦板潃 + tile_path: E:\data\99.public\soft\LFData\2d\tiles + path: + # 涓嬭浇鐩綍 + download: D:\LF\download + # 涓婁紶鐩綍 + upload: D:\LF\upload + # 涓存椂鐩綍 + temp: D:\LF\temp + # 涓婁紶闄勪欢琛� + attachTabs: bd.b_pac_hydrogeology,bd.b_pac_frozensoil,bd.b_pac_geologic_hazard,bd.b_pac_marine_meteorological,bd.b_pac_meteorological,bs.m_equipment_nameplate,bs.m_hydraulic_protection,bs.m_marker,bs.s_explorationpoint,bs.u_sectionline \ No newline at end of file diff --git a/src/main/resources/config/rsa_private_key.txt b/src/main/resources/config/rsa_private_key.txt new file mode 100644 index 0000000..001000f --- /dev/null +++ b/src/main/resources/config/rsa_private_key.txt @@ -0,0 +1 @@ +MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAOMYaA79D83HcKxt6Oz64WPsdb/Gxj2KJpM3RNv+GWAUuhc+a9VUgT44mvhqkqYo2zyBx93sJbc7TyW5NN4szAivxeI4zvNUX6vIIX66BhlC6q9PXeAh1DEI8BPqv3MJC9OnrFEeyTtv/MFaODn4tzODmCtp2EO/vOkJ0MWOE8vZAgMBAAECgYBj3LCtnqSbdc9bU72wsCX6/dlNqsgz+ZM6+3vhTZy0/ohSflWG6vEmflfPU3YHcUHvGpbcROLU71S/nvDbnlFd0ExP1GLEBdFw53gBF07QBlq8m4eLUPS1hBOWl93NwXVCUUMClIZrZYXOGWsdTjIxhkUvJzv+0Ze2xYO6fvXj7QJBAPrfnd/xNqo6Xl0lvRcsQYgfOKSIdRB3BVoxB0rhMtKjaRq9wIBnkq7Ey4txryzHhASArUbsO0uaI1TGdJ9QhrMCQQDnvGZvGp4cV4C8Z/ShfiGgR/Ndaq5evmixciAOd5xc3MSjN2zHoBlEiNx9Na4hbA8uKTy8YAAgAkHWK2fDyslDAkEAgCIwn42zDvTq94Zr8ub+vYi8xISRzgwMZsl94Qfujlk6OJdMOAkuiScokxtIjoWE70vNtNi5XF7oxsbqD+jwMwJABPQxGGTwRljUhrKONzmUDHIdULzsF1hosopnBwgljpKlnXuc1rOkdqOaWw7ftxUxSeJVyw0eU5DYyXRKFpRqMwJASynigTCLzW9oCxqChohVZEgtU9ZfyuhsXSJtm3HGJHOuT4tcw92vEnEiAq7Y7LY8l8UdzW05tn1dUmeKHDkbzg== \ No newline at end of file diff --git a/src/main/resources/config/rsa_public_key.txt b/src/main/resources/config/rsa_public_key.txt new file mode 100644 index 0000000..746f276 --- /dev/null +++ b/src/main/resources/config/rsa_public_key.txt @@ -0,0 +1 @@ +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjGGgO/Q/Nx3Csbejs+uFj7HW/xsY9iiaTN0Tb/hlgFLoXPmvVVIE+OJr4apKmKNs8gcfd7CW3O08luTTeLMwIr8XiOM7zVF+ryCF+ugYZQuqvT13gIdQxCPAT6r9zCQvTp6xRHsk7b/zBWjg5+Lczg5gradhDv7zpCdDFjhPL2QIDAQAB \ No newline at end of file diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..aad9bae --- /dev/null +++ b/src/main/resources/logback-spring.xml @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- scan 閰嶇疆鏂囦欢濡傛灉鍙戠敓鏀瑰彉锛屽皢浼氳閲嶆柊鍔犺浇 scanPeriod 妫�娴嬮棿闅旀椂闂�--> +<configuration scan="true" scanPeriod="60 seconds" debug="false"> + <contextName>LFServer</contextName> + + <!-- 鏂囦欢鍚嶇О --> + <property name="log.name.info" value="info" /> + <property name="log.name.error" value="error" /> + + <!-- info 鍦板潃 --> + <property name="log.path.info" value="logs/" /> + <property name="log.file.info" value="logs/info.log" /> + + <!-- error,閿欒璺緞 --> + <property name="log.path.error" value="logs/" /> + <property name="log.file.error" value="logs/error.log" /> + <include resource="org/springframework/boot/logging/logback/base.xml"/> + + <!-- 鏅�氭棩蹇� --> + <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.file.info}</file> + <!-- 寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠� --> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- 鏃ュ織鍛藉悕:鍗曚釜鏂囦欢澶т簬256MB 鎸夌収鏃堕棿+鑷i 鐢熸垚log鏂囦欢 --> + <fileNamePattern>${log.path.info}${log.name.info}-%d{yyyy-MM-dd}.%i.log</fileNamePattern> + <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> + <maxFileSize>256MB</maxFileSize> + </timeBasedFileNamingAndTriggeringPolicy> + <!-- 鏈�澶т繚瀛樻椂闂达細30澶�--> + <maxHistory>30</maxHistory> + </rollingPolicy> + <append>true</append> + <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern> + <charset>utf-8</charset> + </encoder> + <!-- 鏃ュ織绾у埆杩囨护鍣� --> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <!-- 杩囨护鐨勭骇鍒� --> + <level>INFO</level> + <!-- 鍖归厤鏃剁殑鎿嶄綔锛氭帴鏀讹紙璁板綍锛� --> + <onMatch>ACCEPT</onMatch> + <!-- 涓嶅尮閰嶆椂鐨勬搷浣滐細鎷掔粷锛堜笉璁板綍锛� --> + <onMismatch>DENY</onMismatch> + </filter> + </appender> + + <!-- 閿欒鏃ュ織 --> + <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.file.error}</file> + <!-- 寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠� --> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- 鏃ュ織鍛藉悕:鍗曚釜鏂囦欢澶т簬128MB 鎸夌収鏃堕棿+鑷i 鐢熸垚log鏂囦欢 --> + <fileNamePattern>${log.path.error}${log.name.error}-%d{yyyy-MM-dd}.%i.log</fileNamePattern> + <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> + <maxFileSize>128MB</maxFileSize> + </timeBasedFileNamingAndTriggeringPolicy> + <!-- 鏈�澶т繚瀛樻椂闂达細180澶�--> + <maxHistory>180</maxHistory> + </rollingPolicy> + <append>true</append> + <!-- 鏃ュ織鏍煎紡 --> + <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern> + <charset>utf-8</charset> + </encoder> + <!-- 鏃ュ織绾у埆杩囨护鍣� --> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <!-- 杩囨护鐨勭骇鍒� --> + <level>ERROR</level> + <!-- 鍖归厤鏃剁殑鎿嶄綔锛氭帴鏀讹紙璁板綍锛� --> + <onMatch>ACCEPT</onMatch> + <!-- 涓嶅尮閰嶆椂鐨勬搷浣滐細鎷掔粷锛堜笉璁板綍锛� --> + <onMismatch>DENY</onMismatch> + </filter> + </appender> + + <!-- 鎺у埗鍙� --> + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <!-- 鏃ュ織鏍煎紡 --> + <encoder> + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern> + <charset>utf-8</charset> + </encoder> + <!--姝ゆ棩蹇梐ppender鏄负寮�鍙戜娇鐢紝鍙厤缃渶搴曠骇鍒紝鎺у埗鍙拌緭鍑虹殑鏃ュ織绾у埆鏄ぇ浜庢垨绛変簬姝ょ骇鍒殑鏃ュ織淇℃伅--> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <!-- 鍙湁杩欎釜鏃ュ織鏉冮檺鎵嶈兘鐪嬶紝sql璇彞 --> + <level>DEBUG</level> + </filter> + </appender> + + <!-- 杈撳嚭sql鏃ュ織:ERROR,INFO,DEBUG --> + <logger name="com.apache.ibatis" level="INFO"/> + + <!-- additivity:鏄惁鍦ㄧ埗(杩欓噷涓簉oot鑺傜偣)杈撳嚭, 榛樿 true; --> + <logger name="com.lf.server" level="INFO" additivity="true"> + <appender-ref ref="INFO_FILE"/> + <appender-ref ref="ERROR_FILE"/> + </logger> + + <root level="INFO"> + <appender-ref ref="STDOUT" /> + </root> +</configuration> diff --git a/src/main/resources/mapper/all/BaseQueryMapper.xml b/src/main/resources/mapper/all/BaseQueryMapper.xml new file mode 100644 index 0000000..6b11f5d --- /dev/null +++ b/src/main/resources/mapper/all/BaseQueryMapper.xml @@ -0,0 +1,93 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.all.BaseQueryMapper"> + <select id="selectUserFuzzy" resultType="com.lf.server.entity.ctrl.IdNameEntity"> + select id,uname "name" from lf.sys_user + <where> + <if test="name != null"> + upper(uname) like #{name} + </if> + </where> + order by uname limit 10 + </select> + + <select id="selectDepFuzzy" resultType="com.lf.server.entity.ctrl.IdNameEntity"> + select id,name from lf.sys_dep + <where> + <if test="name != null"> + upper(name) like #{name} + </if> + </where> + order by order_num limit 10 + </select> + + <select id="selectTabsForCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_dict + <where> + field = #{field} and status = 0 + <if test="tab != null"> + and upper(tab) like #{tab} or upper(tab_desc) like #{tab} + </if> + </where> + </select> + + <select id="selectTabsByPage" resultType="com.lf.server.entity.ctrl.TabEntity"> + select ns, tab, tab_desc, fn_get_entity(tab) entity, tableType, bak, fn_tab_count(a.ns, a.tab, #{filters}) "rows" + from lf.sys_dict a + <where> + field = #{field} and status = 0 + <if test="tab != null"> + and (upper(tab) like #{tab} or upper(tab_desc) like #{tab}) + </if> + </where> + order by id + limit #{limit} offset #{offset}; + </select> + + <select id="selectFields" resultType="com.lf.server.entity.data.DictEntity"> + select * from lf.sys_dict where ns = #{ns} and tab = #{tab} order by order_num + </select> + + <select id="selectDomains" resultType="com.lf.server.entity.data.DomainEntity"> + select a.* from lf.sys_domain a inner join lf.sys_dict b on a.dom_name = b.domain_na + where b.ns = #{ns} and b.tab = #{tab} and b.domain_na is not null + </select> + + <select id="selectRoute" resultType="java.lang.String"> + select ST_astext(ST_Union(geom)) as route from pgr_fromAtoB('lrdl'::text, #{x1}, #{y1}, #{x2}, #{y2}); + </select> + + <select id="selectLocation" resultType="com.lf.server.entity.ctrl.KeyValueEntity"> + select '鍥�' "key", cname "value" from bs.th_globe_country where ST_Intersects(ST_PointFromText(#{wkt}, 4490), geom) + union all + select '鐪�' "key", cname "value" from bs.th_province_area where ST_Intersects(ST_PointFromText(#{wkt}, 4490), geom) + union all + select '甯�' "key", cname "value" from bs.th_district_area where ST_Intersects(ST_PointFromText(#{wkt}, 4490), geom) + union all + select '鍘�' "key", cname "value" from bs.th_county_area where ST_Intersects(ST_PointFromText(#{wkt}, 4490), geom); + </select> + + <select id="selectDirTypes" resultType="com.lf.server.entity.ctrl.KeyValueEntity"> + select (select string_agg(code, ',') from lf.sys_dir where name = a.name) "key", name "value" + from lf.sys_dir a + <where> + name in ('鍩虹娴嬬粯', '鍩虹鍦扮伨', '鍩虹鍕樺療', '鍚堣鏁版嵁', '绠$悊鏁版嵁', '娴嬬粯锛圗SV锛�', '鍕樺療锛圗GE锛�', '鍦扮伨锛圗GD锛�', '娲炲簱锛圗GD锛�') + <if test="name != null"> + and upper(name) like #{name} + </if> + </where> + group by name + order by key + </select> + + <select id="selectAnnexByTab" resultType="com.lf.server.entity.sys.AttachEntity"> + select a.* from lf.sys_attach a + <where> + tab = #{tab} + <if test="gids != null"> + and tab_guid in (select eventid from ${tab} where gid in (${gids})) + </if> + </where> + order by a.id + </select> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/all/PermsMapper.xml b/src/main/resources/mapper/all/PermsMapper.xml new file mode 100644 index 0000000..e304fd8 --- /dev/null +++ b/src/main/resources/mapper/all/PermsMapper.xml @@ -0,0 +1,93 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.all.PermsMapper"> + <select id="selectRes" resultType="com.lf.server.entity.all.ResAuthEntity"> + select distinct d.id,d.name,d.server + from lf.sys_user a + inner join lf.sys_role_user b on a.id = b.userid + inner join lf.sys_role_res c on b.roleid = c.roleid + inner join lf.sys_res d on c.resid = d.id + <where> + <if test="uid != null"> + a.uid = #{uid} + </if> + </where> + order by d.id + </select> + + <select id="selectMenus" resultType="com.lf.server.entity.all.MenusAuthEntity"> + select distinct e.id,e.pid,e.cn_name,e.en_name,e.url,e.perms,e.type,e.css,e.icon,e.level,e.order_num,e.is_show + from lf.sys_user a + inner join lf.sys_role_user b on a.id = b.userid + inner join lf.sys_role_menu_auth c on b.roleid = c.roleid + inner join lf.sys_menu_auth d on c.menu_auth_id = d.id + inner join lf.sys_menu e on d.menuid = e.id + <where> + <if test="uid != null"> + a.uid = #{uid} + </if> + </where> + order by e.order_num + </select> + + <select id="selectPerms" resultType="java.lang.String"> + select distinct e.perms || f.tag as perms + from lf.sys_user a + inner join lf.sys_role_user b on a.id = b.userid + inner join lf.sys_role_menu_auth c on b.roleid = c.roleid + inner join lf.sys_menu_auth d on c.menu_auth_id = d.id + inner join lf.sys_menu e on d.menuid = e.id + inner join lf.sys_auth f on d.authid = f.id + <where> + e.perms is not null + <if test="uid != null"> + and a.uid = #{uid} + </if> + </where> + order by perms + </select> + + <select id="selectPermsEntity" resultType="com.lf.server.entity.all.PermsAuthEntity"> + select distinct e.id,e.pid,e.order_num,e.cn_name,e.en_name,f.name,e.perms,f.tag + from lf.sys_user a + inner join lf.sys_role_user b on a.id = b.userid + inner join lf.sys_role_menu_auth c on b.roleid = c.roleid + inner join lf.sys_menu_auth d on c.menu_auth_id = d.id + inner join lf.sys_menu e on d.menuid = e.id + inner join lf.sys_auth f on d.authid = f.id + <where> + <if test="uid != null"> + a.uid = #{uid} + </if> + </where> + order by e.order_num + </select> + + <select id="selectRoles" resultType="java.lang.Integer"> + select is_admin from lf.sys_role a inner join lf.sys_role_user b on a.id = b.roleid + inner join lf.sys_user c on b.userid = c.id where c.uid = #{uid} + </select> + + <select id="selectMenuRecursive" resultType="com.lf.server.entity.sys.MenuEntity"> + with recursive rs as ( + select a.* from lf.sys_menu a where a.id = #{id} + union + select a.* from lf.sys_menu a, rs b where a.pid = b.id + ) + select * FROM rs where rs.id in ( + select distinct e.id + from lf.sys_user a + inner join lf.sys_role_user b on a.id = b.userid + inner join lf.sys_role_menu_auth c on b.roleid = c.roleid + inner join lf.sys_menu_auth d on c.menu_auth_id = d.id + inner join lf.sys_menu e on d.menuid = e.id + inner join lf.sys_auth f on d.authid = f.id + <where> + <if test="uid != null"> + a.uid = #{uid} + </if> + </where> + ) + order by order_num; + </select> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/data/DictMapper.xml b/src/main/resources/mapper/data/DictMapper.xml new file mode 100644 index 0000000..b8be40f --- /dev/null +++ b/src/main/resources/mapper/data/DictMapper.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.data.DictMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_dict + <where> + status = 0 + <if test="ns != null"> + and ns = #{ns} + </if> + <if test="tab != null"> + and upper(tab) like #{tab} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.data.DictEntity"> + select a.*, fn_uname(create_user) createName, fn_uname(update_user) updateName from lf.sys_dict a + <where> + status = 0 + <if test="ns != null"> + and ns = #{ns} + </if> + <if test="tab != null"> + and upper(tab) like #{tab} + </if> + </where> + order by ns,tab,id + limit #{limit} offset #{offset} + </select> + + <select id="selectById" resultType="com.lf.server.entity.data.DictEntity"> + select * from lf.sys_dict where status = 0 and id = #{id} + </select> + + <select id="selectDictTab" resultType="com.lf.server.entity.ctrl.TabEntity"> + select ns, tab, tab_desc, fn_get_entity(tab) entity, tableType, bak + from lf.sys_dict + <where> + field = #{field} and status = 0 + <if test="name != null"> + and (upper(tab) like #{name} or upper(tab_desc) like #{name}) + </if> + </where> + order by id; + </select> + + <insert id="insert" parameterType="com.lf.server.entity.data.DictEntity"> + insert into lf.sys_dict + (ns,tab,tab_desc,field,alias,type,len,precision,order_num,create_user,create_time,tabletype,unit,domain_na,showtype,editable,bak) + values + (#{ns},#{tab},#{tabDesc},#{field},#{alias},#{type},#{len},#{precision},#{orderNum},#{createUser},now(),#{tabletype},#{unit},#{domainNa},#{showtype},#{editable},#{bak}) + </insert> + + <insert id="inserts"> + insert into lf.sys_dict + (ns,tab,tab_desc,field,alias,type,len,precision,order_num,create_user,create_time,tabletype,unit,domain_na,showtype,editable,bak) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.ns},#{item.tab},#{item.tabDesc},#{item.field},#{item.alias},#{item.type},#{item.len},#{item.precision},#{item.orderNum},#{item.createUser},now(),#{item.tabletype},#{item.unit},#{item.domainNa},#{item.showtype},#{item.editable},#{item.bak}) + </foreach> + </insert> + + <delete id="delete"> + update lf.sys_dict set status = 1 where id = #{id} + </delete> + + <delete id="deletes"> + update lf.sys_dict set status = 1 where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="update"> + update lf.sys_dict + set ns=#{ns},tab=#{tab},tab_desc=#{tabDesc},field=#{field},alias=#{alias},type=#{type},len=#{len},precision=#{precision},order_num=#{orderNum},update_user=#{updateUser},update_time=now(),tabletype=#{tabletype},unit=#{unit},domain_na=#{domainNa},showtype=#{showtype},editable=#{editable},bak=#{bak} + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_dict + <set> + ns=#{item.ns},tab=#{item.tab},tab_desc=#{item.tabDesc},field=#{item.field},alias=#{item.alias},type=#{item.type},len=#{item.len},precision=#{item.precision},order_num=#{item.orderNum},update_user=#{item.updateUser},update_time=now(),tabletype=#{item.tabletype},unit=#{item.unit},domain_na=#{item.domainNa},showtype=#{item.showtype},editable=#{item.editable},bak=#{item.bak} + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/data/DirMapper.xml b/src/main/resources/mapper/data/DirMapper.xml new file mode 100644 index 0000000..27ba5d6 --- /dev/null +++ b/src/main/resources/mapper/data/DirMapper.xml @@ -0,0 +1,108 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.data.DirMapper"> + <select id="selectDir" resultType="com.lf.server.entity.data.DirEntity"> + select a.*, fn_get_fullname(a.code, 2) fullName from lf.sys_dir a where id = #{id} + </select> + <select id="selectByCode" resultType="com.lf.server.entity.data.DirEntity"> + select a.*, fn_get_fullname(a.code, 2) fullName from lf.sys_dir a where code = #{code} + </select> + + <select id="selectDirAll" resultType="com.lf.server.entity.data.DirEntity"> + select a.*, fn_get_fullname(a.code, 2) fullName from lf.sys_dir a order by order_num; + </select> + + <select id="selectDirRoot" resultType="com.lf.server.entity.data.DirEntity"> + select a.*, fn_get_fullname(a.code, 2) fullName + from lf.sys_dir a + where pid = 0 + order by code; + </select> + + <select id="selectProject" resultType="com.lf.server.entity.data.DirEntity"> + select a.*, fn_get_fullname(a.code, 2) fullName + from lf.sys_dir a + <where> + pid = 0 and id > 1 + <if test="name != null"> + and upper(name) like #{name} + </if> + </where> + order by code; + </select> + + <select id="selectDirRecursive" resultType="com.lf.server.entity.data.DirEntity"> + with recursive rs as( + select a.*, fn_get_fullname(a.code, 2) fullName from lf.sys_dir a where name = #{name} + union + select b.*, fn_get_fullname(b.code, 2) fullName from lf.sys_dir b, rs c where b.pid = c.id) + select * from rs + order by order_num; + </select> + + <select id="selectRecursiveById" resultType="com.lf.server.entity.data.DirEntity"> + with recursive rs as( + select a.*, fn_get_fullname(a.code, 2) fullName from lf.sys_dir a where id = #{id} + union + select b.*, fn_get_fullname(b.code, 2) fullName from lf.sys_dir b, rs c where b.pid = c.id) + select * from rs + order by code; + </select> + + <select id="selectDirsForPrj" resultType="com.lf.server.entity.data.DirEntity"> + select a.* from lf.sys_dir a where code not like '00%' order by code; + </select> + + <!-- 鎻掑叆涓�鏉� --> + <insert id="insert" parameterType="com.lf.server.entity.data.DirEntity"> + <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id"> + select currval('lf.sys_dir_id_seq'::regclass) as id + </selectKey> + + insert into lf.sys_dir + (pid,name,exts,descr,level,order_num,create_user,create_time,checks,bak,code) + values + (#{pid},#{name},#{exts},#{descr},#{level},#{orderNum},#{createUser},now(),#{checks},#{bak},#{code}) + </insert> + + <!-- 鎻掑叆澶氭潯 --> + <insert id="inserts"> + insert into lf.sys_dir + (pid,name,exts,descr,level,order_num,create_user,create_time,checks,bak,code) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.pid},#{item.name},#{item.exts},#{item.descr},#{item.level},#{item.orderNum},#{item.createUser},now(),#{item.checks},#{item.bak},#{item.code}) + </foreach> + </insert> + + <delete id="deleteDir" > + delete from lf.sys_dir where id = #{id} + </delete> + + <delete id="deleteDirs"> + delete from lf.sys_dir where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <!-- 鏇存柊涓�鏉� --> + <update id="update"> + update lf.sys_dir + set pid=#{pid},name=#{name},exts=#{exts},descr=#{descr},level=#{level},order_num=#{orderNum}, + update_user=#{updateUser},update_time=now(),checks=#{checks},bak=#{bak},code=#{code} + where id=#{id} + </update> + + <!-- 鏇存柊澶氭潯 --> + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_dir + <set> + pid=#{item.pid},name=#{item.name},exts=#{item.exts},descr=#{item.descr},level=#{item.level},order_num=#{item.orderNum}, + update_user=#{item.updateUser},update_time=now(),checks=#{item.checks},bak=#{item.bak},code=#{item.code} + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> diff --git a/src/main/resources/mapper/data/DomainMapper.xml b/src/main/resources/mapper/data/DomainMapper.xml new file mode 100644 index 0000000..ef43900 --- /dev/null +++ b/src/main/resources/mapper/data/DomainMapper.xml @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.data.DomainMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(a.*) from lf.sys_domain a inner join lf.sys_dict b on a.dom_name = b.domain_na + where b.status = 0 + <if test="ns != null"> + and b.ns = #{ns} + </if> + <if test="tab != null"> + and b.tab = #{tab} + </if> + <if test="name != null"> + and (upper(dom_desc) like #{name} or upper(dom_name) like #{name}) + </if> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.data.DomainEntity"> + select a.* from lf.sys_domain a inner join lf.sys_dict b on a.dom_name = b.domain_na + where b.status = 0 + <if test="ns != null"> + and b.ns = #{ns} + </if> + <if test="tab != null"> + and b.tab = #{tab} + </if> + <if test="name != null"> + and (upper(dom_desc) like #{name} or upper(dom_name) like #{name}) + </if> + order by b.tab,a.dom_name,a.dom_code + limit #{limit} offset #{offset} + </select> + + <select id="selectAll" resultType="com.lf.server.entity.data.DomainEntity"> + select * from lf.sys_domain order by dom_name,dom_code + </select> + + <select id="selectById" resultType="com.lf.server.entity.data.DomainEntity"> + select * from lf.sys_domain where id = #{id} + </select> + + <select id="selectDomainNames" resultType="java.lang.String"> + select domain_na + from lf.sys_dict + where ns = #{ns} and tab = #{tab} and status = 0 and domain_na is not null + group by domain_na + </select> + + <insert id="insert" parameterType="com.lf.server.entity.data.DomainEntity"> + insert into lf.sys_domain + (dom_desc,dom_name,dom_code,code_desc,level,orderid,bsm,create_user,create_time,bak) + values + (#{domDesc},#{domName},#{domCode},#{codeDesc},#{level},#{orderid},#{bsm},#{createUser},now(),#{bak}) + </insert> + + <insert id="inserts"> + insert into lf.sys_domain + (dom_desc,dom_name,dom_code,code_desc,level,orderid,bsm,create_user,create_time,bak) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.domDesc},#{item.domName},#{item.domCode},#{item.codeDesc},#{item.level},#{item.orderid},#{item.bsm},#{item.createUser},now(),#{item.bak}) + </foreach> + </insert> + + <delete id="delete"> + delete from lf.sys_domain where id = #{id} + </delete> + + <delete id="deletes"> + delete from lf.sys_domain where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="update"> + update lf.sys_domain + set dom_desc=#{domDesc},dom_name=#{domName},dom_code=#{domCode},code_desc=#{codeDesc},level=#{level},orderid=#{orderid},bsm=#{bsm},update_user=#{updateUser},update_time=now(),bak=#{bak} + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_domain + <set> + dom_desc=#{item.domDesc},dom_name=#{item.domName},dom_code=#{item.domCode},code_desc=#{item.codeDesc},level=#{item.level},orderid=#{item.orderid},bsm=#{item.bsm},update_user=#{item.updateUser},update_time=now(),bak=#{item.bak} + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/data/DownloadMapper.xml b/src/main/resources/mapper/data/DownloadMapper.xml new file mode 100644 index 0000000..b830ce4 --- /dev/null +++ b/src/main/resources/mapper/data/DownloadMapper.xml @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.data.DownloadMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_download + <where> + <if test="name != null"> + upper(name) like #{name} or upper(descr) like #{name} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.data.DownloadEntity"> + select * from lf.sys_download + <where> + <if test="name != null"> + upper(name) like #{name} or upper(descr) like #{name} + </if> + </where> + order by id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectCountForUser" resultType="java.lang.Integer"> + select count(*) from lf.sys_download + <where> + create_user = #{createUser} and type in (${types}) + <if test="name != null"> + and (upper(name) like #{name} or upper(descr) like #{name}) + </if> + </where> + </select> + + <select id="selectByPageForUser" resultType="com.lf.server.entity.data.DownloadEntity"> + select *, fn_uname(create_user) createName from lf.sys_download + <where> + create_user = #{createUser} and type in (${types}) + <if test="name != null"> + and (upper(name) like #{name} or upper(descr) like #{name}) + </if> + </where> + order by id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectAll" resultType="com.lf.server.entity.data.DownloadEntity"> + select * from lf.sys_download order by id desc; + </select> + + <select id="selectById" resultType="com.lf.server.entity.data.DownloadEntity"> + select * from lf.sys_download where id = #{id} + </select> + + <select id="selectByGuid" resultType="com.lf.server.entity.data.DownloadEntity"> + select * from lf.sys_download where guid = #{guid} limit 1 + </select> + + <insert id="insert" parameterType="com.lf.server.entity.data.DownloadEntity"> + <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id"> + select currval('lf.sys_download_id_seq'::regclass) as id + </selectKey> + + insert into lf.sys_download + (name,type,depid,sizes,dcount,pwd,url,descr,guid,create_user,create_time,geom,bak) + values + (#{name},#{type},#{depid},#{sizes},#{dcount},#{pwd},#{url},#{descr},#{guid},#{createUser},now(),#{geom},#{bak}) + </insert> + + <insert id="inserts"> + insert into lf.sys_download + (name,type,depid,sizes,dcount,pwd,url,descr,guid,create_user,create_time,download_user,download_time,geom,bak) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.name},#{item.type},#{item.depid},#{item.sizes},#{item.dcount},#{item.pwd},#{item.url},#{item.descr},#{item.guid},#{item.createUser},now(),#{item.downloadUser},now(),#{item.geom},#{item.bak}) + </foreach> + </insert> + + <delete id="delete"> + delete from lf.sys_download where id = #{id} + </delete> + + <delete id="deletes"> + delete from lf.sys_download where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="update"> + update lf.sys_download + set name=#{name},type=#{type},depid=#{depid},sizes=#{sizes},dcount=#{dcount},pwd=#{pwd},url=#{url},descr=#{descr},guid=#{guid},download_user=#{downloadUser},download_time=now(),geom=#{geom},bak=#{bak} + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_download + <set> + name=#{item.name},type=#{item.type},depid=#{item.depid},sizes=#{item.sizes},dcount=#{item.dcount},pwd=#{item.pwd},url=#{item.url},descr=#{item.descr},guid=#{item.guid},download_user=#{item.downloadUser},download_time=now(),geom=#{item.geom},bak=#{item.bak} + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/data/LayerMapper.xml b/src/main/resources/mapper/data/LayerMapper.xml new file mode 100644 index 0000000..45c9b88 --- /dev/null +++ b/src/main/resources/mapper/data/LayerMapper.xml @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.data.LayerMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_layer + <where> + <if test="cnName != null"> + upper(cn_name) like #{cnName} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.data.LayerEntity"> + select * from lf.sys_layer + <where> + <if test="cnName != null"> + upper(cn_name) like #{cnName} + </if> + </where> + order by id + limit #{limit} offset #{offset} + </select> + + <select id="selectAll" resultType="com.lf.server.entity.data.LayerEntity"> + select (select ns from lf.sys_dict b where b.field = 'gid' and b.tab = a.en_name) "ns", a.* + from lf.sys_layer a + order by id; + </select> + + <select id="selectById" resultType="com.lf.server.entity.data.LayerEntity"> + select * from lf.sys_layer where id = #{id} + </select> + + <insert id="insert" parameterType="com.lf.server.entity.data.LayerEntity"> + insert into lf.sys_layer + (pid,cn_name,en_name,url,test_url,type,icon,level,order_num,is_show,create_user,create_time,bak,serve_type,data_type,elev,is_project) + values + (#{pid},#{cnName},#{enName},#{url},#{testUrl},#{type},#{icon},#{level},#{orderNum},#{isShow},#{createUser},now(),#{bak},#{serveType},#{dataType},#{elev},#{isProject}) + </insert> + + <insert id="inserts"> + insert into lf.sys_layer + (pid,cn_name,en_name,url,test_url,type,icon,level,order_num,is_show,create_user,create_time,bak,serve_type,data_type,elev,is_project) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.pid},#{item.cnName},#{item.enName},#{item.url},#{item.testUrl},#{item.type},#{item.icon},#{item.level},#{item.orderNum},#{item.isShow},#{item.createUser},now(),#{item.bak},#{item.serveType},#{item.dataType},#{item.elev},#{item.isProject}) + </foreach> + </insert> + + <delete id="delete"> + delete from lf.sys_layer where id = #{id} + </delete> + + <delete id="deletes"> + delete from lf.sys_layer where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="update"> + update lf.sys_layer + set pid=#{pid},cn_name=#{cnName},en_name=#{enName},url=#{url},test_url=#{testUrl},type=#{type},icon=#{icon},level=#{level},order_num=#{orderNum},is_show=#{isShow},update_user=#{updateUser},update_time=now(),bak=#{bak},serve_type=#{serveType},data_type=#{dataType},elev=#{elev},is_project=#{isProject} + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_layer + <set> + pid=#{item.pid},cn_name=#{item.cnName},en_name=#{item.enName},url=#{item.url},test_url=#{item.testUrl},type=#{item.type},icon=#{item.icon},level=#{item.level},order_num=#{item.orderNum},is_show=#{item.isShow},update_user=#{item.updateUser},update_time=now(),bak=#{item.bak},serve_type=#{item.serveType},data_type=#{item.dataType},elev=#{item.elev},is_project=#{item.isProject} + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/data/MetaMapper.xml b/src/main/resources/mapper/data/MetaMapper.xml new file mode 100644 index 0000000..37c3e97 --- /dev/null +++ b/src/main/resources/mapper/data/MetaMapper.xml @@ -0,0 +1,245 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.data.MetaMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_meta + <where> + 1 = 1 + <if test="depcode != null"> + and depcode like #{depcode} + </if> + <if test="dircode != null"> + and dircode like #{dircode} + </if> + <if test="verid != null"> + and verid = #{verid} + </if> + <if test="name != null"> + and upper(name) like #{name} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.data.MetaEntity"> + select a.*,fn_uname(a.create_user) uname,fn_get_fullname(a.depcode, 1) depName,fn_ver(a.verid) verName,fn_get_fullname(a.dircode, 2) dirName + from lf.sys_meta a + <where> + 1 = 1 + <if test="depcode != null"> + and depcode like #{depcode} + </if> + <if test="dircode != null"> + and dircode like #{dircode} + </if> + <if test="verid != null"> + and verid = #{verid} + </if> + <if test="name != null"> + and upper(name) like #{name} + </if> + </where> + order by id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectMetasForCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_meta + <where> + 1 = 1 + <if test="depcode != null"> + and depcode like #{depcode} + </if> + <if test="dirs != null"> + and ${dirs} + </if> + <if test="name != null"> + and upper(name) like #{name} + </if> + </where> + </select> + + <select id="selectMetasForPage" resultType="com.lf.server.entity.data.MetaEntity"> + select a.*,fn_uname(a.create_user) uname,fn_get_fullname(a.depcode, 1) depName,fn_ver(a.verid) verName,fn_get_fullname(a.dircode, 2) dirName, + (select coalesce(sum(dcount), 0) from lf.sys_download b inner join lf.sys_meta_down c on b.id = c.downid where c.metaid = a.id) "downCount", + (select fn_uname(download_user) from lf.sys_download b inner join lf.sys_meta_down c on b.id = c.downid where c.metaid = a.id order by download_time desc limit 1) "lastUser", + (select max(download_time) from lf.sys_download b inner join lf.sys_meta_down c on b.id = c.downid where c.metaid = a.id) "lastTime" + from lf.sys_meta a + <where> + 1 = 1 + <if test="depcode != null"> + and depcode like #{depcode} + </if> + <if test="dirs != null"> + and ${dirs} + </if> + <if test="name != null"> + and upper(name) like #{name} + </if> + </where> + order by id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectCountForUpload" resultType="java.lang.Integer"> + select count(*) from lf.sys_meta + <where> + create_user = #{createUser} + <if test="types != null"> + and type in (${types}) + </if> + <if test="name != null"> + and upper(name) like #{name} + </if> + </where> + </select> + + <select id="selectByPageForUpload" resultType="com.lf.server.entity.data.MetaEntity"> + select a.*,fn_uname(a.create_user) uname,fn_get_fullname(a.depcode, 1) depName,fn_ver(a.verid) verName,fn_get_fullname(a.dircode, 2) dirName + from lf.sys_meta a + <where> + create_user = #{createUser} + <if test="types != null"> + and type in (${types}) + </if> + <if test="name != null"> + and upper(name) like #{name} + </if> + </where> + order by id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectCountByPid" resultType="java.lang.Integer"> + select count(*) from lf.sys_meta + <where> + metaid = #{metaid} + <if test="name != null"> + and upper(name) like #{name} + </if> + </where> + </select> + + <select id="selectPageByPid" resultType="com.lf.server.entity.data.MetaEntity"> + select a.*,fn_uname(a.create_user) uname,fn_get_fullname(a.depcode, 1) depName,fn_ver(a.verid) verName,fn_get_fullname(a.dircode, 2) dirName + from lf.sys_meta a + <where> + metaid = #{metaid} + <if test="name != null"> + and upper(name) like #{name} + </if> + </where> + order by id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectById" resultType="com.lf.server.entity.data.MetaEntity"> + select a.*,fn_uname(a.create_user) uname,fn_get_fullname(a.depcode, 1) depName,fn_ver(a.verid) verName,fn_get_fullname(a.dircode, 2) dirName + from lf.sys_meta a where id = #{id} + </select> + + <select id="selectByGuid" resultType="com.lf.server.entity.data.MetaEntity"> + select a.*,fn_uname(a.create_user) uname,fn_get_fullname(a.depcode, 1) depName,fn_ver(a.verid) verName,fn_get_fullname(a.dircode, 2) dirName + from lf.sys_meta a + where guid = #{guid} + <if test="dircode != null"> + and dircode like #{dircode} + </if> + <if test="tab != null"> + and tab = #{tab} + </if> + limit 1 + </select> + + <select id="selectByIdsForTab" resultType="com.lf.server.entity.data.MetaEntity"> + select a.* from lf.sys_meta a + where id in (${ids}) and a.tab is not null and a.rows > 0 + order by a.tab; + </select> + + <select id="selectMetaFiles" resultType="com.lf.server.entity.data.MetaEntity"> + select a.*,fn_uname(a.create_user) uname,fn_get_fullname(a.depcode, 1) depName,fn_ver(a.verid) verName,fn_get_fullname(a.dircode, 2) dirName + from lf.sys_meta a + where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + order by a.id desc + </select> + + <select id="selectXlsAnnex" resultType="com.lf.server.entity.data.MetaEntity"> + select * from lf.sys_meta + where type in ('xls', 'xlsx') and eventid is not null and tab is not null and rows > 0 and id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + <if test="tabs != null"> + and tab in (${tabs}) + </if> + </select> + + <select id="selectMetasByDirCode" resultType="com.lf.server.entity.data.MetaEntity"> + select a.*, fn_uname(a.create_user) uname, fn_get_fullname(a.depcode, 1) depName, fn_ver(a.verid) verName, fn_get_fullname(a.dircode, 2) dirName + from lf.sys_meta a + where dircode like #{dircode} and + (type = 'tif' or type = 'tiff' or lower(name) in ('骞抽潰鍥剧储寮曟枃浠�.xlsx', '绌胯法瓒婂湴褰㈠浘.dwg', '涓嚎鎴愭灉琛�.xlsx', '绂绘暎鐐�.xlsx', '鎺у埗鐐�.xlsx', '鍦伴潰绾�.xlsx')) + order by id; + </select> + + <select id="selectMetaOverflowDep" resultType="java.lang.String"> + select depcode + from lf.sys_meta + where id in (${ids}) and depcode not like #{depcode} + group by depcode + order by depcode; + </select> + + <insert id="insert" parameterType="com.lf.server.entity.data.MetaEntity"> + <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id"> + select currval('lf.sys_meta_id_seq'::regclass) as id + </selectKey> + + insert into lf.sys_meta + (eventid,metaid,ismeta,dircode,depcode,verid,name,type,guid,path,sizes,tab,layer,rows,create_user,create_time,bak,geom) + values + (#{eventid},#{metaid},#{ismeta},#{dircode},#{depcode},#{verid},#{name},#{type},#{guid},#{path},#{sizes},#{tab},#{layer},#{rows},#{createUser},#{createTime},#{bak},#{geom}) + </insert> + + <insert id="inserts"> + insert into lf.sys_meta + (eventid,metaid,ismeta,dircode,depcode,verid,name,type,guid,path,sizes,tab,layer,rows,create_user,create_time,bak,geom) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.eventid},#{item.metaid},#{item.ismeta},#{item.dircode},#{item.depcode},#{item.verid},#{item.name},#{item.type},#{item.guid},#{item.path},#{item.sizes},#{item.tab},#{item.layer},#{item.rows},#{item.createUser},#{item.createTime},#{item.bak},#{item.geom}) + </foreach> + </insert> + + <delete id="deletes"> + delete from lf.sys_meta where id in (${ids}); + <if test="sql != null"> + ${sql}; + </if> + </delete> + + <delete id="deletes_old"> + delete from lf.sys_meta where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="update"> + update lf.sys_meta + set eventid=#{eventid},metaid=#{metaid},ismeta=#{ismeta},dircode=#{dircode},depcode=#{depcode},verid=#{verid},name=#{name},type=#{type},guid=#{guid},path=#{path},sizes=#{sizes},tab=#{tab},layer=#{layer},rows=#{rows},update_user=#{updateUser},update_time=now(),bak=#{bak},geom=#{geom} + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_meta + <set> + eventid=#{item.eventid},metaid=#{item.metaid},ismeta=#{item.ismeta},dircode=#{item.dircode},depcode=#{item.depcode},verid=#{item.verid},name=#{item.name},type=#{item.type},guid=#{item.guid},path=#{item.path},sizes=#{item.sizes},tab=#{item.tab},layer=#{item.layer},rows=#{item.rows},update_user=#{item.updateUser},update_time=now(),bak=#{item.bak},geom=#{item.geom} + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/data/StyleMapper.xml b/src/main/resources/mapper/data/StyleMapper.xml new file mode 100644 index 0000000..66c5522 --- /dev/null +++ b/src/main/resources/mapper/data/StyleMapper.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.data.StyleMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_style + <where> + <if test="name != null"> + upper(name) like #{name} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.data.StyleEntity"> + select a.*, fn_uname(create_user) createName, fn_uname(update_user) updateName, fn_rec_query(a.depid,'dep') depName, fn_rec_query(a.dirid,'dir') dirName + from lf.sys_style a + <where> + <if test="name != null"> + upper(a.name) like #{name} + </if> + </where> + order by a.id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectStyleAll" resultType="com.lf.server.entity.data.StyleEntity"> + select a.*, fn_uname(create_user) createName, fn_uname(update_user) updateName, fn_rec_query(a.depid,'dep') depName, fn_rec_query(a.dirid,'dir') dirName + from lf.sys_style a order by a.id desc + </select> + + <select id="selectStyle" resultType="com.lf.server.entity.data.StyleEntity"> + select a.*, fn_uname(create_user) createName, fn_uname(update_user) updateName, fn_rec_query(a.depid,'dep') depName, fn_rec_query(a.dirid,'dir') dirName + from lf.sys_style a where a.id = #{id} + </select> + + <insert id="insertStyle" parameterType="com.lf.server.entity.data.StyleEntity"> + insert into lf.sys_style + (name,type,dirid,depid,ver,status,precision,descr,fname,vname,file_guid,view_guid,create_user,create_time,bak) + values + (#{name},#{type},#{dirid},#{depid},#{ver},#{status},#{precision},#{descr},#{fname},#{vname},#{fileGuid},#{viewGuid},#{createUser}, + now(),#{bak}); + </insert> + + <insert id="insertStyles"> + insert into lf.sys_style + (name,type,dirid,depid,ver,status,precision,descr,fname,vname,file_guid,view_guid,create_user,create_time,bak) + values + <foreach collection="list" item="item" index="index" separator="," > + (#{item.name},#{item.type},#{item.dirid},#{item.depid},#{item.ver},#{item.status},#{item.precision},#{item.descr},#{item.fname},#{item.vname}, + #{item.fileGuid},#{item.viewGuid},#{item.createUser},now(),#{item.bak}) + </foreach> + </insert> + + <delete id="deleteStyle"> + delete from lf.sys_style where id = #{id} + </delete> + + <delete id="deleteStyles" > + delete from lf.sys_style where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="updateStyle"> + update lf.sys_style set name=#{name},type=#{type},dirid=#{dirid},depid=#{depid},ver=#{ver},status=#{status},precision=#{precision}, + descr=#{descr},fname=#{fname},vname=#{vname},file_guid=#{fileGuid},view_guid=#{viewGuid},update_user=#{updateUser},update_time=now(),bak=#{bak} where id=#{id} + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/data/UploadMapper.xml b/src/main/resources/mapper/data/UploadMapper.xml new file mode 100644 index 0000000..93b7776 --- /dev/null +++ b/src/main/resources/mapper/data/UploadMapper.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.data.UploadMapper"> + <select id="selectCoords" resultType="com.lf.server.entity.data.CoordEntity"> + select * from lf.sys_coord + <where> + 1 = 1 + <if test="zoning != null"> + and zoning = #{zoning} + </if> + </where> + order by id + </select> + + <select id="selectCount4Coord" resultType="java.lang.Integer"> + select count(*) from lf.sys_coord where epsgcode = #{epsgCode} + </select> + + <select id="selectProject" resultType="com.lf.server.entity.data.DirEntity"> + select * from lf.sys_dir where pid = 0 and id > 1 + </select> + + <select id="selectFmeLog" resultType="com.lf.server.entity.data.FmeLogEntity"> + select * from lf.sys_fme_log where parentid = #{parentid}; + </select> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/data/VerMapper.xml b/src/main/resources/mapper/data/VerMapper.xml new file mode 100644 index 0000000..f2fbcd4 --- /dev/null +++ b/src/main/resources/mapper/data/VerMapper.xml @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.data.VerMapper"> + <!-- 缁熻琛屾暟 --> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_ver a + <where> + 1 = 1 + <if test="dirid != null"> + and a.dirid = ANY(fn_rec_array(#{dirid}, 'dir')) + </if> + <if test="name != null"> + and upper(a.name) like #{name} + </if> + </where> + </select> + + <!-- 鍒嗛〉鏌ヨ --> + <select id="selectByPage" resultType="com.lf.server.entity.data.VerEntity"> + select a.*, fn_rec_query(a.dirid, 'dir') depName, fn_uname(create_user) createName from lf.sys_ver a + <where> + 1=1 + <if test="dirid != null"> + and a.dirid = ANY(fn_rec_array(#{dirid}, 'dir')) + </if> + <if test="name != null"> + and upper(a.name) like #{name} + </if> + </where> + order by id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectVersionAll" resultType="com.lf.server.entity.data.VerEntity"> + select * from lf.sys_ver order by id desc + </select> + + <select id="selectVersion" resultType="com.lf.server.entity.data.VerEntity"> + select * from lf.sys_ver where id = #{id} + </select> + + <select id="selectByDirid" resultType="com.lf.server.entity.data.VerEntity"> + select * from lf.sys_ver where dirid = 0 or dirid = #{dirid} + </select> + + <insert id="insertVersion" parameterType="com.lf.server.entity.data.VerEntity"> + insert into lf.sys_ver + (dirid,name,descr,create_user,create_time) + values + (#{dirid},#{name},#{descr},#{createUser},now()); + </insert> + + <insert id="insertVersions"> + insert into lf.sys_ver + (dirid,name,descr,create_user,create_time) + values + <foreach collection="list" item="item" index="index" separator="," > + (#{item.dirid},#{item.name},#{item.descr},#{item.createUser},now()) + </foreach> + </insert> + + <delete id="deleteVersion"> + delete from lf.sys_ver where id = #{id} + </delete> + + <delete id="deleteVersions"> + delete from lf.sys_ver where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="updateVersion"> + update lf.sys_ver set dirid=#{dirid}, name=#{name},descr=#{descr},update_user=#{id},update_time=now() where id=#{id} + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/show/ApplyMapper.xml b/src/main/resources/mapper/show/ApplyMapper.xml new file mode 100644 index 0000000..cd1f032 --- /dev/null +++ b/src/main/resources/mapper/show/ApplyMapper.xml @@ -0,0 +1,149 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.show.ApplyMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_apply a inner join lf.sys_user b on a.userid = b.id + <where> + 1 = 1 + <if test="uname != null"> + and upper(b.uname) like #{uname} + </if> + <if test="status != null"> + <if test="status == 0"> + and a.status between 0 and 9 + </if> + <if test="status != 0"> + and a.status = #{status} + </if> + </if> + <if test="start != null"> + and a.create_time >= #{start} + </if> + <if test="end != null"> + and a.create_time <= #{end} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.show.ApplyEntity"> + select + case a.userid when #{userid} then guid else null end "guid", a.*, b.uname, + (select count(*) from lf.sys_flow c where c.applyid = a.id and c.status = 0 and c.userid = #{userid}) isVerify + from lf.sys_apply a inner join lf.sys_user b on a.userid = b.id + <where> + 1 = 1 + <if test="uname != null"> + and upper(b.uname) like #{uname} + </if> + <if test="status != null"> + <if test="status == 0"> + and a.status between 0 and 9 + </if> + <if test="status != 0"> + and a.status = #{status} + </if> + </if> + <if test="start != null"> + and a.create_time >= #{start} + </if> + <if test="end != null"> + and a.create_time <= #{end} + </if> + </where> + order by a.id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectAll" resultType="com.lf.server.entity.show.ApplyEntity"> + select * from lf.sys_apply order by id desc + </select> + + <select id="selectById" resultType="com.lf.server.entity.show.ApplyEntity"> + select * from lf.sys_apply where id = #{id} + </select> + + <select id="selectUserByDepcode" resultType="com.lf.server.entity.sys.UserEntity"> + select c.* from lf.sys_role a inner join lf.sys_role_user b on a.id = b.roleid + inner join lf.sys_user c on b.userid = c.id + where a.is_admin = 2 and c.depcode = #{depcode} + order by c.id limit 1 + </select> + + <select id="selectSubmits" resultType="java.lang.Integer"> + select count(*) from lf.sys_apply a inner join lf.sys_flow b on a.id = b.applyid + where a.status between 0 and 9 and b.status = 0 and b.userid = #{userid} + </select> + + <select id="selectFlows" resultType="com.lf.server.entity.show.FlowEntity"> + select a.*, b.uname, fn_get_fullname(a.depcode, 1) depName + from lf.sys_flow a inner join lf.sys_user b on a.userid = b.id + where a.applyid = #{applyid} + </select> + + <insert id="insert" parameterType="com.lf.server.entity.show.ApplyEntity"> + <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id"> + select currval('lf.sys_apply_id_seq'::regclass) as id + </selectKey> + + insert into lf.sys_apply + (userid,depids,tabs,entities,wkt,pwd,status,count,descr,create_user,create_time,depcode,dircodes,gids,filters,guid) + values + (#{userid},#{depids},#{tabs},#{entities},#{wkt},#{pwd},#{status},#{count},#{descr},#{createUser},now(),#{depcode},#{dircodes},#{gids},#{filters},#{guid}) + </insert> + + <insert id="inserts"> + insert into lf.sys_apply + (userid,depids,tabs,entities,wkt,pwd,status,count,descr,create_user,create_time,depcode,dircodes,gids,filters,guid) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.userid},#{item.depids},#{item.tabs},#{item.entities},#{item.wkt},#{item.pwd},#{item.status},#{item.count},#{item.descr},#{item.createUser},now(),#{item.depcode},#{item.dircodes},#{item.gids},#{item.filters},#{item.guid}) + </foreach> + </insert> + + <delete id="delete"> + delete from lf.sys_apply where id = #{id} + </delete> + + <delete id="deletes"> + delete from lf.sys_apply where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="update"> + update lf.sys_apply + set userid=#{userid},depids=#{depids},tabs=#{tabs},entities=#{entities},wkt=#{wkt},pwd=#{pwd},status=#{status},count=#{count},descr=#{descr},update_user=#{updateUser},update_time=now(),depcode=#{depcode},dircodes=#{dircodes},gids=#{gids},filters=#{filters},guid=#{guid} + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_apply + <set> + userid=#{item.userid},depids=#{item.depids},tabs=#{item.tabs},entities=#{item.entities},wkt=#{item.wkt},pwd=#{item.pwd},status=#{item.status},count=#{item.count},descr=#{item.descr},update_user=#{item.updateUser},update_time=now(),depcode=#{item.depcode},dircodes=#{item.dircodes},gids=#{item.gids},filters=#{item.filters},guid=#{item.guid} + </set> + where id = #{item.id} + </foreach> + </update> + + <update id="updateForDiscard"> + update lf.sys_apply set status = -10, update_user = #{userid}, update_time = now() where status between -1 and 9 and id = #{id} + </update> + + <update id="updateForResubmit"> + update lf.sys_flow set status = 0, update_user = #{userid}, update_time = now() where status = -1 and applyid = #{id}; + update lf.sys_apply a set status = (select count(*) from lf.sys_flow b where b.status = 1 and b.applyid = a.id), update_user = #{userid}, update_time = now() where status = -1 and id = #{id}; + </update> + + <update id="updateForSubmit"> + update lf.sys_flow set status = 1, update_user = #{userid}, update_time = now() where id = #{flowId}; + update lf.sys_apply a set status = (select count(*) from lf.sys_flow b where b.status = 1 and b.applyid = a.id), update_user = #{userid}, update_time = now() where id = #{applyid}; + update lf.sys_apply set status = 10 where status = count and id = #{applyid}; + </update> + + <update id="updateForReject"> + update lf.sys_flow set status = -1, update_user = #{userid}, update_time = now() where status = 0 and id = #{flowId}; + update lf.sys_apply set status = -1, update_user = #{userid}, update_time = now() where status between 0 and 9 and id = #{applyid}; + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/show/FlowMapper.xml b/src/main/resources/mapper/show/FlowMapper.xml new file mode 100644 index 0000000..48db4bb --- /dev/null +++ b/src/main/resources/mapper/show/FlowMapper.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.show.FlowMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_flow + <where> + <if test="userid != null"> + userid = #{userid} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.show.FlowEntity"> + select * from lf.sys_flow + <where> + <if test="userid != null"> + userid = #{userid} + </if> + </where> + order by id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectAll" resultType="com.lf.server.entity.show.FlowEntity"> + select * from lf.sys_flow order by id desc + </select> + + <select id="selectById" resultType="com.lf.server.entity.show.FlowEntity"> + select * from lf.sys_flow where id = #{id} + </select> + + <insert id="insert" parameterType="com.lf.server.entity.show.FlowEntity"> + insert into lf.sys_flow + (applyid,depcode,userid,status,descr,create_user,create_time) + values + (#{applyid},#{depcode},#{userid},#{status},#{descr},#{createUser},now()) + </insert> + + <insert id="inserts"> + insert into lf.sys_flow + (applyid,depcode,userid,status,descr,create_user,create_time) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.applyid},#{item.depcode},#{item.userid},#{item.status},#{item.descr},#{item.createUser},now()) + </foreach> + </insert> + + <delete id="delete"> + delete from lf.sys_flow where id = #{id} + </delete> + + <delete id="deletes"> + delete from lf.sys_flow where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="update"> + update lf.sys_flow + set applyid=#{applyid},depcode=#{depcode},userid=#{userid},status=#{status},descr=#{descr},update_user=#{updateUser},update_time=now() + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_flow + <set> + applyid=#{item.applyid},depcode=#{item.depcode},userid=#{item.userid},status=#{item.status},descr=#{item.descr},update_user=#{item.updateUser},update_time=now() + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/show/MarkMapper.xml b/src/main/resources/mapper/show/MarkMapper.xml new file mode 100644 index 0000000..228b5cf --- /dev/null +++ b/src/main/resources/mapper/show/MarkMapper.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.show.MarkMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_mark + <where> + <if test="userid != null"> + create_user = #{userid} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.show.MarkEntity"> + select * from lf.sys_mark + <where> + <if test="userid != null"> + create_user = #{userid} + </if> + </where> + order by id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectAll" resultType="com.lf.server.entity.show.MarkEntity"> + select * from lf.sys_mark order by id desc + </select> + + <select id="selectById" resultType="com.lf.server.entity.show.MarkEntity"> + select * from lf.sys_mark where id = #{id} + </select> + + <insert id="insert" parameterType="com.lf.server.entity.show.MarkEntity"> + insert into lf.sys_mark + (name,wkt,create_user,create_time) + values + (#{name},#{wkt},#{createUser},now()) + </insert> + + <insert id="inserts"> + insert into lf.sys_mark + (name,wkt,create_user,create_time) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.name},#{item.wkt},#{item.createUser},now()) + </foreach> + </insert> + + <delete id="delete"> + delete from lf.sys_mark where id = #{id} + </delete> + + <delete id="deletes"> + delete from lf.sys_mark where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="update"> + update lf.sys_mark + set name=#{name},wkt=#{wkt},update_user=#{updateUser},update_time=now() + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_mark + <set> + name=#{item.name},wkt=#{item.wkt},update_user=#{item.updateUser},update_time=now() + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/show/ModelMapper.xml b/src/main/resources/mapper/show/ModelMapper.xml new file mode 100644 index 0000000..a2f69c2 --- /dev/null +++ b/src/main/resources/mapper/show/ModelMapper.xml @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.show.ModelMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_model + <where> + <if test="layerid != null"> + layerid = #{layerid} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.show.ModelEntity"> + select * from lf.sys_model + <where> + <if test="layerid != null"> + layerid = #{layerid} + </if> + </where> + order by id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectAll" resultType="com.lf.server.entity.show.ModelEntity"> + select * from lf.sys_model order by id desc; + </select> + + <select id="selectById" resultType="com.lf.server.entity.show.ModelEntity"> + select * from lf.sys_model where id = #{id} + </select> + + <select id="selectModelByGuid" resultType="com.lf.server.entity.show.ModelEntity"> + select * from lf.sys_model where layerid = #{layerid} and modelid = #{modelid} limit 1; + </select> + + <insert id="insert" parameterType="com.lf.server.entity.show.ModelEntity"> + insert into lf.sys_model + (layerid,modelid,guid,name,type,info,url,icon,create_user,create_time,bak) + values + (#{layerid},#{modelid},#{guid},#{name},#{type},#{info},#{url},#{icon},#{createUser},now(),#{bak}) + </insert> + + <insert id="inserts"> + insert into lf.sys_model + (layerid,modelid,guid,name,type,info,url,icon,create_user,create_time,bak) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.layerid},#{item.modelid},#{item.guid},#{item.name},#{item.type},#{item.info},#{item.url},#{item.icon},#{item.createUser},now(),#{item.bak}) + </foreach> + </insert> + + <delete id="delete"> + delete from lf.sys_model where id = #{id} + </delete> + + <delete id="deletes"> + delete from lf.sys_model where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="update"> + update lf.sys_model + set layerid=#{layerid},modelid=#{modelid},guid=#{guid},name=#{name},type=#{type},info=#{info},url=#{url},icon=#{icon},update_user=#{updateUser},update_time=now(),bak=#{bak} + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_model + <set> + layerid=#{item.layerid},modelid=#{item.modelid},guid=#{item.guid},name=#{item.name},type=#{item.type},info=#{item.info},url=#{item.url},icon=#{item.icon},update_user=#{item.updateUser},update_time=now(),bak=#{item.bak} + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/show/OneMapMapper.xml b/src/main/resources/mapper/show/OneMapMapper.xml new file mode 100644 index 0000000..3803030 --- /dev/null +++ b/src/main/resources/mapper/show/OneMapMapper.xml @@ -0,0 +1,301 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.show.OneMapMapper"> + + <resultMap type="com.lf.server.entity.show.OneMapEntity" id="OneMapResult"> + <result property="value" column="value" /> + <result property="key" column="key" /> + </resultMap> + + + <!-- 椤圭洰绫诲埆 select * from bs.bs_project; --> + <select id="projectCategoryCount" resultType="java.util.Map"> + select projtype,count(*) from bs.bs_project group by projtype; + </select> + + + <!-- 椤圭洰浣嶇疆鍒嗗竷 select a.*,st_astext(geom) from bs.bs_project a --> + <select id="projectLocationCount" resultType="java.util.Map"> + select a.*,st_astext(geom) AS wkt from bs.bs_project a; + </select> + + <!-- 鍏ㄧ悆 椤圭洰绫诲埆 鍥藉缁村害-鏁伴噺 --> + <select id="countryDimensionCount" resultType="java.util.Map"> + select country,count(*) from bs.bs_project group by country; + </select> + + <!-- 鍏ㄥ浗 椤圭洰绫诲埆 鐪佺淮搴�-鏁伴噺 --> + <select id="provinceDimensionCount" resultType="java.util.Map"> + select province,count(*) from bs.bs_project where country like '%涓浗%' group by province ; + </select> + + <!-- 鍏ㄥ浗 鎸夌収椤硅嚜绫诲瀷缁熻涓嶅悓椤圭洰涓暟 --> + <select id="countProjectTypeNumber" resultType="java.util.Map"> + select projtype,count(*) from bs.bs_project where country like '%涓浗%' group by projtype ; + </select> + + <!-- 鏁版嵁缁熻 鏁版嵁瀛樺偍 --> + <select id="dataStorageCount" resultType="java.util.Map"> + select name "鍚嶇О", (select count(*) from lf.sys_meta b where b.dircode like a.code || '%') "鏂囦欢鏁�", + (select sum(sizes) from lf.sys_meta b where b.dircode like a.code || '%') "鏁伴噺(MB)" + from lf.sys_dir a where id > 1 and pid = 0; + </select> + + <!-- 鏁版嵁澶х被缁熻 --> + <select id="statisticalDataCategories" resultType="java.util.Map"> + SELECT name, + (SELECT count(b.id) + FROM lf.sys_meta b + WHERE dircode similar to '(' || + (SELECT string_agg(code, + '|') + FROM lf.sys_dir c + WHERE c.name = a.name) || ')%') "count", + (SELECT coalesce(sum(b.sizes), + 0) + FROM lf.sys_meta b + WHERE dircode similar to '(' || + (SELECT string_agg(code, + '|') + FROM lf.sys_dir c + WHERE c.name = a.name) || ')%') "sizes" + FROM lf.sys_dir a + WHERE name IN ('鍩虹娴嬬粯', '鍩虹鍦扮伨', '鍩虹鍕樺療', '鍚堣鏁版嵁', '绠$悊鏁版嵁', '娴嬬粯锛圗SV锛�', '鍕樺療锛圗GE锛�', '鍦扮伨锛圗GD锛�', '娲炲簱锛圗GD锛�') + GROUP BY name + ORDER BY name; + </select> + + + <!-- 缁熻鏁版嵁鏈嶅姟绫诲瀷 --> + <select id="statisticalDataServiceType" resultType="java.util.Map"> + SELECT COUNT(*),TYPE FROM lf.sys_serve_log GROUP BY TYPE; + </select> + + <!-- 鐧诲綍娆℃暟缁熻 --> + <select id="loginNumberStatistics" resultType="java.util.Map"> + select b.uname, count(*) from lf.sys_login a inner join lf.sys_user b on a.userid = b.id group by uname; + </select> + + <!-- 鏁版嵁缁熻 鏂囦欢鏍煎紡缁村害-鏂囦欢涓暟 select type,count(*),count(sizes) from lf.sys_meta group by type; --> + <select id="fileFormatCount" resultType="java.util.Map"> + select type,count(type) AS number,sum(sizes) AS capacity from lf.sys_meta group by type; + </select> + + <!-- 鏁版嵁缁熻 鏁版嵁鐢宠 select * from lf.sys_apply a inner join lf.sys_user b on a.userid = b.id; --> + <select id="dataApplyCount" resultType="java.util.Map"> + SELECT + count(c.name) AS number, + c.name + FROM + lf.sys_apply a + INNER JOIN lf.sys_user b ON a.userid = b.id + INNER JOIN lf.sys_dep c ON b.depid = c.id + GROUP BY + c.name; + </select> + + <!-- 鏁版嵁缁熻 璁块棶缁熻 --> + <select id="dataVisitCount" resultType="java.util.Map"> + select modular1,count(*) from lf.sys_operate group by modular1 order by modular1; + </select> + + <!-- 鏁版嵁缁熻 涓嬭浇閲忕粺璁� type绫诲瀷锛�1-Shp鏂囦欢锛�2-涓撻鍥撅紝3-鍏冩暟鎹紝4-涓氬姟鏁版嵁锛�5-绠¢亾鍒嗘瀽锛�6-缁熻鎶ュ憡 --> + <!-- 鏁版嵁缁熻 select type,count(*) from lf.sys_download group by type; --> + <select id="countDownloads" resultType="java.util.Map"> + SELECT type, + count(*), + case type + WHEN '1' THEN 'Shp鏂囦欢' + WHEN '2' THEN '涓撻鍥�' + WHEN '3' THEN '鍏冩暟鎹�' + WHEN '4' THEN '涓氬姟鏁版嵁' + WHEN '5' THEN '绠¢亾鍒嗘瀽' + WHEN '6' THEN '缁熻鎶ュ憡' + ELSE '0' + END as typename + FROM + lf.sys_download GROUP BY type; + </select> + + <!-- 缁熻椤圭洰鏄剧ず --> + <select id="countProjectDisplay" resultType="java.util.Map"> + select PROJNAME,* from bs.bs_project WHERE PROJNAME IS NOT NULL; + </select> + + <!-- 宸ョ▼宸¤ --> + <select id="countProjectTour" resultType="java.util.Map"> + SELECT st_astext(geom) AS wkt,* FROM bs.m_pipeline + <where> + <if test="pipename != null and pipename != ''"> and pipename = #{pipename}</if> + </where> + </select> + + <!-- 宸ョ▼宸¤鍒楄〃 --> + <select id="selectProjectTour" resultType="java.util.Map"> + SELECT DISTINCT pipename FROM bs.m_pipeline; + </select> + + + <!-- 缁熻椤圭洰绫诲瀷 1 --> + <!-- select (select string_agg(code, ',') from lf.sys_dir where name = a.name) "key", name "value" from lf.sys_dir a + where name in ('娴嬬粯锛圗SV锛�', '鍕樺療锛圗GE锛�', '鍦扮伨锛圗GD锛�', '娲炲簱锛圗GD锛�') group by name order by name;--> + <select id="selectProjectType1" resultMap="OneMapResult"> + SELECT + (SELECT string_agg(code, + ',') + FROM lf.sys_dir + WHERE name = a.name) "key", name "value" + FROM lf.sys_dir a + WHERE name IN ('鍩虹鍦扮伨', '鍩虹鍕樺療', '鍚堣鏁版嵁', '绠$悊鏁版嵁', '鍕樺療锛圗GE锛�', '鍦扮伨锛圗GD锛�', '娲炲簱锛圗GD锛�') + GROUP BY name + ORDER BY key; + </select> + + <!-- 缁熻椤圭洰绫诲瀷 2 --> + <select id="selectProjectTypeOne" resultType="com.lf.server.entity.show.OneMapEntity"> + select * from lf.sys_meta ${endSql} + </select> + + <!-- 缁熻椤圭洰绫诲瀷 2 --> + <select id="selectProjectType2" resultType="com.lf.server.entity.show.OneMapEntity"> + select modular1,count(*) from lf.sys_operate group by modular1 order by modular1; + </select> + + + <!-- 鏌ヨ琛ㄤ俊鎭� --> + <select id="queryTableInfo" resultType="java.util.Map"> + SELECT a.attnum, + a.attname, + concat_ws('',t.typname,SUBSTRING(format_type(a.atttypid,a.atttypmod) + FROM '\(.*\)')) AS type,d.description,typnotnull + FROM pg_class c,pg_attribute a,pg_type t,pg_description d + WHERE c.relname= '${tableName}' + AND a.attnum>0 + AND a.attrelid=c.oid + AND a.atttypid=t.oid + AND d.objoid=a.attrelid + AND d.objsubid=a.attnum; + </select> + + + <!-- 缁熻璁$畻鍏ㄧ悆绠¢亾鍥� --> + <select id="countGlobalPipeMap" resultType="java.util.Map"> + SELECT projname,count(*) AS count FROM bs.m_pipesegment group by projname ; + </select> + + <!-- 缁熻璁$畻鍏ㄥ浗绠¢亾鍥� --> + <select id="countNationalPipeMap" resultType="java.util.Map"> + SELECT projname,count(*) AS count FROM bs.m_pipesegment group by projname ; + </select> + + <!-- 缁熻鍏ㄥ浗绠$綉鍥捐緭閫佷粙璐ㄩ暱搴� --> + <!--select id="countZhPipeMapLenByMed" resultType="java.util.Map"> + SELECT medium AS type,count(*) AS count,sum(length)AS length FROM bs.m_pipesegment GROUP BY medium ; + </select--> + <select id="countZhPipeMapLenByMed" resultType="java.util.Map"> + select case medium when 'CO' then '鍘熸补' when 'RP' then '鎴愬搧娌�' when 'GS' then '澶╃劧姘�' else '鍏跺畠' end "type", + count(*) "count", round(sum(ST_Length(geom)::numeric), 2) "length" + from bs.m_pipeline + group by medium; + </select> + + <!-- 缁熻鍏ㄥ浗绔欏満搴ф暟銆侀榾瀹ゃ�佺閬撴暟閲� --> + <select id="countZhPipeStations" resultType="java.util.Map"> + select + case medium when 'CO' then '鍘熸补' when 'RP' then '鎴愬搧娌�' when 'GS' then '澶╃劧姘�' else '鍏跺畠' end "杈撻�佷粙璐�", + round(sum(st_length(geom))::numeric, 2) "鎬婚噷绋�", + count(*) "绠¢亾鏁伴噺", + (select count(*) from bs.m_sitepoint b inner join bs.m_pipeline c on b.pipename = c.pipename where c.medium = a.medium) "绔欏満鏁伴噺", + (select count(*) from bs.m_valvehousepoint d inner join bs.m_pipeline e on d.pipename = e.pipename where e.medium = a.medium) "闃�瀹ゆ暟閲�" + from bs.m_pipeline a + group by medium; + </select> + + <!-- 鎸夐」鐩粺璁¢」鐩瓨鍌ㄩ噺 --> + <select id="countStorageByProject" resultType="java.util.Map"> + with rs as ( + select a.dircode, c.dcount, c.sizes + from lf.sys_meta a + inner join lf.sys_meta_down b on a.id = b.metaid + inner join lf.sys_download c on b.downid = c.id + ) + select + d.name "椤圭洰鍚嶇О", + (select count(*) from rs where rs.dircode like d.code || '%') "涓嬭浇涓暟", + (select coalesce(sum(rs.dcount), 0) from rs where rs.dircode like d.code || '%') "涓嬭浇鏁伴噺", + (select round(coalesce(sum(rs.dcount * rs.sizes), 0)::numeric, 3) from rs where rs.dircode like d.code || '%') "鏁伴噺鎬婚噺(MB)" + from lf.sys_dir d + where pid = 0 order by d.code; + </select> + + <!-- 鏌ヨ椤圭洰淇℃伅 select PROJNAME,* from bs.bs_project WHERE PROJNAME LIKE '${projectName}%' AND PROJNAME IS NOT NULL ; --> + <select id="selectProjectInfo" resultType="java.util.Map"> + select PROJNAME,* from bs.bs_project WHERE dirid LIKE '${projectCode}%' AND PROJNAME IS NOT NULL ; + </select> + + <select id="selectProjectInfo1" resultType="java.util.Map"> + select PROJNAME,* from bs.bs_project + <where> + <if test="projname != null and projname != ''"> and projname like concat('%', #{projectName}, '%')</if> + </where> + AND PROJNAME IS NOT NULL ; + </select> + + <!-- 鏌ヨ椤圭洰鏂囦欢鍒楄〃 --> + <select id="selectProjectFileList" resultType="java.util.Map"> + select name, code,st_astext(b.geom) AS wkt + from lf.sys_dir a inner join bs.bs_project b on a.code = b.dirid + where pid = 0 and id > 1 order by code; + </select> + + <select id="countProjectStorage" resultType="java.util.Map"> + select name, + (select count(b.id) from lf.sys_meta b where dircode similar to '(' || (select string_agg(code, '|') from lf.sys_dir c where c.name = a.name) || ')%') "count", + (select coalesce(sum(b.sizes), 0) from lf.sys_meta b where dircode similar to '(' || (select string_agg(code, '|') from lf.sys_dir c where c.name = a.name) || ')%') "sizes" + from lf.sys_dir a + where code like '${projectCode}%' and name in ('鍩虹娴嬬粯', '鍩虹鍦扮伨', '鍩虹鍕樺療', '鍚堣鏁版嵁', '绠$悊鏁版嵁', '娴嬬粯锛圗SV锛�', '鍕樺療锛圗GE锛�', '鍦扮伨锛圗GD锛�', '娲炲簱锛圗GD锛�') + group by name + order by name; + </select> + + <!-- 鍗曚釜椤圭洰鏂囦欢鏁伴噺--> + <select id="countProjectType" resultType="java.util.Map"> + SELECT a.type, + count(a.type) AS number, + sum(a.sizes) AS capacity + FROM lf.sys_meta a + INNER JOIN lf.sys_dir b ON a.dircode = b.code + WHERE a.dircode LIKE '${projectCode}%' + GROUP BY a.type; + </select> + + <!-- 鍗曚釜椤圭洰鐨勪笅杞戒釜鏁般�佷笅杞芥鏁板拰鏁版嵁閲�--> + <!-- select count(*) "number", sum(c.dcount) "count", sum(c.sizes) "size" + from lf.sys_meta a inner join lf.sys_meta_down b on a.id = b.metaid + inner join lf.sys_download c on b.downid = c.id + where dircode like '${projectCode}%'; --> + <select id="countProjectDown" resultType="java.util.Map"> + select + d.name "椤圭洰鍚嶇О", + (select count(*) "number" + from lf.sys_meta a inner join lf.sys_meta_down b on a.id = b.metaid + inner join lf.sys_download c on b.downid = c.id + where dircode like '${projectCode}%') "涓嬭浇涓暟", + (select sum(c.dcount) "count" + from lf.sys_meta a inner join lf.sys_meta_down b on a.id = b.metaid + inner join lf.sys_download c on b.downid = c.id + where dircode like '${projectCode}%') "涓嬭浇鏁伴噺", + (select sum(c.sizes) "size" + from lf.sys_meta a inner join lf.sys_meta_down b on a.id = b.metaid + inner join lf.sys_download c on b.downid = c.id + where dircode like '${projectCode}%') "鏁伴噺鎬婚噺(MB)" + from lf.sys_dir d + where pid = 0 AND d.code like '${projectCode}%' + </select> + + + + +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/show/PipelineMapper.xml b/src/main/resources/mapper/show/PipelineMapper.xml new file mode 100644 index 0000000..3e67c63 --- /dev/null +++ b/src/main/resources/mapper/show/PipelineMapper.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.show.PipelineMapper"> + <select id="selectPipelines" resultType="com.lf.server.entity.show.PipelineEntity"> + select gid, pipename, segname, ST_AsText(ST_LineMerge(geom)) "wkt" + from bs.m_pipesegment + <where> + pipename is not null and not ST_IsEmpty(geom) + <if test="name != null"> + and (upper(pipename) like #{name} or upper(segname) like #{name}) + </if> + </where> + order by pipename, segname; + </select> + + <select id="selectSegNames" resultType="com.lf.server.entity.show.PipelineEntity"> + select gid, pipename, segname from bs.m_pipesegment order by pipename, segname; + </select> + + <select id="selectPipeAnalysis" resultType="com.lf.server.entity.show.PipelineEntity"> + select row_number() over() as gid, a.name as acrossName, b.segname as segName, b.remarks, b.pipename as pipeName, + cast( st_length( st_geographyfromtext( st_astext( st_intersection(ST_MakeValid(a.geom), ST_MakeValid(b.geom) ) ) ) ) as decimal(12, 2) ) AS acrossLength, + st_astext( st_intersection( ST_MakeValid(a.geom), ST_MakeValid(b.geom) ) ) as wkt + from ${tab} as a, (select segname, remarks, pipename, geom from bs.m_pipesegment where gid = #{gid} ) as b + where ST_Intersects(a.geom, b.geom) + </select> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/show/PublishMapper.xml b/src/main/resources/mapper/show/PublishMapper.xml new file mode 100644 index 0000000..70e49d6 --- /dev/null +++ b/src/main/resources/mapper/show/PublishMapper.xml @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.data.PublishMapper"> + <select id="selectMetasByCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_meta + <where> + ${types} + <if test="depcode != null"> + and depcode like #{depcode} + </if> + <if test="dircode != null"> + and dircode like #{dircode} + </if> + <if test="verid != null"> + and verid = #{verid} + </if> + <if test="name != null"> + and upper(name) like #{name} + </if> + </where> + </select> + + <select id="selectMetasByPage" resultType="com.lf.server.entity.data.MetaEntity"> + select + (select c.url from lf.sys_meta_pub b inner join lf.sys_publish c on b.pubid = c.id where b.metaid = a.id limit 1) "url", + (select ST_AsText(c.geom) from lf.sys_meta_pub b inner join lf.sys_publish c on b.pubid = c.id where b.metaid = a.id limit 1) "geom", + a.*, fn_uname(a.create_user) uname, fn_get_fullname(a.depcode, 1) depName, fn_get_fullname(a.dircode, 2) dirName, fn_ver(a.verid) verName + from lf.sys_meta a + <where> + ${types} + <if test="depcode != null"> + and depcode like #{depcode} + </if> + <if test="dircode != null"> + and dircode like #{dircode} + </if> + <if test="verid != null"> + and verid = #{verid} + </if> + <if test="name != null"> + and upper(name) like #{name} + </if> + </where> + order by id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_publish + <where> + <if test="name != null"> + upper(name) like #{name} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.data.PublishEntity"> + select ST_AsText(geom) "geom", a.*, fn_get_fullname(a.depid, 1) depName, fn_get_fullname(a.dirid, 2) dirName, fn_uname(create_user) createName, fn_uname(update_user) updateName + from lf.sys_publish a + <where> + <if test="name != null"> + upper(name) like #{name} + </if> + </where> + order by id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectAll" resultType="com.lf.server.entity.data.PublishEntity"> + select * from lf.sys_publish order by id desc; + </select> + + <select id="selectById" resultType="com.lf.server.entity.data.PublishEntity"> + select ST_AsText(geom) "geom", a.*, fn_get_fullname(a.depid, 1) depName, fn_get_fullname(a.dirid, 2) dirName, fn_uname(create_user) createName, fn_uname(update_user) updateName + from lf.sys_publish a + where id = #{id} + </select> + + <select id="selectByIds" resultType="com.lf.server.entity.data.PublishEntity"> + select * from lf.sys_publish where id in (${ids}) order by id desc; + </select> + + <insert id="insert" parameterType="com.lf.server.entity.data.PublishEntity"> + insert into lf.sys_publish + (regid,name,url,path,type,status,dirid,depid,min,max,json,create_user,create_time,bak) + values + (#{regid},#{name},#{url},#{path},#{type},#{status},#{dirid},#{depid},#{min},#{max},#{json},#{createUser},now(),#{bak}) + </insert> + + <insert id="insertPubDown"> + insert into lf.sys_pub_down (pubid, downid, create_user) values (#{pubid}, #{downid}, #{createUser}) + </insert> + + <insert id="inserts"> + insert into lf.sys_publish + (regid,name,url,path,type,status,dirid,depid,min,max,json,create_user,create_time,bak) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.regid},#{item.name},#{item.url},#{item.path},#{item.type},#{item.status},#{item.dirid},#{item.depid},#{item.min},#{item.max},#{item.json},#{item.createUser},now(),#{item.bak}) + </foreach> + </insert> + + <delete id="delete"> + delete from lf.sys_publish where id = #{id} + </delete> + + <delete id="deletes"> + delete from lf.sys_publish where id in (${ids}); + delete from lf.sys_layer where pubid in (${ids}); + delete from lf.sys_meta_pub where pubid in (${ids}); + </delete> + + <update id="update"> + update lf.sys_publish + set regid=#{regid},name=#{name},url=#{url},path=#{path},type=#{type},status=#{status},dirid=#{dirid},depid=#{depid},min=#{min},max=#{max},json=#{json},update_user=#{updateUser},update_time=now(),bak=#{bak} + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_publish + <set> + regid=#{item.regid},name=#{item.name},url=#{item.url},path=#{item.path},type=#{item.type},status=#{item.status},dirid=#{item.dirid},depid=#{item.depid},min=#{item.min},max=#{item.max},json=#{item.json},update_user=#{item.updateUser},update_time=now(),bak=#{item.bak} + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/ArgsMapper.xml b/src/main/resources/mapper/sys/ArgsMapper.xml new file mode 100644 index 0000000..7416549 --- /dev/null +++ b/src/main/resources/mapper/sys/ArgsMapper.xml @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.sys.ArgsMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_args + <where> + <if test="name != null"> + upper(name) like #{name} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.sys.ArgsEntity"> + select * from lf.sys_args + <where> + <if test="name != null"> + upper(name) like #{name} + </if> + </where> + order by id + limit #{limit} offset #{offset} + </select> + + <select id="selectAll" resultType="com.lf.server.entity.sys.ArgsEntity"> + select * from lf.sys_args order by id; + </select> + + <select id="selectById" resultType="com.lf.server.entity.sys.ArgsEntity"> + select * from lf.sys_args where id = #{id} + </select> + + <insert id="insert" parameterType="com.lf.server.entity.sys.ArgsEntity"> + insert into lf.sys_args + (name,cvalue,dvalue,descr,create_user,create_time) + values + (#{name},#{cvalue},#{dvalue},#{descr},#{createUser},now()) + </insert> + + <insert id="inserts"> + insert into lf.sys_args + (name,cvalue,dvalue,descr,create_user,create_time) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.name},#{item.cvalue},#{item.dvalue},#{item.descr},#{item.createUser},now()) + </foreach> + </insert> + + <delete id="delete"> + delete from lf.sys_args where id = #{id} + </delete> + + <delete id="deletes"> + delete from lf.sys_args where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="update"> + update lf.sys_args + set name=#{name},cvalue=#{cvalue},dvalue=#{dvalue},descr=#{descr},update_user=#{updateUser},update_time=now() + where id=#{id} + </update> + + <update id="updateForValue"> + update lf.sys_args + set cvalue=#{cvalue},update_user=#{updateUser},update_time=now() + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_args + <set> + name=#{item.name},cvalue=#{item.cvalue},dvalue=#{item.dvalue},descr=#{item.descr},update_user=#{item.updateUser},update_time=now() + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/AttachMapper.xml b/src/main/resources/mapper/sys/AttachMapper.xml new file mode 100644 index 0000000..2b4cc40 --- /dev/null +++ b/src/main/resources/mapper/sys/AttachMapper.xml @@ -0,0 +1,130 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.sys.AttachMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_attach + <where> + <if test="name != null"> + upper(name) like #{name} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.sys.AttachEntity"> + select * from lf.sys_attach + <where> + <if test="name != null"> + upper(name) like #{name} + </if> + </where> + order by id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectAll" resultType="com.lf.server.entity.sys.AttachEntity"> + select * from lf.sys_attach order by id desc; + </select> + + <select id="selectById" resultType="com.lf.server.entity.sys.AttachEntity"> + select * from lf.sys_attach where id = #{id} + </select> + + <select id="selectByGuid" resultType="com.lf.server.entity.sys.AttachEntity"> + select * from lf.sys_attach where guid = #{guid} limit 1 + </select> + + <select id="selectByGuids" resultType="com.lf.server.entity.sys.AttachEntity"> + select * from lf.sys_attach where guid in + <foreach item="guid" collection="guids" index="index" open="(" separator="," close=")"> + #{guid} + </foreach> + </select> + + <select id="selectByTabAndGuid" resultType="com.lf.server.entity.sys.AttachEntity"> + select * from lf.sys_attach where tab = #{tab} and tab_guid = #{tabGuid} and guid = #{guid} limit 1 + </select> + + <select id="selectByTabGuids" resultType="com.lf.server.entity.sys.AttachEntity"> + select * from lf.sys_attach + <where> + tab = #{tab} + <if test="guids != null"> + and tab_guid in + <foreach item="guid" collection="guids" index="index" open="(" separator="," close=")"> + #{guid} + </foreach> + </if> + </where> + </select> + + <select id="selectByTab" resultType="com.lf.server.entity.sys.AttachEntity"> + select * from lf.sys_attach where tab = #{tab} and tab_guid = #{guid} + </select> + + <insert id="insert" parameterType="com.lf.server.entity.sys.AttachEntity"> + insert into lf.sys_attach + (name,tab,tab_guid,guid,path,sizes,create_user,create_time) + values + (#{name},#{tab},#{tabGuid},#{guid},#{path},#{sizes},#{createUser},now()) + </insert> + + <insert id="inserts"> + insert into lf.sys_attach + (name,tab,tab_guid,guid,path,sizes,create_user,create_time) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.name},#{item.tab},#{item.tabGuid},#{item.guid},#{item.path},#{item.sizes},#{item.createUser},now()) + </foreach> + </insert> + + <delete id="delete"> + delete from lf.sys_attach where id = #{id} + </delete> + + <delete id="deletes"> + delete from lf.sys_attach where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="update"> + update lf.sys_attach + set name=#{name},tab=#{tab},tab_guid=#{tabGuid},guid=#{guid},path=#{path},sizes=#{sizes},update_user=#{updateUser},update_time=now() + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_attach + <set> + name=#{item.name},tab=#{item.tab},tab_guid=#{item.tabGuid},guid=#{item.guid},path=#{item.path},sizes=#{item.sizes},update_user=#{item.updateUser},update_time=now() + </set> + where id = #{item.id} + </foreach> + </update> + + <select id="selectFmeLogs" resultType="com.lf.server.entity.data.FmeLogEntity"> + select * from lf.sys_fme_log + where count > 0 and update_time is null and create_time > now()::timestamp + '-5 min' and position(tcdm in '${tabs}') > 0; + </select> + + <update id="updateFmeLog"> + update lf.sys_fme_log set update_time = now() where id = #{id}; + </update> + + <!-- and create_time > now()::timestamp + '-15 min' --> + <insert id="insertAttachByMeta"> + insert into lf.sys_attach (name, guid, path, sizes, create_user, tab, tab_guid) + select name, guid, path, sizes, create_user, #{tab}, #{tabGuid} + from lf.sys_meta + <where> + name = #{metaName} + <if test="dirid != null"> + and dircode like #{dirid} + </if> + </where> + order by id desc + limit 1; + </insert> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/AuthMapper.xml b/src/main/resources/mapper/sys/AuthMapper.xml new file mode 100644 index 0000000..a323b94 --- /dev/null +++ b/src/main/resources/mapper/sys/AuthMapper.xml @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.sys.AuthMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_auth + <where> + <if test="name != null"> + name = #{name} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.sys.AuthEntity"> + select a.*, fn_uname(create_user) createName, fn_uname(update_user) updateName from lf.sys_auth a + <where> + <if test="name != null"> + name = #{name} + </if> + </where> + order by id + limit #{limit} offset #{offset} + </select> + + <select id="selectCountForMenu" resultType="java.lang.Integer"> + select count(a.*) from lf.sys_auth a where not exists (select b.id from lf.sys_menu_auth b + <where> + b.authid = a.id + <if test="menuid != null"> + and b.menuid = #{menuid} + </if> + </where> + ) + </select> + + <select id="selectByPageForMenu" resultType="com.lf.server.entity.sys.AuthEntity"> + select a.*, fn_uname(create_user) createName, fn_uname(update_user) updateName + from lf.sys_auth a where not exists (select b.id from lf.sys_menu_auth b + <where> + b.authid = a.id + <if test="menuid != null"> + and b.menuid = #{menuid} + </if> + </where> + ) + order by a.id + limit #{limit} offset #{offset} + </select> + + <select id="selectAuthAll" resultType="com.lf.server.entity.sys.AuthEntity"> + select a.*, fn_uname(create_user) createName, fn_uname(update_user) updateName + from lf.sys_auth a + order by id + </select> + + <select id="selectAuth" resultType="com.lf.server.entity.sys.AuthEntity"> + select a.*, fn_uname(create_user) createName, fn_uname(update_user) updateName + from lf.sys_auth a + where id = #{id} + </select> + + <insert id="insertAuth" parameterType="com.lf.server.entity.sys.AuthEntity"> + insert into lf.sys_auth + (name,tag,create_user,create_time,bak) + values + (#{name},#{tag},#{createUser},now(),#{bak}); + </insert> + + <insert id="insertAuths"> + insert into lf.sys_auth + (name,tag,create_user,create_time,bak) + values + <foreach collection="list" item="item" index="index" separator="," > + (#{item.name},#{item.tag},#{item.createUser},now(),#{item.bak}) + </foreach> + </insert> + + <delete id="deleteAuth"> + delete from lf.sys_role_menu_auth where menu_auth_id in (select id from lf.sys_menu_auth where authid = #{id}); + delete from lf.sys_menu_auth where authid = #{id}; + delete from lf.sys_auth where id = #{id}; + </delete> + + <delete id="deleteAuths" > + delete from lf.sys_role_menu_auth where menu_auth_id in (select id from lf.sys_menu_auth where authid in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach>); + delete from lf.sys_menu_auth where authid in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach>; + delete from lf.sys_auth where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach>; + </delete> + + <update id="updateAuth"> + update lf.sys_auth set name=#{name},tag=#{tag},update_user=#{id},update_time=now(),bak=#{bak} where id=#{id} + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/BlacklistMapper.xml b/src/main/resources/mapper/sys/BlacklistMapper.xml new file mode 100644 index 0000000..e249adb --- /dev/null +++ b/src/main/resources/mapper/sys/BlacklistMapper.xml @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.sys.BlacklistMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_blacklist + <where> + 1 = 1 + <if test="ip != null"> + and upper(ip) like #{ip} + </if> + <if test="type != null"> + and type = #{type} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.sys.BlacklistEntity"> + select a.*,fn_uname(a.create_user) createName,fn_uname(a.update_user) updateName from lf.sys_blacklist a + <where> + 1 = 1 + <if test="ip != null"> + and upper(a.ip) like #{ip} + </if> + <if test="type != null"> + and a.type = #{type} + </if> + </where> + order by a.id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectAll" resultType="com.lf.server.entity.sys.BlacklistEntity"> + select a.*,fn_uname(a.create_user) createName,fn_uname(a.update_user) updateName from lf.sys_blacklist a order by a.id desc + </select> + + <select id="selectById" resultType="com.lf.server.entity.sys.BlacklistEntity"> + select a.*,fn_uname(a.create_user) createName,fn_uname(a.update_user) updateName from lf.sys_blacklist a where a.id = #{id} + </select> + + <select id="selectIpList" resultType="java.lang.String"> + select ip from lf.sys_blacklist where type = #{type} + </select> + + <insert id="insert" parameterType="com.lf.server.entity.sys.BlacklistEntity"> + insert into lf.sys_blacklist + (ip,type,visit,descr,create_user,create_time) + values + (#{ip},#{type},#{visit},#{descr},#{createUser},now()) + </insert> + + <insert id="inserts"> + insert into lf.sys_blacklist + (ip,type,visit,descr,create_user,create_time) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.ip},#{item.type},#{item.visit},#{item.descr},#{item.createUser},now()) + </foreach> + </insert> + + <delete id="delete"> + delete from lf.sys_blacklist where id = #{id} + </delete> + + <delete id="deletes"> + delete from lf.sys_blacklist where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="update"> + update lf.sys_blacklist + set ip=#{ip},type=#{type},visit=#{visit},descr=#{descr},update_user=#{updateUser},update_time=now() + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_blacklist + <set> + ip=#{item.ip},type=#{item.type},visit=#{item.visit},descr=#{item.descr},update_user=#{item.updateUser},update_time=now() + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/DepMapper.xml b/src/main/resources/mapper/sys/DepMapper.xml new file mode 100644 index 0000000..a784c83 --- /dev/null +++ b/src/main/resources/mapper/sys/DepMapper.xml @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.sys.DepMapper"> + <resultMap id="resultMap" type="com.lf.server.entity.sys.DepEntity"> + <id property="id" column="id"></id> + <result property="orderNum" column="order_num"></result> + <result property="createUser" column="create_user"></result> + <result property="createTime" column="create_time"></result> + <result property="updateUser" column="update_user"></result> + <result property="updateTime" column="update_time"></result> + </resultMap> + <select id="selectDepAll" resultMap="resultMap" resultType="com.lf.server.entity.sys.DepEntity"> + select * from lf.sys_dep order by order_num; + </select> + + <select id="selectDepRecursive" resultMap="resultMap" resultType="com.lf.server.entity.sys.DepEntity"> + with recursive rs as( + select * from lf.sys_dep where name=#{name} + union + select a.* from lf.sys_dep a, rs b where a.pid=b.id + ) + select * FROM rs order by order_num; + </select> + + <select id="selectDep" resultMap="resultMap" resultType="com.lf.server.entity.sys.DepEntity"> + select * from lf.sys_dep where id = #{id} + </select> + + <select id="selectDepsByCodes" resultType="com.lf.server.entity.ctrl.IdNameEntity"> + select id "id",fn_get_fullname(code, 1) "name" from lf.sys_dep where code in + <foreach item="code" collection="codes" index="index" open="(" separator="," close=")"> + #{code} + </foreach> + </select> + + <insert id="insertDep" parameterType="com.lf.server.entity.sys.DepEntity"> + insert into lf.sys_dep + (pid,name,sname,code,uncode,addr,contact,fax,email,post,website,level,order_num,create_user,create_time,bak) + values + (#{pid},#{name},#{sname},#{code},#{uncode},#{addr},#{contact},#{fax},#{email},#{post},#{website}, + #{level},#{orderNum},#{createUser},now(),#{bak}); + </insert> + + <insert id="insertDeps"> + insert into lf.sys_dep + (pid,name,sname,code,uncode,addr,contact,fax,email,post,website,level,order_num,create_user,create_time,bak) + values + <foreach collection="list" item="item" index="index" separator="," > + (#{item.pid},#{item.name},#{item.sname},#{item.code},#{item.uncode},#{item.addr},#{item.contact},#{item.fax}, + #{item.email},#{item.post},#{item.website},#{item.level},#{item.orderNum},#{item.createUser},now(),#{item.bak}) + </foreach> + </insert> + + <delete id="deleteDep"> + delete from lf.sys_dep where id = #{id} + </delete> + + <delete id="deleteDeps"> + delete from lf.sys_dep where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="updateDep"> + update lf.sys_dep set pid=#{pid},name=#{name},sname=#{sname},code=#{code},uncode=#{uncode},addr=#{addr},contact=#{contact},fax=#{fax}, + email=#{email},post=#{post},website=#{website},level=#{level},order_num =#{orderNum},update_user=#{updateUser},update_time=now(),bak=#{bak} + where id=#{id} + </update> + + <update id="updateDeps"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_dep + <set> + pid=#{item.pid},name=#{item.name},sname=#{item.sname},code=#{item.code},uncode=#{item.uncode},addr=#{item.addr},contact=#{item.contact}, + fax=#{item.fax},email=#{item.email},post=#{item.post},website=#{item.website},level=#{item.level},order_num=#{item.orderNum}, + update_user=#{item.updateUser},update_time=now(),bak=#{item.bak} + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/DownlogMapper.xml b/src/main/resources/mapper/sys/DownlogMapper.xml new file mode 100644 index 0000000..3eb448d --- /dev/null +++ b/src/main/resources/mapper/sys/DownlogMapper.xml @@ -0,0 +1,96 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.sys.DownlogMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_downlog a inner join lf.sys_user b on a.create_user = b.id + inner join lf.sys_download c on a.downid = c.id + <where> + 1 = 1 + <if test="uname != null"> + and upper(b.uname) like #{uname} + </if> + <if test="type != null"> + and c.type = #{type} + </if> + <if test="start != null"> + and a.create_time >= #{start} + </if> + <if test="end != null"> + and a.create_time <= #{end} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.sys.DownlogEntity"> + select a.*,b.uname,c.name,c.type,c.sizes from lf.sys_downlog a inner join lf.sys_user b on a.create_user = b.id + inner join lf.sys_download c on a.downid = c.id + <where> + 1 = 1 + <if test="uname != null"> + and upper(b.uname) like #{uname} + </if> + <if test="type != null"> + and c.type = #{type} + </if> + <if test="start != null"> + and a.create_time >= #{start} + </if> + <if test="end != null"> + and a.create_time <= #{end} + </if> + </where> + order by id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectAll" resultType="com.lf.server.entity.sys.DownlogEntity"> + select * from lf.sys_downlog order by id desc + </select> + + <select id="selectById" resultType="com.lf.server.entity.sys.DownlogEntity"> + select * from lf.sys_downlog where id = #{id} + </select> + + <insert id="insert" parameterType="com.lf.server.entity.sys.DownlogEntity"> + insert into lf.sys_downlog + (downid,ip,create_user,create_time) + values + (#{downid},#{ip},#{createUser},now()) + </insert> + + <insert id="inserts"> + insert into lf.sys_downlog + (downid,ip,create_user,create_time) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.downid},#{item.ip},#{item.createUser},now()) + </foreach> + </insert> + + <delete id="delete"> + delete from lf.sys_downlog where id = #{id} + </delete> + + <delete id="deletes"> + delete from lf.sys_downlog where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="update"> + update lf.sys_downlog + set downid=#{downid},ip=#{ip},update_user=#{updateUser},update_time=now() + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_downlog + <set> + downid=#{item.downid},ip=#{item.ip},update_user=#{item.updateUser},update_time=now() + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/LoginMapper.xml b/src/main/resources/mapper/sys/LoginMapper.xml new file mode 100644 index 0000000..4f96ef3 --- /dev/null +++ b/src/main/resources/mapper/sys/LoginMapper.xml @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.sys.LoginMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_login a inner join lf.sys_user b on a.userid = b.id + <where> + 1 = 1 + <if test="uname != null"> + and upper(b.uname) like #{uname} + </if> + <if test="type != null"> + and a.type = #{type} + </if> + <if test="start != null"> + and a.optime >= #{start} + </if> + <if test="end != null"> + and a.optime <= #{end} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.sys.LoginEntity"> + select a.*,b.uname from lf.sys_login a inner join lf.sys_user b on a.userid = b.id + <where> + 1 = 1 + <if test="uname != null"> + and upper(b.uname) like #{uname} + </if> + <if test="type != null"> + and a.type = #{type} + </if> + <if test="start != null"> + and a.optime >= #{start} + </if> + <if test="end != null"> + and a.optime <= #{end} + </if> + </where> + order by a.id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectLoginAll" resultType="com.lf.server.entity.sys.LoginEntity"> + select * from lf.sys_login order by id desc + </select> + + <select id="selectLogin" resultType="com.lf.server.entity.sys.LoginEntity"> + select * from lf.sys_login where id = #{id} + </select> + + <insert id="insertLogin" parameterType="com.lf.server.entity.sys.LoginEntity"> + <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id"> + select currval('lf.sys_login_id_seq'::regclass) as id + </selectKey> + + insert into lf.sys_login + (appid,ip,type,status,descr,userid,optime) + values + (#{appid},#{ip},#{type},#{status},#{descr},#{userid},now()); + </insert> + + <insert id="insertLogins"> + insert into lf.sys_login + (appid,ip,type,status,descr,userid,optime) + values + <foreach collection="list" item="item" index="index" separator="," > + (#{item.appid},#{item.ip},#{item.type},#{item.status},#{item.descr},#{item.userid},now()) + </foreach> + </insert> + + <delete id="deleteLogin"> + delete from lf.sys_login where id = #{id} + </delete> + + <delete id="deleteLogins"> + delete from lf.sys_login where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="updateLogin"> + update lf.sys_login set appid=#{appid},ip=#{ip},type=#{type},status=#{status},descr=#{descr},userid=#{userid},optime=now() where id=#{id} + </update> + + <select id="selectLoginCounts" resultType="com.lf.server.entity.sys.LoginEntity"> + select to_char(optime,'yyyy-mm-dd') as optime,count(*) from lf.sys_login where optime between (select optime - interval '30 day') + and optime group by to_char(optime, 'yyyy-mm-dd') order by to_char(optime, 'yyyy-mm-dd') asc + </select> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/MenuAuthMapper.xml b/src/main/resources/mapper/sys/MenuAuthMapper.xml new file mode 100644 index 0000000..f08a442 --- /dev/null +++ b/src/main/resources/mapper/sys/MenuAuthMapper.xml @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.sys.MenuAuthMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_menu_auth + <where> + <if test="menuid != null"> + menuid = #{menuid} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.sys.MenuAuthEntity"> + select a.*,b.name as authName from lf.sys_menu_auth a inner join lf.sys_auth b + on a.authid = b.id + <where> + <if test="menuid != null"> + a.menuid = #{menuid} + </if> + </where> + order by id + limit #{limit} offset #{offset} + </select> + + <select id="selectCountForRole" resultType="java.lang.Integer"> + select count(a.id) from lf.sys_menu_auth a inner join lf.sys_auth c on a.authid = c.id + where not exists (select b.id from lf.sys_role_menu_auth b where b.menu_auth_id = a.id + <if test="roleid != null"> + and b.roleid = #{roleid} + </if> + ) + <if test="menuid != null"> + and a.menuid = #{menuid} + </if> + </select> + + <select id="selectByPageForRole" resultType="com.lf.server.entity.sys.MenuAuthEntity"> + select a.*,c.name from lf.sys_menu_auth a inner join lf.sys_auth c on a.authid = c.id + where not exists (select b.id from lf.sys_role_menu_auth b where b.menu_auth_id = a.id + <if test="roleid != null"> + and b.roleid = #{roleid} + </if> + ) + <if test="menuid != null"> + and a.menuid = #{menuid} + </if> + order by c.id + limit #{limit} offset #{offset} + </select> + + <select id="selectAll" resultType="com.lf.server.entity.sys.MenuAuthEntity"> + select * from lf.sys_menu_auth order by id; + </select> + + <select id="selectById" resultType="com.lf.server.entity.sys.MenuAuthEntity"> + select * from lf.sys_menu_auth where id = #{id} + </select> + + <insert id="insert" parameterType="com.lf.server.entity.sys.MenuAuthEntity"> + insert into lf.sys_menu_auth + (menuid,authid,create_user,create_time) + values + (#{menuid},#{authid},#{createUser},now()) + </insert> + + <insert id="inserts"> + insert into lf.sys_menu_auth + (menuid,authid,create_user,create_time) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.menuid},#{item.authid},#{item.createUser},now()) + </foreach> + </insert> + + <delete id="delete"> + delete from lf.sys_menu_auth where id = #{id} + </delete> + + <delete id="deletes"> + delete from lf.sys_menu_auth where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="update"> + update lf.sys_menu_auth + set menuid=#{menuid},authid=#{authid},update_user=#{updateUser},update_time=now() + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_menu_auth + <set> + menuid=#{item.menuid},authid=#{item.authid},update_user=#{item.updateUser},update_time=now() + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/MenuMapper.xml b/src/main/resources/mapper/sys/MenuMapper.xml new file mode 100644 index 0000000..24ab186 --- /dev/null +++ b/src/main/resources/mapper/sys/MenuMapper.xml @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.sys.MenuMapper"> + <resultMap id="resultMap" type="com.lf.server.entity.sys.MenuEntity"> + <id property="id" column="id"></id> + <result property="cnName" column="cn_name"></result> + <result property="enName" column="en_name"></result> + <result property="orderNum" column="order_num"></result> + <result property="isShow" column="is_show"></result> + <result property="createUser" column="create_user"></result> + <result property="createTime" column="create_time"></result> + <result property="updateUser" column="update_user"></result> + <result property="updateTime" column="update_time"></result> + </resultMap> + <select id="selectMenuAll" resultMap="resultMap" resultType="com.lf.server.entity.sys.MenuEntity"> + select * from lf.sys_menu order by order_num; + </select> + + <select id="selectMenuRecursive" resultMap="resultMap" resultType="com.lf.server.entity.sys.MenuEntity"> + with recursive rs as( + select * from lf.sys_menu where cn_name=#{name} + union + select a.* from lf.sys_menu a, rs b where a.pid=b.id + ) + select * FROM rs order by order_num; + </select> + + <select id="selectMenu" resultMap="resultMap" resultType="com.lf.server.entity.sys.MenuEntity"> + select * from lf.sys_menu where id = #{id} + </select> + + <insert id="insertMenu" parameterType="com.lf.server.entity.sys.MenuEntity"> + insert into lf.sys_menu + (pid,cn_name,en_name,url,perms,type,css,icon,level,order_num,is_show, create_user,create_time,bak) + values + (#{pid},#{cnName},#{enName},#{url},#{perms},#{type},#{css},#{icon},#{level},#{orderNum},#{isShow},#{createUser},now(),#{bak}); + </insert> + + <insert id="insertMenus"> + insert into lf.sys_menu + (pid,cn_name,en_name,url,perms,type,css,icon,level,order_num,is_show, + create_user,create_time,bak) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.pid},#{item.cnName},#{item.enName},#{item.url},#{item.perms},#{item.type},#{item.css},#{item.icon},#{item.level}, + #{item.orderNum},#{item.isShow},#{item.createUser},now(),#{item.bak}) + </foreach> + </insert> + + <delete id="deleteMenu"> + delete from lf.sys_role_menu_auth where menu_auth_id in (select id from lf.sys_menu_auth where menuid = #{id}); + delete from lf.sys_menu_auth where menuid = #{id}; + delete from lf.sys_menu where id = #{id}; + </delete> + + <delete id="deleteMenus"> + delete from lf.sys_role_menu_auth where menu_auth_id in (select id from lf.sys_menu_auth where authid in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach>); + delete from lf.sys_menu_auth where menuid in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach>; + delete from lf.sys_menu where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach>; + </delete> + + <update id="updateMenu"> + update lf.sys_menu set pid=#{pid},cn_name=#{cnName},en_name=#{enName},url=#{url},perms=#{perms},type=#{type},css=#{css},icon=#{icon},level=#{level}, + order_num=#{orderNum},is_show=#{isShow},update_user=#{updateUser},update_time=now(),bak=#{bak} where id=#{id} + </update> + + <update id="updateMenus"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_menu + <set> + pid=#{item.pid},cn_name=#{item.cnName},en_name=#{item.enName},url=#{item.url},perms=#{item.perms},type=#{item.type}, + css=#{item.css},icon=#{item.icon},level=#{item.level},order_num=#{item.orderNum},is_show=#{item.isShow},update_user=#{item.updateUser}, + update_time=now(),bak=#{item.bak} + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/MetaDownMapper.xml b/src/main/resources/mapper/sys/MetaDownMapper.xml new file mode 100644 index 0000000..c64a5e2 --- /dev/null +++ b/src/main/resources/mapper/sys/MetaDownMapper.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.sys.MetaDownMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_meta_down + <where> + <if test="metaid != null"> + metaid = #{metaid} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.sys.MetaDownEntity"> + select * from lf.sys_meta_down + <where> + <if test="metaid != null"> + metaid = #{metaid} + </if> + </where> + order by id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectAll" resultType="com.lf.server.entity.sys.MetaDownEntity"> + select * from lf.sys_meta_down order by id desc; + </select> + + <select id="selectById" resultType="com.lf.server.entity.sys.MetaDownEntity"> + select * from lf.sys_meta_down where id = #{id} + </select> + + <insert id="insert" parameterType="com.lf.server.entity.sys.MetaDownEntity"> + insert into lf.sys_meta_down + (metaid,downid,create_user,create_time) + values + (#{metaid},#{downid},#{createUser},now()) + </insert> + + <insert id="inserts"> + insert into lf.sys_meta_down + (metaid,downid,create_user,create_time) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.metaid},#{item.downid},#{item.createUser},now()) + </foreach> + </insert> + + <delete id="delete"> + delete from lf.sys_meta_down where id = #{id} + </delete> + + <delete id="deletes"> + delete from lf.sys_meta_down where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="update"> + update lf.sys_meta_down + set metaid=#{metaid},downid=#{downid} + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_meta_down + <set> + metaid=#{item.metaid},downid=#{item.downid} + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/OperateMapper.xml b/src/main/resources/mapper/sys/OperateMapper.xml new file mode 100644 index 0000000..8dd6cc6 --- /dev/null +++ b/src/main/resources/mapper/sys/OperateMapper.xml @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.sys.OperateMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_operate a inner join lf.sys_user b on a.userid = b.id + <where> + 1 = 1 + <if test="uname != null"> + and upper(b.uname) like #{uname} + </if> + <if test="type != null"> + and a.type = #{type} + </if> + <if test="start != null"> + and a.optime >= #{start} + </if> + <if test="end != null"> + and a.optime <= #{end} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.sys.OperateEntity"> + select a.*,b.uname from lf.sys_operate a inner join lf.sys_user b on a.userid = b.id + <where> + 1 = 1 + <if test="uname != null"> + and upper(b.uname) like #{uname} + </if> + <if test="type != null"> + and a.type = #{type} + </if> + <if test="start != null"> + and a.optime >= #{start} + </if> + <if test="end != null"> + and a.optime <= #{end} + </if> + </where> + order by a.id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectOperateAll" resultType="com.lf.server.entity.sys.OperateEntity"> + select * from lf.sys_operate order by id desc + </select> + + <select id="selectOperate" resultType="com.lf.server.entity.sys.OperateEntity"> + select * from lf.sys_operate where id = #{id} + </select> + + <insert id="insertOperate" parameterType="com.lf.server.entity.sys.OperateEntity"> + insert into lf.sys_operate + (modular1,modular2,url,ip,exec,clazz,type,userid,optime,bak) + values + (#{modular1},#{modular2},#{url},#{ip},#{exec},#{clazz},#{type},#{userid},now(),#{bak}); + </insert> + + <insert id="insertOperates"> + insert into lf.sys_operate (modular1,modular2,url,ip,exec,clazz,type,userid,optime,bak) values + <foreach collection="list" item="item" index="index" separator="," > + (#{modular1},#{modular2},#{url},#{ip},#{exec},#{clazz},#{type},#{userid},now(),#{bak}) + </foreach> + </insert> + + <delete id="deleteOperate"> + delete from lf.sys_operate where id = #{id} + </delete> + + <delete id="deleteOperates"> + delete from lf.sys_operate where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="updateOperate"> + update lf.sys_operate set modular1=#{modular1},modular2=#{modular2},url=#{url},ip=#{ip},exec=#{exec},clazz=#{clazz},type=#{type},userid=#{userid},optime=now(),bak=#{bak} where id=#{id} + </update> + + <select id="operateCount" resultType="com.lf.server.entity.sys.OperateEntity"> + select modular2,count(*) from lf.sys_operate group by modular2 + </select> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/ReportMapper.xml b/src/main/resources/mapper/sys/ReportMapper.xml new file mode 100644 index 0000000..93e50bc --- /dev/null +++ b/src/main/resources/mapper/sys/ReportMapper.xml @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.sys.ReportMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_report + <where> + <if test="name != null"> + upper(name) like #{name} + </if> + <if test="code != null"> + code = #{code} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.sys.ReportEntity"> + select a.*,fn_uname(a.create_user) createName,fn_uname(a.update_user) updateName from lf.sys_report a + <where> + <if test="name != null"> + upper(name) like #{name} + </if> + <if test="code != null"> + code = #{code} + </if> + </where> + order by a.id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectAll" resultType="com.lf.server.entity.sys.ReportEntity"> + select * from lf.sys_report order by id desc; + </select> + + <select id="selectById" resultType="com.lf.server.entity.sys.ReportEntity"> + select * from lf.sys_report where id = #{id} + </select> + + <insert id="insert" parameterType="com.lf.server.entity.sys.ReportEntity"> + insert into lf.sys_report + (name,type,fname,guid,code,create_user,create_time,bak) + values + (#{name},#{type},#{fname},#{guid},#{code},#{createUser},now(),#{bak}) + </insert> + + <insert id="inserts"> + insert into lf.sys_report + (name,type,fname,guid,code,create_user,create_time,bak) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.name},#{item.type},#{item.fname},#{item.guid},#{item.code},#{item.createUser},now(),#{item.bak}) + </foreach> + </insert> + + <delete id="delete"> + delete from lf.sys_report where id = #{id} + </delete> + + <delete id="deletes"> + delete from lf.sys_report where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="update"> + update lf.sys_report + set name=#{name},type=#{type},fname=#{fname},guid=#{guid},code=#{code},update_user=#{updateUser},update_time=now(),bak=#{bak} + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_report + <set> + name=#{item.name},type=#{item.type},fname=#{item.fname},guid=#{item.guid},code=#{item.code},update_user=#{item.updateUser},update_time=now(),bak=#{item.bak} + </set> + where id = #{item.id} + </foreach> + </update> + + <!-- 鏁版嵁閲忕粺璁� --> + <select id="countSizes" resultType="com.lf.server.entity.ctrl.CountEntity"> + select fn_get_fullname(depcode, 1) "m1", cast(sum(sizes) as decimal(18, 3)) "sizes" + from lf.sys_meta + group by depcode + order by depcode; + </select> + + <!-- 鏈嶅姟璋冪敤閲忕粺璁� --> + <select id="countServices" resultType="com.lf.server.entity.ctrl.CountEntity"> + select name "m1", count(*) "count" + from lf.sys_serve_log + group by name + order by name; + </select> + + <!-- 鐢ㄦ埛娴侀噺缁熻 --> + <select id="countOperates" resultType="com.lf.server.entity.ctrl.CountEntity"> + select modular1 "m1", modular2 "m2", count(*) "count" + from lf.sys_operate + group by modular1,modular2 + order by modular1 desc,modular2; + </select> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/ResMapper.xml b/src/main/resources/mapper/sys/ResMapper.xml new file mode 100644 index 0000000..ee92178 --- /dev/null +++ b/src/main/resources/mapper/sys/ResMapper.xml @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.sys.ResMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_res + <where> + <if test="name != null"> + upper(name) like #{name} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.sys.ResEntity"> + select a.*,fn_rec_query(a.depid, 'dep') depName,fn_rec_query(a.dirid, 'dir') dirName,fn_uname(a.create_user) createName,fn_uname(a.update_user) updateName from lf.sys_res a + <where> + <if test="name != null"> + upper(a.name) like #{name} + </if> + </where> + order by a.id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectCountForRole" resultType="java.lang.Integer"> + select count(a.*) from lf.sys_res a where not exists (select b.id from lf.sys_role_res b + <where> + b.resid = a.id + <if test="roleid != null"> + and b.roleid = #{roleid} + </if> + </where> + ) + </select> + + <select id="selectByPageForRole" resultType="com.lf.server.entity.sys.ResEntity"> + select a.* from lf.sys_res a where not exists (select b.id from lf.sys_role_res b + <where> + b.resid = a.id + <if test="roleid != null"> + and b.roleid = #{roleid} + </if> + </where> + ) + order by a.id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectResAll" resultType="com.lf.server.entity.sys.ResEntity"> + select * from lf.sys_res order by id desc + </select> + + <select id="selectRes" resultType="com.lf.server.entity.sys.ResEntity"> + select * from lf.sys_res where id = #{id} + </select> + + <insert id="insertRes" parameterType="com.lf.server.entity.data.DictEntity"> + insert into lf.sys_res + (name,server,source,depid,dirid,code,descr,img,create_user,create_time,bak) + values + (#{name},#{server},#{source},#{depid},#{dirid},#{code},#{descr},#{img},#{createUser},now(),#{bak}); + </insert> + + <insert id="insertRess"> + insert into lf.sys_res + (name,server,source,depid,dirid,code,descr,img,create_user,create_time,bak) + values + <foreach collection="list" item="item" index="index" separator=","> + #{item.name},#{item.server},#{item.source},#{item.depid},#{item.dirid},#{item.code},#{item.descr},#{item.img},#{item.createUser},now(),#{item.bak}) + </foreach> + </insert> + + <delete id="deleteRes"> + delete from lf.sys_role_res where resid = #{id}; + delete from lf.sys_res where id = #{id}; + </delete> + + <delete id="deleteRess"> + delete from lf.sys_role_res where resid in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach>; + delete from lf.sys_res where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach>; + </delete> + + <update id="updateRes"> + update lf.sys_res set name=#{name},server=#{server},source=#{source},depid=#{depid},dirid=#{dirid},code=#{code},descr=#{descr},img=#{img}, + update_user=#{updateUser},update_time=now(),bak=#{bak} where id=#{id} + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/ResOpMapper.xml b/src/main/resources/mapper/sys/ResOpMapper.xml new file mode 100644 index 0000000..da98015 --- /dev/null +++ b/src/main/resources/mapper/sys/ResOpMapper.xml @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.sys.ResOpMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_res_op a inner join lf.sys_user b on a.userid = b.id inner join lf.sys_res c on a.resid=c.id + <where> + 1 = 1 + <if test="name != null"> + and upper(c.name) like #{name} + </if> + <if test="type != null"> + and a.type = #{type} + </if> + <if test="start != null"> + and a.optime >= #{start} + </if> + <if test="end != null"> + and a.optime <= #{end} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.sys.ResOpEntity"> + select a.*,b.uname,c.name from lf.sys_res_op a inner join lf.sys_user b on a.userid = b.id inner join lf.sys_res c on a.resid=c.id + <where> + 1 = 1 + <if test="name != null"> + and upper(c.name) like #{name} + </if> + <if test="type != null"> + and a.type = #{type} + </if> + <if test="start != null"> + and a.optime >= #{start} + </if> + <if test="end != null"> + and a.optime <= #{end} + </if> + </where> + order by a.id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectResOpAll" resultType="com.lf.server.entity.sys.ResOpEntity"> + select * from lf.sys_res_op order by id desc; + </select> + + <select id="selectResOp" resultType="com.lf.server.entity.sys.ResOpEntity"> + select * from lf.sys_res_op where id = #{id} + </select> + + <insert id="insertResOp" parameterType="com.lf.server.entity.sys.ResOpEntity"> + insert into lf.sys_res_op + (resid,type,ip,userid,optime) + values + (#{resid},#{type},#{ip},#{userid},now()); + </insert> + + <insert id="insertResOps"> + insert into lf.sys_res_op + (resid,type,ip,userid,optime) + values + <foreach collection="list" item="item" index="index" separator="," > + (#{item.resid},#{item.type},#{item.ip},#{item.userid},now()); + </foreach> + </insert> + + <delete id="deleteResOp"> + delete from lf.sys_res_op where id = #{id} + </delete> + + <delete id="deleteResOps"> + delete from lf.sys_res_op where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="updateResOp"> + update lf.sys_res_op set resid=#{resid},type=#{type},ip=#{ip},userid=#{userid},optime=now() where id=#{id} + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/RoleMapper.xml b/src/main/resources/mapper/sys/RoleMapper.xml new file mode 100644 index 0000000..34d6b54 --- /dev/null +++ b/src/main/resources/mapper/sys/RoleMapper.xml @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.sys.RoleMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_role a + <where> + 1=1 + <if test="name != null"> + and upper(a.name) like #{name} + </if> + <if test="depid != null"> + and a.depid = #{depid} + </if> + </where> + </select> + + <!-- 鍒嗛〉鏌ヨ --> + <select id="selectByPage" resultType="com.lf.server.entity.sys.RoleEntity"> + select a.*,fn_rec_query(a.depid, 'dep') depName,fn_uname(a.create_user) createName,fn_uname(a.update_user) updateName from lf.sys_role a + <where> + 1=1 + <if test="name != null"> + and upper(a.name) like #{name} + </if> + <if test="depid != null"> + and a.depid = #{depid} + </if> + </where> + order by a.id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectRoleAll" resultType="com.lf.server.entity.sys.RoleEntity"> + select a.*,fn_rec_query(a.depid, 'dep') depName,fn_uname(a.create_user) createName,fn_uname(a.update_user) updateName from lf.sys_role a order by a.id desc + </select> + + <select id="selectRole" resultType="com.lf.server.entity.sys.RoleEntity"> + select a.*,fn_rec_query(a.depid, 'dep') depName,fn_uname(a.create_user) createName,fn_uname(a.update_user) updateName from lf.sys_role a where a.id = #{id} + </select> + + <insert id="insertRole" parameterType="com.lf.server.entity.sys.RoleEntity"> + insert into lf.sys_role + (depid,name,descr,is_admin,create_user,create_time,bak) + values + (#{depid},#{name},#{descr},#{isAdmin},#{createUser},now(),#{bak}) + </insert> + + <insert id="insertRoles"> + insert into lf.sys_role + (depid,name,descr,is_admin,create_user,create_time,bak) + values + <foreach collection="list" item="item" index="index" separator="," > + (#{item.depid},#{item.name},#{item.descr},#{item.isAdmin},#{item.createUser},now(),#{item.bak}) + </foreach> + </insert> + + <delete id="deleteRole"> + delete from lf.sys_role_user where roleid = #{id}; + delete from lf.sys_role_res where roleid = #{id}; + delete from lf.sys_role_menu_auth where roleid = #{id}; + delete from lf.sys_role where id = #{id}; + </delete> + + <delete id="deleteRoles"> + delete from lf.sys_role_user where roleid in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach>; + delete from lf.sys_role_res where roleid in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach>; + delete from lf.sys_role_menu_auth where roleid in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach>; + delete from lf.sys_role where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach>; + </delete> + + <update id="updateRole"> + update lf.sys_role set depid=#{depid},name=#{name},descr=#{descr},is_admin=#{isAdmin},update_user=#{id},update_time=now(),bak=#{bak} where id=#{id} + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/RoleMenuAuthMapper.xml b/src/main/resources/mapper/sys/RoleMenuAuthMapper.xml new file mode 100644 index 0000000..78a6637 --- /dev/null +++ b/src/main/resources/mapper/sys/RoleMenuAuthMapper.xml @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.sys.RoleMenuAuthMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_role_menu_auth + <where> + <if test="roleid != null"> + roleid = #{roleid} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.sys.RoleMenuAuthEntity"> + select * from lf.sys_role_menu_auth + <where> + <if test="roleid != null"> + roleid = #{roleid} + </if> + </where> + order by id + limit #{limit} offset #{offset} + </select> + + <select id="selectCountForRole" resultType="java.lang.Integer"> + select count(a.id) from lf.sys_role_menu_auth a inner join lf.sys_menu_auth b on a.menu_auth_id = b.id inner join lf.sys_auth c on b.authid = c.id + <where> + 1 = 1 + <if test="roleid != null"> + and a.roleid = #{roleid} + </if> + <if test="menuid != null"> + and b.menuid = #{menuid} + </if> + </where> + </select> + + <select id="selectByPageForRole" resultType="com.lf.server.entity.sys.RoleMenuAuthEntity"> + select a.*,b.menuid,c.name from lf.sys_role_menu_auth a inner join lf.sys_menu_auth b on a.menu_auth_id = b.id inner join lf.sys_auth c on b.authid = c.id + <where> + 1 = 1 + <if test="roleid != null"> + and a.roleid = #{roleid} + </if> + <if test="menuid != null"> + and b.menuid = #{menuid} + </if> + </where> + order by c.id + limit #{limit} offset #{offset} + </select> + + <select id="selectAll" resultType="com.lf.server.entity.sys.RoleMenuAuthEntity"> + select * from lf.sys_role_menu_auth order by id; + </select> + + <select id="selectById" resultType="com.lf.server.entity.sys.RoleMenuAuthEntity"> + select * from lf.sys_role_menu_auth where id = #{id} + </select> + + <insert id="insert" parameterType="com.lf.server.entity.sys.RoleMenuAuthEntity"> + insert into lf.sys_role_menu_auth + (roleid,menu_auth_id,create_user,create_time) + values + (#{roleid},#{menuAuthId},#{createUser},now()) + </insert> + + <insert id="inserts"> + insert into lf.sys_role_menu_auth + (roleid,menu_auth_id,create_user,create_time) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.roleid},#{item.menuAuthId},#{item.createUser},now()) + </foreach> + </insert> + + <delete id="delete"> + delete from lf.sys_role_menu_auth where id = #{id} + </delete> + + <delete id="deletes"> + delete from lf.sys_role_menu_auth where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="update"> + update lf.sys_role_menu_auth + set roleid=#{roleid},menu_auth_id=#{menuAuthId},update_user=#{updateUser},update_time=now() + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_role_menu_auth + <set> + roleid=#{item.roleid},menu_auth_id=#{item.menuAuthId},update_user=#{item.updateUser},update_time=now() + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/RoleResMapper.xml b/src/main/resources/mapper/sys/RoleResMapper.xml new file mode 100644 index 0000000..b34f830 --- /dev/null +++ b/src/main/resources/mapper/sys/RoleResMapper.xml @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.sys.RoleResMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_role_res + <where> + <if test="roleid != null"> + roleid = #{roleid} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.sys.RoleResEntity"> + select a.*,b.name as resName from lf.sys_role_res a inner join lf.sys_res b + on a.resid = b.id + <where> + <if test="roleid != null"> + a.roleid = #{roleid} + </if> + </where> + order by id + limit #{limit} offset #{offset} + </select> + + <select id="selectAll" resultType="com.lf.server.entity.sys.RoleResEntity"> + select * from lf.sys_role_res order by id; + </select> + + <select id="selectById" resultType="com.lf.server.entity.sys.RoleResEntity"> + select * from lf.sys_role_res where id = #{id} + </select> + + <insert id="insert" parameterType="com.lf.server.entity.sys.RoleResEntity"> + insert into lf.sys_role_res + (roleid,resid,create_user,create_time) + values + (#{roleid},#{resid},#{createUser},now()) + </insert> + + <insert id="inserts"> + insert into lf.sys_role_res + (roleid,resid,create_user,create_time) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.roleid},#{item.resid},#{item.createUser},now()) + </foreach> + </insert> + + <delete id="delete"> + delete from lf.sys_role_res where id = #{id} + </delete> + + <delete id="deletes"> + delete from lf.sys_role_res where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="update"> + update lf.sys_role_res + set roleid=#{roleid},resid=#{resid},update_user=#{updateUser},update_time=now() + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_role_res + <set> + roleid=#{item.roleid},resid=#{item.resid},update_user=#{item.updateUser},update_time=now() + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/RoleUserMapper.xml b/src/main/resources/mapper/sys/RoleUserMapper.xml new file mode 100644 index 0000000..6beaf45 --- /dev/null +++ b/src/main/resources/mapper/sys/RoleUserMapper.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.sys.RoleUserMapper"> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_role_user a + <where> + <if test="roleid != null"> + a.roleid = #{roleid} + </if> + </where> + </select> + + <select id="selectByPage" resultType="com.lf.server.entity.sys.RoleUserEntity"> + select a.*,fn_uname(a.userid) uname from lf.sys_role_user a + <where> + <if test="roleid != null"> + a.roleid = #{roleid} + </if> + </where> + order by a.id + limit #{limit} offset #{offset} + </select> + + <select id="selectAll" resultType="com.lf.server.entity.sys.RoleUserEntity"> + select a.*,fn_uname(a.userid) uname from lf.sys_role_user a order by a.id + </select> + + <select id="selectById" resultType="com.lf.server.entity.sys.RoleUserEntity"> + select a.*,fn_uname(a.userid) uname from lf.sys_role_user a where a.id = #{id} + </select> + + <insert id="insert" parameterType="com.lf.server.entity.sys.RoleUserEntity"> + insert into lf.sys_role_user + (roleid,userid,create_user,create_time) + values + (#{roleid},#{userid},#{createUser},now()) + </insert> + + <insert id="inserts"> + insert into lf.sys_role_user + (roleid,userid,create_user,create_time) + values + <foreach collection="list" item="item" index="index" separator=","> + (#{item.roleid},#{item.userid},#{item.createUser},now()) + </foreach> + </insert> + + <delete id="delete"> + delete from lf.sys_role_user where id = #{id} + </delete> + + <delete id="deletes"> + delete from lf.sys_role_user where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="update"> + update lf.sys_role_user + set roleid=#{roleid},userid=#{userid},update_user=#{updateUser},update_time=now() + where id=#{id} + </update> + + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> + update lf.sys_role_user + <set> + roleid=#{item.roleid},userid=#{item.userid},update_user=#{item.updateUser},update_time=now() + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/TokenMapper.xml b/src/main/resources/mapper/sys/TokenMapper.xml new file mode 100644 index 0000000..6202595 --- /dev/null +++ b/src/main/resources/mapper/sys/TokenMapper.xml @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.sys.TokenMapper"> + <resultMap id="resultMap" type="com.lf.server.entity.sys.TokenEntity"> + <id property="id" column="id"></id> + <result property="createUser" column="create_user"></result> + <result property="createTime" column="create_time"></result> + <result property="updateUser" column="update_user"></result> + <result property="updateTime" column="update_time"></result> + </resultMap> + + <!-- 缁熻琛屾暟 --> + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_token + <where> + 1=1 + <if test="name != null"> + and token = #{name} + </if> + <if test="type != null"> + and type = #{type} + </if> + </where> + </select> + + <!-- 鍒嗛〉鏌ヨ --> + <select id="selectByPage" resultMap="resultMap" resultType="com.lf.server.entity.sys.TokenEntity"> + select a.*, fn_uname(create_user) createName, fn_uname(update_user) updateName + from lf.sys_token a + <where> + 1=1 + <if test="name != null"> + and token = #{name} + </if> + + <if test="type != null"> + and type = #{type} + </if> + </where> + order by id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectToken" resultMap="resultMap" resultType="com.lf.server.entity.sys.TokenEntity"> + select a.*, fn_uname(create_user) createName, fn_uname(update_user) updateName + from lf.sys_token a + where id = #{id} + </select> + + <select id="selectOneByToken" resultType="com.lf.server.entity.sys.TokenEntity"> + select a.*, fn_uname(create_user) createName, fn_uname(update_user) updateName + from lf.sys_token a + where token = #{token} and expire > now() limit 1 + </select> + + <insert id="insertToken" parameterType="com.lf.server.entity.sys.TokenEntity"> + <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id"> + select currval('lf.sys_token_id_seq'::regclass) as id + </selectKey> + + insert into lf.sys_token + (token,duration,expire,type,ip,create_user,create_time) + values + (#{token},#{duration},#{expire},#{type},#{ip},#{createUser},now()) + </insert> + + <insert id="insertTokens"> + insert into lf.sys_token + (token,duration,expire,type,ip,create_user,create_time) + values + <foreach collection="list" item="item" index="index" separator="," > + (#{item.token},#{item.duration},#{item.expire},#{item.type},#{item.ip},#{item.createUser},now()) + </foreach> + </insert> + + <delete id="deleteToken"> + delete from lf.sys_token where id = #{id} + </delete> + + <delete id="deleteTokens"> + delete from lf.sys_token where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="updateToken"> + update lf.sys_token set token=#{token},duration=#{duration},expire=#{expire},type=#{type},ip=#{ip},update_user=#{updateUser},update_time=now() where id=#{id} + </update> + + <update id="updateTokenExpire"> + update lf.sys_token set expire=now(),update_time=now(),update_user=#{updateUser} where id=#{id} + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/UserMapper.xml b/src/main/resources/mapper/sys/UserMapper.xml new file mode 100644 index 0000000..eeda846 --- /dev/null +++ b/src/main/resources/mapper/sys/UserMapper.xml @@ -0,0 +1,166 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.lf.server.mapper.sys.UserMapper"> + <resultMap id="resultMap" type="com.lf.server.entity.sys.UserEntity"> + <id property="id" column="id"></id> + <result property="natives" column="native"></result> + <result property="createUser" column="create_user"></result> + <result property="createTime" column="create_time"></result> + <result property="updateUser" column="update_user"></result> + <result property="updateTime" column="update_time"></result> + </resultMap> + + <select id="selectCount" resultType="java.lang.Integer"> + select count(*) from lf.sys_user + <where> + 1 = 1 + <if test="uname != null"> + and (upper(uname) like #{uname} or upper(uid) like #{uname}) + </if> + <if test="depcode != null"> + and depcode like #{depcode} + </if> + </where> + </select> + + <select id="selectByPage" resultMap="resultMap" resultType="com.lf.server.entity.sys.UserEntity"> + select a.*,fn_get_fullname(a.depcode, 1) depName from lf.sys_user a + <where> + 1 = 1 + <if test="uname != null"> + and (upper(uname) like #{uname} or upper(uid) like #{uname}) + </if> + <if test="depcode != null"> + and depcode like #{depcode} + </if> + </where> + order by a.id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectCountForRole" resultType="java.lang.Integer"> + select count(a.*) from lf.sys_user a + <where> + not exists (select b.id from lf.sys_role_user b where b.userid = a.id + <if test="roleid != null"> + and b.roleid = #{roleid} + </if> + ) + <if test="uname != null"> + and (upper(a.uname) like #{uname} or upper(a.uid) like #{uname}) + </if> + <if test="depcode != null"> + and depcode like #{depcode} + </if> + </where> + </select> + + <select id="selectByPageForRole" resultMap="resultMap" resultType="com.lf.server.entity.sys.UserEntity"> + select a.*,fn_get_fullname(a.depcode, 1) depName from lf.sys_user a + <where> + not exists (select b.id from lf.sys_role_user b where b.userid = a.id + <if test="roleid != null"> + and b.roleid = #{roleid} + </if> + ) + <if test="uname != null"> + and (upper(a.uname) like #{uname} or upper(a.uid) like #{uname}) + </if> + <if test="depcode != null"> + and depcode like #{depcode} + </if> + </where> + order by a.id desc + limit #{limit} offset #{offset} + </select> + + <select id="selectUserAll" resultMap="resultMap" resultType="com.lf.server.entity.sys.UserEntity"> + select a.*, fn_get_fullname(a.depcode, 1) depName from lf.sys_user a order by a.id desc + </select> + + <select id="selectUser" resultMap="resultMap" resultType="com.lf.server.entity.sys.UserEntity"> + select a.*, fn_get_fullname(a.depcode, 1) depName from lf.sys_user a where a.id = #{id} + </select> + + <select id="selectByUid" resultMap="resultMap" resultType="com.lf.server.entity.sys.UserEntity"> + select * from lf.sys_user where uid = #{uid} + </select> + + <select id="selectByToken" resultType="com.lf.server.entity.sys.UserEntity"> + select * from lf.sys_user where id = ( + select create_user from lf.sys_token where token=#{token} and expire > now() limit 1) + </select> + + <select id="selectForIsAdmin" resultType="java.lang.Integer"> + select count(*) from lf.sys_user a + inner join lf.sys_role_user b on a.id = b.userid + inner join lf.sys_role c on b.roleid = c.id + where c.is_admin = 1 and a.id = #{id} + </select> + + <select id="selectAdminUsers" resultType="com.lf.server.entity.sys.UserEntity"> + select c.*, fn_get_fullname(b.depcode, 1) depName + from lf.sys_role_user a inner join lf.sys_user b on a.userid = b.id + inner join lf.sys_role c on a.roleid = a.id + where c.is_admin = #{type} + </select> + + <select id="selectRoleByUserId" resultType="com.lf.server.entity.sys.RoleEntity"> + select c.*, fn_get_fullname(a.depcode, 1) depName,fn_uname(c.create_user) createName,fn_uname(c.update_user) updateName + from lf.sys_user a inner join lf.sys_role_user b on a.id = b.userid + inner join lf.sys_role c on b.roleid = c.id + where a.id = #{id} + </select> + + <select id="selectUserByRoleId" resultType="com.lf.server.entity.sys.RoleEntity"> + select a.*, fn_get_fullname(a.depcode, 1) depName + from lf.sys_user a inner join lf.sys_role_user b on a.id = b.userid inner join lf.sys_role c on b.roleid = c.id + where c.id = #{roleId} + </select> + + <insert id="insertUser" parameterType="com.lf.server.entity.sys.UserEntity"> + insert into lf.sys_user + (depid,depcode,uid,uname,salt,sex,native,contact,job,email,addr,edu,idcard,status,create_user,create_time,bak) + values + (#{depid},#{depcode},#{uid},#{uname},#{salt},#{sex},#{natives},#{contact},#{job},#{email},#{addr},#{edu},#{idcard}, + #{status},#{createUser},now(),#{bak}) + </insert> + + <insert id="insertUsers"> + insert into lf.sys_user + (depid,depcode,uid,uname,salt,sex,native,contact,job,email,addr,edu,idcard,status,create_user,create_time,bak) + values + <foreach collection="list" item="item" index="index" separator="," > + (#{item.depid},#{item.depcode},#{item.uid},#{item.uname},#{item.salt},#{item.sex},#{item.natives},#{item.contact},#{item.job}, + #{item.email},#{item.addr},#{item.edu},#{item.idcard},#{item.status},#{item.createUser}, now(),#{item.bak}) + </foreach> + </insert> + + <delete id="deleteUser"> + delete from lf.sys_role_user where userid = #{id}; + delete from lf.sys_user where id = #{id}; + </delete> + + <delete id="deleteUsers"> + delete from lf.sys_role_user where userid in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach>; + delete from lf.sys_user where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach>; + </delete> + + <update id="updateUser"> + update lf.sys_user set depid=#{depid},depcode=#{depcode},uid=#{uid},uname=#{uname},salt=#{salt},sex=#{sex},native=#{natives},contact=#{contact},job=#{job},email=#{email}, + addr=#{addr},edu=#{edu},idcard=#{idcard},status=#{status},update_user=#{updateUser},update_time=now(),bak=#{bak} where id=#{id} + </update> + + <update id="updateUsersPwd"> + update lf.sys_user set pwd=#{pwd},update_user=#{updateUser},update_time=now() where id in + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis.xml b/src/main/resources/mybatis.xml new file mode 100644 index 0000000..0789380 --- /dev/null +++ b/src/main/resources/mybatis.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE configuration + PUBLIC "-//mybatis.org//DTD Config 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-config.dtd"> +<configuration> + <settings> + <!--閰嶇疆褰卞搷鎵�鏈夋槧灏勫櫒涓厤缃紦瀛�--> + <setting name="cacheEnabled" value="true"/> + <!--寤惰繜鍔犺浇--> + <setting name="lazyLoadingEnabled" value="true"/> + <!--鏄惁鍏佽鍗曚竴璇彞杩斿洖澶氱粨鏋滈泦--> + <setting name="multipleResultSetsEnabled" value="true"/> + <!--浣跨敤鍒楁爣绛句唬鏇垮垪鍚�--> + <setting name="useColumnLabel" value="true"/> + <!--鍏佽JDBC 鏀寔鑷姩鐢熸垚涓婚敭--> + <setting name="useGeneratedKeys" value="false"/> + <!--璁剧疆瓒呮椂鏃堕棿--> + <setting name="defaultStatementTimeout" value="30"/> + <!--榛樿杩斿洖鐨勬潯鏁伴檺鍒�--> + <setting name="defaultFetchSize" value="1000"/> + <!--鏄惁寮�鍚嚜鍔ㄩ┘宄板懡鍚嶈鍒欐槧灏勶紝鍗充粠缁忓吀鏁版嵁搴撳垪鍚� A_COLUMN 鍒扮粡鍏� Java 灞炴�у悕 aColumn 鐨勭被浼兼槧灏�--> + <setting name="mapUnderscoreToCamelCase" value="true"/> + <!--MyBatis 鍒╃敤鏈湴缂撳瓨鏈哄埗锛圠ocal Cache锛夐槻姝㈠惊鐜紩鐢紙circular references锛夊拰鍔犻�熻仈澶嶅祵濂楁熁璇€��--> + <setting name="localCacheScope" value="SESSION"/> + <!--褰撴病鏈変负鍙傛暟鎻愪緵鐗瑰畾鐨� JDBC 绫诲瀷鏃讹紝涓虹┖鍊兼寚瀹� JDBC 绫诲瀷--> + <setting name="jdbcTypeForNull" value="NULL"/> + <!--鎸囧畾鍝釜瀵硅薄鐨勬柟娉曡Е鍙戜竴娆″欢杩熷姞杞�--> + <setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/> + <!--鎸囧畾褰撶粨鏋滈泦涓�间负 null 鏃讹紝鏄惁璋冪敤鏄犲皠瀵硅薄鐨� setter锛坢ap 瀵硅薄鏃朵负 put锛夋柟娉�--> + <setting name="callSettersOnNulls" value="true"/> + <!--鎸囧畾 MyBatis 鎵�鐢ㄦ棩蹇楃殑鍏蜂綋瀹炵幇锛歀OG4J/LOG4J2/SLF4J/STDOUT_LOGGING/NO_LOGGING--> + <setting name="logImpl" value="NO_LOGGING" /> + </settings> + <typeAliases> + <package name="com.lf.server.entity"/> + </typeAliases> +</configuration> \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap-grid.css b/src/main/resources/static/css/bootstrap/bootstrap-grid.css new file mode 100644 index 0000000..9cfa07a --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap-grid.css @@ -0,0 +1,3872 @@ +/*! + * Bootstrap Grid v4.5.3 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors + * Copyright 2011-2020 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +html { + box-sizing: border-box; + -ms-overflow-style: scrollbar; +} + +*, +*::before, +*::after { + box-sizing: inherit; +} + +.container, +.container-fluid, +.container-sm, +.container-md, +.container-lg, +.container-xl { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container, .container-sm { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container, .container-sm, .container-md { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container, .container-sm, .container-md, .container-lg { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container, .container-sm, .container-md, .container-lg, .container-xl { + max-width: 1140px; + } +} + +.row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +.col { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; +} + +.row-cols-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.row-cols-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.row-cols-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.row-cols-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.row-cols-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; +} + +.row-cols-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; +} + +.col-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + -ms-flex-order: -1; + order: -1; +} + +.order-last { + -ms-flex-order: 13; + order: 13; +} + +.order-0 { + -ms-flex-order: 0; + order: 0; +} + +.order-1 { + -ms-flex-order: 1; + order: 1; +} + +.order-2 { + -ms-flex-order: 2; + order: 2; +} + +.order-3 { + -ms-flex-order: 3; + order: 3; +} + +.order-4 { + -ms-flex-order: 4; + order: 4; +} + +.order-5 { + -ms-flex-order: 5; + order: 5; +} + +.order-6 { + -ms-flex-order: 6; + order: 6; +} + +.order-7 { + -ms-flex-order: 7; + order: 7; +} + +.order-8 { + -ms-flex-order: 8; + order: 8; +} + +.order-9 { + -ms-flex-order: 9; + order: 9; +} + +.order-10 { + -ms-flex-order: 10; + order: 10; +} + +.order-11 { + -ms-flex-order: 11; + order: 11; +} + +.order-12 { + -ms-flex-order: 12; + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-sm-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-sm-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-sm-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-sm-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-sm-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-sm-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-sm-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + -ms-flex-order: -1; + order: -1; + } + .order-sm-last { + -ms-flex-order: 13; + order: 13; + } + .order-sm-0 { + -ms-flex-order: 0; + order: 0; + } + .order-sm-1 { + -ms-flex-order: 1; + order: 1; + } + .order-sm-2 { + -ms-flex-order: 2; + order: 2; + } + .order-sm-3 { + -ms-flex-order: 3; + order: 3; + } + .order-sm-4 { + -ms-flex-order: 4; + order: 4; + } + .order-sm-5 { + -ms-flex-order: 5; + order: 5; + } + .order-sm-6 { + -ms-flex-order: 6; + order: 6; + } + .order-sm-7 { + -ms-flex-order: 7; + order: 7; + } + .order-sm-8 { + -ms-flex-order: 8; + order: 8; + } + .order-sm-9 { + -ms-flex-order: 9; + order: 9; + } + .order-sm-10 { + -ms-flex-order: 10; + order: 10; + } + .order-sm-11 { + -ms-flex-order: 11; + order: 11; + } + .order-sm-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-md-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-md-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-md-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-md-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-md-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-md-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-md-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + -ms-flex-order: -1; + order: -1; + } + .order-md-last { + -ms-flex-order: 13; + order: 13; + } + .order-md-0 { + -ms-flex-order: 0; + order: 0; + } + .order-md-1 { + -ms-flex-order: 1; + order: 1; + } + .order-md-2 { + -ms-flex-order: 2; + order: 2; + } + .order-md-3 { + -ms-flex-order: 3; + order: 3; + } + .order-md-4 { + -ms-flex-order: 4; + order: 4; + } + .order-md-5 { + -ms-flex-order: 5; + order: 5; + } + .order-md-6 { + -ms-flex-order: 6; + order: 6; + } + .order-md-7 { + -ms-flex-order: 7; + order: 7; + } + .order-md-8 { + -ms-flex-order: 8; + order: 8; + } + .order-md-9 { + -ms-flex-order: 9; + order: 9; + } + .order-md-10 { + -ms-flex-order: 10; + order: 10; + } + .order-md-11 { + -ms-flex-order: 11; + order: 11; + } + .order-md-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-lg-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-lg-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-lg-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-lg-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-lg-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-lg-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-lg-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + -ms-flex-order: -1; + order: -1; + } + .order-lg-last { + -ms-flex-order: 13; + order: 13; + } + .order-lg-0 { + -ms-flex-order: 0; + order: 0; + } + .order-lg-1 { + -ms-flex-order: 1; + order: 1; + } + .order-lg-2 { + -ms-flex-order: 2; + order: 2; + } + .order-lg-3 { + -ms-flex-order: 3; + order: 3; + } + .order-lg-4 { + -ms-flex-order: 4; + order: 4; + } + .order-lg-5 { + -ms-flex-order: 5; + order: 5; + } + .order-lg-6 { + -ms-flex-order: 6; + order: 6; + } + .order-lg-7 { + -ms-flex-order: 7; + order: 7; + } + .order-lg-8 { + -ms-flex-order: 8; + order: 8; + } + .order-lg-9 { + -ms-flex-order: 9; + order: 9; + } + .order-lg-10 { + -ms-flex-order: 10; + order: 10; + } + .order-lg-11 { + -ms-flex-order: 11; + order: 11; + } + .order-lg-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-xl-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-xl-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-xl-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-xl-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-xl-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-xl-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-xl-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + -ms-flex-order: -1; + order: -1; + } + .order-xl-last { + -ms-flex-order: 13; + order: 13; + } + .order-xl-0 { + -ms-flex-order: 0; + order: 0; + } + .order-xl-1 { + -ms-flex-order: 1; + order: 1; + } + .order-xl-2 { + -ms-flex-order: 2; + order: 2; + } + .order-xl-3 { + -ms-flex-order: 3; + order: 3; + } + .order-xl-4 { + -ms-flex-order: 4; + order: 4; + } + .order-xl-5 { + -ms-flex-order: 5; + order: 5; + } + .order-xl-6 { + -ms-flex-order: 6; + order: 6; + } + .order-xl-7 { + -ms-flex-order: 7; + order: 7; + } + .order-xl-8 { + -ms-flex-order: 8; + order: 8; + } + .order-xl-9 { + -ms-flex-order: 9; + order: 9; + } + .order-xl-10 { + -ms-flex-order: 10; + order: 10; + } + .order-xl-11 { + -ms-flex-order: 11; + order: 11; + } + .order-xl-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: -ms-flexbox !important; + display: flex !important; +} + +.d-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-sm-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-md-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-lg-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-xl-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-print-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +.flex-row { + -ms-flex-direction: row !important; + flex-direction: row !important; +} + +.flex-column { + -ms-flex-direction: column !important; + flex-direction: column !important; +} + +.flex-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} + +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} + +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} + +.flex-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; +} + +.flex-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; +} + +.flex-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; +} + +.flex-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; +} + +.justify-content-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} + +.justify-content-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} + +.justify-content-center { + -ms-flex-pack: center !important; + justify-content: center !important; +} + +.justify-content-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} + +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} + +.align-items-start { + -ms-flex-align: start !important; + align-items: flex-start !important; +} + +.align-items-end { + -ms-flex-align: end !important; + align-items: flex-end !important; +} + +.align-items-center { + -ms-flex-align: center !important; + align-items: center !important; +} + +.align-items-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; +} + +.align-items-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; +} + +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} + +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} + +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} + +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} + +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} + +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} + +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} + +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} + +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} + +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} + +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} + +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-sm-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-sm-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-sm-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-sm-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-sm-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-sm-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-sm-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-sm-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-sm-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-sm-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-sm-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-sm-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-sm-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-md-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-md-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-md-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-md-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-md-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-md-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-md-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-md-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-md-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-md-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-md-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-md-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-md-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-md-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-lg-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-lg-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-lg-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-lg-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-lg-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-lg-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-lg-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-lg-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-lg-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-lg-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-lg-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-lg-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-lg-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xl-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xl-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-xl-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-xl-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-xl-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xl-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xl-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xl-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-xl-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xl-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xl-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xl-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xl-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +.m-n3 { + margin: -1rem !important; +} + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +.m-n4 { + margin: -1.5rem !important; +} + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +.m-n5 { + margin: -3rem !important; +} + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + .m-sm-n1 { + margin: -0.25rem !important; + } + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; + } + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; + } + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; + } + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; + } + .m-sm-n2 { + margin: -0.5rem !important; + } + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; + } + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; + } + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; + } + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; + } + .m-sm-n3 { + margin: -1rem !important; + } + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; + } + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; + } + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; + } + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; + } + .m-sm-n4 { + margin: -1.5rem !important; + } + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; + } + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; + } + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; + } + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; + } + .m-sm-n5 { + margin: -3rem !important; + } + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; + } + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; + } + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; + } + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + .m-md-n1 { + margin: -0.25rem !important; + } + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; + } + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; + } + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; + } + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; + } + .m-md-n2 { + margin: -0.5rem !important; + } + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; + } + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; + } + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; + } + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; + } + .m-md-n3 { + margin: -1rem !important; + } + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; + } + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; + } + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; + } + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; + } + .m-md-n4 { + margin: -1.5rem !important; + } + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; + } + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; + } + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; + } + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; + } + .m-md-n5 { + margin: -3rem !important; + } + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; + } + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; + } + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; + } + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + .m-lg-n1 { + margin: -0.25rem !important; + } + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; + } + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; + } + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; + } + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; + } + .m-lg-n2 { + margin: -0.5rem !important; + } + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; + } + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; + } + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; + } + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; + } + .m-lg-n3 { + margin: -1rem !important; + } + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; + } + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; + } + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; + } + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; + } + .m-lg-n4 { + margin: -1.5rem !important; + } + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; + } + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; + } + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; + } + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; + } + .m-lg-n5 { + margin: -3rem !important; + } + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; + } + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; + } + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; + } + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + .m-xl-n1 { + margin: -0.25rem !important; + } + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; + } + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; + } + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; + } + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; + } + .m-xl-n2 { + margin: -0.5rem !important; + } + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; + } + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; + } + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; + } + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; + } + .m-xl-n3 { + margin: -1rem !important; + } + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; + } + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; + } + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; + } + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; + } + .m-xl-n4 { + margin: -1.5rem !important; + } + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; + } + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; + } + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; + } + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; + } + .m-xl-n5 { + margin: -3rem !important; + } + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; + } + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; + } + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; + } + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} +/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap-grid.css.map b/src/main/resources/static/css/bootstrap/bootstrap-grid.css.map new file mode 100644 index 0000000..a664f98 --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap-grid.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ADEF;EACE,sBAAsB;EACtB,6BAA6B;ACA/B;;ADGA;;;EAGE,mBAAmB;ACArB;;ACTE;;;;;;ECDA,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;AFmBnB;;AGgCI;EFzCE;IACE,gBG+LG;EJlLT;AACF;;AG0BI;EFzCE;IACE,gBGgMG;EJ7KT;AACF;;AGoBI;EFzCE;IACE,gBGiMG;EJxKT;AACF;;AGcI;EFzCE;IACE,iBGkMI;EJnKV;AACF;;ACJE;ECnCA,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,mBAA0B;EAC1B,kBAAyB;AF2C3B;;ACLE;EACE,eAAe;EACf,cAAc;ADQlB;;ACVE;;EAMI,gBAAgB;EAChB,eAAe;ADSrB;;AK/DE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;ALuE7B;;AKjDM;EACE,0BAAa;EAAb,aAAa;EACb,oBAAY;EAAZ,YAAY;EACZ,eAAe;ALoDvB;;AK/CU;EHwBN,kBAAuB;EAAvB,cAAuB;EACvB,eAAwB;AF2B5B;;AKpDU;EHwBN,iBAAuB;EAAvB,aAAuB;EACvB,cAAwB;AFgC5B;;AKzDU;EHwBN,wBAAuB;EAAvB,oBAAuB;EACvB,qBAAwB;AFqC5B;;AK9DU;EHwBN,iBAAuB;EAAvB,aAAuB;EACvB,cAAwB;AF0C5B;;AKnEU;EHwBN,iBAAuB;EAAvB,aAAuB;EACvB,cAAwB;AF+C5B;;AKxEU;EHwBN,wBAAuB;EAAvB,oBAAuB;EACvB,qBAAwB;AFoD5B;;AKvEM;EHCJ,kBAAc;EAAd,cAAc;EACd,WAAW;EACX,eAAe;AF0EjB;;AKvEU;EHbR,uBAAsC;EAAtC,mBAAsC;EAItC,oBAAuC;AFqFzC;;AK5EU;EHbR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AF0FzC;;AKjFU;EHbR,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;AF+FzC;;AKtFU;EHbR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AFoGzC;;AK3FU;EHbR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AFyGzC;;AKhGU;EHbR,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;AF8GzC;;AKrGU;EHbR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AFmHzC;;AK1GU;EHbR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AFwHzC;;AK/GU;EHbR,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;AF6HzC;;AKpHU;EHbR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AFkIzC;;AKzHU;EHbR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AFuIzC;;AK9HU;EHbR,kBAAsC;EAAtC,cAAsC;EAItC,eAAuC;AF4IzC;;AK7HM;EAAwB,kBAAS;EAAT,SAAS;ALiIvC;;AK/HM;EAAuB,kBDmKG;ECnKH,SDmKG;AJhChC;;AKhIQ;EAAwB,iBADZ;EACY,QADZ;ALqIpB;;AKpIQ;EAAwB,iBADZ;EACY,QADZ;ALyIpB;;AKxIQ;EAAwB,iBADZ;EACY,QADZ;AL6IpB;;AK5IQ;EAAwB,iBADZ;EACY,QADZ;ALiJpB;;AKhJQ;EAAwB,iBADZ;EACY,QADZ;ALqJpB;;AKpJQ;EAAwB,iBADZ;EACY,QADZ;ALyJpB;;AKxJQ;EAAwB,iBADZ;EACY,QADZ;AL6JpB;;AK5JQ;EAAwB,iBADZ;EACY,QADZ;ALiKpB;;AKhKQ;EAAwB,iBADZ;EACY,QADZ;ALqKpB;;AKpKQ;EAAwB,iBADZ;EACY,QADZ;ALyKpB;;AKxKQ;EAAwB,kBADZ;EACY,SADZ;AL6KpB;;AK5KQ;EAAwB,kBADZ;EACY,SADZ;ALiLpB;;AKhLQ;EAAwB,kBADZ;EACY,SADZ;ALqLpB;;AK7KY;EHhBV,sBAA8C;AFiMhD;;AKjLY;EHhBV,uBAA8C;AFqMhD;;AKrLY;EHhBV,gBAA8C;AFyMhD;;AKzLY;EHhBV,uBAA8C;AF6MhD;;AK7LY;EHhBV,uBAA8C;AFiNhD;;AKjMY;EHhBV,gBAA8C;AFqNhD;;AKrMY;EHhBV,uBAA8C;AFyNhD;;AKzMY;EHhBV,uBAA8C;AF6NhD;;AK7MY;EHhBV,gBAA8C;AFiOhD;;AKjNY;EHhBV,uBAA8C;AFqOhD;;AKrNY;EHhBV,uBAA8C;AFyOhD;;AGpOI;EE3BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;ELmQrB;EK9PQ;IHwBN,kBAAuB;IAAvB,cAAuB;IACvB,eAAwB;EFyO1B;EKlQQ;IHwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EF6O1B;EKtQQ;IHwBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;EFiP1B;EK1QQ;IHwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EFqP1B;EK9QQ;IHwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EFyP1B;EKlRQ;IHwBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;EF6P1B;EKhRI;IHCJ,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EFkRf;EK/QQ;IHbR,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EF4RvC;EKnRQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFgSvC;EKvRQ;IHbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFoSvC;EK3RQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFwSvC;EK/RQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF4SvC;EKnSQ;IHbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFgTvC;EKvSQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFoTvC;EK3SQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFwTvC;EK/SQ;IHbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EF4TvC;EKnTQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFgUvC;EKvTQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFoUvC;EK3TQ;IHbR,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;EFwUvC;EKzTI;IAAwB,kBAAS;IAAT,SAAS;EL4TrC;EK1TI;IAAuB,kBDmKG;ICnKH,SDmKG;EJ0J9B;EK1TM;IAAwB,iBADZ;IACY,QADZ;EL8TlB;EK7TM;IAAwB,iBADZ;IACY,QADZ;ELiUlB;EKhUM;IAAwB,iBADZ;IACY,QADZ;ELoUlB;EKnUM;IAAwB,iBADZ;IACY,QADZ;ELuUlB;EKtUM;IAAwB,iBADZ;IACY,QADZ;EL0UlB;EKzUM;IAAwB,iBADZ;IACY,QADZ;EL6UlB;EK5UM;IAAwB,iBADZ;IACY,QADZ;ELgVlB;EK/UM;IAAwB,iBADZ;IACY,QADZ;ELmVlB;EKlVM;IAAwB,iBADZ;IACY,QADZ;ELsVlB;EKrVM;IAAwB,iBADZ;IACY,QADZ;ELyVlB;EKxVM;IAAwB,kBADZ;IACY,SADZ;EL4VlB;EK3VM;IAAwB,kBADZ;IACY,SADZ;EL+VlB;EK9VM;IAAwB,kBADZ;IACY,SADZ;ELkWlB;EK1VU;IHhBV,cAA4B;EF6W5B;EK7VU;IHhBV,sBAA8C;EFgX9C;EKhWU;IHhBV,uBAA8C;EFmX9C;EKnWU;IHhBV,gBAA8C;EFsX9C;EKtWU;IHhBV,uBAA8C;EFyX9C;EKzWU;IHhBV,uBAA8C;EF4X9C;EK5WU;IHhBV,gBAA8C;EF+X9C;EK/WU;IHhBV,uBAA8C;EFkY9C;EKlXU;IHhBV,uBAA8C;EFqY9C;EKrXU;IHhBV,gBAA8C;EFwY9C;EKxXU;IHhBV,uBAA8C;EF2Y9C;EK3XU;IHhBV,uBAA8C;EF8Y9C;AACF;;AG1YI;EE3BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;ELyarB;EKpaQ;IHwBN,kBAAuB;IAAvB,cAAuB;IACvB,eAAwB;EF+Y1B;EKxaQ;IHwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EFmZ1B;EK5aQ;IHwBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;EFuZ1B;EKhbQ;IHwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EF2Z1B;EKpbQ;IHwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EF+Z1B;EKxbQ;IHwBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;EFma1B;EKtbI;IHCJ,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EFwbf;EKrbQ;IHbR,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EFkcvC;EKzbQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFscvC;EK7bQ;IHbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EF0cvC;EKjcQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF8cvC;EKrcQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFkdvC;EKzcQ;IHbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFsdvC;EK7cQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF0dvC;EKjdQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF8dvC;EKrdQ;IHbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFkevC;EKzdQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFsevC;EK7dQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF0evC;EKjeQ;IHbR,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;EF8evC;EK/dI;IAAwB,kBAAS;IAAT,SAAS;ELkerC;EKheI;IAAuB,kBDmKG;ICnKH,SDmKG;EJgU9B;EKheM;IAAwB,iBADZ;IACY,QADZ;ELoelB;EKneM;IAAwB,iBADZ;IACY,QADZ;ELuelB;EKteM;IAAwB,iBADZ;IACY,QADZ;EL0elB;EKzeM;IAAwB,iBADZ;IACY,QADZ;EL6elB;EK5eM;IAAwB,iBADZ;IACY,QADZ;ELgflB;EK/eM;IAAwB,iBADZ;IACY,QADZ;ELmflB;EKlfM;IAAwB,iBADZ;IACY,QADZ;ELsflB;EKrfM;IAAwB,iBADZ;IACY,QADZ;ELyflB;EKxfM;IAAwB,iBADZ;IACY,QADZ;EL4flB;EK3fM;IAAwB,iBADZ;IACY,QADZ;EL+flB;EK9fM;IAAwB,kBADZ;IACY,SADZ;ELkgBlB;EKjgBM;IAAwB,kBADZ;IACY,SADZ;ELqgBlB;EKpgBM;IAAwB,kBADZ;IACY,SADZ;ELwgBlB;EKhgBU;IHhBV,cAA4B;EFmhB5B;EKngBU;IHhBV,sBAA8C;EFshB9C;EKtgBU;IHhBV,uBAA8C;EFyhB9C;EKzgBU;IHhBV,gBAA8C;EF4hB9C;EK5gBU;IHhBV,uBAA8C;EF+hB9C;EK/gBU;IHhBV,uBAA8C;EFkiB9C;EKlhBU;IHhBV,gBAA8C;EFqiB9C;EKrhBU;IHhBV,uBAA8C;EFwiB9C;EKxhBU;IHhBV,uBAA8C;EF2iB9C;EK3hBU;IHhBV,gBAA8C;EF8iB9C;EK9hBU;IHhBV,uBAA8C;EFijB9C;EKjiBU;IHhBV,uBAA8C;EFojB9C;AACF;;AGhjBI;EE3BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;EL+kBrB;EK1kBQ;IHwBN,kBAAuB;IAAvB,cAAuB;IACvB,eAAwB;EFqjB1B;EK9kBQ;IHwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EFyjB1B;EKllBQ;IHwBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;EF6jB1B;EKtlBQ;IHwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EFikB1B;EK1lBQ;IHwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EFqkB1B;EK9lBQ;IHwBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;EFykB1B;EK5lBI;IHCJ,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EF8lBf;EK3lBQ;IHbR,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EFwmBvC;EK/lBQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF4mBvC;EKnmBQ;IHbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFgnBvC;EKvmBQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFonBvC;EK3mBQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFwnBvC;EK/mBQ;IHbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EF4nBvC;EKnnBQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFgoBvC;EKvnBQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFooBvC;EK3nBQ;IHbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFwoBvC;EK/nBQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF4oBvC;EKnoBQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFgpBvC;EKvoBQ;IHbR,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;EFopBvC;EKroBI;IAAwB,kBAAS;IAAT,SAAS;ELwoBrC;EKtoBI;IAAuB,kBDmKG;ICnKH,SDmKG;EJse9B;EKtoBM;IAAwB,iBADZ;IACY,QADZ;EL0oBlB;EKzoBM;IAAwB,iBADZ;IACY,QADZ;EL6oBlB;EK5oBM;IAAwB,iBADZ;IACY,QADZ;ELgpBlB;EK/oBM;IAAwB,iBADZ;IACY,QADZ;ELmpBlB;EKlpBM;IAAwB,iBADZ;IACY,QADZ;ELspBlB;EKrpBM;IAAwB,iBADZ;IACY,QADZ;ELypBlB;EKxpBM;IAAwB,iBADZ;IACY,QADZ;EL4pBlB;EK3pBM;IAAwB,iBADZ;IACY,QADZ;EL+pBlB;EK9pBM;IAAwB,iBADZ;IACY,QADZ;ELkqBlB;EKjqBM;IAAwB,iBADZ;IACY,QADZ;ELqqBlB;EKpqBM;IAAwB,kBADZ;IACY,SADZ;ELwqBlB;EKvqBM;IAAwB,kBADZ;IACY,SADZ;EL2qBlB;EK1qBM;IAAwB,kBADZ;IACY,SADZ;EL8qBlB;EKtqBU;IHhBV,cAA4B;EFyrB5B;EKzqBU;IHhBV,sBAA8C;EF4rB9C;EK5qBU;IHhBV,uBAA8C;EF+rB9C;EK/qBU;IHhBV,gBAA8C;EFksB9C;EKlrBU;IHhBV,uBAA8C;EFqsB9C;EKrrBU;IHhBV,uBAA8C;EFwsB9C;EKxrBU;IHhBV,gBAA8C;EF2sB9C;EK3rBU;IHhBV,uBAA8C;EF8sB9C;EK9rBU;IHhBV,uBAA8C;EFitB9C;EKjsBU;IHhBV,gBAA8C;EFotB9C;EKpsBU;IHhBV,uBAA8C;EFutB9C;EKvsBU;IHhBV,uBAA8C;EF0tB9C;AACF;;AGttBI;EE3BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;ELqvBrB;EKhvBQ;IHwBN,kBAAuB;IAAvB,cAAuB;IACvB,eAAwB;EF2tB1B;EKpvBQ;IHwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EF+tB1B;EKxvBQ;IHwBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;EFmuB1B;EK5vBQ;IHwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EFuuB1B;EKhwBQ;IHwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EF2uB1B;EKpwBQ;IHwBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;EF+uB1B;EKlwBI;IHCJ,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EFowBf;EKjwBQ;IHbR,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EF8wBvC;EKrwBQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFkxBvC;EKzwBQ;IHbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFsxBvC;EK7wBQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF0xBvC;EKjxBQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF8xBvC;EKrxBQ;IHbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFkyBvC;EKzxBQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFsyBvC;EK7xBQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF0yBvC;EKjyBQ;IHbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EF8yBvC;EKryBQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFkzBvC;EKzyBQ;IHbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFszBvC;EK7yBQ;IHbR,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;EF0zBvC;EK3yBI;IAAwB,kBAAS;IAAT,SAAS;EL8yBrC;EK5yBI;IAAuB,kBDmKG;ICnKH,SDmKG;EJ4oB9B;EK5yBM;IAAwB,iBADZ;IACY,QADZ;ELgzBlB;EK/yBM;IAAwB,iBADZ;IACY,QADZ;ELmzBlB;EKlzBM;IAAwB,iBADZ;IACY,QADZ;ELszBlB;EKrzBM;IAAwB,iBADZ;IACY,QADZ;ELyzBlB;EKxzBM;IAAwB,iBADZ;IACY,QADZ;EL4zBlB;EK3zBM;IAAwB,iBADZ;IACY,QADZ;EL+zBlB;EK9zBM;IAAwB,iBADZ;IACY,QADZ;ELk0BlB;EKj0BM;IAAwB,iBADZ;IACY,QADZ;ELq0BlB;EKp0BM;IAAwB,iBADZ;IACY,QADZ;ELw0BlB;EKv0BM;IAAwB,iBADZ;IACY,QADZ;EL20BlB;EK10BM;IAAwB,kBADZ;IACY,SADZ;EL80BlB;EK70BM;IAAwB,kBADZ;IACY,SADZ;ELi1BlB;EKh1BM;IAAwB,kBADZ;IACY,SADZ;ELo1BlB;EK50BU;IHhBV,cAA4B;EF+1B5B;EK/0BU;IHhBV,sBAA8C;EFk2B9C;EKl1BU;IHhBV,uBAA8C;EFq2B9C;EKr1BU;IHhBV,gBAA8C;EFw2B9C;EKx1BU;IHhBV,uBAA8C;EF22B9C;EK31BU;IHhBV,uBAA8C;EF82B9C;EK91BU;IHhBV,gBAA8C;EFi3B9C;EKj2BU;IHhBV,uBAA8C;EFo3B9C;EKp2BU;IHhBV,uBAA8C;EFu3B9C;EKv2BU;IHhBV,gBAA8C;EF03B9C;EK12BU;IHhBV,uBAA8C;EF63B9C;EK72BU;IHhBV,uBAA8C;EFg4B9C;AACF;;AM76BM;EAAwB,wBAA0B;ANi7BxD;;AMj7BM;EAAwB,0BAA0B;ANq7BxD;;AMr7BM;EAAwB,gCAA0B;ANy7BxD;;AMz7BM;EAAwB,yBAA0B;AN67BxD;;AM77BM;EAAwB,yBAA0B;ANi8BxD;;AMj8BM;EAAwB,6BAA0B;ANq8BxD;;AMr8BM;EAAwB,8BAA0B;ANy8BxD;;AMz8BM;EAAwB,+BAA0B;EAA1B,wBAA0B;AN68BxD;;AM78BM;EAAwB,sCAA0B;EAA1B,+BAA0B;ANi9BxD;;AGh6BI;EGjDE;IAAwB,wBAA0B;ENs9BtD;EMt9BI;IAAwB,0BAA0B;ENy9BtD;EMz9BI;IAAwB,gCAA0B;EN49BtD;EM59BI;IAAwB,yBAA0B;EN+9BtD;EM/9BI;IAAwB,yBAA0B;ENk+BtD;EMl+BI;IAAwB,6BAA0B;ENq+BtD;EMr+BI;IAAwB,8BAA0B;ENw+BtD;EMx+BI;IAAwB,+BAA0B;IAA1B,wBAA0B;EN2+BtD;EM3+BI;IAAwB,sCAA0B;IAA1B,+BAA0B;EN8+BtD;AACF;;AG97BI;EGjDE;IAAwB,wBAA0B;ENo/BtD;EMp/BI;IAAwB,0BAA0B;ENu/BtD;EMv/BI;IAAwB,gCAA0B;EN0/BtD;EM1/BI;IAAwB,yBAA0B;EN6/BtD;EM7/BI;IAAwB,yBAA0B;ENggCtD;EMhgCI;IAAwB,6BAA0B;ENmgCtD;EMngCI;IAAwB,8BAA0B;ENsgCtD;EMtgCI;IAAwB,+BAA0B;IAA1B,wBAA0B;ENygCtD;EMzgCI;IAAwB,sCAA0B;IAA1B,+BAA0B;EN4gCtD;AACF;;AG59BI;EGjDE;IAAwB,wBAA0B;ENkhCtD;EMlhCI;IAAwB,0BAA0B;ENqhCtD;EMrhCI;IAAwB,gCAA0B;ENwhCtD;EMxhCI;IAAwB,yBAA0B;EN2hCtD;EM3hCI;IAAwB,yBAA0B;EN8hCtD;EM9hCI;IAAwB,6BAA0B;ENiiCtD;EMjiCI;IAAwB,8BAA0B;ENoiCtD;EMpiCI;IAAwB,+BAA0B;IAA1B,wBAA0B;ENuiCtD;EMviCI;IAAwB,sCAA0B;IAA1B,+BAA0B;EN0iCtD;AACF;;AG1/BI;EGjDE;IAAwB,wBAA0B;ENgjCtD;EMhjCI;IAAwB,0BAA0B;ENmjCtD;EMnjCI;IAAwB,gCAA0B;ENsjCtD;EMtjCI;IAAwB,yBAA0B;ENyjCtD;EMzjCI;IAAwB,yBAA0B;EN4jCtD;EM5jCI;IAAwB,6BAA0B;EN+jCtD;EM/jCI;IAAwB,8BAA0B;ENkkCtD;EMlkCI;IAAwB,+BAA0B;IAA1B,wBAA0B;ENqkCtD;EMrkCI;IAAwB,sCAA0B;IAA1B,+BAA0B;ENwkCtD;AACF;;AM/jCA;EAEI;IAAqB,wBAA0B;ENkkCjD;EMlkCE;IAAqB,0BAA0B;ENqkCjD;EMrkCE;IAAqB,gCAA0B;ENwkCjD;EMxkCE;IAAqB,yBAA0B;EN2kCjD;EM3kCE;IAAqB,yBAA0B;EN8kCjD;EM9kCE;IAAqB,6BAA0B;ENilCjD;EMjlCE;IAAqB,8BAA0B;ENolCjD;EMplCE;IAAqB,+BAA0B;IAA1B,wBAA0B;ENulCjD;EMvlCE;IAAqB,sCAA0B;IAA1B,+BAA0B;EN0lCjD;AACF;;AOxmCI;EAAgC,kCAA8B;EAA9B,8BAA8B;AP4mClE;;AO3mCI;EAAgC,qCAAiC;EAAjC,iCAAiC;AP+mCrE;;AO9mCI;EAAgC,0CAAsC;EAAtC,sCAAsC;APknC1E;;AOjnCI;EAAgC,6CAAyC;EAAzC,yCAAyC;APqnC7E;;AOnnCI;EAA8B,8BAA0B;EAA1B,0BAA0B;APunC5D;;AOtnCI;EAA8B,gCAA4B;EAA5B,4BAA4B;AP0nC9D;;AOznCI;EAA8B,sCAAkC;EAAlC,kCAAkC;AP6nCpE;;AO5nCI;EAA8B,6BAAyB;EAAzB,yBAAyB;APgoC3D;;AO/nCI;EAA8B,+BAAuB;EAAvB,uBAAuB;APmoCzD;;AOloCI;EAA8B,+BAAuB;EAAvB,uBAAuB;APsoCzD;;AOroCI;EAA8B,+BAAyB;EAAzB,yBAAyB;APyoC3D;;AOxoCI;EAA8B,+BAAyB;EAAzB,yBAAyB;AP4oC3D;;AO1oCI;EAAoC,+BAAsC;EAAtC,sCAAsC;AP8oC9E;;AO7oCI;EAAoC,6BAAoC;EAApC,oCAAoC;APipC5E;;AOhpCI;EAAoC,gCAAkC;EAAlC,kCAAkC;APopC1E;;AOnpCI;EAAoC,iCAAyC;EAAzC,yCAAyC;APupCjF;;AOtpCI;EAAoC,oCAAwC;EAAxC,wCAAwC;AP0pChF;;AOxpCI;EAAiC,gCAAkC;EAAlC,kCAAkC;AP4pCvE;;AO3pCI;EAAiC,8BAAgC;EAAhC,gCAAgC;AP+pCrE;;AO9pCI;EAAiC,iCAA8B;EAA9B,8BAA8B;APkqCnE;;AOjqCI;EAAiC,mCAAgC;EAAhC,gCAAgC;APqqCrE;;AOpqCI;EAAiC,kCAA+B;EAA/B,+BAA+B;APwqCpE;;AOtqCI;EAAkC,oCAAoC;EAApC,oCAAoC;AP0qC1E;;AOzqCI;EAAkC,kCAAkC;EAAlC,kCAAkC;AP6qCxE;;AO5qCI;EAAkC,qCAAgC;EAAhC,gCAAgC;APgrCtE;;AO/qCI;EAAkC,sCAAuC;EAAvC,uCAAuC;APmrC7E;;AOlrCI;EAAkC,yCAAsC;EAAtC,sCAAsC;APsrC5E;;AOrrCI;EAAkC,sCAAiC;EAAjC,iCAAiC;APyrCvE;;AOvrCI;EAAgC,oCAA2B;EAA3B,2BAA2B;AP2rC/D;;AO1rCI;EAAgC,qCAAiC;EAAjC,iCAAiC;AP8rCrE;;AO7rCI;EAAgC,mCAA+B;EAA/B,+BAA+B;APisCnE;;AOhsCI;EAAgC,sCAA6B;EAA7B,6BAA6B;APosCjE;;AOnsCI;EAAgC,wCAA+B;EAA/B,+BAA+B;APusCnE;;AOtsCI;EAAgC,uCAA8B;EAA9B,8BAA8B;AP0sClE;;AG9rCI;EIlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;EPqvChE;EOpvCE;IAAgC,qCAAiC;IAAjC,iCAAiC;EPuvCnE;EOtvCE;IAAgC,0CAAsC;IAAtC,sCAAsC;EPyvCxE;EOxvCE;IAAgC,6CAAyC;IAAzC,yCAAyC;EP2vC3E;EOzvCE;IAA8B,8BAA0B;IAA1B,0BAA0B;EP4vC1D;EO3vCE;IAA8B,gCAA4B;IAA5B,4BAA4B;EP8vC5D;EO7vCE;IAA8B,sCAAkC;IAAlC,kCAAkC;EPgwClE;EO/vCE;IAA8B,6BAAyB;IAAzB,yBAAyB;EPkwCzD;EOjwCE;IAA8B,+BAAuB;IAAvB,uBAAuB;EPowCvD;EOnwCE;IAA8B,+BAAuB;IAAvB,uBAAuB;EPswCvD;EOrwCE;IAA8B,+BAAyB;IAAzB,yBAAyB;EPwwCzD;EOvwCE;IAA8B,+BAAyB;IAAzB,yBAAyB;EP0wCzD;EOxwCE;IAAoC,+BAAsC;IAAtC,sCAAsC;EP2wC5E;EO1wCE;IAAoC,6BAAoC;IAApC,oCAAoC;EP6wC1E;EO5wCE;IAAoC,gCAAkC;IAAlC,kCAAkC;EP+wCxE;EO9wCE;IAAoC,iCAAyC;IAAzC,yCAAyC;EPixC/E;EOhxCE;IAAoC,oCAAwC;IAAxC,wCAAwC;EPmxC9E;EOjxCE;IAAiC,gCAAkC;IAAlC,kCAAkC;EPoxCrE;EOnxCE;IAAiC,8BAAgC;IAAhC,gCAAgC;EPsxCnE;EOrxCE;IAAiC,iCAA8B;IAA9B,8BAA8B;EPwxCjE;EOvxCE;IAAiC,mCAAgC;IAAhC,gCAAgC;EP0xCnE;EOzxCE;IAAiC,kCAA+B;IAA/B,+BAA+B;EP4xClE;EO1xCE;IAAkC,oCAAoC;IAApC,oCAAoC;EP6xCxE;EO5xCE;IAAkC,kCAAkC;IAAlC,kCAAkC;EP+xCtE;EO9xCE;IAAkC,qCAAgC;IAAhC,gCAAgC;EPiyCpE;EOhyCE;IAAkC,sCAAuC;IAAvC,uCAAuC;EPmyC3E;EOlyCE;IAAkC,yCAAsC;IAAtC,sCAAsC;EPqyC1E;EOpyCE;IAAkC,sCAAiC;IAAjC,iCAAiC;EPuyCrE;EOryCE;IAAgC,oCAA2B;IAA3B,2BAA2B;EPwyC7D;EOvyCE;IAAgC,qCAAiC;IAAjC,iCAAiC;EP0yCnE;EOzyCE;IAAgC,mCAA+B;IAA/B,+BAA+B;EP4yCjE;EO3yCE;IAAgC,sCAA6B;IAA7B,6BAA6B;EP8yC/D;EO7yCE;IAAgC,wCAA+B;IAA/B,+BAA+B;EPgzCjE;EO/yCE;IAAgC,uCAA8B;IAA9B,8BAA8B;EPkzChE;AACF;;AGvyCI;EIlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;EP81ChE;EO71CE;IAAgC,qCAAiC;IAAjC,iCAAiC;EPg2CnE;EO/1CE;IAAgC,0CAAsC;IAAtC,sCAAsC;EPk2CxE;EOj2CE;IAAgC,6CAAyC;IAAzC,yCAAyC;EPo2C3E;EOl2CE;IAA8B,8BAA0B;IAA1B,0BAA0B;EPq2C1D;EOp2CE;IAA8B,gCAA4B;IAA5B,4BAA4B;EPu2C5D;EOt2CE;IAA8B,sCAAkC;IAAlC,kCAAkC;EPy2ClE;EOx2CE;IAA8B,6BAAyB;IAAzB,yBAAyB;EP22CzD;EO12CE;IAA8B,+BAAuB;IAAvB,uBAAuB;EP62CvD;EO52CE;IAA8B,+BAAuB;IAAvB,uBAAuB;EP+2CvD;EO92CE;IAA8B,+BAAyB;IAAzB,yBAAyB;EPi3CzD;EOh3CE;IAA8B,+BAAyB;IAAzB,yBAAyB;EPm3CzD;EOj3CE;IAAoC,+BAAsC;IAAtC,sCAAsC;EPo3C5E;EOn3CE;IAAoC,6BAAoC;IAApC,oCAAoC;EPs3C1E;EOr3CE;IAAoC,gCAAkC;IAAlC,kCAAkC;EPw3CxE;EOv3CE;IAAoC,iCAAyC;IAAzC,yCAAyC;EP03C/E;EOz3CE;IAAoC,oCAAwC;IAAxC,wCAAwC;EP43C9E;EO13CE;IAAiC,gCAAkC;IAAlC,kCAAkC;EP63CrE;EO53CE;IAAiC,8BAAgC;IAAhC,gCAAgC;EP+3CnE;EO93CE;IAAiC,iCAA8B;IAA9B,8BAA8B;EPi4CjE;EOh4CE;IAAiC,mCAAgC;IAAhC,gCAAgC;EPm4CnE;EOl4CE;IAAiC,kCAA+B;IAA/B,+BAA+B;EPq4ClE;EOn4CE;IAAkC,oCAAoC;IAApC,oCAAoC;EPs4CxE;EOr4CE;IAAkC,kCAAkC;IAAlC,kCAAkC;EPw4CtE;EOv4CE;IAAkC,qCAAgC;IAAhC,gCAAgC;EP04CpE;EOz4CE;IAAkC,sCAAuC;IAAvC,uCAAuC;EP44C3E;EO34CE;IAAkC,yCAAsC;IAAtC,sCAAsC;EP84C1E;EO74CE;IAAkC,sCAAiC;IAAjC,iCAAiC;EPg5CrE;EO94CE;IAAgC,oCAA2B;IAA3B,2BAA2B;EPi5C7D;EOh5CE;IAAgC,qCAAiC;IAAjC,iCAAiC;EPm5CnE;EOl5CE;IAAgC,mCAA+B;IAA/B,+BAA+B;EPq5CjE;EOp5CE;IAAgC,sCAA6B;IAA7B,6BAA6B;EPu5C/D;EOt5CE;IAAgC,wCAA+B;IAA/B,+BAA+B;EPy5CjE;EOx5CE;IAAgC,uCAA8B;IAA9B,8BAA8B;EP25ChE;AACF;;AGh5CI;EIlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;EPu8ChE;EOt8CE;IAAgC,qCAAiC;IAAjC,iCAAiC;EPy8CnE;EOx8CE;IAAgC,0CAAsC;IAAtC,sCAAsC;EP28CxE;EO18CE;IAAgC,6CAAyC;IAAzC,yCAAyC;EP68C3E;EO38CE;IAA8B,8BAA0B;IAA1B,0BAA0B;EP88C1D;EO78CE;IAA8B,gCAA4B;IAA5B,4BAA4B;EPg9C5D;EO/8CE;IAA8B,sCAAkC;IAAlC,kCAAkC;EPk9ClE;EOj9CE;IAA8B,6BAAyB;IAAzB,yBAAyB;EPo9CzD;EOn9CE;IAA8B,+BAAuB;IAAvB,uBAAuB;EPs9CvD;EOr9CE;IAA8B,+BAAuB;IAAvB,uBAAuB;EPw9CvD;EOv9CE;IAA8B,+BAAyB;IAAzB,yBAAyB;EP09CzD;EOz9CE;IAA8B,+BAAyB;IAAzB,yBAAyB;EP49CzD;EO19CE;IAAoC,+BAAsC;IAAtC,sCAAsC;EP69C5E;EO59CE;IAAoC,6BAAoC;IAApC,oCAAoC;EP+9C1E;EO99CE;IAAoC,gCAAkC;IAAlC,kCAAkC;EPi+CxE;EOh+CE;IAAoC,iCAAyC;IAAzC,yCAAyC;EPm+C/E;EOl+CE;IAAoC,oCAAwC;IAAxC,wCAAwC;EPq+C9E;EOn+CE;IAAiC,gCAAkC;IAAlC,kCAAkC;EPs+CrE;EOr+CE;IAAiC,8BAAgC;IAAhC,gCAAgC;EPw+CnE;EOv+CE;IAAiC,iCAA8B;IAA9B,8BAA8B;EP0+CjE;EOz+CE;IAAiC,mCAAgC;IAAhC,gCAAgC;EP4+CnE;EO3+CE;IAAiC,kCAA+B;IAA/B,+BAA+B;EP8+ClE;EO5+CE;IAAkC,oCAAoC;IAApC,oCAAoC;EP++CxE;EO9+CE;IAAkC,kCAAkC;IAAlC,kCAAkC;EPi/CtE;EOh/CE;IAAkC,qCAAgC;IAAhC,gCAAgC;EPm/CpE;EOl/CE;IAAkC,sCAAuC;IAAvC,uCAAuC;EPq/C3E;EOp/CE;IAAkC,yCAAsC;IAAtC,sCAAsC;EPu/C1E;EOt/CE;IAAkC,sCAAiC;IAAjC,iCAAiC;EPy/CrE;EOv/CE;IAAgC,oCAA2B;IAA3B,2BAA2B;EP0/C7D;EOz/CE;IAAgC,qCAAiC;IAAjC,iCAAiC;EP4/CnE;EO3/CE;IAAgC,mCAA+B;IAA/B,+BAA+B;EP8/CjE;EO7/CE;IAAgC,sCAA6B;IAA7B,6BAA6B;EPggD/D;EO//CE;IAAgC,wCAA+B;IAA/B,+BAA+B;EPkgDjE;EOjgDE;IAAgC,uCAA8B;IAA9B,8BAA8B;EPogDhE;AACF;;AGz/CI;EIlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;EPgjDhE;EO/iDE;IAAgC,qCAAiC;IAAjC,iCAAiC;EPkjDnE;EOjjDE;IAAgC,0CAAsC;IAAtC,sCAAsC;EPojDxE;EOnjDE;IAAgC,6CAAyC;IAAzC,yCAAyC;EPsjD3E;EOpjDE;IAA8B,8BAA0B;IAA1B,0BAA0B;EPujD1D;EOtjDE;IAA8B,gCAA4B;IAA5B,4BAA4B;EPyjD5D;EOxjDE;IAA8B,sCAAkC;IAAlC,kCAAkC;EP2jDlE;EO1jDE;IAA8B,6BAAyB;IAAzB,yBAAyB;EP6jDzD;EO5jDE;IAA8B,+BAAuB;IAAvB,uBAAuB;EP+jDvD;EO9jDE;IAA8B,+BAAuB;IAAvB,uBAAuB;EPikDvD;EOhkDE;IAA8B,+BAAyB;IAAzB,yBAAyB;EPmkDzD;EOlkDE;IAA8B,+BAAyB;IAAzB,yBAAyB;EPqkDzD;EOnkDE;IAAoC,+BAAsC;IAAtC,sCAAsC;EPskD5E;EOrkDE;IAAoC,6BAAoC;IAApC,oCAAoC;EPwkD1E;EOvkDE;IAAoC,gCAAkC;IAAlC,kCAAkC;EP0kDxE;EOzkDE;IAAoC,iCAAyC;IAAzC,yCAAyC;EP4kD/E;EO3kDE;IAAoC,oCAAwC;IAAxC,wCAAwC;EP8kD9E;EO5kDE;IAAiC,gCAAkC;IAAlC,kCAAkC;EP+kDrE;EO9kDE;IAAiC,8BAAgC;IAAhC,gCAAgC;EPilDnE;EOhlDE;IAAiC,iCAA8B;IAA9B,8BAA8B;EPmlDjE;EOllDE;IAAiC,mCAAgC;IAAhC,gCAAgC;EPqlDnE;EOplDE;IAAiC,kCAA+B;IAA/B,+BAA+B;EPulDlE;EOrlDE;IAAkC,oCAAoC;IAApC,oCAAoC;EPwlDxE;EOvlDE;IAAkC,kCAAkC;IAAlC,kCAAkC;EP0lDtE;EOzlDE;IAAkC,qCAAgC;IAAhC,gCAAgC;EP4lDpE;EO3lDE;IAAkC,sCAAuC;IAAvC,uCAAuC;EP8lD3E;EO7lDE;IAAkC,yCAAsC;IAAtC,sCAAsC;EPgmD1E;EO/lDE;IAAkC,sCAAiC;IAAjC,iCAAiC;EPkmDrE;EOhmDE;IAAgC,oCAA2B;IAA3B,2BAA2B;EPmmD7D;EOlmDE;IAAgC,qCAAiC;IAAjC,iCAAiC;EPqmDnE;EOpmDE;IAAgC,mCAA+B;IAA/B,+BAA+B;EPumDjE;EOtmDE;IAAgC,sCAA6B;IAA7B,6BAA6B;EPymD/D;EOxmDE;IAAgC,wCAA+B;IAA/B,+BAA+B;EP2mDjE;EO1mDE;IAAgC,uCAA8B;IAA9B,8BAA8B;EP6mDhE;AACF;;AQppDQ;EAAgC,oBAA4B;ARwpDpE;;AQvpDQ;;EAEE,wBAAoC;AR0pD9C;;AQxpDQ;;EAEE,0BAAwC;AR2pDlD;;AQzpDQ;;EAEE,2BAA0C;AR4pDpD;;AQ1pDQ;;EAEE,yBAAsC;AR6pDhD;;AQ5qDQ;EAAgC,0BAA4B;ARgrDpE;;AQ/qDQ;;EAEE,8BAAoC;ARkrD9C;;AQhrDQ;;EAEE,gCAAwC;ARmrDlD;;AQjrDQ;;EAEE,iCAA0C;ARorDpD;;AQlrDQ;;EAEE,+BAAsC;ARqrDhD;;AQpsDQ;EAAgC,yBAA4B;ARwsDpE;;AQvsDQ;;EAEE,6BAAoC;AR0sD9C;;AQxsDQ;;EAEE,+BAAwC;AR2sDlD;;AQzsDQ;;EAEE,gCAA0C;AR4sDpD;;AQ1sDQ;;EAEE,8BAAsC;AR6sDhD;;AQ5tDQ;EAAgC,uBAA4B;ARguDpE;;AQ/tDQ;;EAEE,2BAAoC;ARkuD9C;;AQhuDQ;;EAEE,6BAAwC;ARmuDlD;;AQjuDQ;;EAEE,8BAA0C;ARouDpD;;AQluDQ;;EAEE,4BAAsC;ARquDhD;;AQpvDQ;EAAgC,yBAA4B;ARwvDpE;;AQvvDQ;;EAEE,6BAAoC;AR0vD9C;;AQxvDQ;;EAEE,+BAAwC;AR2vDlD;;AQzvDQ;;EAEE,gCAA0C;AR4vDpD;;AQ1vDQ;;EAEE,8BAAsC;AR6vDhD;;AQ5wDQ;EAAgC,uBAA4B;ARgxDpE;;AQ/wDQ;;EAEE,2BAAoC;ARkxD9C;;AQhxDQ;;EAEE,6BAAwC;ARmxDlD;;AQjxDQ;;EAEE,8BAA0C;ARoxDpD;;AQlxDQ;;EAEE,4BAAsC;ARqxDhD;;AQpyDQ;EAAgC,qBAA4B;ARwyDpE;;AQvyDQ;;EAEE,yBAAoC;AR0yD9C;;AQxyDQ;;EAEE,2BAAwC;AR2yDlD;;AQzyDQ;;EAEE,4BAA0C;AR4yDpD;;AQ1yDQ;;EAEE,0BAAsC;AR6yDhD;;AQ5zDQ;EAAgC,2BAA4B;ARg0DpE;;AQ/zDQ;;EAEE,+BAAoC;ARk0D9C;;AQh0DQ;;EAEE,iCAAwC;ARm0DlD;;AQj0DQ;;EAEE,kCAA0C;ARo0DpD;;AQl0DQ;;EAEE,gCAAsC;ARq0DhD;;AQp1DQ;EAAgC,0BAA4B;ARw1DpE;;AQv1DQ;;EAEE,8BAAoC;AR01D9C;;AQx1DQ;;EAEE,gCAAwC;AR21DlD;;AQz1DQ;;EAEE,iCAA0C;AR41DpD;;AQ11DQ;;EAEE,+BAAsC;AR61DhD;;AQ52DQ;EAAgC,wBAA4B;ARg3DpE;;AQ/2DQ;;EAEE,4BAAoC;ARk3D9C;;AQh3DQ;;EAEE,8BAAwC;ARm3DlD;;AQj3DQ;;EAEE,+BAA0C;ARo3DpD;;AQl3DQ;;EAEE,6BAAsC;ARq3DhD;;AQp4DQ;EAAgC,0BAA4B;ARw4DpE;;AQv4DQ;;EAEE,8BAAoC;AR04D9C;;AQx4DQ;;EAEE,gCAAwC;AR24DlD;;AQz4DQ;;EAEE,iCAA0C;AR44DpD;;AQ14DQ;;EAEE,+BAAsC;AR64DhD;;AQ55DQ;EAAgC,wBAA4B;ARg6DpE;;AQ/5DQ;;EAEE,4BAAoC;ARk6D9C;;AQh6DQ;;EAEE,8BAAwC;ARm6DlD;;AQj6DQ;;EAEE,+BAA0C;ARo6DpD;;AQl6DQ;;EAEE,6BAAsC;ARq6DhD;;AQ75DQ;EAAwB,2BAA2B;ARi6D3D;;AQh6DQ;;EAEE,+BAA+B;ARm6DzC;;AQj6DQ;;EAEE,iCAAiC;ARo6D3C;;AQl6DQ;;EAEE,kCAAkC;ARq6D5C;;AQn6DQ;;EAEE,gCAAgC;ARs6D1C;;AQr7DQ;EAAwB,0BAA2B;ARy7D3D;;AQx7DQ;;EAEE,8BAA+B;AR27DzC;;AQz7DQ;;EAEE,gCAAiC;AR47D3C;;AQ17DQ;;EAEE,iCAAkC;AR67D5C;;AQ37DQ;;EAEE,+BAAgC;AR87D1C;;AQ78DQ;EAAwB,wBAA2B;ARi9D3D;;AQh9DQ;;EAEE,4BAA+B;ARm9DzC;;AQj9DQ;;EAEE,8BAAiC;ARo9D3C;;AQl9DQ;;EAEE,+BAAkC;ARq9D5C;;AQn9DQ;;EAEE,6BAAgC;ARs9D1C;;AQr+DQ;EAAwB,0BAA2B;ARy+D3D;;AQx+DQ;;EAEE,8BAA+B;AR2+DzC;;AQz+DQ;;EAEE,gCAAiC;AR4+D3C;;AQ1+DQ;;EAEE,iCAAkC;AR6+D5C;;AQ3+DQ;;EAEE,+BAAgC;AR8+D1C;;AQ7/DQ;EAAwB,wBAA2B;ARigE3D;;AQhgEQ;;EAEE,4BAA+B;ARmgEzC;;AQjgEQ;;EAEE,8BAAiC;ARogE3C;;AQlgEQ;;EAEE,+BAAkC;ARqgE5C;;AQngEQ;;EAEE,6BAAgC;ARsgE1C;;AQhgEI;EAAmB,uBAAuB;ARogE9C;;AQngEI;;EAEE,2BAA2B;ARsgEjC;;AQpgEI;;EAEE,6BAA6B;ARugEnC;;AQrgEI;;EAEE,8BAA8B;ARwgEpC;;AQtgEI;;EAEE,4BAA4B;ARygElC;;AGlhEI;EKlDI;IAAgC,oBAA4B;ERykElE;EQxkEM;;IAEE,wBAAoC;ER0kE5C;EQxkEM;;IAEE,0BAAwC;ER0kEhD;EQxkEM;;IAEE,2BAA0C;ER0kElD;EQxkEM;;IAEE,yBAAsC;ER0kE9C;EQzlEM;IAAgC,0BAA4B;ER4lElE;EQ3lEM;;IAEE,8BAAoC;ER6lE5C;EQ3lEM;;IAEE,gCAAwC;ER6lEhD;EQ3lEM;;IAEE,iCAA0C;ER6lElD;EQ3lEM;;IAEE,+BAAsC;ER6lE9C;EQ5mEM;IAAgC,yBAA4B;ER+mElE;EQ9mEM;;IAEE,6BAAoC;ERgnE5C;EQ9mEM;;IAEE,+BAAwC;ERgnEhD;EQ9mEM;;IAEE,gCAA0C;ERgnElD;EQ9mEM;;IAEE,8BAAsC;ERgnE9C;EQ/nEM;IAAgC,uBAA4B;ERkoElE;EQjoEM;;IAEE,2BAAoC;ERmoE5C;EQjoEM;;IAEE,6BAAwC;ERmoEhD;EQjoEM;;IAEE,8BAA0C;ERmoElD;EQjoEM;;IAEE,4BAAsC;ERmoE9C;EQlpEM;IAAgC,yBAA4B;ERqpElE;EQppEM;;IAEE,6BAAoC;ERspE5C;EQppEM;;IAEE,+BAAwC;ERspEhD;EQppEM;;IAEE,gCAA0C;ERspElD;EQppEM;;IAEE,8BAAsC;ERspE9C;EQrqEM;IAAgC,uBAA4B;ERwqElE;EQvqEM;;IAEE,2BAAoC;ERyqE5C;EQvqEM;;IAEE,6BAAwC;ERyqEhD;EQvqEM;;IAEE,8BAA0C;ERyqElD;EQvqEM;;IAEE,4BAAsC;ERyqE9C;EQxrEM;IAAgC,qBAA4B;ER2rElE;EQ1rEM;;IAEE,yBAAoC;ER4rE5C;EQ1rEM;;IAEE,2BAAwC;ER4rEhD;EQ1rEM;;IAEE,4BAA0C;ER4rElD;EQ1rEM;;IAEE,0BAAsC;ER4rE9C;EQ3sEM;IAAgC,2BAA4B;ER8sElE;EQ7sEM;;IAEE,+BAAoC;ER+sE5C;EQ7sEM;;IAEE,iCAAwC;ER+sEhD;EQ7sEM;;IAEE,kCAA0C;ER+sElD;EQ7sEM;;IAEE,gCAAsC;ER+sE9C;EQ9tEM;IAAgC,0BAA4B;ERiuElE;EQhuEM;;IAEE,8BAAoC;ERkuE5C;EQhuEM;;IAEE,gCAAwC;ERkuEhD;EQhuEM;;IAEE,iCAA0C;ERkuElD;EQhuEM;;IAEE,+BAAsC;ERkuE9C;EQjvEM;IAAgC,wBAA4B;ERovElE;EQnvEM;;IAEE,4BAAoC;ERqvE5C;EQnvEM;;IAEE,8BAAwC;ERqvEhD;EQnvEM;;IAEE,+BAA0C;ERqvElD;EQnvEM;;IAEE,6BAAsC;ERqvE9C;EQpwEM;IAAgC,0BAA4B;ERuwElE;EQtwEM;;IAEE,8BAAoC;ERwwE5C;EQtwEM;;IAEE,gCAAwC;ERwwEhD;EQtwEM;;IAEE,iCAA0C;ERwwElD;EQtwEM;;IAEE,+BAAsC;ERwwE9C;EQvxEM;IAAgC,wBAA4B;ER0xElE;EQzxEM;;IAEE,4BAAoC;ER2xE5C;EQzxEM;;IAEE,8BAAwC;ER2xEhD;EQzxEM;;IAEE,+BAA0C;ER2xElD;EQzxEM;;IAEE,6BAAsC;ER2xE9C;EQnxEM;IAAwB,2BAA2B;ERsxEzD;EQrxEM;;IAEE,+BAA+B;ERuxEvC;EQrxEM;;IAEE,iCAAiC;ERuxEzC;EQrxEM;;IAEE,kCAAkC;ERuxE1C;EQrxEM;;IAEE,gCAAgC;ERuxExC;EQtyEM;IAAwB,0BAA2B;ERyyEzD;EQxyEM;;IAEE,8BAA+B;ER0yEvC;EQxyEM;;IAEE,gCAAiC;ER0yEzC;EQxyEM;;IAEE,iCAAkC;ER0yE1C;EQxyEM;;IAEE,+BAAgC;ER0yExC;EQzzEM;IAAwB,wBAA2B;ER4zEzD;EQ3zEM;;IAEE,4BAA+B;ER6zEvC;EQ3zEM;;IAEE,8BAAiC;ER6zEzC;EQ3zEM;;IAEE,+BAAkC;ER6zE1C;EQ3zEM;;IAEE,6BAAgC;ER6zExC;EQ50EM;IAAwB,0BAA2B;ER+0EzD;EQ90EM;;IAEE,8BAA+B;ERg1EvC;EQ90EM;;IAEE,gCAAiC;ERg1EzC;EQ90EM;;IAEE,iCAAkC;ERg1E1C;EQ90EM;;IAEE,+BAAgC;ERg1ExC;EQ/1EM;IAAwB,wBAA2B;ERk2EzD;EQj2EM;;IAEE,4BAA+B;ERm2EvC;EQj2EM;;IAEE,8BAAiC;ERm2EzC;EQj2EM;;IAEE,+BAAkC;ERm2E1C;EQj2EM;;IAEE,6BAAgC;ERm2ExC;EQ71EE;IAAmB,uBAAuB;ERg2E5C;EQ/1EE;;IAEE,2BAA2B;ERi2E/B;EQ/1EE;;IAEE,6BAA6B;ERi2EjC;EQ/1EE;;IAEE,8BAA8B;ERi2ElC;EQ/1EE;;IAEE,4BAA4B;ERi2EhC;AACF;;AG32EI;EKlDI;IAAgC,oBAA4B;ERk6ElE;EQj6EM;;IAEE,wBAAoC;ERm6E5C;EQj6EM;;IAEE,0BAAwC;ERm6EhD;EQj6EM;;IAEE,2BAA0C;ERm6ElD;EQj6EM;;IAEE,yBAAsC;ERm6E9C;EQl7EM;IAAgC,0BAA4B;ERq7ElE;EQp7EM;;IAEE,8BAAoC;ERs7E5C;EQp7EM;;IAEE,gCAAwC;ERs7EhD;EQp7EM;;IAEE,iCAA0C;ERs7ElD;EQp7EM;;IAEE,+BAAsC;ERs7E9C;EQr8EM;IAAgC,yBAA4B;ERw8ElE;EQv8EM;;IAEE,6BAAoC;ERy8E5C;EQv8EM;;IAEE,+BAAwC;ERy8EhD;EQv8EM;;IAEE,gCAA0C;ERy8ElD;EQv8EM;;IAEE,8BAAsC;ERy8E9C;EQx9EM;IAAgC,uBAA4B;ER29ElE;EQ19EM;;IAEE,2BAAoC;ER49E5C;EQ19EM;;IAEE,6BAAwC;ER49EhD;EQ19EM;;IAEE,8BAA0C;ER49ElD;EQ19EM;;IAEE,4BAAsC;ER49E9C;EQ3+EM;IAAgC,yBAA4B;ER8+ElE;EQ7+EM;;IAEE,6BAAoC;ER++E5C;EQ7+EM;;IAEE,+BAAwC;ER++EhD;EQ7+EM;;IAEE,gCAA0C;ER++ElD;EQ7+EM;;IAEE,8BAAsC;ER++E9C;EQ9/EM;IAAgC,uBAA4B;ERigFlE;EQhgFM;;IAEE,2BAAoC;ERkgF5C;EQhgFM;;IAEE,6BAAwC;ERkgFhD;EQhgFM;;IAEE,8BAA0C;ERkgFlD;EQhgFM;;IAEE,4BAAsC;ERkgF9C;EQjhFM;IAAgC,qBAA4B;ERohFlE;EQnhFM;;IAEE,yBAAoC;ERqhF5C;EQnhFM;;IAEE,2BAAwC;ERqhFhD;EQnhFM;;IAEE,4BAA0C;ERqhFlD;EQnhFM;;IAEE,0BAAsC;ERqhF9C;EQpiFM;IAAgC,2BAA4B;ERuiFlE;EQtiFM;;IAEE,+BAAoC;ERwiF5C;EQtiFM;;IAEE,iCAAwC;ERwiFhD;EQtiFM;;IAEE,kCAA0C;ERwiFlD;EQtiFM;;IAEE,gCAAsC;ERwiF9C;EQvjFM;IAAgC,0BAA4B;ER0jFlE;EQzjFM;;IAEE,8BAAoC;ER2jF5C;EQzjFM;;IAEE,gCAAwC;ER2jFhD;EQzjFM;;IAEE,iCAA0C;ER2jFlD;EQzjFM;;IAEE,+BAAsC;ER2jF9C;EQ1kFM;IAAgC,wBAA4B;ER6kFlE;EQ5kFM;;IAEE,4BAAoC;ER8kF5C;EQ5kFM;;IAEE,8BAAwC;ER8kFhD;EQ5kFM;;IAEE,+BAA0C;ER8kFlD;EQ5kFM;;IAEE,6BAAsC;ER8kF9C;EQ7lFM;IAAgC,0BAA4B;ERgmFlE;EQ/lFM;;IAEE,8BAAoC;ERimF5C;EQ/lFM;;IAEE,gCAAwC;ERimFhD;EQ/lFM;;IAEE,iCAA0C;ERimFlD;EQ/lFM;;IAEE,+BAAsC;ERimF9C;EQhnFM;IAAgC,wBAA4B;ERmnFlE;EQlnFM;;IAEE,4BAAoC;ERonF5C;EQlnFM;;IAEE,8BAAwC;ERonFhD;EQlnFM;;IAEE,+BAA0C;ERonFlD;EQlnFM;;IAEE,6BAAsC;ERonF9C;EQ5mFM;IAAwB,2BAA2B;ER+mFzD;EQ9mFM;;IAEE,+BAA+B;ERgnFvC;EQ9mFM;;IAEE,iCAAiC;ERgnFzC;EQ9mFM;;IAEE,kCAAkC;ERgnF1C;EQ9mFM;;IAEE,gCAAgC;ERgnFxC;EQ/nFM;IAAwB,0BAA2B;ERkoFzD;EQjoFM;;IAEE,8BAA+B;ERmoFvC;EQjoFM;;IAEE,gCAAiC;ERmoFzC;EQjoFM;;IAEE,iCAAkC;ERmoF1C;EQjoFM;;IAEE,+BAAgC;ERmoFxC;EQlpFM;IAAwB,wBAA2B;ERqpFzD;EQppFM;;IAEE,4BAA+B;ERspFvC;EQppFM;;IAEE,8BAAiC;ERspFzC;EQppFM;;IAEE,+BAAkC;ERspF1C;EQppFM;;IAEE,6BAAgC;ERspFxC;EQrqFM;IAAwB,0BAA2B;ERwqFzD;EQvqFM;;IAEE,8BAA+B;ERyqFvC;EQvqFM;;IAEE,gCAAiC;ERyqFzC;EQvqFM;;IAEE,iCAAkC;ERyqF1C;EQvqFM;;IAEE,+BAAgC;ERyqFxC;EQxrFM;IAAwB,wBAA2B;ER2rFzD;EQ1rFM;;IAEE,4BAA+B;ER4rFvC;EQ1rFM;;IAEE,8BAAiC;ER4rFzC;EQ1rFM;;IAEE,+BAAkC;ER4rF1C;EQ1rFM;;IAEE,6BAAgC;ER4rFxC;EQtrFE;IAAmB,uBAAuB;ERyrF5C;EQxrFE;;IAEE,2BAA2B;ER0rF/B;EQxrFE;;IAEE,6BAA6B;ER0rFjC;EQxrFE;;IAEE,8BAA8B;ER0rFlC;EQxrFE;;IAEE,4BAA4B;ER0rFhC;AACF;;AGpsFI;EKlDI;IAAgC,oBAA4B;ER2vFlE;EQ1vFM;;IAEE,wBAAoC;ER4vF5C;EQ1vFM;;IAEE,0BAAwC;ER4vFhD;EQ1vFM;;IAEE,2BAA0C;ER4vFlD;EQ1vFM;;IAEE,yBAAsC;ER4vF9C;EQ3wFM;IAAgC,0BAA4B;ER8wFlE;EQ7wFM;;IAEE,8BAAoC;ER+wF5C;EQ7wFM;;IAEE,gCAAwC;ER+wFhD;EQ7wFM;;IAEE,iCAA0C;ER+wFlD;EQ7wFM;;IAEE,+BAAsC;ER+wF9C;EQ9xFM;IAAgC,yBAA4B;ERiyFlE;EQhyFM;;IAEE,6BAAoC;ERkyF5C;EQhyFM;;IAEE,+BAAwC;ERkyFhD;EQhyFM;;IAEE,gCAA0C;ERkyFlD;EQhyFM;;IAEE,8BAAsC;ERkyF9C;EQjzFM;IAAgC,uBAA4B;ERozFlE;EQnzFM;;IAEE,2BAAoC;ERqzF5C;EQnzFM;;IAEE,6BAAwC;ERqzFhD;EQnzFM;;IAEE,8BAA0C;ERqzFlD;EQnzFM;;IAEE,4BAAsC;ERqzF9C;EQp0FM;IAAgC,yBAA4B;ERu0FlE;EQt0FM;;IAEE,6BAAoC;ERw0F5C;EQt0FM;;IAEE,+BAAwC;ERw0FhD;EQt0FM;;IAEE,gCAA0C;ERw0FlD;EQt0FM;;IAEE,8BAAsC;ERw0F9C;EQv1FM;IAAgC,uBAA4B;ER01FlE;EQz1FM;;IAEE,2BAAoC;ER21F5C;EQz1FM;;IAEE,6BAAwC;ER21FhD;EQz1FM;;IAEE,8BAA0C;ER21FlD;EQz1FM;;IAEE,4BAAsC;ER21F9C;EQ12FM;IAAgC,qBAA4B;ER62FlE;EQ52FM;;IAEE,yBAAoC;ER82F5C;EQ52FM;;IAEE,2BAAwC;ER82FhD;EQ52FM;;IAEE,4BAA0C;ER82FlD;EQ52FM;;IAEE,0BAAsC;ER82F9C;EQ73FM;IAAgC,2BAA4B;ERg4FlE;EQ/3FM;;IAEE,+BAAoC;ERi4F5C;EQ/3FM;;IAEE,iCAAwC;ERi4FhD;EQ/3FM;;IAEE,kCAA0C;ERi4FlD;EQ/3FM;;IAEE,gCAAsC;ERi4F9C;EQh5FM;IAAgC,0BAA4B;ERm5FlE;EQl5FM;;IAEE,8BAAoC;ERo5F5C;EQl5FM;;IAEE,gCAAwC;ERo5FhD;EQl5FM;;IAEE,iCAA0C;ERo5FlD;EQl5FM;;IAEE,+BAAsC;ERo5F9C;EQn6FM;IAAgC,wBAA4B;ERs6FlE;EQr6FM;;IAEE,4BAAoC;ERu6F5C;EQr6FM;;IAEE,8BAAwC;ERu6FhD;EQr6FM;;IAEE,+BAA0C;ERu6FlD;EQr6FM;;IAEE,6BAAsC;ERu6F9C;EQt7FM;IAAgC,0BAA4B;ERy7FlE;EQx7FM;;IAEE,8BAAoC;ER07F5C;EQx7FM;;IAEE,gCAAwC;ER07FhD;EQx7FM;;IAEE,iCAA0C;ER07FlD;EQx7FM;;IAEE,+BAAsC;ER07F9C;EQz8FM;IAAgC,wBAA4B;ER48FlE;EQ38FM;;IAEE,4BAAoC;ER68F5C;EQ38FM;;IAEE,8BAAwC;ER68FhD;EQ38FM;;IAEE,+BAA0C;ER68FlD;EQ38FM;;IAEE,6BAAsC;ER68F9C;EQr8FM;IAAwB,2BAA2B;ERw8FzD;EQv8FM;;IAEE,+BAA+B;ERy8FvC;EQv8FM;;IAEE,iCAAiC;ERy8FzC;EQv8FM;;IAEE,kCAAkC;ERy8F1C;EQv8FM;;IAEE,gCAAgC;ERy8FxC;EQx9FM;IAAwB,0BAA2B;ER29FzD;EQ19FM;;IAEE,8BAA+B;ER49FvC;EQ19FM;;IAEE,gCAAiC;ER49FzC;EQ19FM;;IAEE,iCAAkC;ER49F1C;EQ19FM;;IAEE,+BAAgC;ER49FxC;EQ3+FM;IAAwB,wBAA2B;ER8+FzD;EQ7+FM;;IAEE,4BAA+B;ER++FvC;EQ7+FM;;IAEE,8BAAiC;ER++FzC;EQ7+FM;;IAEE,+BAAkC;ER++F1C;EQ7+FM;;IAEE,6BAAgC;ER++FxC;EQ9/FM;IAAwB,0BAA2B;ERigGzD;EQhgGM;;IAEE,8BAA+B;ERkgGvC;EQhgGM;;IAEE,gCAAiC;ERkgGzC;EQhgGM;;IAEE,iCAAkC;ERkgG1C;EQhgGM;;IAEE,+BAAgC;ERkgGxC;EQjhGM;IAAwB,wBAA2B;ERohGzD;EQnhGM;;IAEE,4BAA+B;ERqhGvC;EQnhGM;;IAEE,8BAAiC;ERqhGzC;EQnhGM;;IAEE,+BAAkC;ERqhG1C;EQnhGM;;IAEE,6BAAgC;ERqhGxC;EQ/gGE;IAAmB,uBAAuB;ERkhG5C;EQjhGE;;IAEE,2BAA2B;ERmhG/B;EQjhGE;;IAEE,6BAA6B;ERmhGjC;EQjhGE;;IAEE,8BAA8B;ERmhGlC;EQjhGE;;IAEE,4BAA4B;ERmhGhC;AACF;;AG7hGI;EKlDI;IAAgC,oBAA4B;ERolGlE;EQnlGM;;IAEE,wBAAoC;ERqlG5C;EQnlGM;;IAEE,0BAAwC;ERqlGhD;EQnlGM;;IAEE,2BAA0C;ERqlGlD;EQnlGM;;IAEE,yBAAsC;ERqlG9C;EQpmGM;IAAgC,0BAA4B;ERumGlE;EQtmGM;;IAEE,8BAAoC;ERwmG5C;EQtmGM;;IAEE,gCAAwC;ERwmGhD;EQtmGM;;IAEE,iCAA0C;ERwmGlD;EQtmGM;;IAEE,+BAAsC;ERwmG9C;EQvnGM;IAAgC,yBAA4B;ER0nGlE;EQznGM;;IAEE,6BAAoC;ER2nG5C;EQznGM;;IAEE,+BAAwC;ER2nGhD;EQznGM;;IAEE,gCAA0C;ER2nGlD;EQznGM;;IAEE,8BAAsC;ER2nG9C;EQ1oGM;IAAgC,uBAA4B;ER6oGlE;EQ5oGM;;IAEE,2BAAoC;ER8oG5C;EQ5oGM;;IAEE,6BAAwC;ER8oGhD;EQ5oGM;;IAEE,8BAA0C;ER8oGlD;EQ5oGM;;IAEE,4BAAsC;ER8oG9C;EQ7pGM;IAAgC,yBAA4B;ERgqGlE;EQ/pGM;;IAEE,6BAAoC;ERiqG5C;EQ/pGM;;IAEE,+BAAwC;ERiqGhD;EQ/pGM;;IAEE,gCAA0C;ERiqGlD;EQ/pGM;;IAEE,8BAAsC;ERiqG9C;EQhrGM;IAAgC,uBAA4B;ERmrGlE;EQlrGM;;IAEE,2BAAoC;ERorG5C;EQlrGM;;IAEE,6BAAwC;ERorGhD;EQlrGM;;IAEE,8BAA0C;ERorGlD;EQlrGM;;IAEE,4BAAsC;ERorG9C;EQnsGM;IAAgC,qBAA4B;ERssGlE;EQrsGM;;IAEE,yBAAoC;ERusG5C;EQrsGM;;IAEE,2BAAwC;ERusGhD;EQrsGM;;IAEE,4BAA0C;ERusGlD;EQrsGM;;IAEE,0BAAsC;ERusG9C;EQttGM;IAAgC,2BAA4B;ERytGlE;EQxtGM;;IAEE,+BAAoC;ER0tG5C;EQxtGM;;IAEE,iCAAwC;ER0tGhD;EQxtGM;;IAEE,kCAA0C;ER0tGlD;EQxtGM;;IAEE,gCAAsC;ER0tG9C;EQzuGM;IAAgC,0BAA4B;ER4uGlE;EQ3uGM;;IAEE,8BAAoC;ER6uG5C;EQ3uGM;;IAEE,gCAAwC;ER6uGhD;EQ3uGM;;IAEE,iCAA0C;ER6uGlD;EQ3uGM;;IAEE,+BAAsC;ER6uG9C;EQ5vGM;IAAgC,wBAA4B;ER+vGlE;EQ9vGM;;IAEE,4BAAoC;ERgwG5C;EQ9vGM;;IAEE,8BAAwC;ERgwGhD;EQ9vGM;;IAEE,+BAA0C;ERgwGlD;EQ9vGM;;IAEE,6BAAsC;ERgwG9C;EQ/wGM;IAAgC,0BAA4B;ERkxGlE;EQjxGM;;IAEE,8BAAoC;ERmxG5C;EQjxGM;;IAEE,gCAAwC;ERmxGhD;EQjxGM;;IAEE,iCAA0C;ERmxGlD;EQjxGM;;IAEE,+BAAsC;ERmxG9C;EQlyGM;IAAgC,wBAA4B;ERqyGlE;EQpyGM;;IAEE,4BAAoC;ERsyG5C;EQpyGM;;IAEE,8BAAwC;ERsyGhD;EQpyGM;;IAEE,+BAA0C;ERsyGlD;EQpyGM;;IAEE,6BAAsC;ERsyG9C;EQ9xGM;IAAwB,2BAA2B;ERiyGzD;EQhyGM;;IAEE,+BAA+B;ERkyGvC;EQhyGM;;IAEE,iCAAiC;ERkyGzC;EQhyGM;;IAEE,kCAAkC;ERkyG1C;EQhyGM;;IAEE,gCAAgC;ERkyGxC;EQjzGM;IAAwB,0BAA2B;ERozGzD;EQnzGM;;IAEE,8BAA+B;ERqzGvC;EQnzGM;;IAEE,gCAAiC;ERqzGzC;EQnzGM;;IAEE,iCAAkC;ERqzG1C;EQnzGM;;IAEE,+BAAgC;ERqzGxC;EQp0GM;IAAwB,wBAA2B;ERu0GzD;EQt0GM;;IAEE,4BAA+B;ERw0GvC;EQt0GM;;IAEE,8BAAiC;ERw0GzC;EQt0GM;;IAEE,+BAAkC;ERw0G1C;EQt0GM;;IAEE,6BAAgC;ERw0GxC;EQv1GM;IAAwB,0BAA2B;ER01GzD;EQz1GM;;IAEE,8BAA+B;ER21GvC;EQz1GM;;IAEE,gCAAiC;ER21GzC;EQz1GM;;IAEE,iCAAkC;ER21G1C;EQz1GM;;IAEE,+BAAgC;ER21GxC;EQ12GM;IAAwB,wBAA2B;ER62GzD;EQ52GM;;IAEE,4BAA+B;ER82GvC;EQ52GM;;IAEE,8BAAiC;ER82GzC;EQ52GM;;IAEE,+BAAkC;ER82G1C;EQ52GM;;IAEE,6BAAgC;ER82GxC;EQx2GE;IAAmB,uBAAuB;ER22G5C;EQ12GE;;IAEE,2BAA2B;ER42G/B;EQ12GE;;IAEE,6BAA6B;ER42GjC;EQ12GE;;IAEE,8BAA8B;ER42GlC;EQ12GE;;IAEE,4BAA4B;ER42GhC;AACF","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n@import \"utilities/spacing\";\n","/*!\n * Bootstrap Grid v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n @include deprecate(\"The `make-container-max-widths` mixin\", \"v4.5.2\", \"v5\");\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-th-font-weight: null !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n$custom-control-cursor: null !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-label-color: null !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: null !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: null !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: null !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>\") !default;\n$custom-select-background: escape-svg($custom-select-indicator) no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n$user-selects: all, auto, none !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @if $columns > 0 {\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n }\n\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n @if $columns > 0 {\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap-grid.min.css b/src/main/resources/static/css/bootstrap/bootstrap-grid.min.css new file mode 100644 index 0000000..d323f93 --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap-grid.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap Grid v4.5.3 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors + * Copyright 2011-2020 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}} +/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap-grid.min.css.map b/src/main/resources/static/css/bootstrap/bootstrap-grid.min.css.map new file mode 100644 index 0000000..9c96ff3 --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap-grid.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"AAAA;;;;;AAOA,KACE,WAAA,WACA,mBAAA,UAGF,ECCA,QADA,SDGE,WAAA,QETA,WDYF,iBAGA,cADA,cADA,cAGA,cEjBE,MAAA,KACA,cAAA,KACA,aAAA,KACA,aAAA,KACA,YAAA,KCmDE,yBFzCE,WAAA,cACE,UAAA,OEwCJ,yBFzCE,WAAA,cAAA,cACE,UAAA,OEwCJ,yBFzCE,WAAA,cAAA,cAAA,cACE,UAAA,OEwCJ,0BFzCE,WAAA,cAAA,cAAA,cAAA,cACE,UAAA,QA4BN,KCnCA,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,aAAA,MACA,YAAA,MDsCA,YACE,aAAA,EACA,YAAA,EAFF,iBDeF,0BCTM,cAAA,EACA,aAAA,EGtDJ,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OJoEF,UAEqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aAFqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aAFkJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACnG,aAEqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aIvEI,SAAA,SACA,MAAA,KACA,cAAA,KACA,aAAA,KAsBE,KACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAKE,cFwBN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,UAAA,KEzBM,cFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,cFwBN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WEzBM,cFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,cFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,cFwBN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WEnBE,UFCJ,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KEGQ,OFbR,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UESQ,OFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,OFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,OFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,OFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,OFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,OFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,OFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,OFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,QFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,QFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,QFbR,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEeI,aAAwB,eAAA,GAAA,MAAA,GAExB,YAAuB,eAAA,GAAA,MAAA,GAGrB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,UAAwB,eAAA,GAAA,MAAA,GAAxB,UAAwB,eAAA,GAAA,MAAA,GAAxB,UAAwB,eAAA,GAAA,MAAA,GAOpB,UFhBV,YAAA,UEgBU,UFhBV,YAAA,WEgBU,UFhBV,YAAA,IEgBU,UFhBV,YAAA,WEgBU,UFhBV,YAAA,WEgBU,UFhBV,YAAA,IEgBU,UFhBV,YAAA,WEgBU,UFhBV,YAAA,WEgBU,UFhBV,YAAA,IEgBU,WFhBV,YAAA,WEgBU,WFhBV,YAAA,WCKE,yBC3BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAKE,iBFwBN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,UAAA,KEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WEnBE,aFCJ,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KEGQ,UFbR,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,WFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,WFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,WFbR,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEeI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAOpB,aFhBV,YAAA,EEgBU,aFhBV,YAAA,UEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,cFhBV,YAAA,WEgBU,cFhBV,YAAA,YCKE,yBC3BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAKE,iBFwBN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,UAAA,KEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WEnBE,aFCJ,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KEGQ,UFbR,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,WFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,WFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,WFbR,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEeI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAOpB,aFhBV,YAAA,EEgBU,aFhBV,YAAA,UEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,cFhBV,YAAA,WEgBU,cFhBV,YAAA,YCKE,yBC3BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAKE,iBFwBN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,UAAA,KEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WEnBE,aFCJ,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KEGQ,UFbR,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,WFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,WFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,WFbR,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEeI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAOpB,aFhBV,YAAA,EEgBU,aFhBV,YAAA,UEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,cFhBV,YAAA,WEgBU,cFhBV,YAAA,YCKE,0BC3BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAKE,iBFwBN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,UAAA,KEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WEnBE,aFCJ,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KEGQ,UFbR,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,WFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,WFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,WFbR,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEeI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAOpB,aFhBV,YAAA,EEgBU,aFhBV,YAAA,UEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,cFhBV,YAAA,WEgBU,cFhBV,YAAA,YG5CI,QAAwB,QAAA,eAAxB,UAAwB,QAAA,iBAAxB,gBAAwB,QAAA,uBAAxB,SAAwB,QAAA,gBAAxB,SAAwB,QAAA,gBAAxB,aAAwB,QAAA,oBAAxB,cAAwB,QAAA,qBAAxB,QAAwB,QAAA,sBAAA,QAAA,eAAxB,eAAwB,QAAA,6BAAA,QAAA,sBFiD1B,yBEjDE,WAAwB,QAAA,eAAxB,aAAwB,QAAA,iBAAxB,mBAAwB,QAAA,uBAAxB,YAAwB,QAAA,gBAAxB,YAAwB,QAAA,gBAAxB,gBAAwB,QAAA,oBAAxB,iBAAwB,QAAA,qBAAxB,WAAwB,QAAA,sBAAA,QAAA,eAAxB,kBAAwB,QAAA,6BAAA,QAAA,uBFiD1B,yBEjDE,WAAwB,QAAA,eAAxB,aAAwB,QAAA,iBAAxB,mBAAwB,QAAA,uBAAxB,YAAwB,QAAA,gBAAxB,YAAwB,QAAA,gBAAxB,gBAAwB,QAAA,oBAAxB,iBAAwB,QAAA,qBAAxB,WAAwB,QAAA,sBAAA,QAAA,eAAxB,kBAAwB,QAAA,6BAAA,QAAA,uBFiD1B,yBEjDE,WAAwB,QAAA,eAAxB,aAAwB,QAAA,iBAAxB,mBAAwB,QAAA,uBAAxB,YAAwB,QAAA,gBAAxB,YAAwB,QAAA,gBAAxB,gBAAwB,QAAA,oBAAxB,iBAAwB,QAAA,qBAAxB,WAAwB,QAAA,sBAAA,QAAA,eAAxB,kBAAwB,QAAA,6BAAA,QAAA,uBFiD1B,0BEjDE,WAAwB,QAAA,eAAxB,aAAwB,QAAA,iBAAxB,mBAAwB,QAAA,uBAAxB,YAAwB,QAAA,gBAAxB,YAAwB,QAAA,gBAAxB,gBAAwB,QAAA,oBAAxB,iBAAwB,QAAA,qBAAxB,WAAwB,QAAA,sBAAA,QAAA,eAAxB,kBAAwB,QAAA,6BAAA,QAAA,uBAU9B,aAEI,cAAqB,QAAA,eAArB,gBAAqB,QAAA,iBAArB,sBAAqB,QAAA,uBAArB,eAAqB,QAAA,gBAArB,eAAqB,QAAA,gBAArB,mBAAqB,QAAA,oBAArB,oBAAqB,QAAA,qBAArB,cAAqB,QAAA,sBAAA,QAAA,eAArB,qBAAqB,QAAA,6BAAA,QAAA,uBCbrB,UAAgC,mBAAA,cAAA,eAAA,cAChC,aAAgC,mBAAA,iBAAA,eAAA,iBAChC,kBAAgC,mBAAA,sBAAA,eAAA,sBAChC,qBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,WAA8B,cAAA,eAAA,UAAA,eAC9B,aAA8B,cAAA,iBAAA,UAAA,iBAC9B,mBAA8B,cAAA,uBAAA,UAAA,uBAC9B,WAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,aAA8B,kBAAA,YAAA,UAAA,YAC9B,aAA8B,kBAAA,YAAA,UAAA,YAC9B,eAA8B,kBAAA,YAAA,YAAA,YAC9B,eAA8B,kBAAA,YAAA,YAAA,YAE9B,uBAAoC,cAAA,gBAAA,gBAAA,qBACpC,qBAAoC,cAAA,cAAA,gBAAA,mBACpC,wBAAoC,cAAA,iBAAA,gBAAA,iBACpC,yBAAoC,cAAA,kBAAA,gBAAA,wBACpC,wBAAoC,cAAA,qBAAA,gBAAA,uBAEpC,mBAAiC,eAAA,gBAAA,YAAA,qBACjC,iBAAiC,eAAA,cAAA,YAAA,mBACjC,oBAAiC,eAAA,iBAAA,YAAA,iBACjC,sBAAiC,eAAA,mBAAA,YAAA,mBACjC,qBAAiC,eAAA,kBAAA,YAAA,kBAEjC,qBAAkC,mBAAA,gBAAA,cAAA,qBAClC,mBAAkC,mBAAA,cAAA,cAAA,mBAClC,sBAAkC,mBAAA,iBAAA,cAAA,iBAClC,uBAAkC,mBAAA,kBAAA,cAAA,wBAClC,sBAAkC,mBAAA,qBAAA,cAAA,uBAClC,uBAAkC,mBAAA,kBAAA,cAAA,kBAElC,iBAAgC,oBAAA,eAAA,WAAA,eAChC,kBAAgC,oBAAA,gBAAA,WAAA,qBAChC,gBAAgC,oBAAA,cAAA,WAAA,mBAChC,mBAAgC,oBAAA,iBAAA,WAAA,iBAChC,qBAAgC,oBAAA,mBAAA,WAAA,mBAChC,oBAAgC,oBAAA,kBAAA,WAAA,kBHYhC,yBGlDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mBHYhC,yBGlDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mBHYhC,yBGlDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mBHYhC,0BGlDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mBCtC5B,KAAgC,OAAA,YAChC,MPsgER,MOpgEU,WAAA,YAEF,MPugER,MOrgEU,aAAA,YAEF,MPwgER,MOtgEU,cAAA,YAEF,MPygER,MOvgEU,YAAA,YAfF,KAAgC,OAAA,iBAChC,MP8hER,MO5hEU,WAAA,iBAEF,MP+hER,MO7hEU,aAAA,iBAEF,MPgiER,MO9hEU,cAAA,iBAEF,MPiiER,MO/hEU,YAAA,iBAfF,KAAgC,OAAA,gBAChC,MPsjER,MOpjEU,WAAA,gBAEF,MPujER,MOrjEU,aAAA,gBAEF,MPwjER,MOtjEU,cAAA,gBAEF,MPyjER,MOvjEU,YAAA,gBAfF,KAAgC,OAAA,eAChC,MP8kER,MO5kEU,WAAA,eAEF,MP+kER,MO7kEU,aAAA,eAEF,MPglER,MO9kEU,cAAA,eAEF,MPilER,MO/kEU,YAAA,eAfF,KAAgC,OAAA,iBAChC,MPsmER,MOpmEU,WAAA,iBAEF,MPumER,MOrmEU,aAAA,iBAEF,MPwmER,MOtmEU,cAAA,iBAEF,MPymER,MOvmEU,YAAA,iBAfF,KAAgC,OAAA,eAChC,MP8nER,MO5nEU,WAAA,eAEF,MP+nER,MO7nEU,aAAA,eAEF,MPgoER,MO9nEU,cAAA,eAEF,MPioER,MO/nEU,YAAA,eAfF,KAAgC,QAAA,YAChC,MPspER,MOppEU,YAAA,YAEF,MPupER,MOrpEU,cAAA,YAEF,MPwpER,MOtpEU,eAAA,YAEF,MPypER,MOvpEU,aAAA,YAfF,KAAgC,QAAA,iBAChC,MP8qER,MO5qEU,YAAA,iBAEF,MP+qER,MO7qEU,cAAA,iBAEF,MPgrER,MO9qEU,eAAA,iBAEF,MPirER,MO/qEU,aAAA,iBAfF,KAAgC,QAAA,gBAChC,MPssER,MOpsEU,YAAA,gBAEF,MPusER,MOrsEU,cAAA,gBAEF,MPwsER,MOtsEU,eAAA,gBAEF,MPysER,MOvsEU,aAAA,gBAfF,KAAgC,QAAA,eAChC,MP8tER,MO5tEU,YAAA,eAEF,MP+tER,MO7tEU,cAAA,eAEF,MPguER,MO9tEU,eAAA,eAEF,MPiuER,MO/tEU,aAAA,eAfF,KAAgC,QAAA,iBAChC,MPsvER,MOpvEU,YAAA,iBAEF,MPuvER,MOrvEU,cAAA,iBAEF,MPwvER,MOtvEU,eAAA,iBAEF,MPyvER,MOvvEU,aAAA,iBAfF,KAAgC,QAAA,eAChC,MP8wER,MO5wEU,YAAA,eAEF,MP+wER,MO7wEU,cAAA,eAEF,MPgxER,MO9wEU,eAAA,eAEF,MPixER,MO/wEU,aAAA,eAQF,MAAwB,OAAA,kBACxB,OP+wER,OO7wEU,WAAA,kBAEF,OPgxER,OO9wEU,aAAA,kBAEF,OPixER,OO/wEU,cAAA,kBAEF,OPkxER,OOhxEU,YAAA,kBAfF,MAAwB,OAAA,iBACxB,OPuyER,OOryEU,WAAA,iBAEF,OPwyER,OOtyEU,aAAA,iBAEF,OPyyER,OOvyEU,cAAA,iBAEF,OP0yER,OOxyEU,YAAA,iBAfF,MAAwB,OAAA,gBACxB,OP+zER,OO7zEU,WAAA,gBAEF,OPg0ER,OO9zEU,aAAA,gBAEF,OPi0ER,OO/zEU,cAAA,gBAEF,OPk0ER,OOh0EU,YAAA,gBAfF,MAAwB,OAAA,kBACxB,OPu1ER,OOr1EU,WAAA,kBAEF,OPw1ER,OOt1EU,aAAA,kBAEF,OPy1ER,OOv1EU,cAAA,kBAEF,OP01ER,OOx1EU,YAAA,kBAfF,MAAwB,OAAA,gBACxB,OP+2ER,OO72EU,WAAA,gBAEF,OPg3ER,OO92EU,aAAA,gBAEF,OPi3ER,OO/2EU,cAAA,gBAEF,OPk3ER,OOh3EU,YAAA,gBAMN,QAAmB,OAAA,eACnB,SPk3EJ,SOh3EM,WAAA,eAEF,SPm3EJ,SOj3EM,aAAA,eAEF,SPo3EJ,SOl3EM,cAAA,eAEF,SPq3EJ,SOn3EM,YAAA,eJTF,yBIlDI,QAAgC,OAAA,YAChC,SPs7EN,SOp7EQ,WAAA,YAEF,SPs7EN,SOp7EQ,aAAA,YAEF,SPs7EN,SOp7EQ,cAAA,YAEF,SPs7EN,SOp7EQ,YAAA,YAfF,QAAgC,OAAA,iBAChC,SPy8EN,SOv8EQ,WAAA,iBAEF,SPy8EN,SOv8EQ,aAAA,iBAEF,SPy8EN,SOv8EQ,cAAA,iBAEF,SPy8EN,SOv8EQ,YAAA,iBAfF,QAAgC,OAAA,gBAChC,SP49EN,SO19EQ,WAAA,gBAEF,SP49EN,SO19EQ,aAAA,gBAEF,SP49EN,SO19EQ,cAAA,gBAEF,SP49EN,SO19EQ,YAAA,gBAfF,QAAgC,OAAA,eAChC,SP++EN,SO7+EQ,WAAA,eAEF,SP++EN,SO7+EQ,aAAA,eAEF,SP++EN,SO7+EQ,cAAA,eAEF,SP++EN,SO7+EQ,YAAA,eAfF,QAAgC,OAAA,iBAChC,SPkgFN,SOhgFQ,WAAA,iBAEF,SPkgFN,SOhgFQ,aAAA,iBAEF,SPkgFN,SOhgFQ,cAAA,iBAEF,SPkgFN,SOhgFQ,YAAA,iBAfF,QAAgC,OAAA,eAChC,SPqhFN,SOnhFQ,WAAA,eAEF,SPqhFN,SOnhFQ,aAAA,eAEF,SPqhFN,SOnhFQ,cAAA,eAEF,SPqhFN,SOnhFQ,YAAA,eAfF,QAAgC,QAAA,YAChC,SPwiFN,SOtiFQ,YAAA,YAEF,SPwiFN,SOtiFQ,cAAA,YAEF,SPwiFN,SOtiFQ,eAAA,YAEF,SPwiFN,SOtiFQ,aAAA,YAfF,QAAgC,QAAA,iBAChC,SP2jFN,SOzjFQ,YAAA,iBAEF,SP2jFN,SOzjFQ,cAAA,iBAEF,SP2jFN,SOzjFQ,eAAA,iBAEF,SP2jFN,SOzjFQ,aAAA,iBAfF,QAAgC,QAAA,gBAChC,SP8kFN,SO5kFQ,YAAA,gBAEF,SP8kFN,SO5kFQ,cAAA,gBAEF,SP8kFN,SO5kFQ,eAAA,gBAEF,SP8kFN,SO5kFQ,aAAA,gBAfF,QAAgC,QAAA,eAChC,SPimFN,SO/lFQ,YAAA,eAEF,SPimFN,SO/lFQ,cAAA,eAEF,SPimFN,SO/lFQ,eAAA,eAEF,SPimFN,SO/lFQ,aAAA,eAfF,QAAgC,QAAA,iBAChC,SPonFN,SOlnFQ,YAAA,iBAEF,SPonFN,SOlnFQ,cAAA,iBAEF,SPonFN,SOlnFQ,eAAA,iBAEF,SPonFN,SOlnFQ,aAAA,iBAfF,QAAgC,QAAA,eAChC,SPuoFN,SOroFQ,YAAA,eAEF,SPuoFN,SOroFQ,cAAA,eAEF,SPuoFN,SOroFQ,eAAA,eAEF,SPuoFN,SOroFQ,aAAA,eAQF,SAAwB,OAAA,kBACxB,UPmoFN,UOjoFQ,WAAA,kBAEF,UPmoFN,UOjoFQ,aAAA,kBAEF,UPmoFN,UOjoFQ,cAAA,kBAEF,UPmoFN,UOjoFQ,YAAA,kBAfF,SAAwB,OAAA,iBACxB,UPspFN,UOppFQ,WAAA,iBAEF,UPspFN,UOppFQ,aAAA,iBAEF,UPspFN,UOppFQ,cAAA,iBAEF,UPspFN,UOppFQ,YAAA,iBAfF,SAAwB,OAAA,gBACxB,UPyqFN,UOvqFQ,WAAA,gBAEF,UPyqFN,UOvqFQ,aAAA,gBAEF,UPyqFN,UOvqFQ,cAAA,gBAEF,UPyqFN,UOvqFQ,YAAA,gBAfF,SAAwB,OAAA,kBACxB,UP4rFN,UO1rFQ,WAAA,kBAEF,UP4rFN,UO1rFQ,aAAA,kBAEF,UP4rFN,UO1rFQ,cAAA,kBAEF,UP4rFN,UO1rFQ,YAAA,kBAfF,SAAwB,OAAA,gBACxB,UP+sFN,UO7sFQ,WAAA,gBAEF,UP+sFN,UO7sFQ,aAAA,gBAEF,UP+sFN,UO7sFQ,cAAA,gBAEF,UP+sFN,UO7sFQ,YAAA,gBAMN,WAAmB,OAAA,eACnB,YP6sFF,YO3sFI,WAAA,eAEF,YP6sFF,YO3sFI,aAAA,eAEF,YP6sFF,YO3sFI,cAAA,eAEF,YP6sFF,YO3sFI,YAAA,gBJTF,yBIlDI,QAAgC,OAAA,YAChC,SP+wFN,SO7wFQ,WAAA,YAEF,SP+wFN,SO7wFQ,aAAA,YAEF,SP+wFN,SO7wFQ,cAAA,YAEF,SP+wFN,SO7wFQ,YAAA,YAfF,QAAgC,OAAA,iBAChC,SPkyFN,SOhyFQ,WAAA,iBAEF,SPkyFN,SOhyFQ,aAAA,iBAEF,SPkyFN,SOhyFQ,cAAA,iBAEF,SPkyFN,SOhyFQ,YAAA,iBAfF,QAAgC,OAAA,gBAChC,SPqzFN,SOnzFQ,WAAA,gBAEF,SPqzFN,SOnzFQ,aAAA,gBAEF,SPqzFN,SOnzFQ,cAAA,gBAEF,SPqzFN,SOnzFQ,YAAA,gBAfF,QAAgC,OAAA,eAChC,SPw0FN,SOt0FQ,WAAA,eAEF,SPw0FN,SOt0FQ,aAAA,eAEF,SPw0FN,SOt0FQ,cAAA,eAEF,SPw0FN,SOt0FQ,YAAA,eAfF,QAAgC,OAAA,iBAChC,SP21FN,SOz1FQ,WAAA,iBAEF,SP21FN,SOz1FQ,aAAA,iBAEF,SP21FN,SOz1FQ,cAAA,iBAEF,SP21FN,SOz1FQ,YAAA,iBAfF,QAAgC,OAAA,eAChC,SP82FN,SO52FQ,WAAA,eAEF,SP82FN,SO52FQ,aAAA,eAEF,SP82FN,SO52FQ,cAAA,eAEF,SP82FN,SO52FQ,YAAA,eAfF,QAAgC,QAAA,YAChC,SPi4FN,SO/3FQ,YAAA,YAEF,SPi4FN,SO/3FQ,cAAA,YAEF,SPi4FN,SO/3FQ,eAAA,YAEF,SPi4FN,SO/3FQ,aAAA,YAfF,QAAgC,QAAA,iBAChC,SPo5FN,SOl5FQ,YAAA,iBAEF,SPo5FN,SOl5FQ,cAAA,iBAEF,SPo5FN,SOl5FQ,eAAA,iBAEF,SPo5FN,SOl5FQ,aAAA,iBAfF,QAAgC,QAAA,gBAChC,SPu6FN,SOr6FQ,YAAA,gBAEF,SPu6FN,SOr6FQ,cAAA,gBAEF,SPu6FN,SOr6FQ,eAAA,gBAEF,SPu6FN,SOr6FQ,aAAA,gBAfF,QAAgC,QAAA,eAChC,SP07FN,SOx7FQ,YAAA,eAEF,SP07FN,SOx7FQ,cAAA,eAEF,SP07FN,SOx7FQ,eAAA,eAEF,SP07FN,SOx7FQ,aAAA,eAfF,QAAgC,QAAA,iBAChC,SP68FN,SO38FQ,YAAA,iBAEF,SP68FN,SO38FQ,cAAA,iBAEF,SP68FN,SO38FQ,eAAA,iBAEF,SP68FN,SO38FQ,aAAA,iBAfF,QAAgC,QAAA,eAChC,SPg+FN,SO99FQ,YAAA,eAEF,SPg+FN,SO99FQ,cAAA,eAEF,SPg+FN,SO99FQ,eAAA,eAEF,SPg+FN,SO99FQ,aAAA,eAQF,SAAwB,OAAA,kBACxB,UP49FN,UO19FQ,WAAA,kBAEF,UP49FN,UO19FQ,aAAA,kBAEF,UP49FN,UO19FQ,cAAA,kBAEF,UP49FN,UO19FQ,YAAA,kBAfF,SAAwB,OAAA,iBACxB,UP++FN,UO7+FQ,WAAA,iBAEF,UP++FN,UO7+FQ,aAAA,iBAEF,UP++FN,UO7+FQ,cAAA,iBAEF,UP++FN,UO7+FQ,YAAA,iBAfF,SAAwB,OAAA,gBACxB,UPkgGN,UOhgGQ,WAAA,gBAEF,UPkgGN,UOhgGQ,aAAA,gBAEF,UPkgGN,UOhgGQ,cAAA,gBAEF,UPkgGN,UOhgGQ,YAAA,gBAfF,SAAwB,OAAA,kBACxB,UPqhGN,UOnhGQ,WAAA,kBAEF,UPqhGN,UOnhGQ,aAAA,kBAEF,UPqhGN,UOnhGQ,cAAA,kBAEF,UPqhGN,UOnhGQ,YAAA,kBAfF,SAAwB,OAAA,gBACxB,UPwiGN,UOtiGQ,WAAA,gBAEF,UPwiGN,UOtiGQ,aAAA,gBAEF,UPwiGN,UOtiGQ,cAAA,gBAEF,UPwiGN,UOtiGQ,YAAA,gBAMN,WAAmB,OAAA,eACnB,YPsiGF,YOpiGI,WAAA,eAEF,YPsiGF,YOpiGI,aAAA,eAEF,YPsiGF,YOpiGI,cAAA,eAEF,YPsiGF,YOpiGI,YAAA,gBJTF,yBIlDI,QAAgC,OAAA,YAChC,SPwmGN,SOtmGQ,WAAA,YAEF,SPwmGN,SOtmGQ,aAAA,YAEF,SPwmGN,SOtmGQ,cAAA,YAEF,SPwmGN,SOtmGQ,YAAA,YAfF,QAAgC,OAAA,iBAChC,SP2nGN,SOznGQ,WAAA,iBAEF,SP2nGN,SOznGQ,aAAA,iBAEF,SP2nGN,SOznGQ,cAAA,iBAEF,SP2nGN,SOznGQ,YAAA,iBAfF,QAAgC,OAAA,gBAChC,SP8oGN,SO5oGQ,WAAA,gBAEF,SP8oGN,SO5oGQ,aAAA,gBAEF,SP8oGN,SO5oGQ,cAAA,gBAEF,SP8oGN,SO5oGQ,YAAA,gBAfF,QAAgC,OAAA,eAChC,SPiqGN,SO/pGQ,WAAA,eAEF,SPiqGN,SO/pGQ,aAAA,eAEF,SPiqGN,SO/pGQ,cAAA,eAEF,SPiqGN,SO/pGQ,YAAA,eAfF,QAAgC,OAAA,iBAChC,SPorGN,SOlrGQ,WAAA,iBAEF,SPorGN,SOlrGQ,aAAA,iBAEF,SPorGN,SOlrGQ,cAAA,iBAEF,SPorGN,SOlrGQ,YAAA,iBAfF,QAAgC,OAAA,eAChC,SPusGN,SOrsGQ,WAAA,eAEF,SPusGN,SOrsGQ,aAAA,eAEF,SPusGN,SOrsGQ,cAAA,eAEF,SPusGN,SOrsGQ,YAAA,eAfF,QAAgC,QAAA,YAChC,SP0tGN,SOxtGQ,YAAA,YAEF,SP0tGN,SOxtGQ,cAAA,YAEF,SP0tGN,SOxtGQ,eAAA,YAEF,SP0tGN,SOxtGQ,aAAA,YAfF,QAAgC,QAAA,iBAChC,SP6uGN,SO3uGQ,YAAA,iBAEF,SP6uGN,SO3uGQ,cAAA,iBAEF,SP6uGN,SO3uGQ,eAAA,iBAEF,SP6uGN,SO3uGQ,aAAA,iBAfF,QAAgC,QAAA,gBAChC,SPgwGN,SO9vGQ,YAAA,gBAEF,SPgwGN,SO9vGQ,cAAA,gBAEF,SPgwGN,SO9vGQ,eAAA,gBAEF,SPgwGN,SO9vGQ,aAAA,gBAfF,QAAgC,QAAA,eAChC,SPmxGN,SOjxGQ,YAAA,eAEF,SPmxGN,SOjxGQ,cAAA,eAEF,SPmxGN,SOjxGQ,eAAA,eAEF,SPmxGN,SOjxGQ,aAAA,eAfF,QAAgC,QAAA,iBAChC,SPsyGN,SOpyGQ,YAAA,iBAEF,SPsyGN,SOpyGQ,cAAA,iBAEF,SPsyGN,SOpyGQ,eAAA,iBAEF,SPsyGN,SOpyGQ,aAAA,iBAfF,QAAgC,QAAA,eAChC,SPyzGN,SOvzGQ,YAAA,eAEF,SPyzGN,SOvzGQ,cAAA,eAEF,SPyzGN,SOvzGQ,eAAA,eAEF,SPyzGN,SOvzGQ,aAAA,eAQF,SAAwB,OAAA,kBACxB,UPqzGN,UOnzGQ,WAAA,kBAEF,UPqzGN,UOnzGQ,aAAA,kBAEF,UPqzGN,UOnzGQ,cAAA,kBAEF,UPqzGN,UOnzGQ,YAAA,kBAfF,SAAwB,OAAA,iBACxB,UPw0GN,UOt0GQ,WAAA,iBAEF,UPw0GN,UOt0GQ,aAAA,iBAEF,UPw0GN,UOt0GQ,cAAA,iBAEF,UPw0GN,UOt0GQ,YAAA,iBAfF,SAAwB,OAAA,gBACxB,UP21GN,UOz1GQ,WAAA,gBAEF,UP21GN,UOz1GQ,aAAA,gBAEF,UP21GN,UOz1GQ,cAAA,gBAEF,UP21GN,UOz1GQ,YAAA,gBAfF,SAAwB,OAAA,kBACxB,UP82GN,UO52GQ,WAAA,kBAEF,UP82GN,UO52GQ,aAAA,kBAEF,UP82GN,UO52GQ,cAAA,kBAEF,UP82GN,UO52GQ,YAAA,kBAfF,SAAwB,OAAA,gBACxB,UPi4GN,UO/3GQ,WAAA,gBAEF,UPi4GN,UO/3GQ,aAAA,gBAEF,UPi4GN,UO/3GQ,cAAA,gBAEF,UPi4GN,UO/3GQ,YAAA,gBAMN,WAAmB,OAAA,eACnB,YP+3GF,YO73GI,WAAA,eAEF,YP+3GF,YO73GI,aAAA,eAEF,YP+3GF,YO73GI,cAAA,eAEF,YP+3GF,YO73GI,YAAA,gBJTF,0BIlDI,QAAgC,OAAA,YAChC,SPi8GN,SO/7GQ,WAAA,YAEF,SPi8GN,SO/7GQ,aAAA,YAEF,SPi8GN,SO/7GQ,cAAA,YAEF,SPi8GN,SO/7GQ,YAAA,YAfF,QAAgC,OAAA,iBAChC,SPo9GN,SOl9GQ,WAAA,iBAEF,SPo9GN,SOl9GQ,aAAA,iBAEF,SPo9GN,SOl9GQ,cAAA,iBAEF,SPo9GN,SOl9GQ,YAAA,iBAfF,QAAgC,OAAA,gBAChC,SPu+GN,SOr+GQ,WAAA,gBAEF,SPu+GN,SOr+GQ,aAAA,gBAEF,SPu+GN,SOr+GQ,cAAA,gBAEF,SPu+GN,SOr+GQ,YAAA,gBAfF,QAAgC,OAAA,eAChC,SP0/GN,SOx/GQ,WAAA,eAEF,SP0/GN,SOx/GQ,aAAA,eAEF,SP0/GN,SOx/GQ,cAAA,eAEF,SP0/GN,SOx/GQ,YAAA,eAfF,QAAgC,OAAA,iBAChC,SP6gHN,SO3gHQ,WAAA,iBAEF,SP6gHN,SO3gHQ,aAAA,iBAEF,SP6gHN,SO3gHQ,cAAA,iBAEF,SP6gHN,SO3gHQ,YAAA,iBAfF,QAAgC,OAAA,eAChC,SPgiHN,SO9hHQ,WAAA,eAEF,SPgiHN,SO9hHQ,aAAA,eAEF,SPgiHN,SO9hHQ,cAAA,eAEF,SPgiHN,SO9hHQ,YAAA,eAfF,QAAgC,QAAA,YAChC,SPmjHN,SOjjHQ,YAAA,YAEF,SPmjHN,SOjjHQ,cAAA,YAEF,SPmjHN,SOjjHQ,eAAA,YAEF,SPmjHN,SOjjHQ,aAAA,YAfF,QAAgC,QAAA,iBAChC,SPskHN,SOpkHQ,YAAA,iBAEF,SPskHN,SOpkHQ,cAAA,iBAEF,SPskHN,SOpkHQ,eAAA,iBAEF,SPskHN,SOpkHQ,aAAA,iBAfF,QAAgC,QAAA,gBAChC,SPylHN,SOvlHQ,YAAA,gBAEF,SPylHN,SOvlHQ,cAAA,gBAEF,SPylHN,SOvlHQ,eAAA,gBAEF,SPylHN,SOvlHQ,aAAA,gBAfF,QAAgC,QAAA,eAChC,SP4mHN,SO1mHQ,YAAA,eAEF,SP4mHN,SO1mHQ,cAAA,eAEF,SP4mHN,SO1mHQ,eAAA,eAEF,SP4mHN,SO1mHQ,aAAA,eAfF,QAAgC,QAAA,iBAChC,SP+nHN,SO7nHQ,YAAA,iBAEF,SP+nHN,SO7nHQ,cAAA,iBAEF,SP+nHN,SO7nHQ,eAAA,iBAEF,SP+nHN,SO7nHQ,aAAA,iBAfF,QAAgC,QAAA,eAChC,SPkpHN,SOhpHQ,YAAA,eAEF,SPkpHN,SOhpHQ,cAAA,eAEF,SPkpHN,SOhpHQ,eAAA,eAEF,SPkpHN,SOhpHQ,aAAA,eAQF,SAAwB,OAAA,kBACxB,UP8oHN,UO5oHQ,WAAA,kBAEF,UP8oHN,UO5oHQ,aAAA,kBAEF,UP8oHN,UO5oHQ,cAAA,kBAEF,UP8oHN,UO5oHQ,YAAA,kBAfF,SAAwB,OAAA,iBACxB,UPiqHN,UO/pHQ,WAAA,iBAEF,UPiqHN,UO/pHQ,aAAA,iBAEF,UPiqHN,UO/pHQ,cAAA,iBAEF,UPiqHN,UO/pHQ,YAAA,iBAfF,SAAwB,OAAA,gBACxB,UPorHN,UOlrHQ,WAAA,gBAEF,UPorHN,UOlrHQ,aAAA,gBAEF,UPorHN,UOlrHQ,cAAA,gBAEF,UPorHN,UOlrHQ,YAAA,gBAfF,SAAwB,OAAA,kBACxB,UPusHN,UOrsHQ,WAAA,kBAEF,UPusHN,UOrsHQ,aAAA,kBAEF,UPusHN,UOrsHQ,cAAA,kBAEF,UPusHN,UOrsHQ,YAAA,kBAfF,SAAwB,OAAA,gBACxB,UP0tHN,UOxtHQ,WAAA,gBAEF,UP0tHN,UOxtHQ,aAAA,gBAEF,UP0tHN,UOxtHQ,cAAA,gBAEF,UP0tHN,UOxtHQ,YAAA,gBAMN,WAAmB,OAAA,eACnB,YPwtHF,YOttHI,WAAA,eAEF,YPwtHF,YOttHI,aAAA,eAEF,YPwtHF,YOttHI,cAAA,eAEF,YPwtHF,YOttHI,YAAA","sourcesContent":["/*!\n * Bootstrap Grid v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n@import \"utilities/spacing\";\n","/*!\n * Bootstrap Grid v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n @include deprecate(\"The `make-container-max-widths` mixin\", \"v4.5.2\", \"v5\");\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @if $columns > 0 {\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n }\n\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n @if $columns > 0 {\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap-reboot.css b/src/main/resources/static/css/bootstrap/bootstrap-reboot.css new file mode 100644 index 0000000..4c64218 --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap-reboot.css @@ -0,0 +1,326 @@ +/*! + * Bootstrap Reboot v4.5.3 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors + * Copyright 2011-2020 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */ +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus:not(:focus-visible) { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([class]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg { + overflow: hidden; + vertical-align: middle; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +[role="button"] { + cursor: pointer; +} + +select { + word-wrap: normal; +} + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} +/*# sourceMappingURL=bootstrap-reboot.css.map */ \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap-reboot.css.map b/src/main/resources/static/css/bootstrap/bootstrap-reboot.css.map new file mode 100644 index 0000000..e79cab0 --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap-reboot.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-reboot.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"AAAA;;;;;;ECME;ACYF;;;EAGE,sBAAsB;ADVxB;;ACaA;EACE,uBAAuB;EACvB,iBAAiB;EACjB,8BAA8B;EAC9B,6CCXa;AFCf;;ACgBA;EACE,cAAc;ADbhB;;ACuBA;EACE,SAAS;EACT,kMCqOiN;ECrJ7M,eAtCY;EFxChB,gBC8O+B;ED7O/B,gBCkP+B;EDjP/B,cCnCgB;EDoChB,gBAAgB;EAChB,sBC9Ca;AF0Bf;;AAEA;EC+BE,qBAAqB;AD7BvB;;ACsCA;EACE,uBAAuB;EACvB,SAAS;EACT,iBAAiB;ADnCnB;;ACgDA;EACE,aAAa;EACb,qBCgNuC;AF7PzC;;ACoDA;EACE,aAAa;EACb,mBCoF8B;AFrIhC;;AC4DA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,gBAAgB;EAChB,sCAA8B;EAA9B,8BAA8B;ADzDhC;;AC4DA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;ADzDtB;;AC4DA;;;EAGE,aAAa;EACb,mBAAmB;ADzDrB;;AC4DA;;;;EAIE,gBAAgB;ADzDlB;;AC4DA;EACE,gBCiJ+B;AF1MjC;;AC4DA;EACE,oBAAoB;EACpB,cAAc;ADzDhB;;AC4DA;EACE,gBAAgB;ADzDlB;;AC4DA;;EAEE,mBCoIkC;AF7LpC;;AC4DA;EExFI,cAAW;AHgCf;;ACiEA;;EAEE,kBAAkB;EEnGhB,cAAW;EFqGb,cAAc;EACd,wBAAwB;AD9D1B;;ACiEA;EAAM,cAAc;AD7DpB;;AC8DA;EAAM,UAAU;AD1DhB;;ACiEA;EACE,cCvJe;EDwJf,qBCX4C;EDY5C,6BAA6B;AD9D/B;;AIlHE;EHmLE,cCd8D;EDe9D,0BCd+C;AF/CnD;;ACsEA;EACE,cAAc;EACd,qBAAqB;ADnEvB;;AI5HE;EHkME,cAAc;EACd,qBAAqB;ADlEzB;;AC2EA;;;;EAIE,iGCyDgH;EC7M9G,cAAW;AH6Ef;;AC2EA;EAEE,aAAa;EAEb,mBAAmB;EAEnB,cAAc;EAGd,6BAA6B;AD7E/B;;ACqFA;EAEE,gBAAgB;ADnFlB;;AC2FA;EACE,sBAAsB;EACtB,kBAAkB;ADxFpB;;AC2FA;EAGE,gBAAgB;EAChB,sBAAsB;AD1FxB;;ACkGA;EACE,yBAAyB;AD/F3B;;ACkGA;EACE,oBC6EkC;ED5ElC,uBC4EkC;ED3ElC,cCtQgB;EDuQhB,gBAAgB;EAChB,oBAAoB;AD/FtB;;ACsGA;EAEE,mBAAmB;EACnB,gCAAgC;ADpGlC;;AC4GA;EAEE,qBAAqB;EACrB,qBC2J2C;AFrQ7C;;ACgHA;EAEE,gBAAgB;AD9GlB;;ACqHA;EACE,mBAAmB;EACnB,0CAA0C;ADlH5C;;ACqHA;;;;;EAKE,SAAS;EACT,oBAAoB;EE5PlB,kBAAW;EF8Pb,oBAAoB;ADlHtB;;ACqHA;;EAEE,iBAAiB;ADlHnB;;ACqHA;;EAEE,oBAAoB;ADlHtB;;AAEA;ECuHE,eAAe;ADrHjB;;AC2HA;EACE,iBAAiB;ADxHnB;;AC+HA;;;;EAIE,0BAA0B;AD5H5B;;ACiIE;;;;EAKI,eAAe;AD/HrB;;ACqIA;;;;EAIE,UAAU;EACV,kBAAkB;ADlIpB;;ACqIA;;EAEE,sBAAsB;EACtB,UAAU;ADlIZ;;ACsIA;EACE,cAAc;EAEd,gBAAgB;ADpIlB;;ACuIA;EAME,YAAY;EAEZ,UAAU;EACV,SAAS;EACT,SAAS;AD1IX;;AC+IA;EACE,cAAc;EACd,WAAW;EACX,eAAe;EACf,UAAU;EACV,oBAAoB;EEnShB,iBAtCY;EF2UhB,oBAAoB;EACpB,cAAc;EACd,mBAAmB;AD5IrB;;AC+IA;EACE,wBAAwB;AD5I1B;;AAEA;;ECgJE,YAAY;AD7Id;;AAEA;ECmJE,oBAAoB;EACpB,wBAAwB;ADjJ1B;;AAEA;ECuJE,wBAAwB;ADrJ1B;;AC6JA;EACE,aAAa;EACb,0BAA0B;AD1J5B;;ACiKA;EACE,qBAAqB;AD9JvB;;ACiKA;EACE,kBAAkB;EAClB,eAAe;AD9JjB;;ACiKA;EACE,aAAa;AD9Jf;;AAEA;ECkKE,wBAAwB;ADhK1B","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","/*!\n * Bootstrap Reboot v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role=\"button\"] {\n cursor: pointer;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-th-font-weight: null !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n$custom-control-cursor: null !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-label-color: null !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: null !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: null !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: null !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>\") !default;\n$custom-select-background: escape-svg($custom-select-indicator) no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n$user-selects: all, auto, none !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap-reboot.min.css b/src/main/resources/static/css/bootstrap/bootstrap-reboot.min.css new file mode 100644 index 0000000..04512ed --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap-reboot.min.css @@ -0,0 +1,8 @@ +/*! + * Bootstrap Reboot v4.5.3 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors + * Copyright 2011-2020 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important} +/*# sourceMappingURL=bootstrap-reboot.min.css.map */ \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap-reboot.min.css.map b/src/main/resources/static/css/bootstrap/bootstrap-reboot.min.css.map new file mode 100644 index 0000000..bfaee25 --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap-reboot.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","../../scss/vendor/_rfs.scss","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"AAAA;;;;;;ACkBA,ECTA,QADA,SDaE,WAAA,WAGF,KACE,YAAA,WACA,YAAA,KACA,yBAAA,KACA,4BAAA,YAMF,QAAA,MAAA,WAAA,OAAA,OAAA,OAAA,OAAA,KAAA,IAAA,QACE,QAAA,MAUF,KACE,OAAA,EACA,YAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,WAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,iBAAA,CAAA,mBEgFI,UAAA,KF9EJ,YAAA,IACA,YAAA,IACA,MAAA,QACA,WAAA,KACA,iBAAA,KGlBF,0CH+BE,QAAA,YASF,GACE,WAAA,YACA,OAAA,EACA,SAAA,QAaF,GAAA,GAAA,GAAA,GAAA,GAAA,GACE,WAAA,EACA,cAAA,MAOF,EACE,WAAA,EACA,cAAA,KC9CF,0BDyDA,YAEE,gBAAA,UACA,wBAAA,UAAA,OAAA,gBAAA,UAAA,OACA,OAAA,KACA,cAAA,EACA,iCAAA,KAAA,yBAAA,KAGF,QACE,cAAA,KACA,WAAA,OACA,YAAA,QCnDF,GDsDA,GCvDA,GD0DE,WAAA,EACA,cAAA,KAGF,MCtDA,MACA,MAFA,MD2DE,cAAA,EAGF,GACE,YAAA,IAGF,GACE,cAAA,MACA,YAAA,EAGF,WACE,OAAA,EAAA,EAAA,KAGF,ECvDA,ODyDE,YAAA,OAGF,MExFI,UAAA,IFiGJ,IC5DA,ID8DE,SAAA,SEnGE,UAAA,IFqGF,YAAA,EACA,eAAA,SAGF,IAAM,OAAA,OACN,IAAM,IAAA,MAON,EACE,MAAA,QACA,gBAAA,KACA,iBAAA,YIhLA,QJmLE,MAAA,QACA,gBAAA,UASJ,2BACE,MAAA,QACA,gBAAA,KI/LA,iCJkME,MAAA,QACA,gBAAA,KC7DJ,KACA,IDqEA,ICpEA,KDwEE,YAAA,cAAA,CAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,UEpJE,UAAA,IFwJJ,IAEE,WAAA,EAEA,cAAA,KAEA,SAAA,KAGA,mBAAA,UAQF,OAEE,OAAA,EAAA,EAAA,KAQF,IACE,eAAA,OACA,aAAA,KAGF,IAGE,SAAA,OACA,eAAA,OAQF,MACE,gBAAA,SAGF,QACE,YAAA,OACA,eAAA,OACA,MAAA,QACA,WAAA,KACA,aAAA,OAOF,GAEE,WAAA,QACA,WAAA,qBAQF,MAEE,QAAA,aACA,cAAA,MAMF,OAEE,cAAA,EAOF,aACE,QAAA,IAAA,OACA,QAAA,IAAA,KAAA,yBC7GF,ODgHA,MC9GA,SADA,OAEA,SDkHE,OAAA,EACA,YAAA,QE5PE,UAAA,QF8PF,YAAA,QAGF,OChHA,MDkHE,SAAA,QAGF,OChHA,ODkHE,eAAA,KGhHF,cHuHE,OAAA,QAMF,OACE,UAAA,OCnHF,cACA,aACA,cDwHA,OAIE,mBAAA,OCvHF,6BACA,4BACA,6BD0HE,sBAKI,OAAA,QC1HN,gCACA,+BACA,gCD8HA,yBAIE,QAAA,EACA,aAAA,KC7HF,qBDgIA,kBAEE,WAAA,WACA,QAAA,EAIF,SACE,SAAA,KAEA,OAAA,SAGF,SAME,UAAA,EAEA,QAAA,EACA,OAAA,EACA,OAAA,EAKF,OACE,QAAA,MACA,MAAA,KACA,UAAA,KACA,QAAA,EACA,cAAA,MEnSI,UAAA,OFqSJ,YAAA,QACA,MAAA,QACA,YAAA,OAGF,SACE,eAAA,SG1IF,yCFGA,yCD6IE,OAAA,KG3IF,cHmJE,eAAA,KACA,mBAAA,KG/IF,yCHuJE,mBAAA,KAQF,6BACE,KAAA,QACA,mBAAA,OAOF,OACE,QAAA,aAGF,QACE,QAAA,UACA,OAAA,QAGF,SACE,QAAA,KG5JF,SHkKE,QAAA","sourcesContent":["/*!\n * Bootstrap Reboot v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role=\"button\"] {\n cursor: pointer;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","/*!\n * Bootstrap Reboot v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap.css b/src/main/resources/static/css/bootstrap/bootstrap.css new file mode 100644 index 0000000..a3171be --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap.css @@ -0,0 +1,10263 @@ +/*! + * Bootstrap v4.5.3 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors + * Copyright 2011-2020 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #6c757d; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus:not(:focus-visible) { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([class]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg { + overflow: hidden; + vertical-align: middle; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +[role="button"] { + cursor: pointer; +} + +select { + word-wrap: normal; +} + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; +} + +h1, .h1 { + font-size: 2.5rem; +} + +h2, .h2 { + font-size: 2rem; +} + +h3, .h3 { + font-size: 1.75rem; +} + +h4, .h4 { + font-size: 1.5rem; +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2; +} + +.display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; +} + +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +small, +.small { + font-size: 80%; + font-weight: 400; +} + +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} + +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d; +} + +.blockquote-footer::before { + content: "\2014\00A0"; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 90%; + color: #6c757d; +} + +code { + font-size: 87.5%; + color: #e83e8c; + word-wrap: break-word; +} + +a > code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} + +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; +} + +pre { + display: block; + font-size: 87.5%; + color: #212529; +} + +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container, +.container-fluid, +.container-sm, +.container-md, +.container-lg, +.container-xl { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container, .container-sm { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container, .container-sm, .container-md { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container, .container-sm, .container-md, .container-lg { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container, .container-sm, .container-md, .container-lg, .container-xl { + max-width: 1140px; + } +} + +.row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +.col { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; +} + +.row-cols-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.row-cols-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.row-cols-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.row-cols-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.row-cols-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; +} + +.row-cols-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; +} + +.col-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + -ms-flex-order: -1; + order: -1; +} + +.order-last { + -ms-flex-order: 13; + order: 13; +} + +.order-0 { + -ms-flex-order: 0; + order: 0; +} + +.order-1 { + -ms-flex-order: 1; + order: 1; +} + +.order-2 { + -ms-flex-order: 2; + order: 2; +} + +.order-3 { + -ms-flex-order: 3; + order: 3; +} + +.order-4 { + -ms-flex-order: 4; + order: 4; +} + +.order-5 { + -ms-flex-order: 5; + order: 5; +} + +.order-6 { + -ms-flex-order: 6; + order: 6; +} + +.order-7 { + -ms-flex-order: 7; + order: 7; +} + +.order-8 { + -ms-flex-order: 8; + order: 8; +} + +.order-9 { + -ms-flex-order: 9; + order: 9; +} + +.order-10 { + -ms-flex-order: 10; + order: 10; +} + +.order-11 { + -ms-flex-order: 11; + order: 11; +} + +.order-12 { + -ms-flex-order: 12; + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-sm-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-sm-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-sm-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-sm-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-sm-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-sm-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-sm-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + -ms-flex-order: -1; + order: -1; + } + .order-sm-last { + -ms-flex-order: 13; + order: 13; + } + .order-sm-0 { + -ms-flex-order: 0; + order: 0; + } + .order-sm-1 { + -ms-flex-order: 1; + order: 1; + } + .order-sm-2 { + -ms-flex-order: 2; + order: 2; + } + .order-sm-3 { + -ms-flex-order: 3; + order: 3; + } + .order-sm-4 { + -ms-flex-order: 4; + order: 4; + } + .order-sm-5 { + -ms-flex-order: 5; + order: 5; + } + .order-sm-6 { + -ms-flex-order: 6; + order: 6; + } + .order-sm-7 { + -ms-flex-order: 7; + order: 7; + } + .order-sm-8 { + -ms-flex-order: 8; + order: 8; + } + .order-sm-9 { + -ms-flex-order: 9; + order: 9; + } + .order-sm-10 { + -ms-flex-order: 10; + order: 10; + } + .order-sm-11 { + -ms-flex-order: 11; + order: 11; + } + .order-sm-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-md-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-md-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-md-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-md-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-md-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-md-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-md-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + -ms-flex-order: -1; + order: -1; + } + .order-md-last { + -ms-flex-order: 13; + order: 13; + } + .order-md-0 { + -ms-flex-order: 0; + order: 0; + } + .order-md-1 { + -ms-flex-order: 1; + order: 1; + } + .order-md-2 { + -ms-flex-order: 2; + order: 2; + } + .order-md-3 { + -ms-flex-order: 3; + order: 3; + } + .order-md-4 { + -ms-flex-order: 4; + order: 4; + } + .order-md-5 { + -ms-flex-order: 5; + order: 5; + } + .order-md-6 { + -ms-flex-order: 6; + order: 6; + } + .order-md-7 { + -ms-flex-order: 7; + order: 7; + } + .order-md-8 { + -ms-flex-order: 8; + order: 8; + } + .order-md-9 { + -ms-flex-order: 9; + order: 9; + } + .order-md-10 { + -ms-flex-order: 10; + order: 10; + } + .order-md-11 { + -ms-flex-order: 11; + order: 11; + } + .order-md-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-lg-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-lg-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-lg-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-lg-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-lg-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-lg-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-lg-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + -ms-flex-order: -1; + order: -1; + } + .order-lg-last { + -ms-flex-order: 13; + order: 13; + } + .order-lg-0 { + -ms-flex-order: 0; + order: 0; + } + .order-lg-1 { + -ms-flex-order: 1; + order: 1; + } + .order-lg-2 { + -ms-flex-order: 2; + order: 2; + } + .order-lg-3 { + -ms-flex-order: 3; + order: 3; + } + .order-lg-4 { + -ms-flex-order: 4; + order: 4; + } + .order-lg-5 { + -ms-flex-order: 5; + order: 5; + } + .order-lg-6 { + -ms-flex-order: 6; + order: 6; + } + .order-lg-7 { + -ms-flex-order: 7; + order: 7; + } + .order-lg-8 { + -ms-flex-order: 8; + order: 8; + } + .order-lg-9 { + -ms-flex-order: 9; + order: 9; + } + .order-lg-10 { + -ms-flex-order: 10; + order: 10; + } + .order-lg-11 { + -ms-flex-order: 11; + order: 11; + } + .order-lg-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-xl-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-xl-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-xl-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-xl-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-xl-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-xl-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-xl-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + -ms-flex-order: -1; + order: -1; + } + .order-xl-last { + -ms-flex-order: 13; + order: 13; + } + .order-xl-0 { + -ms-flex-order: 0; + order: 0; + } + .order-xl-1 { + -ms-flex-order: 1; + order: 1; + } + .order-xl-2 { + -ms-flex-order: 2; + order: 2; + } + .order-xl-3 { + -ms-flex-order: 3; + order: 3; + } + .order-xl-4 { + -ms-flex-order: 4; + order: 4; + } + .order-xl-5 { + -ms-flex-order: 5; + order: 5; + } + .order-xl-6 { + -ms-flex-order: 6; + order: 6; + } + .order-xl-7 { + -ms-flex-order: 7; + order: 7; + } + .order-xl-8 { + -ms-flex-order: 8; + order: 8; + } + .order-xl-9 { + -ms-flex-order: 9; + order: 9; + } + .order-xl-10 { + -ms-flex-order: 10; + order: 10; + } + .order-xl-11 { + -ms-flex-order: 11; + order: 11; + } + .order-xl-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.table { + width: 100%; + margin-bottom: 1rem; + color: #212529; +} + +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; +} + +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; +} + +.table tbody + tbody { + border-top: 2px solid #dee2e6; +} + +.table-sm th, +.table-sm td { + padding: 0.3rem; +} + +.table-bordered { + border: 1px solid #dee2e6; +} + +.table-bordered th, +.table-bordered td { + border: 1px solid #dee2e6; +} + +.table-bordered thead th, +.table-bordered thead td { + border-bottom-width: 2px; +} + +.table-borderless th, +.table-borderless td, +.table-borderless thead th, +.table-borderless tbody + tbody { + border: 0; +} + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); +} + +.table-hover tbody tr:hover { + color: #212529; + background-color: rgba(0, 0, 0, 0.075); +} + +.table-primary, +.table-primary > th, +.table-primary > td { + background-color: #b8daff; +} + +.table-primary th, +.table-primary td, +.table-primary thead th, +.table-primary tbody + tbody { + border-color: #7abaff; +} + +.table-hover .table-primary:hover { + background-color: #9fcdff; +} + +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th { + background-color: #9fcdff; +} + +.table-secondary, +.table-secondary > th, +.table-secondary > td { + background-color: #d6d8db; +} + +.table-secondary th, +.table-secondary td, +.table-secondary thead th, +.table-secondary tbody + tbody { + border-color: #b3b7bb; +} + +.table-hover .table-secondary:hover { + background-color: #c8cbcf; +} + +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th { + background-color: #c8cbcf; +} + +.table-success, +.table-success > th, +.table-success > td { + background-color: #c3e6cb; +} + +.table-success th, +.table-success td, +.table-success thead th, +.table-success tbody + tbody { + border-color: #8fd19e; +} + +.table-hover .table-success:hover { + background-color: #b1dfbb; +} + +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th { + background-color: #b1dfbb; +} + +.table-info, +.table-info > th, +.table-info > td { + background-color: #bee5eb; +} + +.table-info th, +.table-info td, +.table-info thead th, +.table-info tbody + tbody { + border-color: #86cfda; +} + +.table-hover .table-info:hover { + background-color: #abdde5; +} + +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th { + background-color: #abdde5; +} + +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #ffeeba; +} + +.table-warning th, +.table-warning td, +.table-warning thead th, +.table-warning tbody + tbody { + border-color: #ffdf7e; +} + +.table-hover .table-warning:hover { + background-color: #ffe8a1; +} + +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th { + background-color: #ffe8a1; +} + +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f5c6cb; +} + +.table-danger th, +.table-danger td, +.table-danger thead th, +.table-danger tbody + tbody { + border-color: #ed969e; +} + +.table-hover .table-danger:hover { + background-color: #f1b0b7; +} + +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th { + background-color: #f1b0b7; +} + +.table-light, +.table-light > th, +.table-light > td { + background-color: #fdfdfe; +} + +.table-light th, +.table-light td, +.table-light thead th, +.table-light tbody + tbody { + border-color: #fbfcfc; +} + +.table-hover .table-light:hover { + background-color: #ececf6; +} + +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th { + background-color: #ececf6; +} + +.table-dark, +.table-dark > th, +.table-dark > td { + background-color: #c6c8ca; +} + +.table-dark th, +.table-dark td, +.table-dark thead th, +.table-dark tbody + tbody { + border-color: #95999c; +} + +.table-hover .table-dark:hover { + background-color: #b9bbbe; +} + +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th { + background-color: #b9bbbe; +} + +.table-active, +.table-active > th, +.table-active > td { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover > td, +.table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); +} + +.table .thead-dark th { + color: #fff; + background-color: #343a40; + border-color: #454d55; +} + +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.table-dark { + color: #fff; + background-color: #343a40; +} + +.table-dark th, +.table-dark td, +.table-dark thead th { + border-color: #454d55; +} + +.table-dark.table-bordered { + border: 0; +} + +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); +} + +.table-dark.table-hover tbody tr:hover { + color: #fff; + background-color: rgba(255, 255, 255, 0.075); +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-sm > .table-bordered { + border: 0; + } +} + +@media (max-width: 767.98px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-md > .table-bordered { + border: 0; + } +} + +@media (max-width: 991.98px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-lg > .table-bordered { + border: 0; + } +} + +@media (max-width: 1199.98px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-xl > .table-bordered { + border: 0; + } +} + +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +.table-responsive > .table-bordered { + border: 0; +} + +.form-control { + display: block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} + +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} + +.form-control:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #495057; +} + +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.form-control::-webkit-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} + +input[type="date"].form-control, +input[type="time"].form-control, +input[type="datetime-local"].form-control, +input[type="month"].form-control { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.form-control-file, +.form-control-range { + display: block; + width: 100%; +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.5; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + font-size: 1rem; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.form-control-lg { + height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +select.form-control[size], select.form-control[multiple] { + height: auto; +} + +textarea.form-control { + height: auto; +} + +.form-group { + margin-bottom: 1rem; +} + +.form-text { + display: block; + margin-top: 0.25rem; +} + +.form-row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; +} + +.form-row > .col, +.form-row > [class*="col-"] { + padding-right: 5px; + padding-left: 5px; +} + +.form-check { + position: relative; + display: block; + padding-left: 1.25rem; +} + +.form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; +} + +.form-check-input[disabled] ~ .form-check-label, +.form-check-input:disabled ~ .form-check-label { + color: #6c757d; +} + +.form-check-label { + margin-bottom: 0; +} + +.form-check-inline { + display: -ms-inline-flexbox; + display: inline-flex; + -ms-flex-align: center; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; +} + +.form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #28a745; +} + +.valid-tooltip { + position: absolute; + top: 100%; + left: 0; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(40, 167, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #28a745; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .custom-select:valid, .custom-select.is-valid { + border-color: #28a745; + padding-right: calc(0.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #28a745; +} + +.was-validated .form-check-input:valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, +.form-check-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { + color: #28a745; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { + border-color: #28a745; +} + +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { + border-color: #34ce57; + background-color: #34ce57; +} + +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + left: 0; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .custom-select:invalid, .custom-select.is-invalid { + border-color: #dc3545; + padding-right: calc(0.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +.was-validated .form-check-input:invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, +.form-check-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { + color: #dc3545; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { + border-color: #dc3545; +} + +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { + border-color: #e4606d; + background-color: #e4606d; +} + +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.form-inline { + display: -ms-flexbox; + display: flex; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -ms-flex-align: center; + align-items: center; +} + +.form-inline .form-check { + width: 100%; +} + +@media (min-width: 576px) { + .form-inline label { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + margin-bottom: 0; + } + .form-inline .form-group { + display: -ms-flexbox; + display: flex; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -ms-flex-align: center; + align-items: center; + margin-bottom: 0; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-plaintext { + display: inline-block; + } + .form-inline .input-group, + .form-inline .custom-select { + width: auto; + } + .form-inline .form-check { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + width: auto; + padding-left: 0; + } + .form-inline .form-check-input { + position: relative; + -ms-flex-negative: 0; + flex-shrink: 0; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; + } + .form-inline .custom-control { + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + } + .form-inline .custom-control-label { + margin-bottom: 0; + } +} + +.btn { + display: inline-block; + font-weight: 400; + color: #212529; + text-align: center; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} + +.btn:hover { + color: #212529; + text-decoration: none; +} + +.btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.btn.disabled, .btn:disabled { + opacity: 0.65; +} + +.btn:not(:disabled):not(.disabled) { + cursor: pointer; +} + +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + +.btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:hover { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; +} + +.btn-primary:focus, .btn-primary.focus { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +.btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf; +} + +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:hover { + color: #fff; + background-color: #5a6268; + border-color: #545b62; +} + +.btn-secondary:focus, .btn-secondary.focus { + color: #fff; + background-color: #5a6268; + border-color: #545b62; + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn-secondary.disabled, .btn-secondary:disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, +.show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #545b62; + border-color: #4e555b; +} + +.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn-success { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:hover { + color: #fff; + background-color: #218838; + border-color: #1e7e34; +} + +.btn-success:focus, .btn-success.focus { + color: #fff; + background-color: #218838; + border-color: #1e7e34; + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +.btn-success.disabled, .btn-success:disabled { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, +.show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #1e7e34; + border-color: #1c7430; +} + +.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +.btn-info { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:hover { + color: #fff; + background-color: #138496; + border-color: #117a8b; +} + +.btn-info:focus, .btn-info.focus { + color: #fff; + background-color: #138496; + border-color: #117a8b; + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +.btn-info.disabled, .btn-info:disabled { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, +.show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #117a8b; + border-color: #10707f; +} + +.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +.btn-warning { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:hover { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; +} + +.btn-warning:focus, .btn-warning.focus { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +.btn-warning.disabled, .btn-warning:disabled { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, +.show > .btn-warning.dropdown-toggle { + color: #212529; + background-color: #d39e00; + border-color: #c69500; +} + +.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:hover { + color: #fff; + background-color: #c82333; + border-color: #bd2130; +} + +.btn-danger:focus, .btn-danger.focus { + color: #fff; + background-color: #c82333; + border-color: #bd2130; + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +.btn-danger.disabled, .btn-danger:disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, +.show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #bd2130; + border-color: #b21f2d; +} + +.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +.btn-light { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:hover { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; +} + +.btn-light:focus, .btn-light.focus { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +.btn-light.disabled, .btn-light:disabled { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, +.show > .btn-light.dropdown-toggle { + color: #212529; + background-color: #dae0e5; + border-color: #d3d9df; +} + +.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +.btn-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:hover { + color: #fff; + background-color: #23272b; + border-color: #1d2124; +} + +.btn-dark:focus, .btn-dark.focus { + color: #fff; + background-color: #23272b; + border-color: #1d2124; + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-dark.disabled, .btn-dark:disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, +.show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d; +} + +.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-outline-primary { + color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:hover { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:focus, .btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #007bff; + background-color: transparent; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, +.show > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:focus, .btn-outline-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { + color: #6c757d; + background-color: transparent; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, +.show > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-success { + color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:hover { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:focus, .btn-outline-success.focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-success.disabled, .btn-outline-success:disabled { + color: #28a745; + background-color: transparent; +} + +.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, +.show > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-info { + color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:hover { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:focus, .btn-outline-info.focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-info.disabled, .btn-outline-info:disabled { + color: #17a2b8; + background-color: transparent; +} + +.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, +.show > .btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:hover { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:focus, .btn-outline-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-warning.disabled, .btn-outline-warning:disabled { + color: #ffc107; + background-color: transparent; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, +.show > .btn-outline-warning.dropdown-toggle { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-danger { + color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:focus, .btn-outline-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-danger.disabled, .btn-outline-danger:disabled { + color: #dc3545; + background-color: transparent; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, +.show > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:focus, .btn-outline-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-light.disabled, .btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent; +} + +.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, +.show > .btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-dark { + color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:focus, .btn-outline-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-outline-dark.disabled, .btn-outline-dark:disabled { + color: #343a40; + background-color: transparent; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, +.show > .btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-link { + font-weight: 400; + color: #007bff; + text-decoration: none; +} + +.btn-link:hover { + color: #0056b3; + text-decoration: underline; +} + +.btn-link:focus, .btn-link.focus { + text-decoration: underline; +} + +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; + pointer-events: none; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.btn-block { + display: block; + width: 100%; +} + +.btn-block + .btn-block { + margin-top: 0.5rem; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.fade { + transition: opacity 0.15s linear; +} + +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} + +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} + +.dropup, +.dropright, +.dropdown, +.dropleft { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} + +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} + +.dropdown-menu-left { + right: auto; + left: 0; +} + +.dropdown-menu-right { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-left { + right: auto; + left: 0; + } + .dropdown-menu-sm-right { + right: 0; + left: auto; + } +} + +@media (min-width: 768px) { + .dropdown-menu-md-left { + right: auto; + left: 0; + } + .dropdown-menu-md-right { + right: 0; + left: auto; + } +} + +@media (min-width: 992px) { + .dropdown-menu-lg-left { + right: auto; + left: 0; + } + .dropdown-menu-lg-right { + right: 0; + left: auto; + } +} + +@media (min-width: 1200px) { + .dropdown-menu-xl-left { + right: auto; + left: 0; + } + .dropdown-menu-xl-right { + right: 0; + left: auto; + } +} + +.dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} + +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} + +.dropright .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} + +.dropright .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-toggle::after { + vertical-align: 0; +} + +.dropleft .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} + +.dropleft .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +.dropleft .dropdown-toggle::after { + display: none; +} + +.dropleft .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} + +.dropleft .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { + right: auto; + bottom: auto; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} + +.dropdown-item:hover, .dropdown-item:focus { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; +} + +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #007bff; +} + +.dropdown-item.disabled, .dropdown-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: 0.25rem 1.5rem; + color: #212529; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: -ms-inline-flexbox; + display: inline-flex; + vertical-align: middle; +} + +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; +} + +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover { + z-index: 1; +} + +.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.btn-toolbar .input-group { + width: auto; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; +} + +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +.dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after, +.dropright .dropdown-toggle-split::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-align: start; + align-items: flex-start; + -ms-flex-pack: center; + justify-content: center; +} + +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; +} + +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.btn-group-toggle > .btn, +.btn-group-toggle > .btn-group > .btn { + margin-bottom: 0; +} + +.btn-group-toggle > .btn input[type="radio"], +.btn-group-toggle > .btn input[type="checkbox"], +.btn-group-toggle > .btn-group > .btn input[type="radio"], +.btn-group-toggle > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +.input-group { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: stretch; + align-items: stretch; + width: 100%; +} + +.input-group > .form-control, +.input-group > .form-control-plaintext, +.input-group > .custom-select, +.input-group > .custom-file { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + min-width: 0; + margin-bottom: 0; +} + +.input-group > .form-control + .form-control, +.input-group > .form-control + .custom-select, +.input-group > .form-control + .custom-file, +.input-group > .form-control-plaintext + .form-control, +.input-group > .form-control-plaintext + .custom-select, +.input-group > .form-control-plaintext + .custom-file, +.input-group > .custom-select + .form-control, +.input-group > .custom-select + .custom-select, +.input-group > .custom-select + .custom-file, +.input-group > .custom-file + .form-control, +.input-group > .custom-file + .custom-select, +.input-group > .custom-file + .custom-file { + margin-left: -1px; +} + +.input-group > .form-control:focus, +.input-group > .custom-select:focus, +.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { + z-index: 3; +} + +.input-group > .custom-file .custom-file-input:focus { + z-index: 4; +} + +.input-group > .form-control:not(:last-child), +.input-group > .custom-select:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .form-control:not(:first-child), +.input-group > .custom-select:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group > .custom-file { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; +} + +.input-group > .custom-file:not(:last-child) .custom-file-label, +.input-group > .custom-file:not(:last-child) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .custom-file:not(:first-child) .custom-file-label { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group-prepend, +.input-group-append { + display: -ms-flexbox; + display: flex; +} + +.input-group-prepend .btn, +.input-group-append .btn { + position: relative; + z-index: 2; +} + +.input-group-prepend .btn:focus, +.input-group-append .btn:focus { + z-index: 3; +} + +.input-group-prepend .btn + .btn, +.input-group-prepend .btn + .input-group-text, +.input-group-prepend .input-group-text + .input-group-text, +.input-group-prepend .input-group-text + .btn, +.input-group-append .btn + .btn, +.input-group-append .btn + .input-group-text, +.input-group-append .input-group-text + .input-group-text, +.input-group-append .input-group-text + .btn { + margin-left: -1px; +} + +.input-group-prepend { + margin-right: -1px; +} + +.input-group-append { + margin-left: -1px; +} + +.input-group-text { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.input-group-text input[type="radio"], +.input-group-text input[type="checkbox"] { + margin-top: 0; +} + +.input-group-lg > .form-control:not(textarea), +.input-group-lg > .custom-select { + height: calc(1.5em + 1rem + 2px); +} + +.input-group-lg > .form-control, +.input-group-lg > .custom-select, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.input-group-sm > .form-control:not(textarea), +.input-group-sm > .custom-select { + height: calc(1.5em + 0.5rem + 2px); +} + +.input-group-sm > .form-control, +.input-group-sm > .custom-select, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.input-group-lg > .custom-select, +.input-group-sm > .custom-select { + padding-right: 1.75rem; +} + +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text, +.input-group > .input-group-append:not(:last-child) > .btn, +.input-group > .input-group-append:not(:last-child) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-control { + position: relative; + z-index: 1; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; + -webkit-print-color-adjust: exact; + color-adjust: exact; +} + +.custom-control-inline { + display: -ms-inline-flexbox; + display: inline-flex; + margin-right: 1rem; +} + +.custom-control-input { + position: absolute; + left: 0; + z-index: -1; + width: 1rem; + height: 1.25rem; + opacity: 0; +} + +.custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + border-color: #007bff; + background-color: #007bff; +} + +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: #80bdff; +} + +.custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #fff; + background-color: #b3d7ff; + border-color: #b3d7ff; +} + +.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label { + color: #6c757d; +} + +.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before { + background-color: #e9ecef; +} + +.custom-control-label { + position: relative; + margin-bottom: 0; + vertical-align: top; +} + +.custom-control-label::before { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + background-color: #fff; + border: #adb5bd solid 1px; +} + +.custom-control-label::after { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background: no-repeat 50% / 50% 50%; +} + +.custom-checkbox .custom-control-label::before { + border-radius: 0.25rem; +} + +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + border-color: #007bff; + background-color: #007bff; +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-radio .custom-control-label::before { + border-radius: 50%; +} + +.custom-radio .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} + +.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-switch { + padding-left: 2.25rem; +} + +.custom-switch .custom-control-label::before { + left: -2.25rem; + width: 1.75rem; + pointer-events: all; + border-radius: 0.5rem; +} + +.custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + background-color: #adb5bd; + border-radius: 0.5rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-switch .custom-control-label::after { + transition: none; + } +} + +.custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: #fff; + -webkit-transform: translateX(0.75rem); + transform: translateX(0.75rem); +} + +.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-select { + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-select:focus { + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-select:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.custom-select[multiple], .custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; +} + +.custom-select:disabled { + color: #6c757d; + background-color: #e9ecef; +} + +.custom-select::-ms-expand { + display: none; +} + +.custom-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #495057; +} + +.custom-select-sm { + height: calc(1.5em + 0.5rem + 2px); + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; +} + +.custom-select-lg { + height: calc(1.5em + 1rem + 2px); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; +} + +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin-bottom: 0; +} + +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin: 0; + opacity: 0; +} + +.custom-file-input:focus ~ .custom-file-label { + border-color: #80bdff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-file-input[disabled] ~ .custom-file-label, +.custom-file-input:disabled ~ .custom-file-label { + background-color: #e9ecef; +} + +.custom-file-input:lang(en) ~ .custom-file-label::after { + content: "Browse"; +} + +.custom-file-input ~ .custom-file-label[data-browse]::after { + content: attr(data-browse); +} + +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.custom-file-label::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: calc(1.5em + 0.75rem); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background-color: #e9ecef; + border-left: inherit; + border-radius: 0 0.25rem 0.25rem 0; +} + +.custom-range { + width: 100%; + height: 1.4rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-range:focus { + outline: none; +} + +.custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range::-moz-focus-outer { + border: 0; +} + +.custom-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} + +.custom-range::-webkit-slider-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} + +.custom-range::-moz-range-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-ms-thumb { + width: 1rem; + height: 1rem; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-ms-thumb { + -ms-transition: none; + transition: none; + } +} + +.custom-range::-ms-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-ms-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: transparent; + border-color: transparent; + border-width: 0.5rem; +} + +.custom-range::-ms-fill-lower { + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range::-ms-fill-upper { + margin-right: 15px; + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-webkit-slider-runnable-track { + cursor: default; +} + +.custom-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-moz-range-track { + cursor: default; +} + +.custom-range:disabled::-ms-thumb { + background-color: #adb5bd; +} + +.custom-control-label::before, +.custom-file-label, +.custom-select { + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-control-label::before, + .custom-file-label, + .custom-select { + transition: none; + } +} + +.nav { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; +} + +.nav-link:hover, .nav-link:focus { + text-decoration: none; +} + +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} + +.nav-tabs .nav-item { + margin-bottom: -1px; +} + +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; +} + +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} + +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills .nav-link { + border-radius: 0.25rem; +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #007bff; +} + +.nav-fill > .nav-link, +.nav-fill .nav-item { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + text-align: center; +} + +.tab-content > .tab-pane { + display: none; +} + +.tab-content > .active { + display: block; +} + +.navbar { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 0.5rem 1rem; +} + +.navbar .container, +.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} + +.navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} + +.navbar-nav { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} + +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.navbar-collapse { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + -ms-flex-positive: 1; + flex-grow: 1; + -ms-flex-align: center; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; +} + +@media (max-width: 575.98px) { + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 576px) { + .navbar-expand-sm { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-sm .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } +} + +@media (max-width: 767.98px) { + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 768px) { + .navbar-expand-md { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-md .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } +} + +@media (max-width: 991.98px) { + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 992px) { + .navbar-expand-lg { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-lg .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } +} + +@media (max-width: 1199.98px) { + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 1200px) { + .navbar-expand-xl { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-xl .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } +} + +.navbar-expand { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { + padding-right: 0; + padding-left: 0; +} + +.navbar-expand .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; +} + +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; +} + +.navbar-expand .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; +} + +.navbar-expand .navbar-toggler { + display: none; +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} + +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} + +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} + +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-dark .navbar-brand { + color: #fff; +} + +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} + +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-text a { + color: #fff; +} + +.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { + color: #fff; +} + +.card { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} + +.card > hr { + margin-right: 0; + margin-left: 0; +} + +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} + +.card > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} + +.card-body { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + min-height: 1px; + padding: 1.25rem; +} + +.card-title { + margin-bottom: 0.75rem; +} + +.card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link:hover { + text-decoration: none; +} + +.card-link + .card-link { + margin-left: 1.25rem; +} + +.card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; + border-radius: calc(0.25rem - 1px); +} + +.card-img, +.card-img-top, +.card-img-bottom { + -ms-flex-negative: 0; + flex-shrink: 0; + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card-deck .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-deck { + display: -ms-flexbox; + display: flex; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; + } + .card-deck .card { + -ms-flex: 1 0 0%; + flex: 1 0 0%; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; + } +} + +.card-group > .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-group { + display: -ms-flexbox; + display: flex; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + } + .card-group > .card { + -ms-flex: 1 0 0%; + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +.card-columns .card { + margin-bottom: 0.75rem; +} + +@media (min-width: 576px) { + .card-columns { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + -webkit-column-gap: 1.25rem; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; + orphans: 1; + widows: 1; + } + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +.accordion { + overflow-anchor: none; +} + +.accordion > .card { + overflow: hidden; +} + +.accordion > .card:not(:last-of-type) { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.accordion > .card:not(:first-of-type) { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.accordion > .card > .card-header { + border-radius: 0; + margin-bottom: -1px; +} + +.breadcrumb { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.breadcrumb-item { + display: -ms-flexbox; + display: flex; +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} + +.breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + color: #6c757d; + content: "/"; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; +} + +.breadcrumb-item.active { + color: #6c757d; +} + +.pagination { + display: -ms-flexbox; + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; +} + +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #007bff; + background-color: #fff; + border: 1px solid #dee2e6; +} + +.page-link:hover { + z-index: 2; + color: #0056b3; + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.page-link:focus { + z-index: 3; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; +} + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .badge { + transition: none; + } +} + +a.badge:hover, a.badge:focus { + text-decoration: none; +} + +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; +} + +.badge-primary { + color: #fff; + background-color: #007bff; +} + +a.badge-primary:hover, a.badge-primary:focus { + color: #fff; + background-color: #0062cc; +} + +a.badge-primary:focus, a.badge-primary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.badge-secondary { + color: #fff; + background-color: #6c757d; +} + +a.badge-secondary:hover, a.badge-secondary:focus { + color: #fff; + background-color: #545b62; +} + +a.badge-secondary:focus, a.badge-secondary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.badge-success { + color: #fff; + background-color: #28a745; +} + +a.badge-success:hover, a.badge-success:focus { + color: #fff; + background-color: #1e7e34; +} + +a.badge-success:focus, a.badge-success.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.badge-info { + color: #fff; + background-color: #17a2b8; +} + +a.badge-info:hover, a.badge-info:focus { + color: #fff; + background-color: #117a8b; +} + +a.badge-info:focus, a.badge-info.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.badge-warning { + color: #212529; + background-color: #ffc107; +} + +a.badge-warning:hover, a.badge-warning:focus { + color: #212529; + background-color: #d39e00; +} + +a.badge-warning:focus, a.badge-warning.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.badge-danger { + color: #fff; + background-color: #dc3545; +} + +a.badge-danger:hover, a.badge-danger:focus { + color: #fff; + background-color: #bd2130; +} + +a.badge-danger:focus, a.badge-danger.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.badge-light { + color: #212529; + background-color: #f8f9fa; +} + +a.badge-light:hover, a.badge-light:focus { + color: #212529; + background-color: #dae0e5; +} + +a.badge-light:focus, a.badge-light.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.badge-dark { + color: #fff; + background-color: #343a40; +} + +a.badge-dark:hover, a.badge-dark:focus { + color: #fff; + background-color: #1d2124; +} + +a.badge-dark:focus, a.badge-dark.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.3rem; +} + +@media (min-width: 576px) { + .jumbotron { + padding: 4rem 2rem; + } +} + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} + +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 4rem; +} + +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 0.75rem 1.25rem; + color: inherit; +} + +.alert-primary { + color: #004085; + background-color: #cce5ff; + border-color: #b8daff; +} + +.alert-primary hr { + border-top-color: #9fcdff; +} + +.alert-primary .alert-link { + color: #002752; +} + +.alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db; +} + +.alert-secondary hr { + border-top-color: #c8cbcf; +} + +.alert-secondary .alert-link { + color: #202326; +} + +.alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; +} + +.alert-success hr { + border-top-color: #b1dfbb; +} + +.alert-success .alert-link { + color: #0b2e13; +} + +.alert-info { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; +} + +.alert-info hr { + border-top-color: #abdde5; +} + +.alert-info .alert-link { + color: #062c33; +} + +.alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; +} + +.alert-warning hr { + border-top-color: #ffe8a1; +} + +.alert-warning .alert-link { + color: #533f03; +} + +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; +} + +.alert-danger hr { + border-top-color: #f1b0b7; +} + +.alert-danger .alert-link { + color: #491217; +} + +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; +} + +.alert-light hr { + border-top-color: #ececf6; +} + +.alert-light .alert-link { + color: #686868; +} + +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; +} + +.alert-dark hr { + border-top-color: #b9bbbe; +} + +.alert-dark .alert-link { + color: #040505; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +.progress { + display: -ms-flexbox; + display: flex; + height: 1rem; + overflow: hidden; + line-height: 0; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.progress-bar { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-pack: center; + justify-content: center; + overflow: hidden; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #007bff; + transition: width 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; +} + +.progress-bar-animated { + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + -webkit-animation: none; + animation: none; + } +} + +.media { + display: -ms-flexbox; + display: flex; + -ms-flex-align: start; + align-items: flex-start; +} + +.media-body { + -ms-flex: 1; + flex: 1; +} + +.list-group { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: 0.25rem; +} + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} + +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} + +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + +.list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} + +.list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; +} + +.list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #fff; +} + +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.list-group-item + .list-group-item { + border-top-width: 0; +} + +.list-group-item + .list-group-item.active { + margin-top: -1px; + border-top-width: 1px; +} + +.list-group-horizontal { + -ms-flex-direction: row; + flex-direction: row; +} + +.list-group-horizontal > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; +} + +.list-group-horizontal > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; +} + +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} + +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; +} + +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 768px) { + .list-group-horizontal-md { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 992px) { + .list-group-horizontal-lg { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 1200px) { + .list-group-horizontal-xl { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +.list-group-flush { + border-radius: 0; +} + +.list-group-flush > .list-group-item { + border-width: 0 0 1px; +} + +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + color: #004085; + background-color: #b8daff; +} + +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #004085; + background-color: #9fcdff; +} + +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #004085; + border-color: #004085; +} + +.list-group-item-secondary { + color: #383d41; + background-color: #d6d8db; +} + +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #383d41; + background-color: #c8cbcf; +} + +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #383d41; + border-color: #383d41; +} + +.list-group-item-success { + color: #155724; + background-color: #c3e6cb; +} + +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #155724; + background-color: #b1dfbb; +} + +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #155724; + border-color: #155724; +} + +.list-group-item-info { + color: #0c5460; + background-color: #bee5eb; +} + +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #0c5460; + background-color: #abdde5; +} + +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #0c5460; + border-color: #0c5460; +} + +.list-group-item-warning { + color: #856404; + background-color: #ffeeba; +} + +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #856404; + background-color: #ffe8a1; +} + +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #856404; + border-color: #856404; +} + +.list-group-item-danger { + color: #721c24; + background-color: #f5c6cb; +} + +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #721c24; + background-color: #f1b0b7; +} + +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #721c24; + border-color: #721c24; +} + +.list-group-item-light { + color: #818182; + background-color: #fdfdfe; +} + +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #818182; + background-color: #ececf6; +} + +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #818182; + border-color: #818182; +} + +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; +} + +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #1b1e21; + background-color: #b9bbbe; +} + +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; +} + +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; +} + +.close:hover { + color: #000; + text-decoration: none; +} + +.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { + opacity: .75; +} + +button.close { + padding: 0; + background-color: transparent; + border: 0; +} + +a.close.disabled { + pointer-events: none; +} + +.toast { + -ms-flex-preferred-size: 350px; + flex-basis: 350px; + max-width: 350px; + font-size: 0.875rem; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); + opacity: 0; + border-radius: 0.25rem; +} + +.toast:not(:last-child) { + margin-bottom: 0.75rem; +} + +.toast.showing { + opacity: 1; +} + +.toast.show { + display: block; + opacity: 1; +} + +.toast.hide { + display: none; +} + +.toast-header { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + padding: 0.25rem 0.75rem; + color: #6c757d; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.toast-body { + padding: 0.75rem; +} + +.modal-open { + overflow: hidden; +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +.modal.fade .modal-dialog { + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; + -webkit-transform: translate(0, -50px); + transform: translate(0, -50px); +} + +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} + +.modal.show .modal-dialog { + -webkit-transform: none; + transform: none; +} + +.modal.modal-static .modal-dialog { + -webkit-transform: scale(1.02); + transform: scale(1.02); +} + +.modal-dialog-scrollable { + display: -ms-flexbox; + display: flex; + max-height: calc(100% - 1rem); +} + +.modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden; +} + +.modal-dialog-scrollable .modal-header, +.modal-dialog-scrollable .modal-footer { + -ms-flex-negative: 0; + flex-shrink: 0; +} + +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + min-height: calc(100% - 1rem); +} + +.modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + height: -webkit-min-content; + height: -moz-min-content; + height: min-content; + content: ""; +} + +.modal-dialog-centered.modal-dialog-scrollable { + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-pack: center; + justify-content: center; + height: 100%; +} + +.modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; +} + +.modal-dialog-centered.modal-dialog-scrollable::before { + content: none; +} + +.modal-content { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop.show { + opacity: 0.5; +} + +.modal-header { + display: -ms-flexbox; + display: flex; + -ms-flex-align: start; + align-items: flex-start; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.modal-header .close { + padding: 1rem 1rem; + margin: -1rem -1rem -1rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1rem; +} + +.modal-footer { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: end; + justify-content: flex-end; + padding: 0.75rem; + border-top: 1px solid #dee2e6; + border-bottom-right-radius: calc(0.3rem - 1px); + border-bottom-left-radius: calc(0.3rem - 1px); +} + +.modal-footer > * { + margin: 0.25rem; +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); + } + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); + } + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); + height: -webkit-min-content; + height: -moz-min-content; + height: min-content; + } + .modal-sm { + max-width: 300px; + } +} + +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + max-width: 800px; + } +} + +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} + +.tooltip.show { + opacity: 0.9; +} + +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} + +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { + padding: 0.4rem 0; +} + +.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; +} + +.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} + +.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { + padding: 0 0.4rem; +} + +.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} + +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { + padding: 0.4rem 0; +} + +.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; +} + +.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} + +.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { + padding: 0 0.4rem; +} + +.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} + +.popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; +} + +.popover .arrow::before, .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-popover-top, .bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.5rem; +} + +.bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { + bottom: calc(-0.5rem - 1px); +} + +.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; +} + +.bs-popover-right, .bs-popover-auto[x-placement^="right"] { + margin-left: 0.5rem; +} + +.bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { + left: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; +} + +.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.5rem; +} + +.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { + top: calc(-0.5rem - 1px); +} + +.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; +} + +.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; +} + +.bs-popover-left, .bs-popover-auto[x-placement^="left"] { + margin-right: 0.5rem; +} + +.bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { + right: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; +} + +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + -ms-touch-action: pan-y; + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: -webkit-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-left), +.active.carousel-item-right { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-right), +.active.carousel-item-left { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + -webkit-transform: none; + transform: none; +} + +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-left, +.carousel-fade .carousel-item-prev.carousel-item-right { + z-index: 1; + opacity: 1; +} + +.carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-right { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-left, + .carousel-fade .active.carousel-item-right { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + opacity: 0.5; + transition: opacity 0.15s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} + +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: no-repeat 50% / 100% 100%; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: -ms-flexbox; + display: flex; + -ms-flex-pack: center; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} + +.carousel-indicators li { + box-sizing: content-box; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: .5; + transition: opacity 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-indicators li { + transition: none; + } +} + +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; +} + +@-webkit-keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: spinner-border .75s linear infinite; + animation: spinner-border .75s linear infinite; +} + +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; +} + +@-webkit-keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: spinner-grow .75s linear infinite; + animation: spinner-grow .75s linear infinite; +} + +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.bg-primary { + background-color: #007bff !important; +} + +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #0062cc !important; +} + +.bg-secondary { + background-color: #6c757d !important; +} + +a.bg-secondary:hover, a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus { + background-color: #545b62 !important; +} + +.bg-success { + background-color: #28a745 !important; +} + +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + background-color: #1e7e34 !important; +} + +.bg-info { + background-color: #17a2b8 !important; +} + +a.bg-info:hover, a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus { + background-color: #117a8b !important; +} + +.bg-warning { + background-color: #ffc107 !important; +} + +a.bg-warning:hover, a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus { + background-color: #d39e00 !important; +} + +.bg-danger { + background-color: #dc3545 !important; +} + +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + background-color: #bd2130 !important; +} + +.bg-light { + background-color: #f8f9fa !important; +} + +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + background-color: #dae0e5 !important; +} + +.bg-dark { + background-color: #343a40 !important; +} + +a.bg-dark:hover, a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus { + background-color: #1d2124 !important; +} + +.bg-white { + background-color: #fff !important; +} + +.bg-transparent { + background-color: transparent !important; +} + +.border { + border: 1px solid #dee2e6 !important; +} + +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +.border-right { + border-right: 1px solid #dee2e6 !important; +} + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +.border-left { + border-left: 1px solid #dee2e6 !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-right-0 { + border-right: 0 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-left-0 { + border-left: 0 !important; +} + +.border-primary { + border-color: #007bff !important; +} + +.border-secondary { + border-color: #6c757d !important; +} + +.border-success { + border-color: #28a745 !important; +} + +.border-info { + border-color: #17a2b8 !important; +} + +.border-warning { + border-color: #ffc107 !important; +} + +.border-danger { + border-color: #dc3545 !important; +} + +.border-light { + border-color: #f8f9fa !important; +} + +.border-dark { + border-color: #343a40 !important; +} + +.border-white { + border-color: #fff !important; +} + +.rounded-sm { + border-radius: 0.2rem !important; +} + +.rounded { + border-radius: 0.25rem !important; +} + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +.rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-lg { + border-radius: 0.3rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: 50rem !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: -ms-flexbox !important; + display: flex !important; +} + +.d-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-sm-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-md-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-lg-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-xl-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-print-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; +} + +.embed-responsive::before { + display: block; + content: ""; +} + +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} + +.embed-responsive-21by9::before { + padding-top: 42.857143%; +} + +.embed-responsive-16by9::before { + padding-top: 56.25%; +} + +.embed-responsive-4by3::before { + padding-top: 75%; +} + +.embed-responsive-1by1::before { + padding-top: 100%; +} + +.flex-row { + -ms-flex-direction: row !important; + flex-direction: row !important; +} + +.flex-column { + -ms-flex-direction: column !important; + flex-direction: column !important; +} + +.flex-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} + +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} + +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} + +.flex-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; +} + +.flex-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; +} + +.flex-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; +} + +.flex-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; +} + +.justify-content-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} + +.justify-content-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} + +.justify-content-center { + -ms-flex-pack: center !important; + justify-content: center !important; +} + +.justify-content-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} + +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} + +.align-items-start { + -ms-flex-align: start !important; + align-items: flex-start !important; +} + +.align-items-end { + -ms-flex-align: end !important; + align-items: flex-end !important; +} + +.align-items-center { + -ms-flex-align: center !important; + align-items: center !important; +} + +.align-items-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; +} + +.align-items-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; +} + +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} + +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} + +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} + +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} + +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} + +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} + +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} + +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} + +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} + +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} + +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} + +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-sm-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-sm-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-sm-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-sm-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-sm-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-sm-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-sm-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-sm-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-sm-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-sm-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-sm-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-sm-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-sm-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-md-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-md-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-md-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-md-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-md-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-md-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-md-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-md-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-md-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-md-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-md-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-md-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-md-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-md-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-lg-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-lg-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-lg-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-lg-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-lg-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-lg-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-lg-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-lg-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-lg-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-lg-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-lg-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-lg-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-lg-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xl-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xl-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-xl-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-xl-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-xl-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xl-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xl-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xl-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-xl-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xl-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xl-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xl-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xl-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +.float-left { + float: left !important; +} + +.float-right { + float: right !important; +} + +.float-none { + float: none !important; +} + +@media (min-width: 576px) { + .float-sm-left { + float: left !important; + } + .float-sm-right { + float: right !important; + } + .float-sm-none { + float: none !important; + } +} + +@media (min-width: 768px) { + .float-md-left { + float: left !important; + } + .float-md-right { + float: right !important; + } + .float-md-none { + float: none !important; + } +} + +@media (min-width: 992px) { + .float-lg-left { + float: left !important; + } + .float-lg-right { + float: right !important; + } + .float-lg-none { + float: none !important; + } +} + +@media (min-width: 1200px) { + .float-xl-left { + float: left !important; + } + .float-xl-right { + float: right !important; + } + .float-xl-none { + float: none !important; + } +} + +.user-select-all { + -webkit-user-select: all !important; + -moz-user-select: all !important; + -ms-user-select: all !important; + user-select: all !important; +} + +.user-select-auto { + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + -ms-user-select: auto !important; + user-select: auto !important; +} + +.user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +@supports ((position: -webkit-sticky) or (position: sticky)) { + .sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.vw-100 { + width: 100vw !important; +} + +.vh-100 { + height: 100vh !important; +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +.m-n3 { + margin: -1rem !important; +} + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +.m-n4 { + margin: -1.5rem !important; +} + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +.m-n5 { + margin: -3rem !important; +} + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + .m-sm-n1 { + margin: -0.25rem !important; + } + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; + } + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; + } + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; + } + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; + } + .m-sm-n2 { + margin: -0.5rem !important; + } + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; + } + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; + } + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; + } + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; + } + .m-sm-n3 { + margin: -1rem !important; + } + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; + } + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; + } + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; + } + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; + } + .m-sm-n4 { + margin: -1.5rem !important; + } + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; + } + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; + } + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; + } + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; + } + .m-sm-n5 { + margin: -3rem !important; + } + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; + } + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; + } + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; + } + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + .m-md-n1 { + margin: -0.25rem !important; + } + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; + } + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; + } + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; + } + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; + } + .m-md-n2 { + margin: -0.5rem !important; + } + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; + } + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; + } + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; + } + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; + } + .m-md-n3 { + margin: -1rem !important; + } + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; + } + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; + } + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; + } + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; + } + .m-md-n4 { + margin: -1.5rem !important; + } + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; + } + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; + } + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; + } + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; + } + .m-md-n5 { + margin: -3rem !important; + } + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; + } + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; + } + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; + } + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + .m-lg-n1 { + margin: -0.25rem !important; + } + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; + } + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; + } + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; + } + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; + } + .m-lg-n2 { + margin: -0.5rem !important; + } + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; + } + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; + } + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; + } + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; + } + .m-lg-n3 { + margin: -1rem !important; + } + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; + } + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; + } + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; + } + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; + } + .m-lg-n4 { + margin: -1.5rem !important; + } + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; + } + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; + } + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; + } + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; + } + .m-lg-n5 { + margin: -3rem !important; + } + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; + } + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; + } + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; + } + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + .m-xl-n1 { + margin: -0.25rem !important; + } + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; + } + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; + } + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; + } + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; + } + .m-xl-n2 { + margin: -0.5rem !important; + } + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; + } + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; + } + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; + } + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; + } + .m-xl-n3 { + margin: -1rem !important; + } + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; + } + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; + } + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; + } + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; + } + .m-xl-n4 { + margin: -1.5rem !important; + } + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; + } + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; + } + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; + } + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; + } + .m-xl-n5 { + margin: -3rem !important; + } + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; + } + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; + } + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; + } + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: rgba(0, 0, 0, 0); +} + +.text-monospace { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; +} + +.text-justify { + text-align: justify !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text-left { + text-align: left !important; +} + +.text-right { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +@media (min-width: 576px) { + .text-sm-left { + text-align: left !important; + } + .text-sm-right { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} + +@media (min-width: 768px) { + .text-md-left { + text-align: left !important; + } + .text-md-right { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} + +@media (min-width: 992px) { + .text-lg-left { + text-align: left !important; + } + .text-lg-right { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + .text-xl-left { + text-align: left !important; + } + .text-xl-right { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.font-weight-light { + font-weight: 300 !important; +} + +.font-weight-lighter { + font-weight: lighter !important; +} + +.font-weight-normal { + font-weight: 400 !important; +} + +.font-weight-bold { + font-weight: 700 !important; +} + +.font-weight-bolder { + font-weight: bolder !important; +} + +.font-italic { + font-style: italic !important; +} + +.text-white { + color: #fff !important; +} + +.text-primary { + color: #007bff !important; +} + +a.text-primary:hover, a.text-primary:focus { + color: #0056b3 !important; +} + +.text-secondary { + color: #6c757d !important; +} + +a.text-secondary:hover, a.text-secondary:focus { + color: #494f54 !important; +} + +.text-success { + color: #28a745 !important; +} + +a.text-success:hover, a.text-success:focus { + color: #19692c !important; +} + +.text-info { + color: #17a2b8 !important; +} + +a.text-info:hover, a.text-info:focus { + color: #0f6674 !important; +} + +.text-warning { + color: #ffc107 !important; +} + +a.text-warning:hover, a.text-warning:focus { + color: #ba8b00 !important; +} + +.text-danger { + color: #dc3545 !important; +} + +a.text-danger:hover, a.text-danger:focus { + color: #a71d2a !important; +} + +.text-light { + color: #f8f9fa !important; +} + +a.text-light:hover, a.text-light:focus { + color: #cbd3da !important; +} + +.text-dark { + color: #343a40 !important; +} + +a.text-dark:hover, a.text-dark:focus { + color: #121416 !important; +} + +.text-body { + color: #212529 !important; +} + +.text-muted { + color: #6c757d !important; +} + +.text-black-50 { + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-break { + word-break: break-word !important; + word-wrap: break-word !important; +} + +.text-reset { + color: inherit !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media print { + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; + } + a:not(.btn) { + text-decoration: underline; + } + abbr[title]::after { + content: " (" attr(title) ")"; + } + pre { + white-space: pre-wrap !important; + } + pre, + blockquote { + border: 1px solid #adb5bd; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + @page { + size: a3; + } + body { + min-width: 992px !important; + } + .container { + min-width: 992px !important; + } + .navbar { + display: none; + } + .badge { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #dee2e6 !important; + } + .table-dark { + color: inherit; + } + .table-dark th, + .table-dark td, + .table-dark thead th, + .table-dark tbody + tbody { + border-color: #dee2e6; + } + .table .thead-dark th { + color: inherit; + border-color: #dee2e6; + } +} +/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap.css.map b/src/main/resources/static/css/bootstrap/bootstrap.css.map new file mode 100644 index 0000000..549dbb4 --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap.scss","bootstrap.css","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/utilities/_interactions.scss","../../scss/utilities/_overflow.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_stretched-link.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ACJF;EAGI,eAAc;EAAd,iBAAc;EAAd,iBAAc;EAAd,eAAc;EAAd,cAAc;EAAd,iBAAc;EAAd,iBAAc;EAAd,gBAAc;EAAd,eAAc;EAAd,eAAc;EAAd,aAAc;EAAd,eAAc;EAAd,oBAAc;EAId,kBAAc;EAAd,oBAAc;EAAd,kBAAc;EAAd,eAAc;EAAd,kBAAc;EAAd,iBAAc;EAAd,gBAAc;EAAd,eAAc;EAId,kBAAiC;EAAjC,sBAAiC;EAAjC,sBAAiC;EAAjC,sBAAiC;EAAjC,uBAAiC;EAKnC,+MAAyB;EACzB,6GAAwB;ADiB1B;;AEjBA;;;EAGE,sBAAsB;AFoBxB;;AEjBA;EACE,uBAAuB;EACvB,iBAAiB;EACjB,8BAA8B;EAC9B,6CCXa;AH+Bf;;AEdA;EACE,cAAc;AFiBhB;;AEPA;EACE,SAAS;EACT,kMCqOiN;ECrJ7M,eAtCY;EFxChB,gBC8O+B;ED7O/B,gBCkP+B;EDjP/B,cCnCgB;EDoChB,gBAAgB;EAChB,sBC9Ca;AHwDf;;AAEA;EECE,qBAAqB;AFCvB;;AEQA;EACE,uBAAuB;EACvB,SAAS;EACT,iBAAiB;AFLnB;;AEkBA;EACE,aAAa;EACb,qBCgNuC;AH/NzC;;AEsBA;EACE,aAAa;EACb,mBCoF8B;AHvGhC;;AE8BA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,gBAAgB;EAChB,sCAA8B;EAA9B,8BAA8B;AF3BhC;;AE8BA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;AF3BtB;;AE8BA;;;EAGE,aAAa;EACb,mBAAmB;AF3BrB;;AE8BA;;;;EAIE,gBAAgB;AF3BlB;;AE8BA;EACE,gBCiJ+B;AH5KjC;;AE8BA;EACE,oBAAoB;EACpB,cAAc;AF3BhB;;AE8BA;EACE,gBAAgB;AF3BlB;;AE8BA;;EAEE,mBCoIkC;AH/JpC;;AE8BA;EExFI,cAAW;AJ8Df;;AEmCA;;EAEE,kBAAkB;EEnGhB,cAAW;EFqGb,cAAc;EACd,wBAAwB;AFhC1B;;AEmCA;EAAM,cAAc;AF/BpB;;AEgCA;EAAM,UAAU;AF5BhB;;AEmCA;EACE,cCvJe;EDwJf,qBCX4C;EDY5C,6BAA6B;AFhC/B;;AKhJE;EHmLE,cCd8D;EDe9D,0BCd+C;AHjBnD;;AEwCA;EACE,cAAc;EACd,qBAAqB;AFrCvB;;AK1JE;EHkME,cAAc;EACd,qBAAqB;AFpCzB;;AE6CA;;;;EAIE,iGCyDgH;EC7M9G,cAAW;AJ2Gf;;AE6CA;EAEE,aAAa;EAEb,mBAAmB;EAEnB,cAAc;EAGd,6BAA6B;AF/C/B;;AEuDA;EAEE,gBAAgB;AFrDlB;;AE6DA;EACE,sBAAsB;EACtB,kBAAkB;AF1DpB;;AE6DA;EAGE,gBAAgB;EAChB,sBAAsB;AF5DxB;;AEoEA;EACE,yBAAyB;AFjE3B;;AEoEA;EACE,oBC6EkC;ED5ElC,uBC4EkC;ED3ElC,cCtQgB;EDuQhB,gBAAgB;EAChB,oBAAoB;AFjEtB;;AEwEA;EAEE,mBAAmB;EACnB,gCAAgC;AFtElC;;AE8EA;EAEE,qBAAqB;EACrB,qBC2J2C;AHvO7C;;AEkFA;EAEE,gBAAgB;AFhFlB;;AEuFA;EACE,mBAAmB;EACnB,0CAA0C;AFpF5C;;AEuFA;;;;;EAKE,SAAS;EACT,oBAAoB;EE5PlB,kBAAW;EF8Pb,oBAAoB;AFpFtB;;AEuFA;;EAEE,iBAAiB;AFpFnB;;AEuFA;;EAEE,oBAAoB;AFpFtB;;AAEA;EEyFE,eAAe;AFvFjB;;AE6FA;EACE,iBAAiB;AF1FnB;;AEiGA;;;;EAIE,0BAA0B;AF9F5B;;AEmGE;;;;EAKI,eAAe;AFjGrB;;AEuGA;;;;EAIE,UAAU;EACV,kBAAkB;AFpGpB;;AEuGA;;EAEE,sBAAsB;EACtB,UAAU;AFpGZ;;AEwGA;EACE,cAAc;EAEd,gBAAgB;AFtGlB;;AEyGA;EAME,YAAY;EAEZ,UAAU;EACV,SAAS;EACT,SAAS;AF5GX;;AEiHA;EACE,cAAc;EACd,WAAW;EACX,eAAe;EACf,UAAU;EACV,oBAAoB;EEnShB,iBAtCY;EF2UhB,oBAAoB;EACpB,cAAc;EACd,mBAAmB;AF9GrB;;AEiHA;EACE,wBAAwB;AF9G1B;;AAEA;;EEkHE,YAAY;AF/Gd;;AAEA;EEqHE,oBAAoB;EACpB,wBAAwB;AFnH1B;;AAEA;EEyHE,wBAAwB;AFvH1B;;AE+HA;EACE,aAAa;EACb,0BAA0B;AF5H5B;;AEmIA;EACE,qBAAqB;AFhIvB;;AEmIA;EACE,kBAAkB;EAClB,eAAe;AFhIjB;;AEmIA;EACE,aAAa;AFhIf;;AAEA;EEoIE,wBAAwB;AFlI1B;;AM1VA;;EAEE,qBHqSuC;EGnSvC,gBHqS+B;EGpS/B,gBHqS+B;AHuDjC;;AMxVA;EFgHM,iBAtCY;AJkRlB;;AM3VA;EF+GM,eAtCY;AJsRlB;;AM9VA;EF8GM,kBAtCY;AJ0RlB;;AMjWA;EF6GM,iBAtCY;AJ8RlB;;AMpWA;EF4GM,kBAtCY;AJkSlB;;AMvWA;EF2GM,eAtCY;AJsSlB;;AMzWA;EFyGM,kBAtCY;EEjEhB,gBHuS+B;AHqEjC;;AMxWA;EFmGM,eAtCY;EE3DhB,gBH0R+B;EGzR/B,gBHiR+B;AH0FjC;;AMzWA;EF8FM,iBAtCY;EEtDhB,gBHsR+B;EGrR/B,gBH4Q+B;AHgGjC;;AM1WA;EFyFM,iBAtCY;EEjDhB,gBHkR+B;EGjR/B,gBHuQ+B;AHsGjC;;AM3WA;EFoFM,iBAtCY;EE5ChB,gBH8Q+B;EG7Q/B,gBHkQ+B;AH4GjC;;AEjVA;EIpBE,gBHgFW;EG/EX,mBH+EW;EG9EX,SAAS;EACT,wCHzCa;AHkZf;;AMjWA;;EFMI,cAAW;EEHb,gBH0N+B;AH0IjC;;AMjWA;;EAEE,cHkQgC;EGjQhC,yBH0QmC;AH0FrC;;AM5VA;EC/EE,eAAe;EACf,gBAAgB;AP+alB;;AM5VA;ECpFE,eAAe;EACf,gBAAgB;APoblB;;AM9VA;EACE,qBAAqB;ANiWvB;;AMlWA;EAII,oBHoP+B;AH8GnC;;AMxVA;EFjCI,cAAW;EEmCb,yBAAyB;AN2V3B;;AMvVA;EACE,mBHuBW;ECRP,kBAtCY;AJkXlB;;AMvVA;EACE,cAAc;EF7CZ,cAAW;EE+Cb,cH1GgB;AHoclB;;AM7VA;EAMI,qBAAqB;AN2VzB;;AQ9cA;ECIE,eAAe;EAGf,YAAY;AT4cd;;AQ7cA;EACE,gBL+/BwC;EK9/BxC,sBLRa;EKSb,yBLNgB;EOQd,sBP6NgC;EMpOlC,eAAe;EAGf,YAAY;ATqdd;;AQvcA;EAEE,qBAAqB;ARycvB;;AQtcA;EACE,qBAA0B;EAC1B,cAAc;ARychB;;AQtcA;EJkCI,cAAW;EIhCb,cL3BgB;AHoelB;;AWhfA;EPuEI,gBAAW;EOrEb,cRmCe;EQlCf,qBAAqB;AXmfvB;;AWhfE;EACE,cAAc;AXmflB;;AW9eA;EACE,sBRmlCuC;ECzhCrC,gBAAW;EOxDb,WRTa;EQUb,yBRDgB;EOEd,qBP+N+B;AHkRnC;;AWtfA;EASI,UAAU;EPkDV,eAAW;EOhDX,gBRwQ6B;AHyOjC;;AEzSA;ESjME,cAAc;EPyCZ,gBAAW;EOvCb,cRjBgB;AH+flB;;AWjfA;EP0CI,kBAAW;EOlCX,cAAc;EACd,kBAAkB;AX8etB;;AWzeA;EACE,iBR0jCuC;EQzjCvC,kBAAkB;AX4epB;;AYphBE;;;;;;ECDA,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;Ab8hBnB;;Ac3eI;EFzCE;IACE,gBT+LG;EHyVT;AACF;;AcjfI;EFzCE;IACE,gBTgMG;EH8VT;AACF;;AcvfI;EFzCE;IACE,gBTiMG;EHmWT;AACF;;Ac7fI;EFzCE;IACE,iBTkMI;EHwWV;AACF;;AY/gBE;ECnCA,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,mBAA0B;EAC1B,kBAAyB;AbsjB3B;;AYhhBE;EACE,eAAe;EACf,cAAc;AZmhBlB;;AYrhBE;;EAMI,gBAAgB;EAChB,eAAe;AZohBrB;;Ae1kBE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;AfklB7B;;Ae5jBM;EACE,0BAAa;EAAb,aAAa;EACb,oBAAY;EAAZ,YAAY;EACZ,eAAe;Af+jBvB;;Ae1jBU;EFwBN,kBAAuB;EAAvB,cAAuB;EACvB,eAAwB;AbsiB5B;;Ae/jBU;EFwBN,iBAAuB;EAAvB,aAAuB;EACvB,cAAwB;Ab2iB5B;;AepkBU;EFwBN,wBAAuB;EAAvB,oBAAuB;EACvB,qBAAwB;AbgjB5B;;AezkBU;EFwBN,iBAAuB;EAAvB,aAAuB;EACvB,cAAwB;AbqjB5B;;Ae9kBU;EFwBN,iBAAuB;EAAvB,aAAuB;EACvB,cAAwB;Ab0jB5B;;AenlBU;EFwBN,wBAAuB;EAAvB,oBAAuB;EACvB,qBAAwB;Ab+jB5B;;AellBM;EFCJ,kBAAc;EAAd,cAAc;EACd,WAAW;EACX,eAAe;AbqlBjB;;AellBU;EFbR,uBAAsC;EAAtC,mBAAsC;EAItC,oBAAuC;AbgmBzC;;AevlBU;EFbR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AbqmBzC;;Ae5lBU;EFbR,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;Ab0mBzC;;AejmBU;EFbR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;Ab+mBzC;;AetmBU;EFbR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AbonBzC;;Ae3mBU;EFbR,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;AbynBzC;;AehnBU;EFbR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;Ab8nBzC;;AernBU;EFbR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AbmoBzC;;Ae1nBU;EFbR,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;AbwoBzC;;Ae/nBU;EFbR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;Ab6oBzC;;AepoBU;EFbR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AbkpBzC;;AezoBU;EFbR,kBAAsC;EAAtC,cAAsC;EAItC,eAAuC;AbupBzC;;AexoBM;EAAwB,kBAAS;EAAT,SAAS;Af4oBvC;;Ae1oBM;EAAuB,kBZmKG;EYnKH,SZmKG;AH2ehC;;Ae3oBQ;EAAwB,iBADZ;EACY,QADZ;AfgpBpB;;Ae/oBQ;EAAwB,iBADZ;EACY,QADZ;AfopBpB;;AenpBQ;EAAwB,iBADZ;EACY,QADZ;AfwpBpB;;AevpBQ;EAAwB,iBADZ;EACY,QADZ;Af4pBpB;;Ae3pBQ;EAAwB,iBADZ;EACY,QADZ;AfgqBpB;;Ae/pBQ;EAAwB,iBADZ;EACY,QADZ;AfoqBpB;;AenqBQ;EAAwB,iBADZ;EACY,QADZ;AfwqBpB;;AevqBQ;EAAwB,iBADZ;EACY,QADZ;Af4qBpB;;Ae3qBQ;EAAwB,iBADZ;EACY,QADZ;AfgrBpB;;Ae/qBQ;EAAwB,iBADZ;EACY,QADZ;AforBpB;;AenrBQ;EAAwB,kBADZ;EACY,SADZ;AfwrBpB;;AevrBQ;EAAwB,kBADZ;EACY,SADZ;Af4rBpB;;Ae3rBQ;EAAwB,kBADZ;EACY,SADZ;AfgsBpB;;AexrBY;EFhBV,sBAA8C;Ab4sBhD;;Ae5rBY;EFhBV,uBAA8C;AbgtBhD;;AehsBY;EFhBV,gBAA8C;AbotBhD;;AepsBY;EFhBV,uBAA8C;AbwtBhD;;AexsBY;EFhBV,uBAA8C;Ab4tBhD;;Ae5sBY;EFhBV,gBAA8C;AbguBhD;;AehtBY;EFhBV,uBAA8C;AbouBhD;;AeptBY;EFhBV,uBAA8C;AbwuBhD;;AextBY;EFhBV,gBAA8C;Ab4uBhD;;Ae5tBY;EFhBV,uBAA8C;AbgvBhD;;AehuBY;EFhBV,uBAA8C;AbovBhD;;Ac/uBI;EC3BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;Ef8wBrB;EezwBQ;IFwBN,kBAAuB;IAAvB,cAAuB;IACvB,eAAwB;EbovB1B;Ee7wBQ;IFwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EbwvB1B;EejxBQ;IFwBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;Eb4vB1B;EerxBQ;IFwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EbgwB1B;EezxBQ;IFwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EbowB1B;Ee7xBQ;IFwBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;EbwwB1B;Ee3xBI;IFCJ,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;Eb6xBf;Ee1xBQ;IFbR,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EbuyBvC;Ee9xBQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb2yBvC;EelyBQ;IFbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Eb+yBvC;EetyBQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbmzBvC;Ee1yBQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbuzBvC;Ee9yBQ;IFbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Eb2zBvC;EelzBQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb+zBvC;EetzBQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Ebm0BvC;Ee1zBQ;IFbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Ebu0BvC;Ee9zBQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb20BvC;Eel0BQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb+0BvC;Eet0BQ;IFbR,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;Ebm1BvC;Eep0BI;IAAwB,kBAAS;IAAT,SAAS;Efu0BrC;Eer0BI;IAAuB,kBZmKG;IYnKH,SZmKG;EHqqB9B;Eer0BM;IAAwB,iBADZ;IACY,QADZ;Efy0BlB;Eex0BM;IAAwB,iBADZ;IACY,QADZ;Ef40BlB;Ee30BM;IAAwB,iBADZ;IACY,QADZ;Ef+0BlB;Ee90BM;IAAwB,iBADZ;IACY,QADZ;Efk1BlB;Eej1BM;IAAwB,iBADZ;IACY,QADZ;Efq1BlB;Eep1BM;IAAwB,iBADZ;IACY,QADZ;Efw1BlB;Eev1BM;IAAwB,iBADZ;IACY,QADZ;Ef21BlB;Ee11BM;IAAwB,iBADZ;IACY,QADZ;Ef81BlB;Ee71BM;IAAwB,iBADZ;IACY,QADZ;Efi2BlB;Eeh2BM;IAAwB,iBADZ;IACY,QADZ;Efo2BlB;Een2BM;IAAwB,kBADZ;IACY,SADZ;Efu2BlB;Eet2BM;IAAwB,kBADZ;IACY,SADZ;Ef02BlB;Eez2BM;IAAwB,kBADZ;IACY,SADZ;Ef62BlB;Eer2BU;IFhBV,cAA4B;Ebw3B5B;Eex2BU;IFhBV,sBAA8C;Eb23B9C;Ee32BU;IFhBV,uBAA8C;Eb83B9C;Ee92BU;IFhBV,gBAA8C;Ebi4B9C;Eej3BU;IFhBV,uBAA8C;Ebo4B9C;Eep3BU;IFhBV,uBAA8C;Ebu4B9C;Eev3BU;IFhBV,gBAA8C;Eb04B9C;Ee13BU;IFhBV,uBAA8C;Eb64B9C;Ee73BU;IFhBV,uBAA8C;Ebg5B9C;Eeh4BU;IFhBV,gBAA8C;Ebm5B9C;Een4BU;IFhBV,uBAA8C;Ebs5B9C;Eet4BU;IFhBV,uBAA8C;Eby5B9C;AACF;;Acr5BI;EC3BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;Efo7BrB;Ee/6BQ;IFwBN,kBAAuB;IAAvB,cAAuB;IACvB,eAAwB;Eb05B1B;Een7BQ;IFwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;Eb85B1B;Eev7BQ;IFwBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;Ebk6B1B;Ee37BQ;IFwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;Ebs6B1B;Ee/7BQ;IFwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;Eb06B1B;Een8BQ;IFwBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;Eb86B1B;Eej8BI;IFCJ,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;Ebm8Bf;Eeh8BQ;IFbR,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;Eb68BvC;Eep8BQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Ebi9BvC;Eex8BQ;IFbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Ebq9BvC;Ee58BQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eby9BvC;Eeh9BQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb69BvC;Eep9BQ;IFbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Ebi+BvC;Eex9BQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Ebq+BvC;Ee59BQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eby+BvC;Eeh+BQ;IFbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Eb6+BvC;Eep+BQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Ebi/BvC;Eex+BQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Ebq/BvC;Ee5+BQ;IFbR,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;Eby/BvC;Ee1+BI;IAAwB,kBAAS;IAAT,SAAS;Ef6+BrC;Ee3+BI;IAAuB,kBZmKG;IYnKH,SZmKG;EH20B9B;Ee3+BM;IAAwB,iBADZ;IACY,QADZ;Ef++BlB;Ee9+BM;IAAwB,iBADZ;IACY,QADZ;Efk/BlB;Eej/BM;IAAwB,iBADZ;IACY,QADZ;Efq/BlB;Eep/BM;IAAwB,iBADZ;IACY,QADZ;Efw/BlB;Eev/BM;IAAwB,iBADZ;IACY,QADZ;Ef2/BlB;Ee1/BM;IAAwB,iBADZ;IACY,QADZ;Ef8/BlB;Ee7/BM;IAAwB,iBADZ;IACY,QADZ;EfigClB;EehgCM;IAAwB,iBADZ;IACY,QADZ;EfogClB;EengCM;IAAwB,iBADZ;IACY,QADZ;EfugClB;EetgCM;IAAwB,iBADZ;IACY,QADZ;Ef0gClB;EezgCM;IAAwB,kBADZ;IACY,SADZ;Ef6gClB;Ee5gCM;IAAwB,kBADZ;IACY,SADZ;EfghClB;Ee/gCM;IAAwB,kBADZ;IACY,SADZ;EfmhClB;Ee3gCU;IFhBV,cAA4B;Eb8hC5B;Ee9gCU;IFhBV,sBAA8C;EbiiC9C;EejhCU;IFhBV,uBAA8C;EboiC9C;EephCU;IFhBV,gBAA8C;EbuiC9C;EevhCU;IFhBV,uBAA8C;Eb0iC9C;Ee1hCU;IFhBV,uBAA8C;Eb6iC9C;Ee7hCU;IFhBV,gBAA8C;EbgjC9C;EehiCU;IFhBV,uBAA8C;EbmjC9C;EeniCU;IFhBV,uBAA8C;EbsjC9C;EetiCU;IFhBV,gBAA8C;EbyjC9C;EeziCU;IFhBV,uBAA8C;Eb4jC9C;Ee5iCU;IFhBV,uBAA8C;Eb+jC9C;AACF;;Ac3jCI;EC3BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;Ef0lCrB;EerlCQ;IFwBN,kBAAuB;IAAvB,cAAuB;IACvB,eAAwB;EbgkC1B;EezlCQ;IFwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EbokC1B;Ee7lCQ;IFwBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;EbwkC1B;EejmCQ;IFwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;Eb4kC1B;EermCQ;IFwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EbglC1B;EezmCQ;IFwBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;EbolC1B;EevmCI;IFCJ,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EbymCf;EetmCQ;IFbR,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EbmnCvC;Ee1mCQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbunCvC;Ee9mCQ;IFbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Eb2nCvC;EelnCQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb+nCvC;EetnCQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbmoCvC;Ee1nCQ;IFbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EbuoCvC;Ee9nCQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb2oCvC;EeloCQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb+oCvC;EetoCQ;IFbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EbmpCvC;Ee1oCQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbupCvC;Ee9oCQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb2pCvC;EelpCQ;IFbR,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;Eb+pCvC;EehpCI;IAAwB,kBAAS;IAAT,SAAS;EfmpCrC;EejpCI;IAAuB,kBZmKG;IYnKH,SZmKG;EHi/B9B;EejpCM;IAAwB,iBADZ;IACY,QADZ;EfqpClB;EeppCM;IAAwB,iBADZ;IACY,QADZ;EfwpClB;EevpCM;IAAwB,iBADZ;IACY,QADZ;Ef2pClB;Ee1pCM;IAAwB,iBADZ;IACY,QADZ;Ef8pClB;Ee7pCM;IAAwB,iBADZ;IACY,QADZ;EfiqClB;EehqCM;IAAwB,iBADZ;IACY,QADZ;EfoqClB;EenqCM;IAAwB,iBADZ;IACY,QADZ;EfuqClB;EetqCM;IAAwB,iBADZ;IACY,QADZ;Ef0qClB;EezqCM;IAAwB,iBADZ;IACY,QADZ;Ef6qClB;Ee5qCM;IAAwB,iBADZ;IACY,QADZ;EfgrClB;Ee/qCM;IAAwB,kBADZ;IACY,SADZ;EfmrClB;EelrCM;IAAwB,kBADZ;IACY,SADZ;EfsrClB;EerrCM;IAAwB,kBADZ;IACY,SADZ;EfyrClB;EejrCU;IFhBV,cAA4B;EbosC5B;EeprCU;IFhBV,sBAA8C;EbusC9C;EevrCU;IFhBV,uBAA8C;Eb0sC9C;Ee1rCU;IFhBV,gBAA8C;Eb6sC9C;Ee7rCU;IFhBV,uBAA8C;EbgtC9C;EehsCU;IFhBV,uBAA8C;EbmtC9C;EensCU;IFhBV,gBAA8C;EbstC9C;EetsCU;IFhBV,uBAA8C;EbytC9C;EezsCU;IFhBV,uBAA8C;Eb4tC9C;Ee5sCU;IFhBV,gBAA8C;Eb+tC9C;Ee/sCU;IFhBV,uBAA8C;EbkuC9C;EeltCU;IFhBV,uBAA8C;EbquC9C;AACF;;AcjuCI;EC3BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;EfgwCrB;Ee3vCQ;IFwBN,kBAAuB;IAAvB,cAAuB;IACvB,eAAwB;EbsuC1B;Ee/vCQ;IFwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;Eb0uC1B;EenwCQ;IFwBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;Eb8uC1B;EevwCQ;IFwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EbkvC1B;Ee3wCQ;IFwBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EbsvC1B;Ee/wCQ;IFwBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;Eb0vC1B;Ee7wCI;IFCJ,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;Eb+wCf;Ee5wCQ;IFbR,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EbyxCvC;EehxCQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb6xCvC;EepxCQ;IFbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EbiyCvC;EexxCQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbqyCvC;Ee5xCQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbyyCvC;EehyCQ;IFbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Eb6yCvC;EepyCQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbizCvC;EexyCQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbqzCvC;Ee5yCQ;IFbR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EbyzCvC;EehzCQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb6zCvC;EepzCQ;IFbR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Ebi0CvC;EexzCQ;IFbR,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;Ebq0CvC;EetzCI;IAAwB,kBAAS;IAAT,SAAS;EfyzCrC;EevzCI;IAAuB,kBZmKG;IYnKH,SZmKG;EHupC9B;EevzCM;IAAwB,iBADZ;IACY,QADZ;Ef2zClB;Ee1zCM;IAAwB,iBADZ;IACY,QADZ;Ef8zClB;Ee7zCM;IAAwB,iBADZ;IACY,QADZ;Efi0ClB;Eeh0CM;IAAwB,iBADZ;IACY,QADZ;Efo0ClB;Een0CM;IAAwB,iBADZ;IACY,QADZ;Efu0ClB;Eet0CM;IAAwB,iBADZ;IACY,QADZ;Ef00ClB;Eez0CM;IAAwB,iBADZ;IACY,QADZ;Ef60ClB;Ee50CM;IAAwB,iBADZ;IACY,QADZ;Efg1ClB;Ee/0CM;IAAwB,iBADZ;IACY,QADZ;Efm1ClB;Eel1CM;IAAwB,iBADZ;IACY,QADZ;Efs1ClB;Eer1CM;IAAwB,kBADZ;IACY,SADZ;Efy1ClB;Eex1CM;IAAwB,kBADZ;IACY,SADZ;Ef41ClB;Ee31CM;IAAwB,kBADZ;IACY,SADZ;Ef+1ClB;Eev1CU;IFhBV,cAA4B;Eb02C5B;Ee11CU;IFhBV,sBAA8C;Eb62C9C;Ee71CU;IFhBV,uBAA8C;Ebg3C9C;Eeh2CU;IFhBV,gBAA8C;Ebm3C9C;Een2CU;IFhBV,uBAA8C;Ebs3C9C;Eet2CU;IFhBV,uBAA8C;Eby3C9C;Eez2CU;IFhBV,gBAA8C;Eb43C9C;Ee52CU;IFhBV,uBAA8C;Eb+3C9C;Ee/2CU;IFhBV,uBAA8C;Ebk4C9C;Eel3CU;IFhBV,gBAA8C;Ebq4C9C;Eer3CU;IFhBV,uBAA8C;Ebw4C9C;Eex3CU;IFhBV,uBAA8C;Eb24C9C;AACF;;AgB/7CA;EACE,WAAW;EACX,mBbiIW;EahIX,cbSgB;AHy7ClB;;AgBr8CA;;EAQI,gBbkVgC;EajVhC,mBAAmB;EACnB,6BbJc;AHs8ClB;;AgB58CA;EAcI,sBAAsB;EACtB,gCbTc;AH28ClB;;AgBj9CA;EAmBI,6Bbbc;AH+8ClB;;AgBz7CA;;EAGI,eb4T+B;AH+nCnC;;AgBl7CA;EACE,yBbnCgB;AHw9ClB;;AgBt7CA;;EAKI,yBbvCc;AH69ClB;;AgB37CA;;EAWM,wBAA4C;AhBq7ClD;;AgBh7CA;;;;EAKI,SAAS;AhBk7Cb;;AgB16CA;EAEI,qCb1DW;AHs+Cf;;AK3+CE;EW2EI,cbvEY;EawEZ,sCbvES;AH2+Cf;;AiBv/CE;;;EAII,yBCgG4D;AlBy5ClE;;AiB7/CE;;;;EAYM,qBCwF0D;AlBg6ClE;;AK7/CE;EYiBM,yBAJsC;AjBo/C9C;;AiBr/CE;;EASQ,yBARoC;AjBy/C9C;;AiB7gDE;;;EAII,yBCgG4D;AlB+6ClE;;AiBnhDE;;;;EAYM,qBCwF0D;AlBs7ClE;;AKnhDE;EYiBM,yBAJsC;AjB0gD9C;;AiB3gDE;;EASQ,yBARoC;AjB+gD9C;;AiBniDE;;;EAII,yBCgG4D;AlBq8ClE;;AiBziDE;;;;EAYM,qBCwF0D;AlB48ClE;;AKziDE;EYiBM,yBAJsC;AjBgiD9C;;AiBjiDE;;EASQ,yBARoC;AjBqiD9C;;AiBzjDE;;;EAII,yBCgG4D;AlB29ClE;;AiB/jDE;;;;EAYM,qBCwF0D;AlBk+ClE;;AK/jDE;EYiBM,yBAJsC;AjBsjD9C;;AiBvjDE;;EASQ,yBARoC;AjB2jD9C;;AiB/kDE;;;EAII,yBCgG4D;AlBi/ClE;;AiBrlDE;;;;EAYM,qBCwF0D;AlBw/ClE;;AKrlDE;EYiBM,yBAJsC;AjB4kD9C;;AiB7kDE;;EASQ,yBARoC;AjBilD9C;;AiBrmDE;;;EAII,yBCgG4D;AlBugDlE;;AiB3mDE;;;;EAYM,qBCwF0D;AlB8gDlE;;AK3mDE;EYiBM,yBAJsC;AjBkmD9C;;AiBnmDE;;EASQ,yBARoC;AjBumD9C;;AiB3nDE;;;EAII,yBCgG4D;AlB6hDlE;;AiBjoDE;;;;EAYM,qBCwF0D;AlBoiDlE;;AKjoDE;EYiBM,yBAJsC;AjBwnD9C;;AiBznDE;;EASQ,yBARoC;AjB6nD9C;;AiBjpDE;;;EAII,yBCgG4D;AlBmjDlE;;AiBvpDE;;;;EAYM,qBCwF0D;AlB0jDlE;;AKvpDE;EYiBM,yBAJsC;AjB8oD9C;;AiB/oDE;;EASQ,yBARoC;AjBmpD9C;;AiBvqDE;;;EAII,sCdQS;AHiqDf;;AKtqDE;EYiBM,sCAJsC;AjB6pD9C;;AiB9pDE;;EASQ,sCARoC;AjBkqD9C;;AgB5kDA;EAGM,Wb3GS;Ea4GT,yBbpGY;EaqGZ,qBbgQqD;AH60C3D;;AgBllDA;EAWM,cb5GY;Ea6GZ,yBblHY;EamHZ,qBblHY;AH6rDlB;;AgBtkDA;EACE,Wb3Ha;Ea4Hb,yBbpHgB;AH6rDlB;;AgB3kDA;;;EAOI,qBb4OuD;AH81C3D;;AgBjlDA;EAWI,SAAS;AhB0kDb;;AgBrlDA;EAgBM,2Cb1IS;AHmtDf;;AK9sDE;EW4IM,WbjJO;EakJP,4CblJO;AHwtDf;;ActpDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBwjDvC;EgB7jDG;IASK,SAAS;EhBujDjB;AACF;;AclqDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBokDvC;EgBzkDG;IASK,SAAS;EhBmkDjB;AACF;;Ac9qDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBglDvC;EgBrlDG;IASK,SAAS;EhB+kDjB;AACF;;Ac1rDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhB4lDvC;EgBjmDG;IASK,SAAS;EhB2lDjB;AACF;;AgB1mDA;EAOQ,cAAc;EACd,WAAW;EACX,gBAAgB;EAChB,iCAAiC;AhBumDzC;;AgBjnDA;EAcU,SAAS;AhBumDnB;;AmBpxDA;EACE,cAAc;EACd,WAAW;EACX,mCDiH8D;EChH9D,yBhByXkC;ECpQ9B,eAtCY;Ee5EhB,gBhBkR+B;EgBjR/B,gBhBsR+B;EgBrR/B,chBDgB;EgBEhB,sBhBTa;EgBUb,4BAA4B;EAC5B,yBhBPgB;EOOd,sBP6NgC;EiB/N9B,wEjBue4F;AHmzClG;;AoBtxDM;EDdN;ICeQ,gBAAgB;EpB0xDtB;AACF;;AmB1yDA;EAsBI,6BAA6B;EAC7B,SAAS;AnBwxDb;;AmB/yDA;EA4BI,kBAAkB;EAClB,0BhBrBc;AH4yDlB;;AqB7yDE;EACE,clBAc;EkBCd,sBlBRW;EkBSX,qBlBqdsE;EkBpdtE,UAAU;EAKR,gDlBaW;AH+xDjB;;AmB5zDA;EAqCI,chB9Bc;EgBgCd,UAAU;AnB0xDd;;AmBj0DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnB0xDd;;AmBj0DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnB0xDd;;AmBj0DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnB0xDd;;AmBj0DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnB0xDd;;AmBj0DA;EAiDI,yBhB9Cc;EgBgDd,UAAU;AnBmxDd;;AmB/wDA;;;;EAKI,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;AnBixDpB;;AmB7wDA;EAOI,chB/Dc;EgBgEd,sBhBvEW;AHi1Df;;AmBrwDA;;EAEE,cAAc;EACd,WAAW;AnBwwDb;;AmB9vDA;EACE,iCDyB8D;ECxB9D,oCDwB8D;ECvB9D,gBAAgB;Ef3Bd,kBAAW;Ee6Bb,gBhB+L+B;AHkkDjC;;AmB9vDA;EACE,+BDiB8D;EChB9D,kCDgB8D;EdK1D,kBAtCY;EemBhB,gBhB6H+B;AHooDjC;;AmB9vDA;EACE,gCDU8D;ECT9D,mCDS8D;EdK1D,mBAtCY;Ee0BhB,gBhBuH+B;AH0oDjC;;AmBxvDA;EACE,cAAc;EACd,WAAW;EACX,mBAA2B;EAC3B,gBAAgB;EfDZ,eAtCY;EeyChB,gBhBkK+B;EgBjK/B,chBnHgB;EgBoHhB,6BAA6B;EAC7B,yBAAyB;EACzB,mBAAmC;AnB2vDrC;;AmBrwDA;EAcI,gBAAgB;EAChB,eAAe;AnB2vDnB;;AmB/uDA;EACE,kCD9B8D;EC+B9D,uBhBoPiC;EC9Q7B,mBAtCY;EekEhB,gBhB+E+B;EOxN7B,qBP+N+B;AH6pDnC;;AmB/uDA;EACE,gCDtC8D;ECuC9D,oBhBiPgC;ECnR5B,kBAtCY;Ee0EhB,gBhBsE+B;EOvN7B,qBP8N+B;AHsqDnC;;AmB9uDA;EAGI,YAAY;AnB+uDhB;;AmB3uDA;EACE,YAAY;AnB8uDd;;AmBtuDA;EACE,mBhB0U0C;AH+5C5C;;AmBtuDA;EACE,cAAc;EACd,mBhB2T4C;AH86C9C;;AmBjuDA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,kBAA0C;EAC1C,iBAAyC;AnBouD3C;;AmBxuDA;;EAQI,kBAA0C;EAC1C,iBAAyC;AnBquD7C;;AmB5tDA;EACE,kBAAkB;EAClB,cAAc;EACd,qBhBgS6C;AH+7C/C;;AmB5tDA;EACE,kBAAkB;EAClB,kBhB4R2C;EgB3R3C,qBhB0R6C;AHq8C/C;;AmBluDA;;EAQI,chBzNc;AHw7DlB;;AmB3tDA;EACE,gBAAgB;AnB8tDlB;;AmB3tDA;EACE,2BAAoB;EAApB,oBAAoB;EACpB,sBAAmB;EAAnB,mBAAmB;EACnB,eAAe;EACf,qBhB6Q4C;AHi9C9C;;AmBluDA;EAQI,gBAAgB;EAChB,aAAa;EACb,uBhBwQ4C;EgBvQ5C,cAAc;AnB8tDlB;;AqB36DE;EACE,aAAa;EACb,WAAW;EACX,mBlB0c0C;ECjb1C,cAAW;EiBvBX,clBPa;AHq7DjB;;AqB36DE;EACE,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBgyBqC;EkB/xBrC,iBAAiB;EjBmEf,mBAtCY;EiB3Bd,gBlBsO6B;EkBrO7B,WlBxDW;EkByDX,wClBtBa;EOxBb,sBP6NgC;AHgwDpC;;AqB/8DI;;;;EAuCE,cAAc;ArB+6DpB;;AqBt9DI;EA6CE,qBlBnCW;EkBsCT,oCH0CwD;EGzCxD,iRHpB0E;EGqB1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gEHsCwD;AlBq4DhE;;AqB/9DI;EAwDI,qBlB9CS;EkB+CT,gDlB/CS;AH09DjB;;AqBp+DI;EAkEI,oCHwBwD;EGvBxD,kFHuBwD;AlB+4DhE;;AqBz+DI;EA0EE,qBlBhEW;EkBmET,uCHawD;EGZxD,ujBAA8J;ArBi6DtK;;AqB/+DI;EAkFI,qBlBxES;EkByET,gDlBzES;AH0+DjB;;AqBp/DI;EA2FI,clBjFS;AH8+DjB;;AqBx/DI;;;EAgGI,cAAc;ArB85DtB;;AqB9/DI;EAwGI,clB9FS;AHw/DjB;;AqBlgEI;EA2GM,qBlBjGO;AH4/DjB;;AqBtgEI;EAiHM,qBAAkC;EC3IxC,yBD4I+C;ArBy5DnD;;AqB3gEI;EAwHM,gDlB9GO;AHqgEjB;;AqB/gEI;EA4HM,qBlBlHO;AHygEjB;;AqBnhEI;EAsII,qBlB5HS;AH6gEjB;;AqBvhEI;EA2IM,qBlBjIO;EkBkIP,gDlBlIO;AHkhEjB;;AqBhhEE;EACE,aAAa;EACb,WAAW;EACX,mBlB0c0C;ECjb1C,cAAW;EiBvBX,clBVa;AH6hEjB;;AqBhhEE;EACE,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBgyBqC;EkB/xBrC,iBAAiB;EjBmEf,mBAtCY;EiB3Bd,gBlBsO6B;EkBrO7B,WlBxDW;EkByDX,wClBzBa;EOrBb,sBP6NgC;AHq2DpC;;AqBpjEI;;;;EAuCE,cAAc;ArBohEpB;;AqB3jEI;EA6CE,qBlBtCW;EkByCT,oCH0CwD;EGzCxD,4UHpB0E;EGqB1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gEHsCwD;AlB0+DhE;;AqBpkEI;EAwDI,qBlBjDS;EkBkDT,gDlBlDS;AHkkEjB;;AqBzkEI;EAkEI,oCHwBwD;EGvBxD,kFHuBwD;AlBo/DhE;;AqB9kEI;EA0EE,qBlBnEW;EkBsET,uCHawD;EGZxD,knBAA8J;ArBsgEtK;;AqBplEI;EAkFI,qBlB3ES;EkB4ET,gDlB5ES;AHklEjB;;AqBzlEI;EA2FI,clBpFS;AHslEjB;;AqB7lEI;;;EAgGI,cAAc;ArBmgEtB;;AqBnmEI;EAwGI,clBjGS;AHgmEjB;;AqBvmEI;EA2GM,qBlBpGO;AHomEjB;;AqB3mEI;EAiHM,qBAAkC;EC3IxC,yBD4I+C;ArB8/DnD;;AqBhnEI;EAwHM,gDlBjHO;AH6mEjB;;AqBpnEI;EA4HM,qBlBrHO;AHinEjB;;AqBxnEI;EAsII,qBlB/HS;AHqnEjB;;AqB5nEI;EA2IM,qBlBpIO;EkBqIP,gDlBrIO;AH0nEjB;;AmB/4DA;EACE,oBAAa;EAAb,aAAa;EACb,uBAAmB;EAAnB,mBAAmB;EACnB,sBAAmB;EAAnB,mBAAmB;AnBk5DrB;;AmBr5DA;EASI,WAAW;AnBg5Df;;Ac/mEI;EKsNJ;IAeM,oBAAa;IAAb,aAAa;IACb,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;IACvB,gBAAgB;EnB+4DpB;EmBj6DF;IAuBM,oBAAa;IAAb,aAAa;IACb,kBAAc;IAAd,cAAc;IACd,uBAAmB;IAAnB,mBAAmB;IACnB,sBAAmB;IAAnB,mBAAmB;IACnB,gBAAgB;EnB64DpB;EmBx6DF;IAgCM,qBAAqB;IACrB,WAAW;IACX,sBAAsB;EnB24D1B;EmB76DF;IAuCM,qBAAqB;EnBy4DzB;EmBh7DF;;IA4CM,WAAW;EnBw4Df;EmBp7DF;IAkDM,oBAAa;IAAb,aAAa;IACb,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;IACvB,WAAW;IACX,eAAe;EnBq4DnB;EmB37DF;IAyDM,kBAAkB;IAClB,oBAAc;IAAd,cAAc;IACd,aAAa;IACb,qBhB+KwC;IgB9KxC,cAAc;EnBq4DlB;EmBl8DF;IAiEM,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;EnBo4D3B;EmBt8DF;IAqEM,gBAAgB;EnBo4DpB;AACF;;AuBttEA;EACE,qBAAqB;EAErB,gBpBsR+B;EoBrR/B,cpBMgB;EoBLhB,kBAAkB;EAGlB,sBAAsB;EACtB,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;ECuF3C,yBrB2RkC;ECpQ9B,eAtCY;EoBiBhB,gBrB0L+B;EOlR7B,sBP6NgC;EiB/N9B,qIjBgb6I;AH4yDnJ;;AoBxtEM;EGdN;IHeQ,gBAAgB;EpB4tEtB;AACF;;AKtuEE;EkBUE,cpBNc;EoBOd,qBAAqB;AvBguEzB;;AuBjvEA;EAsBI,UAAU;EACV,gDpBMa;AHytEjB;;AuBtvEA;EA6BI,apBiZ6B;AH40DjC;;AuB1vEA;EAkCI,eAAsD;AvB4tE1D;;AuB9sEA;;EAEE,oBAAoB;AvBitEtB;;AuBxsEE;EC3DA,WrBCa;EmBDX,yBnB6Ba;EqB3Bf,qBrB2Be;AH4uEjB;;AKnwEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBgxE7H;;AwBpwEE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxBkwEvF;;AwB7vEE;EAEE,WrB1BW;EqB2BX,yBrBCa;EqBAb,qBrBAa;AH+vEjB;;AwBxvEE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBoyEnN;;AwBrvEI;;EAKI,gDAAiF;AxBqvEzF;;AuB7uEE;EC3DA,WrBCa;EmBDX,yBnBOc;EqBLhB,qBrBKgB;AHuyElB;;AKxyEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBqzE7H;;AwBzyEE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,iDAAiF;AxBuyEvF;;AwBlyEE;EAEE,WrB1BW;EqB2BX,yBrBrBc;EqBsBd,qBrBtBc;AH0zElB;;AwB7xEE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBy0EnN;;AwB1xEI;;EAKI,iDAAiF;AxB0xEzF;;AuBlxEE;EC3DA,WrBCa;EmBDX,yBnBoCa;EqBlCf,qBrBkCe;AH+yEjB;;AK70EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB01E7H;;AwB90EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,+CAAiF;AxB40EvF;;AwBv0EE;EAEE,WrB1BW;EqB2BX,yBrBQa;EqBPb,qBrBOa;AHk0EjB;;AwBl0EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxB82EnN;;AwB/zEI;;EAKI,+CAAiF;AxB+zEzF;;AuBvzEE;EC3DA,WrBCa;EmBDX,yBnBsCa;EqBpCf,qBrBoCe;AHk1EjB;;AKl3EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB+3E7H;;AwBn3EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxBi3EvF;;AwB52EE;EAEE,WrB1BW;EqB2BX,yBrBUa;EqBTb,qBrBSa;AHq2EjB;;AwBv2EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBm5EnN;;AwBp2EI;;EAKI,gDAAiF;AxBo2EzF;;AuB51EE;EC3DA,crBUgB;EmBVd,yBnBmCa;EqBjCf,qBrBiCe;AH03EjB;;AKv5EE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxBo6E7H;;AwBx5EE;EAEE,crBHc;EmBVd,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxBs5EvF;;AwBj5EE;EAEE,crBjBc;EqBkBd,yBrBOa;EqBNb,qBrBMa;AH64EjB;;AwB54EE;;EAGE,crB7Bc;EqB8Bd,yBAzCuK;EA6CvK,qBA7C+M;AxBw7EnN;;AwBz4EI;;EAKI,gDAAiF;AxBy4EzF;;AuBj4EE;EC3DA,WrBCa;EmBDX,yBnBiCa;EqB/Bf,qBrB+Be;AHi6EjB;;AK57EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBy8E7H;;AwB77EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,+CAAiF;AxB27EvF;;AwBt7EE;EAEE,WrB1BW;EqB2BX,yBrBKa;EqBJb,qBrBIa;AHo7EjB;;AwBj7EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxB69EnN;;AwB96EI;;EAKI,+CAAiF;AxB86EzF;;AuBt6EE;EC3DA,crBUgB;EmBVd,yBnBEc;EqBAhB,qBrBAgB;AHq+ElB;;AKj+EE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxB8+E7H;;AwBl+EE;EAEE,crBHc;EmBVd,yBEDoF;EAgBpF,qBAhByH;EAqBvH,iDAAiF;AxBg+EvF;;AwB39EE;EAEE,crBjBc;EqBkBd,yBrB1Bc;EqB2Bd,qBrB3Bc;AHw/ElB;;AwBt9EE;;EAGE,crB7Bc;EqB8Bd,yBAzCuK;EA6CvK,qBA7C+M;AxBkgFnN;;AwBn9EI;;EAKI,iDAAiF;AxBm9EzF;;AuB38EE;EC3DA,WrBCa;EmBDX,yBnBSc;EqBPhB,qBrBOgB;AHmgFlB;;AKtgFE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBmhF7H;;AwBvgFE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,8CAAiF;AxBqgFvF;;AwBhgFE;EAEE,WrB1BW;EqB2BX,yBrBnBc;EqBoBd,qBrBpBc;AHshFlB;;AwB3/EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBuiFnN;;AwBx/EI;;EAKI,8CAAiF;AxBw/EzF;;AuB1+EE;ECPA,crB7Be;EqB8Bf,qBrB9Be;AHmhFjB;;AK1iFE;EmBwDE,WrB7DW;EqB8DX,yBrBlCa;EqBmCb,qBrBnCa;AHyhFjB;;AwBn/EE;EAEE,+CrBxCa;AH6hFjB;;AwBl/EE;EAEE,crB7Ca;EqB8Cb,6BAA6B;AxBo/EjC;;AwBj/EE;;EAGE,WrBhFW;EqBiFX,yBrBrDa;EqBsDb,qBrBtDa;AHyiFjB;;AwBj/EI;;EAKI,+CrB7DS;AH8iFjB;;AuB1gFE;ECPA,crBnDgB;EqBoDhB,qBrBpDgB;AHykFlB;;AK1kFE;EmBwDE,WrB7DW;EqB8DX,yBrBxDc;EqByDd,qBrBzDc;AH+kFlB;;AwBnhFE;EAEE,iDrB9Dc;AHmlFlB;;AwBlhFE;EAEE,crBnEc;EqBoEd,6BAA6B;AxBohFjC;;AwBjhFE;;EAGE,WrBhFW;EqBiFX,yBrB3Ec;EqB4Ed,qBrB5Ec;AH+lFlB;;AwBjhFI;;EAKI,iDrBnFU;AHomFlB;;AuB1iFE;ECPA,crBtBe;EqBuBf,qBrBvBe;AH4kFjB;;AK1mFE;EmBwDE,WrB7DW;EqB8DX,yBrB3Ba;EqB4Bb,qBrB5Ba;AHklFjB;;AwBnjFE;EAEE,+CrBjCa;AHslFjB;;AwBljFE;EAEE,crBtCa;EqBuCb,6BAA6B;AxBojFjC;;AwBjjFE;;EAGE,WrBhFW;EqBiFX,yBrB9Ca;EqB+Cb,qBrB/Ca;AHkmFjB;;AwBjjFI;;EAKI,+CrBtDS;AHumFjB;;AuB1kFE;ECPA,crBpBe;EqBqBf,qBrBrBe;AH0mFjB;;AK1oFE;EmBwDE,WrB7DW;EqB8DX,yBrBzBa;EqB0Bb,qBrB1Ba;AHgnFjB;;AwBnlFE;EAEE,gDrB/Ba;AHonFjB;;AwBllFE;EAEE,crBpCa;EqBqCb,6BAA6B;AxBolFjC;;AwBjlFE;;EAGE,WrBhFW;EqBiFX,yBrB5Ca;EqB6Cb,qBrB7Ca;AHgoFjB;;AwBjlFI;;EAKI,gDrBpDS;AHqoFjB;;AuB1mFE;ECPA,crBvBe;EqBwBf,qBrBxBe;AH6oFjB;;AK1qFE;EmBwDE,crBpDc;EqBqDd,yBrB5Ba;EqB6Bb,qBrB7Ba;AHmpFjB;;AwBnnFE;EAEE,+CrBlCa;AHupFjB;;AwBlnFE;EAEE,crBvCa;EqBwCb,6BAA6B;AxBonFjC;;AwBjnFE;;EAGE,crBvEc;EqBwEd,yBrB/Ca;EqBgDb,qBrBhDa;AHmqFjB;;AwBjnFI;;EAKI,+CrBvDS;AHwqFjB;;AuB1oFE;ECPA,crBzBe;EqB0Bf,qBrB1Be;AH+qFjB;;AK1sFE;EmBwDE,WrB7DW;EqB8DX,yBrB9Ba;EqB+Bb,qBrB/Ba;AHqrFjB;;AwBnpFE;EAEE,+CrBpCa;AHyrFjB;;AwBlpFE;EAEE,crBzCa;EqB0Cb,6BAA6B;AxBopFjC;;AwBjpFE;;EAGE,WrBhFW;EqBiFX,yBrBjDa;EqBkDb,qBrBlDa;AHqsFjB;;AwBjpFI;;EAKI,+CrBzDS;AH0sFjB;;AuB1qFE;ECPA,crBxDgB;EqByDhB,qBrBzDgB;AH8uFlB;;AK1uFE;EmBwDE,crBpDc;EqBqDd,yBrB7Dc;EqB8Dd,qBrB9Dc;AHovFlB;;AwBnrFE;EAEE,iDrBnEc;AHwvFlB;;AwBlrFE;EAEE,crBxEc;EqByEd,6BAA6B;AxBorFjC;;AwBjrFE;;EAGE,crBvEc;EqBwEd,yBrBhFc;EqBiFd,qBrBjFc;AHowFlB;;AwBjrFI;;EAKI,iDrBxFU;AHywFlB;;AuB1sFE;ECPA,crBjDgB;EqBkDhB,qBrBlDgB;AHuwFlB;;AK1wFE;EmBwDE,WrB7DW;EqB8DX,yBrBtDc;EqBuDd,qBrBvDc;AH6wFlB;;AwBntFE;EAEE,8CrB5Dc;AHixFlB;;AwBltFE;EAEE,crBjEc;EqBkEd,6BAA6B;AxBotFjC;;AwBjtFE;;EAGE,WrBhFW;EqBiFX,yBrBzEc;EqB0Ed,qBrB1Ec;AH6xFlB;;AwBjtFI;;EAKI,8CrBjFU;AHkyFlB;;AuB/tFA;EACE,gBpB4M+B;EoB3M/B,cpBjDe;EoBkDf,qBpB2F4C;AHuoF9C;;AK3yFE;EkB4EE,cpByF8D;EoBxF9D,0BpByF+C;AH0oFnD;;AuB1uFA;EAYI,0BpBoF+C;AH8oFnD;;AuB9uFA;EAiBI,cpBtFc;EoBuFd,oBAAoB;AvBiuFxB;;AuBttFA;ECPE,oBrB0SgC;ECnR5B,kBAtCY;EoBiBhB,gBrB+H+B;EOvN7B,qBP8N+B;AH4lFnC;;AuBztFA;ECXE,uBrBqSiC;EC9Q7B,mBAtCY;EoBiBhB,gBrBgI+B;EOxN7B,qBP+N+B;AHkmFnC;;AuBvtFA;EACE,cAAc;EACd,WAAW;AvB0tFb;;AuB5tFA;EAMI,kBpBuT+B;AHm6EnC;;AuBrtFA;;;EAII,WAAW;AvButFf;;AyBl2FA;ELgBM,gCjBiP2C;AHqmFjD;;AoBl1FM;EKpBN;ILqBQ,gBAAgB;EpBs1FtB;AACF;;AyB52FA;EAII,UAAU;AzB42Fd;;AyBx2FA;EAEI,aAAa;AzB02FjB;;AyBt2FA;EACE,kBAAkB;EAClB,SAAS;EACT,gBAAgB;ELDZ,6BjBkPwC;AHynF9C;;AoBv2FM;EKNN;ILOQ,gBAAgB;EpB22FtB;AACF;;A0Bh4FA;;;;EAIE,kBAAkB;A1Bm4FpB;;A0Bh4FA;EACE,mBAAmB;A1Bm4FrB;;A2B/2FI;EACE,qBAAqB;EACrB,oBxB+N0C;EwB9N1C,uBxB6N0C;EwB5N1C,WAAW;EAhCf,uBAA8B;EAC9B,qCAA4C;EAC5C,gBAAgB;EAChB,oCAA2C;A3Bm5F7C;;A2B91FI;EACE,cAAc;A3Bi2FpB;;A0B34FA;EACE,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,avBwpBsC;EuBvpBtC,aAAa;EACb,WAAW;EACX,gBvB8tBuC;EuB7tBvC,iBvB8tBmC;EuB7tBnC,oBAA4B;EtBsGxB,eAtCY;EsB9DhB,cvBXgB;EuBYhB,gBAAgB;EAChB,gBAAgB;EAChB,sBvBvBa;EuBwBb,4BAA4B;EAC5B,qCvBfa;EOCX,sBP6NgC;AHgsFpC;;A0Bt4FI;EACE,WAAW;EACX,OAAO;A1By4Fb;;A0Bt4FI;EACE,QAAQ;EACR,UAAU;A1By4FhB;;Ac73FI;EYnBA;IACE,WAAW;IACX,OAAO;E1Bo5FX;E0Bj5FE;IACE,QAAQ;IACR,UAAU;E1Bm5Fd;AACF;;Acx4FI;EYnBA;IACE,WAAW;IACX,OAAO;E1B+5FX;E0B55FE;IACE,QAAQ;IACR,UAAU;E1B85Fd;AACF;;Acn5FI;EYnBA;IACE,WAAW;IACX,OAAO;E1B06FX;E0Bv6FE;IACE,QAAQ;IACR,UAAU;E1By6Fd;AACF;;Ac95FI;EYnBA;IACE,WAAW;IACX,OAAO;E1Bq7FX;E0Bl7FE;IACE,QAAQ;IACR,UAAU;E1Bo7Fd;AACF;;A0B96FA;EAEI,SAAS;EACT,YAAY;EACZ,aAAa;EACb,uBvB4rBuC;AHovE3C;;A2B/8FI;EACE,qBAAqB;EACrB,oBxB+N0C;EwB9N1C,uBxB6N0C;EwB5N1C,WAAW;EAzBf,aAAa;EACb,qCAA4C;EAC5C,0BAAiC;EACjC,oCAA2C;A3B4+F7C;;A2B97FI;EACE,cAAc;A3Bi8FpB;;A0Bv7FA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,qBvB8qBuC;AH2wE3C;;A2Bt+FI;EACE,qBAAqB;EACrB,oBxB+N0C;EwB9N1C,uBxB6N0C;EwB5N1C,WAAW;EAlBf,mCAA0C;EAC1C,eAAe;EACf,sCAA6C;EAC7C,wBAA+B;A3B4/FjC;;A2Br9FI;EACE,cAAc;A3Bw9FpB;;A2Br/FI;EDmDE,iBAAiB;A1Bs8FvB;;A0Bj8FA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,sBvB6pBuC;AHsyE3C;;A2BjgGI;EACE,qBAAqB;EACrB,oBxB+N0C;EwB9N1C,uBxB6N0C;EwB5N1C,WAAW;A3BogGjB;;A2BxgGI;EAgBI,aAAa;A3B4/FrB;;A2Bz/FM;EACE,qBAAqB;EACrB,qBxB4MwC;EwB3MxC,uBxB0MwC;EwBzMxC,WAAW;EA9BjB,mCAA0C;EAC1C,yBAAgC;EAChC,sCAA6C;A3B2hG/C;;A2B1/FI;EACE,cAAc;A3B6/FpB;;A2BvgGM;EDiDA,iBAAiB;A1B09FvB;;A0Bn9FA;EAKI,WAAW;EACX,YAAY;A1Bk9FhB;;A0B78FA;EE9GE,SAAS;EACT,gBAAmB;EACnB,gBAAgB;EAChB,6BzBCgB;AH8jGlB;;A0B78FA;EACE,cAAc;EACd,WAAW;EACX,uBvBipBwC;EuBhpBxC,WAAW;EACX,gBvBgK+B;EuB/J/B,cvBhHgB;EuBiHhB,mBAAmB;EAEnB,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;A1B+8FX;;AKpkGE;EqBoIE,cvBinBqD;EuBhnBrD,qBAAqB;EJ/IrB,yBnBEc;AHklGlB;;A0Bh+FA;EAiCI,WvBpJW;EuBqJX,qBAAqB;EJtJrB,yBnB6Ba;AH6jGjB;;A0Bt+FA;EAwCI,cvBrJc;EuBsJd,oBAAoB;EACpB,6BAA6B;A1Bk8FjC;;A0B17FA;EACE,cAAc;A1B67FhB;;A0Bz7FA;EACE,cAAc;EACd,sBvB2lBwC;EuB1lBxC,gBAAgB;EtBrDZ,mBAtCY;EsB6FhB,cvBzKgB;EuB0KhB,mBAAmB;A1B47FrB;;A0Bx7FA;EACE,cAAc;EACd,uBvBilBwC;EuBhlBxC,cvB9KgB;AHymGlB;;A6BtnGA;;EAEE,kBAAkB;EAClB,2BAAoB;EAApB,oBAAoB;EACpB,sBAAsB;A7BynGxB;;A6B7nGA;;EAOI,kBAAkB;EAClB,kBAAc;EAAd,cAAc;A7B2nGlB;;AK1nGE;;EwBII,UAAU;A7B2nGhB;;A6BxoGA;;;;EAkBM,UAAU;A7B6nGhB;;A6BvnGA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,oBAA2B;EAA3B,2BAA2B;A7B0nG7B;;A6B7nGA;EAMI,WAAW;A7B2nGf;;A6BvnGA;;EAII,iB1BmM6B;AHq7FjC;;A6B5nGA;;EnBHI,0BmBa8B;EnBZ9B,6BmBY8B;A7BwnGlC;;A6BloGA;;EnBWI,yBmBI6B;EnBH7B,4BmBG6B;A7BynGjC;;A6BzmGA;EACE,wBAAmC;EACnC,uBAAkC;A7B4mGpC;;A6B9mGA;;;EAOI,cAAc;A7B6mGlB;;A6B1mGE;EACE,eAAe;A7B6mGnB;;A6BzmGA;EACE,uBAAsC;EACtC,sBAAqC;A7B4mGvC;;A6BzmGA;EACE,sBAAsC;EACtC,qBAAqC;A7B4mGvC;;A6BxlGA;EACE,0BAAsB;EAAtB,sBAAsB;EACtB,qBAAuB;EAAvB,uBAAuB;EACvB,qBAAuB;EAAvB,uBAAuB;A7B2lGzB;;A6B9lGA;;EAOI,WAAW;A7B4lGf;;A6BnmGA;;EAYI,gB1BkH6B;AH0+FjC;;A6BxmGA;;EnBrEI,6BmBuF+B;EnBtF/B,4BmBsF+B;A7B4lGnC;;A6B9mGA;;EnBnFI,yBmB0G4B;EnBzG5B,0BmByG4B;A7B6lGhC;;A6B5kGA;;EAGI,gBAAgB;A7B8kGpB;;A6BjlGA;;;;EAOM,kBAAkB;EAClB,sBAAsB;EACtB,oBAAoB;A7BilG1B;;A8B1uGA;EACE,kBAAkB;EAClB,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,uBAAoB;EAApB,oBAAoB;EACpB,WAAW;A9B6uGb;;A8BlvGA;;;;EAWI,kBAAkB;EAClB,kBAAc;EAAd,cAAc;EACd,SAAS;EACT,YAAY;EACZ,gBAAgB;A9B8uGpB;;A8B7vGA;;;;;;;;;;;;EAoBM,iB3BkN2B;AHsiGjC;;A8B5wGA;;;EA4BI,UAAU;A9BsvGd;;A8BlxGA;EAiCI,UAAU;A9BqvGd;;A8BtxGA;;EpB4BI,0BoBUmD;EpBTnD,6BoBSmD;A9BsvGvD;;A8B5xGA;;EpB0CI,yBoBHmD;EpBInD,4BoBJmD;A9B2vGvD;;A8BlyGA;EA6CI,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;A9ByvGvB;;A8BvyGA;;EpB4BI,0BoBqB6E;EpBpB7E,6BoBoB6E;A9B4vGjF;;A8B7yGA;EpB0CI,yBoBQsE;EpBPtE,4BoBOsE;A9BgwG1E;;A8BrvGA;;EAEE,oBAAa;EAAb,aAAa;A9BwvGf;;A8B1vGA;;EAQI,kBAAkB;EAClB,UAAU;A9BuvGd;;A8BhwGA;;EAYM,UAAU;A9ByvGhB;;A8BrwGA;;;;;;;;EAoBI,iB3BqJ6B;AHumGjC;;A8BxvGA;EAAuB,kB3BiJU;AH2mGjC;;A8B3vGA;EAAsB,iB3BgJW;AH+mGjC;;A8BvvGA;EACE,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,yB3B4RkC;E2B3RlC,gBAAgB;E1BuBZ,eAtCY;E0BiBhB,gB3BqL+B;E2BpL/B,gB3ByL+B;E2BxL/B,c3B9FgB;E2B+FhB,kBAAkB;EAClB,mBAAmB;EACnB,yB3BtGgB;E2BuGhB,yB3BrGgB;EOOd,sBP6NgC;AH4nGpC;;A8BvwGA;;EAkBI,aAAa;A9B0vGjB;;A8BhvGA;;EAEE,gCZR8D;AlB2vGhE;;A8BhvGA;;;;;;EAME,oB3BuQgC;ECnR5B,kBAtCY;E0BoDhB,gB3B4F+B;EOvN7B,qBP8N+B;AHipGnC;;A8BhvGA;;EAEE,kCZzB8D;AlB4wGhE;;A8BhvGA;;;;;;EAME,uB3BiPiC;EC9Q7B,mBAtCY;E0BqEhB,gB3B4E+B;EOxN7B,qBP+N+B;AHiqGnC;;A8BhvGA;;EAEE,sBAA0E;A9BmvG5E;;A8BxuGA;;;;;;EpB7II,0BoBmJ4B;EpBlJ5B,6BoBkJ4B;A9B4uGhC;;A8BzuGA;;;;;;EpBxII,yBoB8I2B;EpB7I3B,4BoB6I2B;A9B6uG/B;;A+Bl6GA;EACE,kBAAkB;EAClB,UAAU;EACV,cAAc;EACd,kBAA+C;EAC/C,oBAAqE;EACrE,iCAAmB;EAAnB,mBAAmB;A/Bq6GrB;;A+Bl6GA;EACE,2BAAoB;EAApB,oBAAoB;EACpB,kB5Bwf0C;AH66F5C;;A+Bl6GA;EACE,kBAAkB;EAClB,OAAO;EACP,WAAW;EACX,W5Bof0C;E4Bnf1C,eAAkF;EAClF,UAAU;A/Bq6GZ;;A+B36GA;EASI,W5BzBW;E4B0BX,qB5BEa;EmB7Bb,yBnB6Ba;AHq6GjB;;A+Bj7GA;EAoBM,gD5BRW;AHy6GjB;;A+Br7GA;EAyBI,qB5BqbsE;AH2+F1E;;A+Bz7GA;EA6BI,W5B7CW;E4B8CX,yB5Bif8E;E4Bhf9E,qB5Bgf8E;AHg7FlF;;A+B/7GA;EAuCM,c5BjDY;AH68GlB;;A+Bn8GA;EA0CQ,yB5BxDU;AHq9GlB;;A+Bn5GA;EACE,kBAAkB;EAClB,gBAAgB;EAEhB,mBAAmB;A/Bq5GrB;;A+Bz5GA;EASI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5BubwC;E4BtbxC,Y5BsbwC;E4BrbxC,oBAAoB;EACpB,WAAW;EACX,sB5BrFW;E4BsFX,yB5B+I6B;AHqwGjC;;A+Bt6GA;EAwBI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5BwawC;E4BvaxC,Y5BuawC;E4BtaxC,WAAW;EACX,mCAAgE;A/Bk5GpE;;A+Bz4GA;ErBjGI,sBP6NgC;AHixGpC;;A+B74GA;EAOM,kOb7D4E;AlBu8GlF;;A+Bj5GA;EAaM,qB5B7FW;EmB7Bb,yBnB6Ba;AHs+GjB;;A+Bt5GA;EAkBM,+KbxE4E;AlBg9GlF;;A+B15GA;ET7GI,wCnB6Ba;AH8+GjB;;A+B95GA;ET7GI,wCnB6Ba;AHk/GjB;;A+B93GA;EAGI,kB5ByZ+C;AHs+FnD;;A+Bl4GA;EAQM,8KblG4E;AlBg+GlF;;A+Bt4GA;ETjJI,wCnB6Ba;AH8/GjB;;A+Bl3GA;EACE,qBAA2D;A/Bq3G7D;;A+Bt3GA;EAKM,cAAqD;EACrD,c5BiY+E;E4BhY/E,mBAAmB;EAEnB,qB5B+X4E;AHq/FlF;;A+B73GA;EAaM,wBblE0D;EamE1D,0BbnE0D;EaoE1D,uBbhD0D;EaiD1D,wBbjD0D;EakD1D,yB5BpLY;E4BsLZ,qB5BqX4E;EiBviB5E,iJjByf+H;EiBzf/H,yIjByf+H;EiBzf/H,8KjByf+H;AH6iGrI;;AoBliHM;EW2JN;IX1JQ,gBAAgB;EpBsiHtB;AACF;;A+B74GA;EA0BM,sB5BlMS;E4BmMT,sCAA4E;EAA5E,8BAA4E;A/Bu3GlF;;A+Bl5GA;ETzKI,wCnB6Ba;AHkiHjB;;A+Bz2GA;EACE,qBAAqB;EACrB,WAAW;EACX,mCbrG8D;EasG9D,0C5BmKkC;ECpQ9B,eAtCY;E2B0IhB,gB5B4D+B;E4B3D/B,gB5BgE+B;E4B/D/B,c5BvNgB;E4BwNhB,sBAAsB;EACtB,uO5BkW+I;E4BjW/I,yB5B7NgB;EOOd,sBP6NgC;E4BJlC,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/B02GlB;;A+Bz3GA;EAkBI,qB5BuPsE;E4BtPtE,UAAU;EAKR,gD5BjNW;AHwjHjB;;A+B/3GA;EAiCM,c5B/OY;E4BgPZ,sB5BvPS;AHylHf;;A+Bp4GA;EAwCI,YAAY;EACZ,sB5B8HgC;E4B7HhC,sBAAsB;A/Bg2G1B;;A+B14GA;EA8CI,c5B7Pc;E4B8Pd,yB5BlQc;AHkmHlB;;A+B/4GA;EAoDI,aAAa;A/B+1GjB;;A+Bn5GA;EAyDI,kBAAkB;EAClB,0B5BxQc;AHsmHlB;;A+B11GA;EACE,kCbjK8D;EakK9D,oB5BgHkC;E4B/GlC,uB5B+GkC;E4B9GlC,oB5B+GiC;EC9Q7B,mBAtCY;AJmiHlB;;A+B11GA;EACE,gCbzK8D;Ea0K9D,mB5B6GiC;E4B5GjC,sB5B4GiC;E4B3GjC,kB5B4GgC;ECnR5B,kBAtCY;AJ2iHlB;;A+Br1GA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,mCbzL8D;Ea0L9D,gBAAgB;A/Bw1GlB;;A+Br1GA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,mCbjM8D;EakM9D,SAAS;EACT,UAAU;A/Bw1GZ;;A+B91GA;EASI,qB5BqKsE;E4BpKtE,gD5B9Ra;AHunHjB;;A+Bn2GA;;EAgBI,yB5B9Tc;AHspHlB;;A+Bx2GA;EAqBM,iB5B4TQ;AH2hGd;;A+B52GA;EA0BI,0BAA0B;A/Bs1G9B;;A+Bl1GA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,mCbjO8D;EakO9D,yB5BuCkC;E4BrClC,gB5B/D+B;E4BgE/B,gB5B3D+B;E4B4D/B,c5BlVgB;E4BmVhB,sB5B1Va;E4B2Vb,yB5BvVgB;EOOd,sBP6NgC;AHw8GpC;;A+Bl2GA;EAkBI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,UAAU;EACV,cAAc;EACd,6BbnP4D;EaoP5D,yB5BqBgC;E4BpBhC,gB5B3E6B;E4B4E7B,c5BlWc;E4BmWd,iBAAiB;ET3WjB,yBnBGc;E4B0Wd,oBAAoB;ErBjWpB,kCqBkWgF;A/Bo1GpF;;A+B10GA;EACE,WAAW;EACX,cbzQ2B;Ea0Q3B,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/B60GlB;;A+Bl1GA;EAQI,aAAa;A/B80GjB;;A+Bt1GA;EAY8B,gE5BvWb;AHqrHjB;;A+B11GA;EAa8B,gE5BxWb;AHyrHjB;;A+B91GA;EAc8B,gE5BzWb;AH6rHjB;;A+Bl2GA;EAkBI,SAAS;A/Bo1Gb;;A+Bt2GA;EAsBI,W5BqN6C;E4BpN7C,Y5BoN6C;E4BnN7C,oBAAyE;EThZzE,yBnB6Ba;E4BqXb,S5BoN0C;EO1lB1C,mBP2lB6C;EiB7lB3C,oHjByf+H;EiBzf/H,4GjByf+H;E4B7GjI,wBAAgB;EAAhB,gBAAgB;A/Bm1GpB;;AoB3tHM;EW0WN;IXzWQ,wBAAgB;IAAhB,gBAAgB;EpB+tHtB;AACF;;A+Bv3GA;ETxXI,yBnB2mB2E;AHwoG/E;;A+B33GA;EAsCI,W5B8LoC;E4B7LpC,c5B8LqC;E4B7LrC,kBAAkB;EAClB,e5B6LuC;E4B5LvC,yB5B9Zc;E4B+Zd,yBAAyB;ErBvZzB,mBPolBoC;AH6pGxC;;A+Br4GA;EAiDI,W5B0L6C;E4BzL7C,Y5ByL6C;EmBnmB7C,yBnB6Ba;E4B+Yb,S5B0L0C;EO1lB1C,mBP2lB6C;EiB7lB3C,iHjByf+H;EiBzf/H,4GjByf+H;E4BnFjI,qBAAgB;EAAhB,gBAAgB;A/Bu1GpB;;AoBzvHM;EW0WN;IXzWQ,qBAAgB;IAAhB,gBAAgB;EpB6vHtB;AACF;;A+Br5GA;ETxXI,yBnB2mB2E;AHsqG/E;;A+Bz5GA;EAgEI,W5BoKoC;E4BnKpC,c5BoKqC;E4BnKrC,kBAAkB;EAClB,e5BmKuC;E4BlKvC,yB5Bxbc;E4Bybd,yBAAyB;ErBjbzB,mBPolBoC;AH2rGxC;;A+Bn6GA;EA2EI,W5BgK6C;E4B/J7C,Y5B+J6C;E4B9J7C,aAAa;EACb,oB5BpE+B;E4BqE/B,mB5BrE+B;EmBlY/B,yBnB6Ba;E4B4ab,S5B6J0C;EO1lB1C,mBP2lB6C;EiB7lB3C,gHjByf+H;EiBzf/H,4GjByf+H;E4BtDjI,gBAAgB;A/B21GpB;;AoB1xHM;EW0WN;IXzWQ,oBAAgB;IAAhB,gBAAgB;EpB8xHtB;AACF;;A+Bt7GA;ETxXI,yBnB2mB2E;AHusG/E;;A+B17GA;EA6FI,W5BuIoC;E4BtIpC,c5BuIqC;E4BtIrC,kBAAkB;EAClB,e5BsIuC;E4BrIvC,6BAA6B;EAC7B,yBAAyB;EACzB,oBAA4C;A/Bi2GhD;;A+Bp8GA;EAwGI,yB5B5dc;EOQd,mBPolBoC;AHiuGxC;;A+Bz8GA;EA6GI,kBAAkB;EAClB,yB5Blec;EOQd,mBPolBoC;AHuuGxC;;A+B/8GA;EAoHM,yB5BteY;AHq0HlB;;A+Bn9GA;EAwHM,eAAe;A/B+1GrB;;A+Bv9GA;EA4HM,yB5B9eY;AH60HlB;;A+B39GA;EAgIM,eAAe;A/B+1GrB;;A+B/9GA;EAoIM,yB5BtfY;AHq1HlB;;A+B11GA;;;EXvfM,4GjByf+H;AH81GrI;;AoBn1HM;EWmfN;;;IXlfQ,gBAAgB;EpBy1HtB;AACF;;AgC12HA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AhC62HlB;;AgC12HA;EACE,cAAc;EACd,oB7ByqBsC;AHosGxC;;AK52HE;E2BGE,qBAAqB;AhC62HzB;;AgCn3HA;EAWI,c7BXc;E6BYd,oBAAoB;EACpB,eAAe;AhC42HnB;;AgCp2HA;EACE,gC7BzBgB;AHg4HlB;;AgCx2HA;EAII,mB7BsM6B;AHkqHjC;;AgC52HA;EAQI,6BAAgD;EtBfhD,+BPoNgC;EOnNhC,gCPmNgC;AHqqHpC;;AKp4HE;E2B8BI,qC7BpCY;AH84HlB;;AgCt3HA;EAgBM,c7BrCY;E6BsCZ,6BAA6B;EAC7B,yBAAyB;AhC02H/B;;AgC53HA;;EAwBI,c7B5Cc;E6B6Cd,sB7BpDW;E6BqDX,kC7BrDW;AH85Hf;;AgCn4HA;EA+BI,gB7B2K6B;EOjN7B,yBsBwC4B;EtBvC5B,0BsBuC4B;AhCw2HhC;;AgC/1HA;EtB1DI,sBP6NgC;AHgsHpC;;AgCn2HA;;EAOI,W7B5EW;E6B6EX,yB7BjDa;AHk5HjB;;AgCx1HA;;EAGI,kBAAc;EAAd,cAAc;EACd,kBAAkB;AhC01HtB;;AgCt1HA;;EAGI,0BAAa;EAAb,aAAa;EACb,oBAAY;EAAZ,YAAY;EACZ,kBAAkB;AhCw1HtB;;AgC/0HA;EAEI,aAAa;AhCi1HjB;;AgCn1HA;EAKI,cAAc;AhCk1HlB;;AiCz7HA;EACE,kBAAkB;EAClB,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,sBAAmB;EAAnB,mBAAmB;EACnB,sBAA8B;EAA9B,8BAA8B;EAC9B,oB9BgHW;AH40Hb;;AiCl8HA;;EAWI,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,sBAAmB;EAAnB,mBAAmB;EACnB,sBAA8B;EAA9B,8BAA8B;AjC47HlC;;AiCx6HA;EACE,qBAAqB;EACrB,sB9BiqB+E;E8BhqB/E,yB9BgqB+E;E8B/pB/E,kB9BgFW;ECRP,kBAtCY;E6BhChB,oBAAoB;EACpB,mBAAmB;AjC26HrB;;AKr9HE;E4B6CE,qBAAqB;AjC46HzB;;AiCn6HA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AjCs6HlB;;AiC36HA;EAQI,gBAAgB;EAChB,eAAe;AjCu6HnB;;AiCh7HA;EAaI,gBAAgB;EAChB,WAAW;AjCu6Hf;;AiC95HA;EACE,qBAAqB;EACrB,mB9BwlBuC;E8BvlBvC,sB9BulBuC;AH00GzC;;AiCr5HA;EACE,6BAAgB;EAAhB,gBAAgB;EAChB,oBAAY;EAAZ,YAAY;EAGZ,sBAAmB;EAAnB,mBAAmB;AjCs5HrB;;AiCl5HA;EACE,wB9BmmBwC;EC1lBpC,kBAtCY;E6B+BhB,cAAc;EACd,6BAA6B;EAC7B,6BAAuC;EvBxGrC,sBP6NgC;AHiyHpC;;AKhgIE;E4B8GE,qBAAqB;AjCs5HzB;;AiCh5HA;EACE,qBAAqB;EACrB,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,WAAW;EACX,mCAAmC;EACnC,0BAA0B;AjCm5H5B;;Acr9HI;EmB4EC;;IAGK,gBAAgB;IAChB,eAAe;EjC44HvB;AACF;;Ac1+HI;EmByFA;IAoBI,yBAAqB;IAArB,qBAAqB;IACrB,oBAA2B;IAA3B,2BAA2B;EjCk4HjC;EiCv5HG;IAwBK,uBAAmB;IAAnB,mBAAmB;EjCk4H3B;EiC15HG;IA2BO,kBAAkB;EjCk4H5B;EiC75HG;IA+BO,qB9B4hB6B;I8B3hB7B,oB9B2hB6B;EHs2GvC;EiCj6HG;;IAsCK,qBAAiB;IAAjB,iBAAiB;EjC+3HzB;EiCr6HG;IAqDK,+BAAwB;IAAxB,wBAAwB;IAGxB,6BAAgB;IAAhB,gBAAgB;EjCi3HxB;EiCz6HG;IA4DK,aAAa;EjCg3HrB;AACF;;Acz/HI;EmB4EC;;IAGK,gBAAgB;IAChB,eAAe;EjCg7HvB;AACF;;Ac9gII;EmByFA;IAoBI,yBAAqB;IAArB,qBAAqB;IACrB,oBAA2B;IAA3B,2BAA2B;EjCs6HjC;EiC37HG;IAwBK,uBAAmB;IAAnB,mBAAmB;EjCs6H3B;EiC97HG;IA2BO,kBAAkB;EjCs6H5B;EiCj8HG;IA+BO,qB9B4hB6B;I8B3hB7B,oB9B2hB6B;EH04GvC;EiCr8HG;;IAsCK,qBAAiB;IAAjB,iBAAiB;EjCm6HzB;EiCz8HG;IAqDK,+BAAwB;IAAxB,wBAAwB;IAGxB,6BAAgB;IAAhB,gBAAgB;EjCq5HxB;EiC78HG;IA4DK,aAAa;EjCo5HrB;AACF;;Ac7hII;EmB4EC;;IAGK,gBAAgB;IAChB,eAAe;EjCo9HvB;AACF;;AcljII;EmByFA;IAoBI,yBAAqB;IAArB,qBAAqB;IACrB,oBAA2B;IAA3B,2BAA2B;EjC08HjC;EiC/9HG;IAwBK,uBAAmB;IAAnB,mBAAmB;EjC08H3B;EiCl+HG;IA2BO,kBAAkB;EjC08H5B;EiCr+HG;IA+BO,qB9B4hB6B;I8B3hB7B,oB9B2hB6B;EH86GvC;EiCz+HG;;IAsCK,qBAAiB;IAAjB,iBAAiB;EjCu8HzB;EiC7+HG;IAqDK,+BAAwB;IAAxB,wBAAwB;IAGxB,6BAAgB;IAAhB,gBAAgB;EjCy7HxB;EiCj/HG;IA4DK,aAAa;EjCw7HrB;AACF;;AcjkII;EmB4EC;;IAGK,gBAAgB;IAChB,eAAe;EjCw/HvB;AACF;;ActlII;EmByFA;IAoBI,yBAAqB;IAArB,qBAAqB;IACrB,oBAA2B;IAA3B,2BAA2B;EjC8+HjC;EiCngIG;IAwBK,uBAAmB;IAAnB,mBAAmB;EjC8+H3B;EiCtgIG;IA2BO,kBAAkB;EjC8+H5B;EiCzgIG;IA+BO,qB9B4hB6B;I8B3hB7B,oB9B2hB6B;EHk9GvC;EiC7gIG;;IAsCK,qBAAiB;IAAjB,iBAAiB;EjC2+HzB;EiCjhIG;IAqDK,+BAAwB;IAAxB,wBAAwB;IAGxB,6BAAgB;IAAhB,gBAAgB;EjC69HxB;EiCrhIG;IA4DK,aAAa;EjC49HrB;AACF;;AiC9hIA;EAyBQ,yBAAqB;EAArB,qBAAqB;EACrB,oBAA2B;EAA3B,2BAA2B;AjCygInC;;AiCniIA;;EAQU,gBAAgB;EAChB,eAAe;AjCgiIzB;;AiCziIA;EA6BU,uBAAmB;EAAnB,mBAAmB;AjCghI7B;;AiC7iIA;EAgCY,kBAAkB;AjCihI9B;;AiCjjIA;EAoCY,qB9B4hB6B;E8B3hB7B,oB9B2hB6B;AHs/GzC;;AiCtjIA;;EA2CU,qBAAiB;EAAjB,iBAAiB;AjCghI3B;;AiC3jIA;EA0DU,+BAAwB;EAAxB,wBAAwB;EAGxB,6BAAgB;EAAhB,gBAAgB;AjCmgI1B;;AiChkIA;EAiEU,aAAa;AjCmgIvB;;AiCt/HA;EAEI,yB9B/MW;AHusIf;;AKxsIE;E4BmNI,yB9BlNS;AH2sIf;;AiC9/HA;EAWM,yB9BxNS;AH+sIf;;AKhtIE;E4B4NM,yB9B3NO;AHmtIf;;AiCtgIA;EAkBQ,yB9B/NO;AHutIf;;AiC1gIA;;;;EA0BM,yB9BvOS;AH8tIf;;AiCjhIA;EA+BI,yB9B5OW;E8B6OX,gC9B7OW;AHmuIf;;AiCthIA;EAoCI,mRfrM8E;AlB2rIlF;;AiC1hIA;EAwCI,yB9BrPW;AH2uIf;;AiC9hIA;EA0CM,yB9BvPS;AH+uIf;;AKhvIE;E4B2PM,yB9B1PO;AHmvIf;;AiCl/HA;EAEI,W9B7QW;AHiwIf;;AKxvIE;E4BuQI,W9BhRS;AHqwIf;;AiC1/HA;EAWM,+B9BtRS;AHywIf;;AKhwIE;E4BgRM,gC9BzRO;AH6wIf;;AiClgIA;EAkBQ,gC9B7RO;AHixIf;;AiCtgIA;;;;EA0BM,W9BrSS;AHwxIf;;AiC7gIA;EA+BI,+B9B1SW;E8B2SX,sC9B3SW;AH6xIf;;AiClhIA;EAoCI,yRfzP8E;AlB2uIlF;;AiCthIA;EAwCI,+B9BnTW;AHqyIf;;AiC1hIA;EA0CM,W9BrTS;AHyyIf;;AKhyIE;E4B+SM,W9BxTO;AH6yIf;;AkChzIA;EACE,kBAAkB;EAClB,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,YAAY;EAEZ,qBAAqB;EACrB,sB/BJa;E+BKb,2BAA2B;EAC3B,sC/BIa;EOCX,sBP6NgC;AHilIpC;;AkC5zIA;EAaI,eAAe;EACf,cAAc;AlCmzIlB;;AkCj0IA;EAkBI,mBAAmB;EACnB,sBAAsB;AlCmzI1B;;AkCt0IA;EAsBM,mBAAmB;ExBCrB,2CQmH4D;ERlH5D,4CQkH4D;AlBksIhE;;AkC50IA;EA2BM,sBAAsB;ExBUxB,+CQqG4D;ERpG5D,8CQoG4D;AlBwsIhE;;AkCl1IA;;EAoCI,aAAa;AlCmzIjB;;AkC/yIA;EAGE,kBAAc;EAAd,cAAc;EAGd,eAAe;EACf,gB/B0wByC;AHoiH3C;;AkC1yIA;EACE,sB/BowBwC;AHyiH1C;;AkC1yIA;EACE,qBAA+B;EAC/B,gBAAgB;AlC6yIlB;;AkC1yIA;EACE,gBAAgB;AlC6yIlB;;AKl2IE;E6B0DE,qBAAqB;AlC4yIzB;;AkC9yIA;EAMI,oB/BmvBuC;AHyjH3C;;AkCpyIA;EACE,wB/B0uByC;E+BzuBzC,gBAAgB;EAEhB,qC/BrEa;E+BsEb,6C/BtEa;AH42If;;AkC3yIA;ExBhEI,0DwBwE8E;AlCuyIlF;;AkCnyIA;EACE,wB/B8tByC;E+B5tBzC,qC/BhFa;E+BiFb,0C/BjFa;AHs3If;;AkCzyIA;ExB5EI,0DQ4H4D;AlB6vIhE;;AkC7xIA;EACE,uBAAiC;EACjC,uB/B4sBwC;E+B3sBxC,sBAAgC;EAChC,gBAAgB;AlCgyIlB;;AkC7xIA;EACE,uBAAiC;EACjC,sBAAgC;AlCgyIlC;;AkC5xIA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,gB/BusByC;EOtzBvC,kCQ4H4D;AlBmxIhE;;AkC5xIA;;;EAGE,oBAAc;EAAd,cAAc;EACd,WAAW;AlC+xIb;;AkC5xIA;;ExBjHI,2CQmH4D;ERlH5D,4CQkH4D;AlBgyIhE;;AkC7xIA;;ExBxGI,+CQqG4D;ERpG5D,8CQoG4D;AlBsyIhE;;AkC3xIA;EAEI,mB/B+qBsD;AH8mH1D;;Ac53II;EoB6FJ;IAMI,oBAAa;IAAb,aAAa;IACb,uBAAmB;IAAnB,mBAAmB;IACnB,mB/ByqBsD;I+BxqBtD,kB/BwqBsD;EHsnHxD;EkCvyIF;IAaM,gBAAY;IAAZ,YAAY;IACZ,kB/BmqBoD;I+BlqBpD,gBAAgB;IAChB,iB/BiqBoD;EH4nHxD;AACF;;AkCpxIA;EAII,mB/BmpBsD;AHioH1D;;Ac/4II;EoBuHJ;IAQI,oBAAa;IAAb,aAAa;IACb,uBAAmB;IAAnB,mBAAmB;ElCqxIrB;EkC9xIF;IAcM,gBAAY;IAAZ,YAAY;IACZ,gBAAgB;ElCmxIpB;EkClyIF;IAkBQ,cAAc;IACd,cAAc;ElCmxIpB;EkCtyIF;IxBjJI,0BwB0KoC;IxBzKpC,6BwByKoC;ElCixItC;EkC1yIF;;IA8BY,0BAA0B;ElCgxIpC;EkC9yIF;;IAmCY,6BAA6B;ElC+wIvC;EkClzIF;IxBnII,yBwB2KmC;IxB1KnC,4BwB0KmC;ElC8wIrC;EkCtzIF;;IA6CY,yBAAyB;ElC6wInC;EkC1zIF;;IAkDY,4BAA4B;ElC4wItC;AACF;;AkChwIA;EAEI,sB/BwkBsC;AH0rH1C;;Ac17II;EoBsLJ;IAMI,uB/BqlBiC;I+BrlBjC,oB/BqlBiC;I+BrlBjC,e/BqlBiC;I+BplBjC,2B/BqlBuC;I+BrlBvC,wB/BqlBuC;I+BrlBvC,mB/BqlBuC;I+BplBvC,UAAU;IACV,SAAS;ElCmwIX;EkC5wIF;IAYM,qBAAqB;IACrB,WAAW;ElCmwIf;AACF;;AkC1vIA;EACE,qBAAqB;AlC6vIvB;;AkC9vIA;EAII,gBAAgB;AlC8vIpB;;AkClwIA;EAOM,gBAAgB;ExBvOlB,6BwBwOiC;ExBvOjC,4BwBuOiC;AlCgwIrC;;AkCxwIA;ExB9OI,yBwB0P8B;ExBzP9B,0BwByP8B;AlCiwIlC;;AkC7wIA;ExBvPI,gBwBuQ0B;EACxB,mB/B9C2B;AH+yIjC;;AmC3hJA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,qBhC6hCsC;EgC5hCtC,mBhC+hCsC;EgC7hCtC,gBAAgB;EAChB,yBhCEgB;EOSd,sBP6NgC;AHszIpC;;AmC1hJA;EACE,oBAAa;EAAb,aAAa;AnC6hJf;;AmC9hJA;EAKI,oBhCihCqC;AH4gHzC;;AmCliJA;EAQM,qBAAqB;EACrB,qBhC6gCmC;EgC5gCnC,chCRY;EgCSZ,YhCkhCuC;AH4gH7C;;AmCziJA;EAsBI,0BAA0B;AnCuhJ9B;;AmC7iJA;EA0BI,qBAAqB;AnCuhJzB;;AmCjjJA;EA8BI,chC5Bc;AHmjJlB;;AoChkJA;EACE,oBAAa;EAAb,aAAa;E7BGb,eAAe;EACf,gBAAgB;EGad,sBP6NgC;AHw1IpC;;AoCjkJA;EACE,kBAAkB;EAClB,cAAc;EACd,uBjC8wBwC;EiC7wBxC,iBjCkO+B;EiCjO/B,iBjCixBsC;EiChxBtC,cjCuBe;EiCrBf,sBjCPa;EiCQb,yBjCLgB;AHwkJlB;;AoC5kJA;EAYI,UAAU;EACV,cjC8J8D;EiC7J9D,qBAAqB;EACrB,yBjCZc;EiCad,qBjCZc;AHglJlB;;AoCplJA;EAoBI,UAAU;EACV,UjCywBiC;EiCxwBjC,gDjCOa;AH6jJjB;;AoChkJA;EAGM,cAAc;E1BahB,+BP+LgC;EO9LhC,kCP8LgC;AHu3IpC;;AoCtkJA;E1BEI,gCP6MgC;EO5MhC,mCP4MgC;AH43IpC;;AoC3kJA;EAcI,UAAU;EACV,WjCxCW;EiCyCX,yBjCba;EiCcb,qBjCda;AH+kJjB;;AoCllJA;EAqBI,cjCxCc;EiCyCd,oBAAoB;EAEpB,YAAY;EACZ,sBjClDW;EiCmDX,qBjChDc;AHgnJlB;;AqCvnJE;EACE,uBlCuxBsC;EC5pBpC,kBAtCY;EiCnFd,gBlCmO6B;AHu5IjC;;AqCrnJM;E3BqCF,8BPgM+B;EO/L/B,iCP+L+B;AHq5InC;;AqCrnJM;E3BkBF,+BP8M+B;EO7M/B,kCP6M+B;AH05InC;;AqCvoJE;EACE,uBlCqxBqC;EC1pBnC,mBAtCY;EiCnFd,gBlCoO6B;AHs6IjC;;AqCroJM;E3BqCF,8BPiM+B;EOhM/B,iCPgM+B;AHo6InC;;AqCroJM;E3BkBF,+BP+M+B;EO9M/B,kCP8M+B;AHy6InC;;AsCrpJA;EACE,qBAAqB;EACrB,qBnCs5BsC;ECr1BpC,cAAW;EkC/Db,gBnCuR+B;EmCtR/B,cAAc;EACd,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;E5BKtB,sBP6NgC;EiB/N9B,qIjBgb6I;AHuuInJ;;AoBnpJM;EkBfN;IlBgBQ,gBAAgB;EpBupJtB;AACF;;AK7pJE;EiCGI,qBAAqB;AtC8pJ3B;;AsC5qJA;EAoBI,aAAa;AtC4pJjB;;AsCvpJA;EACE,kBAAkB;EAClB,SAAS;AtC0pJX;;AsCnpJA;EACE,oBnC23BsC;EmC13BtC,mBnC03BsC;EOj5BpC,oBPo5BqC;AH0xHzC;;AsC9oJE;ECjDA,WpCMa;EoCLb,yBpCiCe;AHkqJjB;;AKrrJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCmsJxC;;AuCtsJU;EAQJ,UAAU;EACV,+CpCsBW;AH4qJjB;;AsC7pJE;ECjDA,WpCMa;EoCLb,yBpCWgB;AHusJlB;;AKpsJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCktJxC;;AuCrtJU;EAQJ,UAAU;EACV,iDpCAY;AHitJlB;;AsC5qJE;ECjDA,WpCMa;EoCLb,yBpCwCe;AHyrJjB;;AKntJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCiuJxC;;AuCpuJU;EAQJ,UAAU;EACV,+CpC6BW;AHmsJjB;;AsC3rJE;ECjDA,WpCMa;EoCLb,yBpC0Ce;AHssJjB;;AKluJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCgvJxC;;AuCnvJU;EAQJ,UAAU;EACV,gDpC+BW;AHgtJjB;;AsC1sJE;ECjDA,cpCegB;EoCdhB,yBpCuCe;AHwtJjB;;AKjvJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvC+vJxC;;AuClwJU;EAQJ,UAAU;EACV,+CpC4BW;AHkuJjB;;AsCztJE;ECjDA,WpCMa;EoCLb,yBpCqCe;AHyuJjB;;AKhwJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC8wJxC;;AuCjxJU;EAQJ,UAAU;EACV,+CpC0BW;AHmvJjB;;AsCxuJE;ECjDA,cpCegB;EoCdhB,yBpCMgB;AHuxJlB;;AK/wJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvC6xJxC;;AuChyJU;EAQJ,UAAU;EACV,iDpCLY;AHiyJlB;;AsCvvJE;ECjDA,WpCMa;EoCLb,yBpCagB;AH+xJlB;;AK9xJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC4yJxC;;AuC/yJU;EAQJ,UAAU;EACV,8CpCEY;AHyyJlB;;AwCxzJA;EACE,kBAAoD;EACpD,mBrCmzBsC;EqCjzBtC,yBrCKgB;EOSd,qBP8N+B;AH+kJnC;;AcnwJI;E0B5DJ;IAQI,kBrC6yBoC;EH+gItC;AACF;;AwCzzJA;EACE,gBAAgB;EAChB,eAAe;E9BIb,gB8BHsB;AxC4zJ1B;;AyCv0JA;EACE,kBAAkB;EAClB,wBtCm9ByC;EsCl9BzC,mBtCm9BsC;EsCl9BtC,6BAA6C;E/BU3C,sBP6NgC;AHomJpC;;AyCt0JA;EAEE,cAAc;AzCw0JhB;;AyCp0JA;EACE,gBtC4Q+B;AH2jJjC;;AyC/zJA;EACE,mBAAsD;AzCk0JxD;;AyCn0JA;EAKI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,UAAU;EACV,wBtCo7BuC;EsCn7BvC,cAAc;AzCk0JlB;;AyCxzJE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlBqwJlE;;A0Cz2JE;EACE,yBAAqC;A1C42JzC;;A0Cz2JE;EACE,cAA0B;A1C42J9B;;AyCt0JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlBmxJlE;;A0Cv3JE;EACE,yBAAqC;A1C03JzC;;A0Cv3JE;EACE,cAA0B;A1C03J9B;;AyCp1JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlBiyJlE;;A0Cr4JE;EACE,yBAAqC;A1Cw4JzC;;A0Cr4JE;EACE,cAA0B;A1Cw4J9B;;AyCl2JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlB+yJlE;;A0Cn5JE;EACE,yBAAqC;A1Cs5JzC;;A0Cn5JE;EACE,cAA0B;A1Cs5J9B;;AyCh3JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlB6zJlE;;A0Cj6JE;EACE,yBAAqC;A1Co6JzC;;A0Cj6JE;EACE,cAA0B;A1Co6J9B;;AyC93JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlB20JlE;;A0C/6JE;EACE,yBAAqC;A1Ck7JzC;;A0C/6JE;EACE,cAA0B;A1Ck7J9B;;AyC54JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlBy1JlE;;A0C77JE;EACE,yBAAqC;A1Cg8JzC;;A0C77JE;EACE,cAA0B;A1Cg8J9B;;AyC15JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlBu2JlE;;A0C38JE;EACE,yBAAqC;A1C88JzC;;A0C38JE;EACE,cAA0B;A1C88J9B;;A2Ct9JE;EACE;IAAO,2BAAuC;E3C09JhD;E2Cz9JE;IAAK,wBAAwB;E3C49J/B;AACF;;A2C/9JE;EACE;IAAO,2BAAuC;E3C09JhD;E2Cz9JE;IAAK,wBAAwB;E3C49J/B;AACF;;A2Cz9JA;EACE,oBAAa;EAAb,aAAa;EACb,YxC49BsC;EwC39BtC,gBAAgB;EAChB,cAAc;EvCmHV,kBAtCY;EuC3EhB,yBxCLgB;EOSd,sBP6NgC;AH4vJpC;;A2Cx9JA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,qBAAuB;EAAvB,uBAAuB;EACvB,gBAAgB;EAChB,WxCjBa;EwCkBb,kBAAkB;EAClB,mBAAmB;EACnB,yBxCQe;EiBnBX,2BjB89B4C;AHygIlD;;AoBn+JM;EuBDN;IvBEQ,gBAAgB;EpBu+JtB;AACF;;A2C99JA;ErBYE,qMAA6I;EqBV7I,0BxCq8BsC;AH4hIxC;;A2C79JE;EACE,0DxCu8BkD;EwCv8BlD,kDxCu8BkD;AHyhItD;;A2C79JM;EAJJ;IAKM,uBAAe;IAAf,eAAe;E3Ci+JrB;AACF;;A4C5gKA;EACE,oBAAa;EAAb,aAAa;EACb,qBAAuB;EAAvB,uBAAuB;A5C+gKzB;;A4C5gKA;EACE,WAAO;EAAP,OAAO;A5C+gKT;;A6CjhKA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;EnCQd,sBP6NgC;AH8yJpC;;A6CzgKA;EACE,WAAW;EACX,c1CRgB;E0CShB,mBAAmB;A7C4gKrB;;AKnhKE;EwCWE,UAAU;EACV,c1Cdc;E0Ced,qBAAqB;EACrB,yB1CtBc;AHkiKlB;;A6CthKA;EAcI,c1ClBc;E0CmBd,yB1C1Bc;AHsiKlB;;A6CngKA;EACE,kBAAkB;EAClB,cAAc;EACd,wB1C28ByC;E0Cx8BzC,sB1C3Ca;E0C4Cb,sC1ClCa;AHsiKf;;A6C3gKA;EnCjBI,+BmC2BkC;EnC1BlC,gCmC0BkC;A7CsgKtC;;A6ChhKA;EnCHI,mCmCiBqC;EnChBrC,kCmCgBqC;A7CugKzC;;A6CrhKA;EAmBI,c1ClDc;E0CmDd,oBAAoB;EACpB,sB1C1DW;AHgkKf;;A6C3hKA;EA0BI,UAAU;EACV,W1ChEW;E0CiEX,yB1CrCa;E0CsCb,qB1CtCa;AH2iKjB;;A6CliKA;EAiCI,mBAAmB;A7CqgKvB;;A6CtiKA;EAoCM,gB1C4J2B;E0C3J3B,qB1C2J2B;AH22JjC;;A6Cx/JI;EACE,uBAAmB;EAAnB,mBAAmB;A7C2/JzB;;A6C5/JI;EnCtBA,kCPsKgC;EOlLhC,0BmCwCwC;A7C2/J5C;;A6CjgKI;EnClCA,gCPkLgC;EOtKhC,4BmCiC0C;A7C2/J9C;;A6CtgKI;EAeM,aAAa;A7C2/JvB;;A6C1gKI;EAmBM,qB1C0HuB;E0CzHvB,oBAAoB;A7C2/J9B;;A6C/gKI;EAuBQ,iB1CsHqB;E0CrHrB,sB1CqHqB;AHu4JjC;;AcvjKI;E+BmCA;IACE,uBAAmB;IAAnB,mBAAmB;E7CwhKvB;E6CzhKE;InCtBA,kCPsKgC;IOlLhC,0BmCwCwC;E7CuhK1C;E6C7hKE;InClCA,gCPkLgC;IOtKhC,4BmCiC0C;E7CshK5C;E6CjiKE;IAeM,aAAa;E7CqhKrB;E6CpiKE;IAmBM,qB1C0HuB;I0CzHvB,oBAAoB;E7CohK5B;E6CxiKE;IAuBQ,iB1CsHqB;I0CrHrB,sB1CqHqB;EH+5J/B;AACF;;AchlKI;E+BmCA;IACE,uBAAmB;IAAnB,mBAAmB;E7CijKvB;E6CljKE;InCtBA,kCPsKgC;IOlLhC,0BmCwCwC;E7CgjK1C;E6CtjKE;InClCA,gCPkLgC;IOtKhC,4BmCiC0C;E7C+iK5C;E6C1jKE;IAeM,aAAa;E7C8iKrB;E6C7jKE;IAmBM,qB1C0HuB;I0CzHvB,oBAAoB;E7C6iK5B;E6CjkKE;IAuBQ,iB1CsHqB;I0CrHrB,sB1CqHqB;EHw7J/B;AACF;;AczmKI;E+BmCA;IACE,uBAAmB;IAAnB,mBAAmB;E7C0kKvB;E6C3kKE;InCtBA,kCPsKgC;IOlLhC,0BmCwCwC;E7CykK1C;E6C/kKE;InClCA,gCPkLgC;IOtKhC,4BmCiC0C;E7CwkK5C;E6CnlKE;IAeM,aAAa;E7CukKrB;E6CtlKE;IAmBM,qB1C0HuB;I0CzHvB,oBAAoB;E7CskK5B;E6C1lKE;IAuBQ,iB1CsHqB;I0CrHrB,sB1CqHqB;EHi9J/B;AACF;;AcloKI;E+BmCA;IACE,uBAAmB;IAAnB,mBAAmB;E7CmmKvB;E6CpmKE;InCtBA,kCPsKgC;IOlLhC,0BmCwCwC;E7CkmK1C;E6CxmKE;InClCA,gCPkLgC;IOtKhC,4BmCiC0C;E7CimK5C;E6C5mKE;IAeM,aAAa;E7CgmKrB;E6C/mKE;IAmBM,qB1C0HuB;I0CzHvB,oBAAoB;E7C+lK5B;E6CnnKE;IAuBQ,iB1CsHqB;I0CrHrB,sB1CqHqB;EH0+J/B;AACF;;A6CllKA;EnCnHI,gBmCoHsB;A7CqlK1B;;A6CtlKA;EAII,qB1CmG6B;AHm/JjC;;A6C1lKA;EAOM,sBAAsB;A7CulK5B;;A8ChuKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB+nKlE;;AKxtKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9CmuKjD;;A8C1uKE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlB0oKlE;;A8ChvKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB+oKlE;;AKxuKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9CmvKjD;;A8C1vKE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlB0pKlE;;A8ChwKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB+pKlE;;AKxvKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9CmwKjD;;A8C1wKE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlB0qKlE;;A8ChxKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB+qKlE;;AKxwKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9CmxKjD;;A8C1xKE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlB0rKlE;;A8ChyKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB+rKlE;;AKxxKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9CmyKjD;;A8C1yKE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlB0sKlE;;A8ChzKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB+sKlE;;AKxyKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9CmzKjD;;A8C1zKE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlB0tKlE;;A8Ch0KE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB+tKlE;;AKxzKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9Cm0KjD;;A8C10KE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlB0uKlE;;A8Ch1KE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB+uKlE;;AKx0KE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9Cm1KjD;;A8C11KE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlB0vKlE;;A+Cn2KA;EACE,YAAY;E3C8HR,iBAtCY;E2CtFhB,gB5C6R+B;E4C5R/B,cAAc;EACd,W5CYa;E4CXb,yB5CCa;E4CAb,WAAW;A/Cs2Kb;;AKj2KE;E0CDE,W5CMW;E4CLX,qBAAqB;A/Cs2KzB;;AKl2KE;E0CCI,YAAY;A/Cq2KlB;;A+C11KA;EACE,UAAU;EACV,6BAA6B;EAC7B,SAAS;A/C61KX;;A+Cv1KA;EACE,oBAAoB;A/C01KtB;;AgDh4KA;EAGE,8B7Cq4BuC;E6Cr4BvC,iB7Cq4BuC;E6Cp4BvC,gB7Co4BuC;ECzwBnC,mBAtCY;E4ClFhB,2C7CAa;E6CCb,4BAA4B;EAC5B,oC7Cs4BmD;E6Cr4BnD,gD7COa;E6CNb,UAAU;EtCOR,sBP83BsC;AH4/I1C;;AgD54KA;EAeI,sB7C03BsC;AHugJ1C;;AgDh5KA;EAmBI,UAAU;AhDi4Kd;;AgDp5KA;EAuBI,cAAc;EACd,UAAU;AhDi4Kd;;AgDz5KA;EA4BI,aAAa;AhDi4KjB;;AgD73KA;EACE,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,wB7Cs2BwC;E6Cr2BxC,c7CvBgB;E6CwBhB,2C7C9Ba;E6C+Bb,4BAA4B;EAC5B,4C7C82BoD;EO13BlD,2CQmH4D;ERlH5D,4CQkH4D;AlB2xKhE;;AgD93KA;EACE,gB7C61BwC;AHoiJ1C;;AiDv6KA;EAEE,gBAAgB;AjDy6KlB;;AiD36KA;EAKI,kBAAkB;EAClB,gBAAgB;AjD06KpB;;AiDr6KA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9C2pBsC;E8C1pBtC,aAAa;EACb,WAAW;EACX,YAAY;EACZ,gBAAgB;EAGhB,UAAU;AjDs6KZ;;AiD/5KA;EACE,kBAAkB;EAClB,WAAW;EACX,c9C24BuC;E8Cz4BvC,oBAAoB;AjDi6KtB;;AiD95KE;E7B3BI,2CjBg8BoD;EiBh8BpD,mCjBg8BoD;EiBh8BpD,oEjBg8BoD;E8Cn6BtD,sC9Ci6BmD;E8Cj6BnD,8B9Ci6BmD;AHggJvD;;AoB17KM;E6BuBJ;I7BtBM,gBAAgB;EpB87KtB;AACF;;AiDr6KE;EACE,uB9C+5BoC;E8C/5BpC,e9C+5BoC;AHygJxC;;AiDp6KE;EACE,8B9C45B2C;E8C55B3C,sB9C45B2C;AH2gJ/C;;AiDn6KA;EACE,oBAAa;EAAb,aAAa;EACb,6B/BmF8D;AlBm1KhE;;AiDx6KA;EAKI,8B/BgF4D;E+B/E5D,gBAAgB;AjDu6KpB;;AiD76KA;;EAWI,oBAAc;EAAd,cAAc;AjDu6KlB;;AiDl7KA;EAeI,gBAAgB;AjDu6KpB;;AiDn6KA;EACE,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,6B/B+D8D;AlBu2KhE;;AiDz6KA;EAOI,cAAc;EACd,0B/B0D4D;E+BzD5D,2BAAmB;EAAnB,wBAAmB;EAAnB,mBAAmB;EACnB,WAAW;AjDs6Kf;;AiDh7KA;EAeI,0BAAsB;EAAtB,sBAAsB;EACtB,qBAAuB;EAAvB,uBAAuB;EACvB,YAAY;AjDq6KhB;;AiDt7KA;EAoBM,gBAAgB;AjDs6KtB;;AiD17KA;EAwBM,aAAa;AjDs6KnB;;AiDh6KA;EACE,kBAAkB;EAClB,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,WAAW;EAGX,oBAAoB;EACpB,sB9C3Ga;E8C4Gb,4BAA4B;EAC5B,oC9CnGa;EOCX,qBP8N+B;E8CxHjC,UAAU;AjD+5KZ;;AiD35KA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9C+iBsC;E8C9iBtC,YAAY;EACZ,aAAa;EACb,sB9ClHa;AHghLf;;AiDr6KA;EAUW,UAAU;AjD+5KrB;;AiDz6KA;EAWW,Y9CyzB2B;AHymJtC;;AiD75KA;EACE,oBAAa;EAAb,aAAa;EACb,qBAAuB;EAAvB,uBAAuB;EACvB,sBAA8B;EAA9B,8BAA8B;EAC9B,kB9CszBsC;E8CrzBtC,gC9CvIgB;EOiBd,0CQmH4D;ERlH5D,2CQkH4D;AlBq6KhE;;AiDv6KA;EASI,kB9CizBoC;E8C/yBpC,8BAA6F;AjDi6KjG;;AiD55KA;EACE,gBAAgB;EAChB,gB9CsI+B;AHyxKjC;;AiD15KA;EACE,kBAAkB;EAGlB,kBAAc;EAAd,cAAc;EACd,a9CowBsC;AHupJxC;;AiDv5KA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,sBAAmB;EAAnB,mBAAmB;EACnB,kBAAyB;EAAzB,yBAAyB;EACzB,gBAAgE;EAChE,6B9CxKgB;EO+Bd,8CQqG4D;ERpG5D,6CQoG4D;AlBg8KhE;;AiDl6KA;EAaI,eAAwC;AjDy5K5C;;AiDp5KA;EACE,kBAAkB;EAClB,YAAY;EACZ,WAAW;EACX,YAAY;EACZ,gBAAgB;AjDu5KlB;;Ac9hLI;EmCzBJ;IAuKI,gB9CiwBqC;I8ChwBrC,oBAAyC;EjDq5K3C;EiDviLF;IAsJI,+B/BjE4D;ElBq9K9D;EiD1iLF;IAyJM,gC/BpE0D;ElBw9K9D;EiD1hLF;IA2II,+B/BzE4D;ElB29K9D;EiD7hLF;IA8IM,4B/B5E0D;I+B6E1D,2BAAmB;IAAnB,wBAAmB;IAAnB,mBAAmB;EjDk5KvB;EiD14KA;IAAY,gB9CyuB2B;EHoqJvC;AACF;;AcrjLI;EmC2KF;;IAEE,gB9CiuBqC;EH6qJvC;AACF;;Ac5jLI;EmCkLF;IAAY,iB9C2tB4B;EHorJxC;AACF;;AkD7nLA;EACE,kBAAkB;EAClB,a/C+qBsC;E+C9qBtC,cAAc;EACd,S/Cu1BmC;EgD31BnC,kMhDmRiN;EgDjRjN,kBAAkB;EAClB,gBhD2R+B;EgD1R/B,gBhD+R+B;EgD9R/B,gBAAgB;EAChB,iBAAiB;EACjB,qBAAqB;EACrB,iBAAiB;EACjB,oBAAoB;EACpB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;E/CgHZ,mBAtCY;E8C9EhB,qBAAqB;EACrB,UAAU;AlD0oLZ;;AkDrpLA;EAaW,Y/C20B2B;AHi0JtC;;AkDzpLA;EAgBI,kBAAkB;EAClB,cAAc;EACd,a/C20BqC;E+C10BrC,c/C20BqC;AHk0JzC;;AkDhqLA;EAsBM,kBAAkB;EAClB,WAAW;EACX,yBAAyB;EACzB,mBAAmB;AlD8oLzB;;AkDzoLA;EACE,iBAAgC;AlD4oLlC;;AkD7oLA;EAII,SAAS;AlD6oLb;;AkDjpLA;EAOM,MAAM;EACN,6BAAgE;EAChE,sB/CvBS;AHqqLf;;AkDzoLA;EACE,iB/CizBuC;AH21JzC;;AkD7oLA;EAII,OAAO;EACP,a/C6yBqC;E+C5yBrC,c/C2yBqC;AHk2JzC;;AkDnpLA;EASM,QAAQ;EACR,oCAA2F;EAC3F,wB/CvCS;AHqrLf;;AkDzoLA;EACE,iBAAgC;AlD4oLlC;;AkD7oLA;EAII,MAAM;AlD6oLV;;AkDjpLA;EAOM,SAAS;EACT,6B/C0xBmC;E+CzxBnC,yB/CrDS;AHmsLf;;AkDzoLA;EACE,iB/CmxBuC;AHy3JzC;;AkD7oLA;EAII,QAAQ;EACR,a/C+wBqC;E+C9wBrC,c/C6wBqC;AHg4JzC;;AkDnpLA;EASM,OAAO;EACP,oC/C0wBmC;E+CzwBnC,uB/CrES;AHmtLf;;AkDznLA;EACE,gB/CyuBuC;E+CxuBvC,uB/C8uBuC;E+C7uBvC,W/CvGa;E+CwGb,kBAAkB;EAClB,sB/C/Fa;EOCX,sBP6NgC;AH8/KpC;;AoD7uLA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,ajD6qBsC;EiD5qBtC,cAAc;EACd,gBjDy2BuC;EgD92BvC,kMhDmRiN;EgDjRjN,kBAAkB;EAClB,gBhD2R+B;EgD1R/B,gBhD+R+B;EgD9R/B,gBAAgB;EAChB,iBAAiB;EACjB,qBAAqB;EACrB,iBAAiB;EACjB,oBAAoB;EACpB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;E/CgHZ,mBAtCY;EgD7EhB,qBAAqB;EACrB,sBjDNa;EiDOb,4BAA4B;EAC5B,oCjDEa;EOCX,qBP8N+B;AH0hLnC;;AoD1wLA;EAoBI,kBAAkB;EAClB,cAAc;EACd,WjDy2BoC;EiDx2BpC,cjDy2BqC;EiDx2BrC,gBjDwN+B;AHkiLnC;;AoDlxLA;EA4BM,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,yBAAyB;EACzB,mBAAmB;ApD0vLzB;;AoDrvLA;EACE,qBjD01BuC;AH85JzC;;AoDzvLA;EAII,2BlCqG4D;AlBopLhE;;AoD7vLA;EAOM,SAAS;EACT,6BAAgE;EAChE,qCjDq1BiE;AHq6JvE;;AoDnwLA;EAaM,WjD0L2B;EiDzL3B,6BAAgE;EAChE,sBjD7CS;AHuyLf;;AoDrvLA;EACE,mBjDs0BuC;AHk7JzC;;AoDzvLA;EAII,yBlCiF4D;EkChF5D,ajDk0BqC;EiDj0BrC,YjDg0BoC;EiD/zBpC,gBAAgC;ApDyvLpC;;AoDhwLA;EAUM,OAAO;EACP,oCAA2F;EAC3F,uCjD8zBiE;AH47JvE;;AoDtwLA;EAgBM,SjDmK2B;EiDlK3B,oCAA2F;EAC3F,wBjDpES;AH8zLf;;AoDrvLA;EACE,kBjD+yBuC;AHy8JzC;;AoDzvLA;EAII,wBlC0D4D;AlB+rLhE;;AoD7vLA;EAOM,MAAM;EACN,oCAA2F;EAC3F,wCjD0yBiE;AHg9JvE;;AoDnwLA;EAaM,QjD+I2B;EiD9I3B,oCAA2F;EAC3F,yBjDxFS;AHk1Lf;;AoDzwLA;EAqBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,cAAc;EACd,WjDsxBoC;EiDrxBpC,oBAAsC;EACtC,WAAW;EACX,gCjD0wBuD;AH8+J3D;;AoDpvLA;EACE,oBjD+wBuC;AHw+JzC;;AoDxvLA;EAII,0BlC0B4D;EkCzB5D,ajD2wBqC;EiD1wBrC,YjDywBoC;EiDxwBpC,gBAAgC;ApDwvLpC;;AoD/vLA;EAUM,QAAQ;EACR,oCjDqwBmC;EiDpwBnC,sCjDuwBiE;AHk/JvE;;AoDrwLA;EAgBM,UjD4G2B;EiD3G3B,oCjD+vBmC;EiD9vBnC,uBjD3HS;AHo3Lf;;AoDnuLA;EACE,uBjDguBwC;EiD/tBxC,gBAAgB;EhD3BZ,eAtCY;EgDoEhB,yBjDytByD;EiDxtBzD,gCAAyE;E1CnIvE,0CQmH4D;ERlH5D,2CQkH4D;AlBuvLhE;;AoD7uLA;EAUI,aAAa;ApDuuLjB;;AoDnuLA;EACE,uBjDktBwC;EiDjtBxC,cjDxJgB;AH83LlB;;AqDj4LA;EACE,kBAAkB;ArDo4LpB;;AqDj4LA;EACE,uBAAmB;EAAnB,mBAAmB;ArDo4LrB;;AqDj4LA;EACE,kBAAkB;EAClB,WAAW;EACX,gBAAgB;ArDo4LlB;;AsD35LE;EACE,cAAc;EACd,WAAW;EACX,WAAW;AtD85Lf;;AqDt4LA;EACE,kBAAkB;EAClB,aAAa;EACb,WAAW;EACX,WAAW;EACX,mBAAmB;EACnB,mCAA2B;EAA3B,2BAA2B;EjClBvB,8CjBqjCkF;EiBrjClF,sCjBqjCkF;EiBrjClF,0EjBqjCkF;AHu2JxF;;AoBx5LM;EiCQN;IjCPQ,gBAAgB;EpB45LtB;AACF;;AqD54LA;;;EAGE,cAAc;ArD+4LhB;;AqD54LA;;EAEE,mCAA2B;EAA3B,2BAA2B;ArD+4L7B;;AqD54LA;;EAEE,oCAA4B;EAA5B,4BAA4B;ArD+4L9B;;AqDv4LA;EAEI,UAAU;EACV,4BAA4B;EAC5B,uBAAe;EAAf,eAAe;ArDy4LnB;;AqD74LA;;;EAUI,UAAU;EACV,UAAU;ArDy4Ld;;AqDp5LA;;EAgBI,UAAU;EACV,UAAU;EjC5DR,2BjBojCkC;AHk5JxC;;AoBl8LM;EiCuCN;;IjCtCQ,gBAAgB;EpBu8LtB;AACF;;AqDv4LA;;EAEE,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,UAAU;EAEV,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,qBAAuB;EAAvB,uBAAuB;EACvB,UlDg9BsC;EkD/8BtC,WlD1Fa;EkD2Fb,kBAAkB;EAClB,YlD88BqC;EiBjiCjC,8BjBmiCgD;AH07JtD;;AoBz9LM;EiCkEN;;IjCjEQ,gBAAgB;EpB89LtB;AACF;;AKp+LE;;;EgDwFE,WlDjGW;EkDkGX,qBAAqB;EACrB,UAAU;EACV,YlDu8BmC;AH28JvC;;AqD/4LA;EACE,OAAO;ArDk5LT;;AqD74LA;EACE,QAAQ;ArDg5LV;;AqDz4LA;;EAEE,qBAAqB;EACrB,WlDg8BuC;EkD/7BvC,YlD+7BuC;EkD97BvC,qCAAqC;ArD44LvC;;AqD14LA;EACE,sNnCvEgF;AlBo9LlF;;AqD34LA;EACE,uNnC1EgF;AlBw9LlF;;AqDr4LA;EACE,kBAAkB;EAClB,QAAQ;EACR,SAAS;EACT,OAAO;EACP,WAAW;EACX,oBAAa;EAAb,aAAa;EACb,qBAAuB;EAAvB,uBAAuB;EACvB,eAAe;EAEf,iBlDs5BsC;EkDr5BtC,gBlDq5BsC;EkDp5BtC,gBAAgB;ArDu4LlB;;AqDn5LA;EAeI,uBAAuB;EACvB,kBAAc;EAAd,cAAc;EACd,WlDo5BqC;EkDn5BrC,WlDo5BoC;EkDn5BpC,iBlDq5BoC;EkDp5BpC,gBlDo5BoC;EkDn5BpC,mBAAmB;EACnB,eAAe;EACf,sBlDhKW;EkDiKX,4BAA4B;EAE5B,kCAAiE;EACjE,qCAAoE;EACpE,WAAW;EjC5JT,6BjB0iC+C;AH0/JrD;;AoBhiMM;EiC4HN;IjC3HQ,gBAAgB;EpBoiMtB;AACF;;AqD16LA;EAiCI,UAAU;ArD64Ld;;AqDp4LA;EACE,kBAAkB;EAClB,UAA2C;EAC3C,YAAY;EACZ,SAA0C;EAC1C,WAAW;EACX,iBAAiB;EACjB,oBAAoB;EACpB,WlD3La;EkD4Lb,kBAAkB;ArDu4LpB;;AuDtkMA;EACE;IAAK,iCAAyB;IAAzB,yBAAyB;EvD0kM9B;AACF;;AuD5kMA;EACE;IAAK,iCAAyB;IAAzB,yBAAyB;EvD0kM9B;AACF;;AuDxkMA;EACE,qBAAqB;EACrB,WpDgkC0B;EoD/jC1B,YpD+jC0B;EoD9jC1B,2BAA2B;EAC3B,iCAAgD;EAChD,+BAA+B;EAE/B,kBAAkB;EAClB,sDAA8C;EAA9C,8CAA8C;AvD0kMhD;;AuDvkMA;EACE,WpDyjC4B;EoDxjC5B,YpDwjC4B;EoDvjC5B,mBpDyjC4B;AHihK9B;;AuDnkMA;EACE;IACE,2BAAmB;IAAnB,mBAAmB;EvDskMrB;EuDpkMA;IACE,UAAU;IACV,uBAAe;IAAf,eAAe;EvDskMjB;AACF;;AuD7kMA;EACE;IACE,2BAAmB;IAAnB,mBAAmB;EvDskMrB;EuDpkMA;IACE,UAAU;IACV,uBAAe;IAAf,eAAe;EvDskMjB;AACF;;AuDnkMA;EACE,qBAAqB;EACrB,WpDgiC0B;EoD/hC1B,YpD+hC0B;EoD9hC1B,2BAA2B;EAC3B,8BAA8B;EAE9B,kBAAkB;EAClB,UAAU;EACV,oDAA4C;EAA5C,4CAA4C;AvDqkM9C;;AuDlkMA;EACE,WpDyhC4B;EoDxhC5B,YpDwhC4B;AH6iK9B;;AwDznMA;EAAqB,mCAAmC;AxD6nMxD;;AwD5nMA;EAAqB,8BAA8B;AxDgoMnD;;AwD/nMA;EAAqB,iCAAiC;AxDmoMtD;;AwDloMA;EAAqB,iCAAiC;AxDsoMtD;;AwDroMA;EAAqB,sCAAsC;AxDyoM3D;;AwDxoMA;EAAqB,mCAAmC;AxD4oMxD;;AyD9oME;EACE,oCAAmC;AzDipMvC;;AKvoME;;;EoDLI,oCAAgD;AzDkpMtD;;AyDxpME;EACE,oCAAmC;AzD2pMvC;;AKjpME;;;EoDLI,oCAAgD;AzD4pMtD;;AyDlqME;EACE,oCAAmC;AzDqqMvC;;AK3pME;;;EoDLI,oCAAgD;AzDsqMtD;;AyD5qME;EACE,oCAAmC;AzD+qMvC;;AKrqME;;;EoDLI,oCAAgD;AzDgrMtD;;AyDtrME;EACE,oCAAmC;AzDyrMvC;;AK/qME;;;EoDLI,oCAAgD;AzD0rMtD;;AyDhsME;EACE,oCAAmC;AzDmsMvC;;AKzrME;;;EoDLI,oCAAgD;AzDosMtD;;AyD1sME;EACE,oCAAmC;AzD6sMvC;;AKnsME;;;EoDLI,oCAAgD;AzD8sMtD;;AyDptME;EACE,oCAAmC;AzDutMvC;;AK7sME;;;EoDLI,oCAAgD;AzDwtMtD;;A0DvtMA;EACE,iCAAmC;A1D0tMrC;;A0DvtMA;EACE,wCAAwC;A1D0tM1C;;A2DruMA;EAAkB,oCAAoD;A3DyuMtE;;A2DxuMA;EAAkB,wCAAwD;A3D4uM1E;;A2D3uMA;EAAkB,0CAA0D;A3D+uM5E;;A2D9uMA;EAAkB,2CAA2D;A3DkvM7E;;A2DjvMA;EAAkB,yCAAyD;A3DqvM3E;;A2DnvMA;EAAmB,oBAAoB;A3DuvMvC;;A2DtvMA;EAAmB,wBAAwB;A3D0vM3C;;A2DzvMA;EAAmB,0BAA0B;A3D6vM7C;;A2D5vMA;EAAmB,2BAA2B;A3DgwM9C;;A2D/vMA;EAAmB,yBAAyB;A3DmwM5C;;A2DhwME;EACE,gCAA+B;A3DmwMnC;;A2DpwME;EACE,gCAA+B;A3DuwMnC;;A2DxwME;EACE,gCAA+B;A3D2wMnC;;A2D5wME;EACE,gCAA+B;A3D+wMnC;;A2DhxME;EACE,gCAA+B;A3DmxMnC;;A2DpxME;EACE,gCAA+B;A3DuxMnC;;A2DxxME;EACE,gCAA+B;A3D2xMnC;;A2D5xME;EACE,gCAA+B;A3D+xMnC;;A2D3xMA;EACE,6BAA+B;A3D8xMjC;;A2DvxMA;EACE,gCAA2C;A3D0xM7C;;A2DvxMA;EACE,iCAAwC;A3D0xM1C;;A2DvxMA;EACE,0CAAiD;EACjD,2CAAkD;A3D0xMpD;;A2DvxMA;EACE,2CAAkD;EAClD,8CAAqD;A3D0xMvD;;A2DvxMA;EACE,8CAAqD;EACrD,6CAAoD;A3D0xMtD;;A2DvxMA;EACE,0CAAiD;EACjD,6CAAoD;A3D0xMtD;;A2DvxMA;EACE,gCAA2C;A3D0xM7C;;A2DvxMA;EACE,6BAA6B;A3D0xM/B;;A2DvxMA;EACE,+BAAuC;A3D0xMzC;;A2DvxMA;EACE,2BAA2B;A3D0xM7B;;AsDl2ME;EACE,cAAc;EACd,WAAW;EACX,WAAW;AtDq2Mf;;A4D91MM;EAAwB,wBAA0B;A5Dk2MxD;;A4Dl2MM;EAAwB,0BAA0B;A5Ds2MxD;;A4Dt2MM;EAAwB,gCAA0B;A5D02MxD;;A4D12MM;EAAwB,yBAA0B;A5D82MxD;;A4D92MM;EAAwB,yBAA0B;A5Dk3MxD;;A4Dl3MM;EAAwB,6BAA0B;A5Ds3MxD;;A4Dt3MM;EAAwB,8BAA0B;A5D03MxD;;A4D13MM;EAAwB,+BAA0B;EAA1B,wBAA0B;A5D83MxD;;A4D93MM;EAAwB,sCAA0B;EAA1B,+BAA0B;A5Dk4MxD;;Acj1MI;E8CjDE;IAAwB,wBAA0B;E5Du4MtD;E4Dv4MI;IAAwB,0BAA0B;E5D04MtD;E4D14MI;IAAwB,gCAA0B;E5D64MtD;E4D74MI;IAAwB,yBAA0B;E5Dg5MtD;E4Dh5MI;IAAwB,yBAA0B;E5Dm5MtD;E4Dn5MI;IAAwB,6BAA0B;E5Ds5MtD;E4Dt5MI;IAAwB,8BAA0B;E5Dy5MtD;E4Dz5MI;IAAwB,+BAA0B;IAA1B,wBAA0B;E5D45MtD;E4D55MI;IAAwB,sCAA0B;IAA1B,+BAA0B;E5D+5MtD;AACF;;Ac/2MI;E8CjDE;IAAwB,wBAA0B;E5Dq6MtD;E4Dr6MI;IAAwB,0BAA0B;E5Dw6MtD;E4Dx6MI;IAAwB,gCAA0B;E5D26MtD;E4D36MI;IAAwB,yBAA0B;E5D86MtD;E4D96MI;IAAwB,yBAA0B;E5Di7MtD;E4Dj7MI;IAAwB,6BAA0B;E5Do7MtD;E4Dp7MI;IAAwB,8BAA0B;E5Du7MtD;E4Dv7MI;IAAwB,+BAA0B;IAA1B,wBAA0B;E5D07MtD;E4D17MI;IAAwB,sCAA0B;IAA1B,+BAA0B;E5D67MtD;AACF;;Ac74MI;E8CjDE;IAAwB,wBAA0B;E5Dm8MtD;E4Dn8MI;IAAwB,0BAA0B;E5Ds8MtD;E4Dt8MI;IAAwB,gCAA0B;E5Dy8MtD;E4Dz8MI;IAAwB,yBAA0B;E5D48MtD;E4D58MI;IAAwB,yBAA0B;E5D+8MtD;E4D/8MI;IAAwB,6BAA0B;E5Dk9MtD;E4Dl9MI;IAAwB,8BAA0B;E5Dq9MtD;E4Dr9MI;IAAwB,+BAA0B;IAA1B,wBAA0B;E5Dw9MtD;E4Dx9MI;IAAwB,sCAA0B;IAA1B,+BAA0B;E5D29MtD;AACF;;Ac36MI;E8CjDE;IAAwB,wBAA0B;E5Di+MtD;E4Dj+MI;IAAwB,0BAA0B;E5Do+MtD;E4Dp+MI;IAAwB,gCAA0B;E5Du+MtD;E4Dv+MI;IAAwB,yBAA0B;E5D0+MtD;E4D1+MI;IAAwB,yBAA0B;E5D6+MtD;E4D7+MI;IAAwB,6BAA0B;E5Dg/MtD;E4Dh/MI;IAAwB,8BAA0B;E5Dm/MtD;E4Dn/MI;IAAwB,+BAA0B;IAA1B,wBAA0B;E5Ds/MtD;E4Dt/MI;IAAwB,sCAA0B;IAA1B,+BAA0B;E5Dy/MtD;AACF;;A4Dh/MA;EAEI;IAAqB,wBAA0B;E5Dm/MjD;E4Dn/ME;IAAqB,0BAA0B;E5Ds/MjD;E4Dt/ME;IAAqB,gCAA0B;E5Dy/MjD;E4Dz/ME;IAAqB,yBAA0B;E5D4/MjD;E4D5/ME;IAAqB,yBAA0B;E5D+/MjD;E4D//ME;IAAqB,6BAA0B;E5DkgNjD;E4DlgNE;IAAqB,8BAA0B;E5DqgNjD;E4DrgNE;IAAqB,+BAA0B;IAA1B,wBAA0B;E5DwgNjD;E4DxgNE;IAAqB,sCAA0B;IAA1B,+BAA0B;E5D2gNjD;AACF;;A6DjiNA;EACE,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,UAAU;EACV,gBAAgB;A7DoiNlB;;A6DziNA;EAQI,cAAc;EACd,WAAW;A7DqiNf;;A6D9iNA;;;;;EAiBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,OAAO;EACP,WAAW;EACX,YAAY;EACZ,SAAS;A7DqiNb;;A6D7hNE;EAEI,uBAA4F;A7D+hNlG;;A6DjiNE;EAEI,mBAA4F;A7DmiNlG;;A6DriNE;EAEI,gBAA4F;A7DuiNlG;;A6DziNE;EAEI,iBAA4F;A7D2iNlG;;A8DpkNI;EAAgC,kCAA8B;EAA9B,8BAA8B;A9DwkNlE;;A8DvkNI;EAAgC,qCAAiC;EAAjC,iCAAiC;A9D2kNrE;;A8D1kNI;EAAgC,0CAAsC;EAAtC,sCAAsC;A9D8kN1E;;A8D7kNI;EAAgC,6CAAyC;EAAzC,yCAAyC;A9DilN7E;;A8D/kNI;EAA8B,8BAA0B;EAA1B,0BAA0B;A9DmlN5D;;A8DllNI;EAA8B,gCAA4B;EAA5B,4BAA4B;A9DslN9D;;A8DrlNI;EAA8B,sCAAkC;EAAlC,kCAAkC;A9DylNpE;;A8DxlNI;EAA8B,6BAAyB;EAAzB,yBAAyB;A9D4lN3D;;A8D3lNI;EAA8B,+BAAuB;EAAvB,uBAAuB;A9D+lNzD;;A8D9lNI;EAA8B,+BAAuB;EAAvB,uBAAuB;A9DkmNzD;;A8DjmNI;EAA8B,+BAAyB;EAAzB,yBAAyB;A9DqmN3D;;A8DpmNI;EAA8B,+BAAyB;EAAzB,yBAAyB;A9DwmN3D;;A8DtmNI;EAAoC,+BAAsC;EAAtC,sCAAsC;A9D0mN9E;;A8DzmNI;EAAoC,6BAAoC;EAApC,oCAAoC;A9D6mN5E;;A8D5mNI;EAAoC,gCAAkC;EAAlC,kCAAkC;A9DgnN1E;;A8D/mNI;EAAoC,iCAAyC;EAAzC,yCAAyC;A9DmnNjF;;A8DlnNI;EAAoC,oCAAwC;EAAxC,wCAAwC;A9DsnNhF;;A8DpnNI;EAAiC,gCAAkC;EAAlC,kCAAkC;A9DwnNvE;;A8DvnNI;EAAiC,8BAAgC;EAAhC,gCAAgC;A9D2nNrE;;A8D1nNI;EAAiC,iCAA8B;EAA9B,8BAA8B;A9D8nNnE;;A8D7nNI;EAAiC,mCAAgC;EAAhC,gCAAgC;A9DioNrE;;A8DhoNI;EAAiC,kCAA+B;EAA/B,+BAA+B;A9DooNpE;;A8DloNI;EAAkC,oCAAoC;EAApC,oCAAoC;A9DsoN1E;;A8DroNI;EAAkC,kCAAkC;EAAlC,kCAAkC;A9DyoNxE;;A8DxoNI;EAAkC,qCAAgC;EAAhC,gCAAgC;A9D4oNtE;;A8D3oNI;EAAkC,sCAAuC;EAAvC,uCAAuC;A9D+oN7E;;A8D9oNI;EAAkC,yCAAsC;EAAtC,sCAAsC;A9DkpN5E;;A8DjpNI;EAAkC,sCAAiC;EAAjC,iCAAiC;A9DqpNvE;;A8DnpNI;EAAgC,oCAA2B;EAA3B,2BAA2B;A9DupN/D;;A8DtpNI;EAAgC,qCAAiC;EAAjC,iCAAiC;A9D0pNrE;;A8DzpNI;EAAgC,mCAA+B;EAA/B,+BAA+B;A9D6pNnE;;A8D5pNI;EAAgC,sCAA6B;EAA7B,6BAA6B;A9DgqNjE;;A8D/pNI;EAAgC,wCAA+B;EAA/B,+BAA+B;A9DmqNnE;;A8DlqNI;EAAgC,uCAA8B;EAA9B,8BAA8B;A9DsqNlE;;Ac1pNI;EgDlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;E9DitNhE;E8DhtNE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9DmtNnE;E8DltNE;IAAgC,0CAAsC;IAAtC,sCAAsC;E9DqtNxE;E8DptNE;IAAgC,6CAAyC;IAAzC,yCAAyC;E9DutN3E;E8DrtNE;IAA8B,8BAA0B;IAA1B,0BAA0B;E9DwtN1D;E8DvtNE;IAA8B,gCAA4B;IAA5B,4BAA4B;E9D0tN5D;E8DztNE;IAA8B,sCAAkC;IAAlC,kCAAkC;E9D4tNlE;E8D3tNE;IAA8B,6BAAyB;IAAzB,yBAAyB;E9D8tNzD;E8D7tNE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9DguNvD;E8D/tNE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9DkuNvD;E8DjuNE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9DouNzD;E8DnuNE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9DsuNzD;E8DpuNE;IAAoC,+BAAsC;IAAtC,sCAAsC;E9DuuN5E;E8DtuNE;IAAoC,6BAAoC;IAApC,oCAAoC;E9DyuN1E;E8DxuNE;IAAoC,gCAAkC;IAAlC,kCAAkC;E9D2uNxE;E8D1uNE;IAAoC,iCAAyC;IAAzC,yCAAyC;E9D6uN/E;E8D5uNE;IAAoC,oCAAwC;IAAxC,wCAAwC;E9D+uN9E;E8D7uNE;IAAiC,gCAAkC;IAAlC,kCAAkC;E9DgvNrE;E8D/uNE;IAAiC,8BAAgC;IAAhC,gCAAgC;E9DkvNnE;E8DjvNE;IAAiC,iCAA8B;IAA9B,8BAA8B;E9DovNjE;E8DnvNE;IAAiC,mCAAgC;IAAhC,gCAAgC;E9DsvNnE;E8DrvNE;IAAiC,kCAA+B;IAA/B,+BAA+B;E9DwvNlE;E8DtvNE;IAAkC,oCAAoC;IAApC,oCAAoC;E9DyvNxE;E8DxvNE;IAAkC,kCAAkC;IAAlC,kCAAkC;E9D2vNtE;E8D1vNE;IAAkC,qCAAgC;IAAhC,gCAAgC;E9D6vNpE;E8D5vNE;IAAkC,sCAAuC;IAAvC,uCAAuC;E9D+vN3E;E8D9vNE;IAAkC,yCAAsC;IAAtC,sCAAsC;E9DiwN1E;E8DhwNE;IAAkC,sCAAiC;IAAjC,iCAAiC;E9DmwNrE;E8DjwNE;IAAgC,oCAA2B;IAA3B,2BAA2B;E9DowN7D;E8DnwNE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9DswNnE;E8DrwNE;IAAgC,mCAA+B;IAA/B,+BAA+B;E9DwwNjE;E8DvwNE;IAAgC,sCAA6B;IAA7B,6BAA6B;E9D0wN/D;E8DzwNE;IAAgC,wCAA+B;IAA/B,+BAA+B;E9D4wNjE;E8D3wNE;IAAgC,uCAA8B;IAA9B,8BAA8B;E9D8wNhE;AACF;;AcnwNI;EgDlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;E9D0zNhE;E8DzzNE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9D4zNnE;E8D3zNE;IAAgC,0CAAsC;IAAtC,sCAAsC;E9D8zNxE;E8D7zNE;IAAgC,6CAAyC;IAAzC,yCAAyC;E9Dg0N3E;E8D9zNE;IAA8B,8BAA0B;IAA1B,0BAA0B;E9Di0N1D;E8Dh0NE;IAA8B,gCAA4B;IAA5B,4BAA4B;E9Dm0N5D;E8Dl0NE;IAA8B,sCAAkC;IAAlC,kCAAkC;E9Dq0NlE;E8Dp0NE;IAA8B,6BAAyB;IAAzB,yBAAyB;E9Du0NzD;E8Dt0NE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9Dy0NvD;E8Dx0NE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9D20NvD;E8D10NE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9D60NzD;E8D50NE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9D+0NzD;E8D70NE;IAAoC,+BAAsC;IAAtC,sCAAsC;E9Dg1N5E;E8D/0NE;IAAoC,6BAAoC;IAApC,oCAAoC;E9Dk1N1E;E8Dj1NE;IAAoC,gCAAkC;IAAlC,kCAAkC;E9Do1NxE;E8Dn1NE;IAAoC,iCAAyC;IAAzC,yCAAyC;E9Ds1N/E;E8Dr1NE;IAAoC,oCAAwC;IAAxC,wCAAwC;E9Dw1N9E;E8Dt1NE;IAAiC,gCAAkC;IAAlC,kCAAkC;E9Dy1NrE;E8Dx1NE;IAAiC,8BAAgC;IAAhC,gCAAgC;E9D21NnE;E8D11NE;IAAiC,iCAA8B;IAA9B,8BAA8B;E9D61NjE;E8D51NE;IAAiC,mCAAgC;IAAhC,gCAAgC;E9D+1NnE;E8D91NE;IAAiC,kCAA+B;IAA/B,+BAA+B;E9Di2NlE;E8D/1NE;IAAkC,oCAAoC;IAApC,oCAAoC;E9Dk2NxE;E8Dj2NE;IAAkC,kCAAkC;IAAlC,kCAAkC;E9Do2NtE;E8Dn2NE;IAAkC,qCAAgC;IAAhC,gCAAgC;E9Ds2NpE;E8Dr2NE;IAAkC,sCAAuC;IAAvC,uCAAuC;E9Dw2N3E;E8Dv2NE;IAAkC,yCAAsC;IAAtC,sCAAsC;E9D02N1E;E8Dz2NE;IAAkC,sCAAiC;IAAjC,iCAAiC;E9D42NrE;E8D12NE;IAAgC,oCAA2B;IAA3B,2BAA2B;E9D62N7D;E8D52NE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9D+2NnE;E8D92NE;IAAgC,mCAA+B;IAA/B,+BAA+B;E9Di3NjE;E8Dh3NE;IAAgC,sCAA6B;IAA7B,6BAA6B;E9Dm3N/D;E8Dl3NE;IAAgC,wCAA+B;IAA/B,+BAA+B;E9Dq3NjE;E8Dp3NE;IAAgC,uCAA8B;IAA9B,8BAA8B;E9Du3NhE;AACF;;Ac52NI;EgDlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;E9Dm6NhE;E8Dl6NE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9Dq6NnE;E8Dp6NE;IAAgC,0CAAsC;IAAtC,sCAAsC;E9Du6NxE;E8Dt6NE;IAAgC,6CAAyC;IAAzC,yCAAyC;E9Dy6N3E;E8Dv6NE;IAA8B,8BAA0B;IAA1B,0BAA0B;E9D06N1D;E8Dz6NE;IAA8B,gCAA4B;IAA5B,4BAA4B;E9D46N5D;E8D36NE;IAA8B,sCAAkC;IAAlC,kCAAkC;E9D86NlE;E8D76NE;IAA8B,6BAAyB;IAAzB,yBAAyB;E9Dg7NzD;E8D/6NE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9Dk7NvD;E8Dj7NE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9Do7NvD;E8Dn7NE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9Ds7NzD;E8Dr7NE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9Dw7NzD;E8Dt7NE;IAAoC,+BAAsC;IAAtC,sCAAsC;E9Dy7N5E;E8Dx7NE;IAAoC,6BAAoC;IAApC,oCAAoC;E9D27N1E;E8D17NE;IAAoC,gCAAkC;IAAlC,kCAAkC;E9D67NxE;E8D57NE;IAAoC,iCAAyC;IAAzC,yCAAyC;E9D+7N/E;E8D97NE;IAAoC,oCAAwC;IAAxC,wCAAwC;E9Di8N9E;E8D/7NE;IAAiC,gCAAkC;IAAlC,kCAAkC;E9Dk8NrE;E8Dj8NE;IAAiC,8BAAgC;IAAhC,gCAAgC;E9Do8NnE;E8Dn8NE;IAAiC,iCAA8B;IAA9B,8BAA8B;E9Ds8NjE;E8Dr8NE;IAAiC,mCAAgC;IAAhC,gCAAgC;E9Dw8NnE;E8Dv8NE;IAAiC,kCAA+B;IAA/B,+BAA+B;E9D08NlE;E8Dx8NE;IAAkC,oCAAoC;IAApC,oCAAoC;E9D28NxE;E8D18NE;IAAkC,kCAAkC;IAAlC,kCAAkC;E9D68NtE;E8D58NE;IAAkC,qCAAgC;IAAhC,gCAAgC;E9D+8NpE;E8D98NE;IAAkC,sCAAuC;IAAvC,uCAAuC;E9Di9N3E;E8Dh9NE;IAAkC,yCAAsC;IAAtC,sCAAsC;E9Dm9N1E;E8Dl9NE;IAAkC,sCAAiC;IAAjC,iCAAiC;E9Dq9NrE;E8Dn9NE;IAAgC,oCAA2B;IAA3B,2BAA2B;E9Ds9N7D;E8Dr9NE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9Dw9NnE;E8Dv9NE;IAAgC,mCAA+B;IAA/B,+BAA+B;E9D09NjE;E8Dz9NE;IAAgC,sCAA6B;IAA7B,6BAA6B;E9D49N/D;E8D39NE;IAAgC,wCAA+B;IAA/B,+BAA+B;E9D89NjE;E8D79NE;IAAgC,uCAA8B;IAA9B,8BAA8B;E9Dg+NhE;AACF;;Acr9NI;EgDlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;E9D4gOhE;E8D3gOE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9D8gOnE;E8D7gOE;IAAgC,0CAAsC;IAAtC,sCAAsC;E9DghOxE;E8D/gOE;IAAgC,6CAAyC;IAAzC,yCAAyC;E9DkhO3E;E8DhhOE;IAA8B,8BAA0B;IAA1B,0BAA0B;E9DmhO1D;E8DlhOE;IAA8B,gCAA4B;IAA5B,4BAA4B;E9DqhO5D;E8DphOE;IAA8B,sCAAkC;IAAlC,kCAAkC;E9DuhOlE;E8DthOE;IAA8B,6BAAyB;IAAzB,yBAAyB;E9DyhOzD;E8DxhOE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9D2hOvD;E8D1hOE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9D6hOvD;E8D5hOE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9D+hOzD;E8D9hOE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9DiiOzD;E8D/hOE;IAAoC,+BAAsC;IAAtC,sCAAsC;E9DkiO5E;E8DjiOE;IAAoC,6BAAoC;IAApC,oCAAoC;E9DoiO1E;E8DniOE;IAAoC,gCAAkC;IAAlC,kCAAkC;E9DsiOxE;E8DriOE;IAAoC,iCAAyC;IAAzC,yCAAyC;E9DwiO/E;E8DviOE;IAAoC,oCAAwC;IAAxC,wCAAwC;E9D0iO9E;E8DxiOE;IAAiC,gCAAkC;IAAlC,kCAAkC;E9D2iOrE;E8D1iOE;IAAiC,8BAAgC;IAAhC,gCAAgC;E9D6iOnE;E8D5iOE;IAAiC,iCAA8B;IAA9B,8BAA8B;E9D+iOjE;E8D9iOE;IAAiC,mCAAgC;IAAhC,gCAAgC;E9DijOnE;E8DhjOE;IAAiC,kCAA+B;IAA/B,+BAA+B;E9DmjOlE;E8DjjOE;IAAkC,oCAAoC;IAApC,oCAAoC;E9DojOxE;E8DnjOE;IAAkC,kCAAkC;IAAlC,kCAAkC;E9DsjOtE;E8DrjOE;IAAkC,qCAAgC;IAAhC,gCAAgC;E9DwjOpE;E8DvjOE;IAAkC,sCAAuC;IAAvC,uCAAuC;E9D0jO3E;E8DzjOE;IAAkC,yCAAsC;IAAtC,sCAAsC;E9D4jO1E;E8D3jOE;IAAkC,sCAAiC;IAAjC,iCAAiC;E9D8jOrE;E8D5jOE;IAAgC,oCAA2B;IAA3B,2BAA2B;E9D+jO7D;E8D9jOE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9DikOnE;E8DhkOE;IAAgC,mCAA+B;IAA/B,+BAA+B;E9DmkOjE;E8DlkOE;IAAgC,sCAA6B;IAA7B,6BAA6B;E9DqkO/D;E8DpkOE;IAAgC,wCAA+B;IAA/B,+BAA+B;E9DukOjE;E8DtkOE;IAAgC,uCAA8B;IAA9B,8BAA8B;E9DykOhE;AACF;;A+DpnOI;EAAwB,sBAAsB;A/DwnOlD;;A+DvnOI;EAAwB,uBAAuB;A/D2nOnD;;A+D1nOI;EAAwB,sBAAsB;A/D8nOlD;;Ac1kOI;EiDtDA;IAAwB,sBAAsB;E/DqoOhD;E+DpoOE;IAAwB,uBAAuB;E/DuoOjD;E+DtoOE;IAAwB,sBAAsB;E/DyoOhD;AACF;;ActlOI;EiDtDA;IAAwB,sBAAsB;E/DipOhD;E+DhpOE;IAAwB,uBAAuB;E/DmpOjD;E+DlpOE;IAAwB,sBAAsB;E/DqpOhD;AACF;;AclmOI;EiDtDA;IAAwB,sBAAsB;E/D6pOhD;E+D5pOE;IAAwB,uBAAuB;E/D+pOjD;E+D9pOE;IAAwB,sBAAsB;E/DiqOhD;AACF;;Ac9mOI;EiDtDA;IAAwB,sBAAsB;E/DyqOhD;E+DxqOE;IAAwB,uBAAuB;E/D2qOjD;E+D1qOE;IAAwB,sBAAsB;E/D6qOhD;AACF;;AgEnrOE;EAAyB,mCAA8B;EAA9B,gCAA8B;EAA9B,+BAA8B;EAA9B,2BAA8B;AhEurOzD;;AgEvrOE;EAAyB,oCAA8B;EAA9B,iCAA8B;EAA9B,gCAA8B;EAA9B,4BAA8B;AhE2rOzD;;AgE3rOE;EAAyB,oCAA8B;EAA9B,iCAA8B;EAA9B,gCAA8B;EAA9B,4BAA8B;AhE+rOzD;;AiE/rOE;EAAsB,yBAA2B;AjEmsOnD;;AiEnsOE;EAAsB,2BAA2B;AjEusOnD;;AkEtsOE;EAAyB,2BAA8B;AlE0sOzD;;AkE1sOE;EAAyB,6BAA8B;AlE8sOzD;;AkE9sOE;EAAyB,6BAA8B;AlEktOzD;;AkEltOE;EAAyB,0BAA8B;AlEstOzD;;AkEttOE;EAAyB,mCAA8B;EAA9B,2BAA8B;AlE0tOzD;;AkErtOA;EACE,eAAe;EACf,MAAM;EACN,QAAQ;EACR,OAAO;EACP,a/DgqBsC;AHwjNxC;;AkErtOA;EACE,eAAe;EACf,QAAQ;EACR,SAAS;EACT,OAAO;EACP,a/DwpBsC;AHgkNxC;;AkEptO8B;EAD9B;IAEI,wBAAgB;IAAhB,gBAAgB;IAChB,MAAM;IACN,a/DgpBoC;EHwkNtC;AACF;;AmElvOA;ECEE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,UAAU;EACV,YAAY;EACZ,gBAAgB;EAChB,sBAAsB;EACtB,mBAAmB;EACnB,SAAS;ApEovOX;;AoE1uOE;EAEE,gBAAgB;EAChB,WAAW;EACX,YAAY;EACZ,iBAAiB;EACjB,UAAU;EACV,mBAAmB;ApE4uOvB;;AqEzwOA;EAAa,8DAAqC;ArE6wOlD;;AqE5wOA;EAAU,wDAAkC;ArEgxO5C;;AqE/wOA;EAAa,uDAAqC;ArEmxOlD;;AqElxOA;EAAe,2BAA2B;ArEsxO1C;;AsErxOI;EAAuB,qBAA4B;AtEyxOvD;;AsEzxOI;EAAuB,qBAA4B;AtE6xOvD;;AsE7xOI;EAAuB,qBAA4B;AtEiyOvD;;AsEjyOI;EAAuB,sBAA4B;AtEqyOvD;;AsEryOI;EAAuB,sBAA4B;AtEyyOvD;;AsEzyOI;EAAuB,sBAA4B;AtE6yOvD;;AsE7yOI;EAAuB,sBAA4B;AtEizOvD;;AsEjzOI;EAAuB,sBAA4B;AtEqzOvD;;AsErzOI;EAAuB,uBAA4B;AtEyzOvD;;AsEzzOI;EAAuB,uBAA4B;AtE6zOvD;;AsEzzOA;EAAU,0BAA0B;AtE6zOpC;;AsE5zOA;EAAU,2BAA2B;AtEg0OrC;;AsE5zOA;EAAc,2BAA2B;AtEg0OzC;;AsE/zOA;EAAc,4BAA4B;AtEm0O1C;;AsEj0OA;EAAU,uBAAuB;AtEq0OjC;;AsEp0OA;EAAU,wBAAwB;AtEw0OlC;;AuEj1OQ;EAAgC,oBAA4B;AvEq1OpE;;AuEp1OQ;;EAEE,wBAAoC;AvEu1O9C;;AuEr1OQ;;EAEE,0BAAwC;AvEw1OlD;;AuEt1OQ;;EAEE,2BAA0C;AvEy1OpD;;AuEv1OQ;;EAEE,yBAAsC;AvE01OhD;;AuEz2OQ;EAAgC,0BAA4B;AvE62OpE;;AuE52OQ;;EAEE,8BAAoC;AvE+2O9C;;AuE72OQ;;EAEE,gCAAwC;AvEg3OlD;;AuE92OQ;;EAEE,iCAA0C;AvEi3OpD;;AuE/2OQ;;EAEE,+BAAsC;AvEk3OhD;;AuEj4OQ;EAAgC,yBAA4B;AvEq4OpE;;AuEp4OQ;;EAEE,6BAAoC;AvEu4O9C;;AuEr4OQ;;EAEE,+BAAwC;AvEw4OlD;;AuEt4OQ;;EAEE,gCAA0C;AvEy4OpD;;AuEv4OQ;;EAEE,8BAAsC;AvE04OhD;;AuEz5OQ;EAAgC,uBAA4B;AvE65OpE;;AuE55OQ;;EAEE,2BAAoC;AvE+5O9C;;AuE75OQ;;EAEE,6BAAwC;AvEg6OlD;;AuE95OQ;;EAEE,8BAA0C;AvEi6OpD;;AuE/5OQ;;EAEE,4BAAsC;AvEk6OhD;;AuEj7OQ;EAAgC,yBAA4B;AvEq7OpE;;AuEp7OQ;;EAEE,6BAAoC;AvEu7O9C;;AuEr7OQ;;EAEE,+BAAwC;AvEw7OlD;;AuEt7OQ;;EAEE,gCAA0C;AvEy7OpD;;AuEv7OQ;;EAEE,8BAAsC;AvE07OhD;;AuEz8OQ;EAAgC,uBAA4B;AvE68OpE;;AuE58OQ;;EAEE,2BAAoC;AvE+8O9C;;AuE78OQ;;EAEE,6BAAwC;AvEg9OlD;;AuE98OQ;;EAEE,8BAA0C;AvEi9OpD;;AuE/8OQ;;EAEE,4BAAsC;AvEk9OhD;;AuEj+OQ;EAAgC,qBAA4B;AvEq+OpE;;AuEp+OQ;;EAEE,yBAAoC;AvEu+O9C;;AuEr+OQ;;EAEE,2BAAwC;AvEw+OlD;;AuEt+OQ;;EAEE,4BAA0C;AvEy+OpD;;AuEv+OQ;;EAEE,0BAAsC;AvE0+OhD;;AuEz/OQ;EAAgC,2BAA4B;AvE6/OpE;;AuE5/OQ;;EAEE,+BAAoC;AvE+/O9C;;AuE7/OQ;;EAEE,iCAAwC;AvEggPlD;;AuE9/OQ;;EAEE,kCAA0C;AvEigPpD;;AuE//OQ;;EAEE,gCAAsC;AvEkgPhD;;AuEjhPQ;EAAgC,0BAA4B;AvEqhPpE;;AuEphPQ;;EAEE,8BAAoC;AvEuhP9C;;AuErhPQ;;EAEE,gCAAwC;AvEwhPlD;;AuEthPQ;;EAEE,iCAA0C;AvEyhPpD;;AuEvhPQ;;EAEE,+BAAsC;AvE0hPhD;;AuEziPQ;EAAgC,wBAA4B;AvE6iPpE;;AuE5iPQ;;EAEE,4BAAoC;AvE+iP9C;;AuE7iPQ;;EAEE,8BAAwC;AvEgjPlD;;AuE9iPQ;;EAEE,+BAA0C;AvEijPpD;;AuE/iPQ;;EAEE,6BAAsC;AvEkjPhD;;AuEjkPQ;EAAgC,0BAA4B;AvEqkPpE;;AuEpkPQ;;EAEE,8BAAoC;AvEukP9C;;AuErkPQ;;EAEE,gCAAwC;AvEwkPlD;;AuEtkPQ;;EAEE,iCAA0C;AvEykPpD;;AuEvkPQ;;EAEE,+BAAsC;AvE0kPhD;;AuEzlPQ;EAAgC,wBAA4B;AvE6lPpE;;AuE5lPQ;;EAEE,4BAAoC;AvE+lP9C;;AuE7lPQ;;EAEE,8BAAwC;AvEgmPlD;;AuE9lPQ;;EAEE,+BAA0C;AvEimPpD;;AuE/lPQ;;EAEE,6BAAsC;AvEkmPhD;;AuE1lPQ;EAAwB,2BAA2B;AvE8lP3D;;AuE7lPQ;;EAEE,+BAA+B;AvEgmPzC;;AuE9lPQ;;EAEE,iCAAiC;AvEimP3C;;AuE/lPQ;;EAEE,kCAAkC;AvEkmP5C;;AuEhmPQ;;EAEE,gCAAgC;AvEmmP1C;;AuElnPQ;EAAwB,0BAA2B;AvEsnP3D;;AuErnPQ;;EAEE,8BAA+B;AvEwnPzC;;AuEtnPQ;;EAEE,gCAAiC;AvEynP3C;;AuEvnPQ;;EAEE,iCAAkC;AvE0nP5C;;AuExnPQ;;EAEE,+BAAgC;AvE2nP1C;;AuE1oPQ;EAAwB,wBAA2B;AvE8oP3D;;AuE7oPQ;;EAEE,4BAA+B;AvEgpPzC;;AuE9oPQ;;EAEE,8BAAiC;AvEipP3C;;AuE/oPQ;;EAEE,+BAAkC;AvEkpP5C;;AuEhpPQ;;EAEE,6BAAgC;AvEmpP1C;;AuElqPQ;EAAwB,0BAA2B;AvEsqP3D;;AuErqPQ;;EAEE,8BAA+B;AvEwqPzC;;AuEtqPQ;;EAEE,gCAAiC;AvEyqP3C;;AuEvqPQ;;EAEE,iCAAkC;AvE0qP5C;;AuExqPQ;;EAEE,+BAAgC;AvE2qP1C;;AuE1rPQ;EAAwB,wBAA2B;AvE8rP3D;;AuE7rPQ;;EAEE,4BAA+B;AvEgsPzC;;AuE9rPQ;;EAEE,8BAAiC;AvEisP3C;;AuE/rPQ;;EAEE,+BAAkC;AvEksP5C;;AuEhsPQ;;EAEE,6BAAgC;AvEmsP1C;;AuE7rPI;EAAmB,uBAAuB;AvEisP9C;;AuEhsPI;;EAEE,2BAA2B;AvEmsPjC;;AuEjsPI;;EAEE,6BAA6B;AvEosPnC;;AuElsPI;;EAEE,8BAA8B;AvEqsPpC;;AuEnsPI;;EAEE,4BAA4B;AvEssPlC;;Ac/sPI;EyDlDI;IAAgC,oBAA4B;EvEswPlE;EuErwPM;;IAEE,wBAAoC;EvEuwP5C;EuErwPM;;IAEE,0BAAwC;EvEuwPhD;EuErwPM;;IAEE,2BAA0C;EvEuwPlD;EuErwPM;;IAEE,yBAAsC;EvEuwP9C;EuEtxPM;IAAgC,0BAA4B;EvEyxPlE;EuExxPM;;IAEE,8BAAoC;EvE0xP5C;EuExxPM;;IAEE,gCAAwC;EvE0xPhD;EuExxPM;;IAEE,iCAA0C;EvE0xPlD;EuExxPM;;IAEE,+BAAsC;EvE0xP9C;EuEzyPM;IAAgC,yBAA4B;EvE4yPlE;EuE3yPM;;IAEE,6BAAoC;EvE6yP5C;EuE3yPM;;IAEE,+BAAwC;EvE6yPhD;EuE3yPM;;IAEE,gCAA0C;EvE6yPlD;EuE3yPM;;IAEE,8BAAsC;EvE6yP9C;EuE5zPM;IAAgC,uBAA4B;EvE+zPlE;EuE9zPM;;IAEE,2BAAoC;EvEg0P5C;EuE9zPM;;IAEE,6BAAwC;EvEg0PhD;EuE9zPM;;IAEE,8BAA0C;EvEg0PlD;EuE9zPM;;IAEE,4BAAsC;EvEg0P9C;EuE/0PM;IAAgC,yBAA4B;EvEk1PlE;EuEj1PM;;IAEE,6BAAoC;EvEm1P5C;EuEj1PM;;IAEE,+BAAwC;EvEm1PhD;EuEj1PM;;IAEE,gCAA0C;EvEm1PlD;EuEj1PM;;IAEE,8BAAsC;EvEm1P9C;EuEl2PM;IAAgC,uBAA4B;EvEq2PlE;EuEp2PM;;IAEE,2BAAoC;EvEs2P5C;EuEp2PM;;IAEE,6BAAwC;EvEs2PhD;EuEp2PM;;IAEE,8BAA0C;EvEs2PlD;EuEp2PM;;IAEE,4BAAsC;EvEs2P9C;EuEr3PM;IAAgC,qBAA4B;EvEw3PlE;EuEv3PM;;IAEE,yBAAoC;EvEy3P5C;EuEv3PM;;IAEE,2BAAwC;EvEy3PhD;EuEv3PM;;IAEE,4BAA0C;EvEy3PlD;EuEv3PM;;IAEE,0BAAsC;EvEy3P9C;EuEx4PM;IAAgC,2BAA4B;EvE24PlE;EuE14PM;;IAEE,+BAAoC;EvE44P5C;EuE14PM;;IAEE,iCAAwC;EvE44PhD;EuE14PM;;IAEE,kCAA0C;EvE44PlD;EuE14PM;;IAEE,gCAAsC;EvE44P9C;EuE35PM;IAAgC,0BAA4B;EvE85PlE;EuE75PM;;IAEE,8BAAoC;EvE+5P5C;EuE75PM;;IAEE,gCAAwC;EvE+5PhD;EuE75PM;;IAEE,iCAA0C;EvE+5PlD;EuE75PM;;IAEE,+BAAsC;EvE+5P9C;EuE96PM;IAAgC,wBAA4B;EvEi7PlE;EuEh7PM;;IAEE,4BAAoC;EvEk7P5C;EuEh7PM;;IAEE,8BAAwC;EvEk7PhD;EuEh7PM;;IAEE,+BAA0C;EvEk7PlD;EuEh7PM;;IAEE,6BAAsC;EvEk7P9C;EuEj8PM;IAAgC,0BAA4B;EvEo8PlE;EuEn8PM;;IAEE,8BAAoC;EvEq8P5C;EuEn8PM;;IAEE,gCAAwC;EvEq8PhD;EuEn8PM;;IAEE,iCAA0C;EvEq8PlD;EuEn8PM;;IAEE,+BAAsC;EvEq8P9C;EuEp9PM;IAAgC,wBAA4B;EvEu9PlE;EuEt9PM;;IAEE,4BAAoC;EvEw9P5C;EuEt9PM;;IAEE,8BAAwC;EvEw9PhD;EuEt9PM;;IAEE,+BAA0C;EvEw9PlD;EuEt9PM;;IAEE,6BAAsC;EvEw9P9C;EuEh9PM;IAAwB,2BAA2B;EvEm9PzD;EuEl9PM;;IAEE,+BAA+B;EvEo9PvC;EuEl9PM;;IAEE,iCAAiC;EvEo9PzC;EuEl9PM;;IAEE,kCAAkC;EvEo9P1C;EuEl9PM;;IAEE,gCAAgC;EvEo9PxC;EuEn+PM;IAAwB,0BAA2B;EvEs+PzD;EuEr+PM;;IAEE,8BAA+B;EvEu+PvC;EuEr+PM;;IAEE,gCAAiC;EvEu+PzC;EuEr+PM;;IAEE,iCAAkC;EvEu+P1C;EuEr+PM;;IAEE,+BAAgC;EvEu+PxC;EuEt/PM;IAAwB,wBAA2B;EvEy/PzD;EuEx/PM;;IAEE,4BAA+B;EvE0/PvC;EuEx/PM;;IAEE,8BAAiC;EvE0/PzC;EuEx/PM;;IAEE,+BAAkC;EvE0/P1C;EuEx/PM;;IAEE,6BAAgC;EvE0/PxC;EuEzgQM;IAAwB,0BAA2B;EvE4gQzD;EuE3gQM;;IAEE,8BAA+B;EvE6gQvC;EuE3gQM;;IAEE,gCAAiC;EvE6gQzC;EuE3gQM;;IAEE,iCAAkC;EvE6gQ1C;EuE3gQM;;IAEE,+BAAgC;EvE6gQxC;EuE5hQM;IAAwB,wBAA2B;EvE+hQzD;EuE9hQM;;IAEE,4BAA+B;EvEgiQvC;EuE9hQM;;IAEE,8BAAiC;EvEgiQzC;EuE9hQM;;IAEE,+BAAkC;EvEgiQ1C;EuE9hQM;;IAEE,6BAAgC;EvEgiQxC;EuE1hQE;IAAmB,uBAAuB;EvE6hQ5C;EuE5hQE;;IAEE,2BAA2B;EvE8hQ/B;EuE5hQE;;IAEE,6BAA6B;EvE8hQjC;EuE5hQE;;IAEE,8BAA8B;EvE8hQlC;EuE5hQE;;IAEE,4BAA4B;EvE8hQhC;AACF;;AcxiQI;EyDlDI;IAAgC,oBAA4B;EvE+lQlE;EuE9lQM;;IAEE,wBAAoC;EvEgmQ5C;EuE9lQM;;IAEE,0BAAwC;EvEgmQhD;EuE9lQM;;IAEE,2BAA0C;EvEgmQlD;EuE9lQM;;IAEE,yBAAsC;EvEgmQ9C;EuE/mQM;IAAgC,0BAA4B;EvEknQlE;EuEjnQM;;IAEE,8BAAoC;EvEmnQ5C;EuEjnQM;;IAEE,gCAAwC;EvEmnQhD;EuEjnQM;;IAEE,iCAA0C;EvEmnQlD;EuEjnQM;;IAEE,+BAAsC;EvEmnQ9C;EuEloQM;IAAgC,yBAA4B;EvEqoQlE;EuEpoQM;;IAEE,6BAAoC;EvEsoQ5C;EuEpoQM;;IAEE,+BAAwC;EvEsoQhD;EuEpoQM;;IAEE,gCAA0C;EvEsoQlD;EuEpoQM;;IAEE,8BAAsC;EvEsoQ9C;EuErpQM;IAAgC,uBAA4B;EvEwpQlE;EuEvpQM;;IAEE,2BAAoC;EvEypQ5C;EuEvpQM;;IAEE,6BAAwC;EvEypQhD;EuEvpQM;;IAEE,8BAA0C;EvEypQlD;EuEvpQM;;IAEE,4BAAsC;EvEypQ9C;EuExqQM;IAAgC,yBAA4B;EvE2qQlE;EuE1qQM;;IAEE,6BAAoC;EvE4qQ5C;EuE1qQM;;IAEE,+BAAwC;EvE4qQhD;EuE1qQM;;IAEE,gCAA0C;EvE4qQlD;EuE1qQM;;IAEE,8BAAsC;EvE4qQ9C;EuE3rQM;IAAgC,uBAA4B;EvE8rQlE;EuE7rQM;;IAEE,2BAAoC;EvE+rQ5C;EuE7rQM;;IAEE,6BAAwC;EvE+rQhD;EuE7rQM;;IAEE,8BAA0C;EvE+rQlD;EuE7rQM;;IAEE,4BAAsC;EvE+rQ9C;EuE9sQM;IAAgC,qBAA4B;EvEitQlE;EuEhtQM;;IAEE,yBAAoC;EvEktQ5C;EuEhtQM;;IAEE,2BAAwC;EvEktQhD;EuEhtQM;;IAEE,4BAA0C;EvEktQlD;EuEhtQM;;IAEE,0BAAsC;EvEktQ9C;EuEjuQM;IAAgC,2BAA4B;EvEouQlE;EuEnuQM;;IAEE,+BAAoC;EvEquQ5C;EuEnuQM;;IAEE,iCAAwC;EvEquQhD;EuEnuQM;;IAEE,kCAA0C;EvEquQlD;EuEnuQM;;IAEE,gCAAsC;EvEquQ9C;EuEpvQM;IAAgC,0BAA4B;EvEuvQlE;EuEtvQM;;IAEE,8BAAoC;EvEwvQ5C;EuEtvQM;;IAEE,gCAAwC;EvEwvQhD;EuEtvQM;;IAEE,iCAA0C;EvEwvQlD;EuEtvQM;;IAEE,+BAAsC;EvEwvQ9C;EuEvwQM;IAAgC,wBAA4B;EvE0wQlE;EuEzwQM;;IAEE,4BAAoC;EvE2wQ5C;EuEzwQM;;IAEE,8BAAwC;EvE2wQhD;EuEzwQM;;IAEE,+BAA0C;EvE2wQlD;EuEzwQM;;IAEE,6BAAsC;EvE2wQ9C;EuE1xQM;IAAgC,0BAA4B;EvE6xQlE;EuE5xQM;;IAEE,8BAAoC;EvE8xQ5C;EuE5xQM;;IAEE,gCAAwC;EvE8xQhD;EuE5xQM;;IAEE,iCAA0C;EvE8xQlD;EuE5xQM;;IAEE,+BAAsC;EvE8xQ9C;EuE7yQM;IAAgC,wBAA4B;EvEgzQlE;EuE/yQM;;IAEE,4BAAoC;EvEizQ5C;EuE/yQM;;IAEE,8BAAwC;EvEizQhD;EuE/yQM;;IAEE,+BAA0C;EvEizQlD;EuE/yQM;;IAEE,6BAAsC;EvEizQ9C;EuEzyQM;IAAwB,2BAA2B;EvE4yQzD;EuE3yQM;;IAEE,+BAA+B;EvE6yQvC;EuE3yQM;;IAEE,iCAAiC;EvE6yQzC;EuE3yQM;;IAEE,kCAAkC;EvE6yQ1C;EuE3yQM;;IAEE,gCAAgC;EvE6yQxC;EuE5zQM;IAAwB,0BAA2B;EvE+zQzD;EuE9zQM;;IAEE,8BAA+B;EvEg0QvC;EuE9zQM;;IAEE,gCAAiC;EvEg0QzC;EuE9zQM;;IAEE,iCAAkC;EvEg0Q1C;EuE9zQM;;IAEE,+BAAgC;EvEg0QxC;EuE/0QM;IAAwB,wBAA2B;EvEk1QzD;EuEj1QM;;IAEE,4BAA+B;EvEm1QvC;EuEj1QM;;IAEE,8BAAiC;EvEm1QzC;EuEj1QM;;IAEE,+BAAkC;EvEm1Q1C;EuEj1QM;;IAEE,6BAAgC;EvEm1QxC;EuEl2QM;IAAwB,0BAA2B;EvEq2QzD;EuEp2QM;;IAEE,8BAA+B;EvEs2QvC;EuEp2QM;;IAEE,gCAAiC;EvEs2QzC;EuEp2QM;;IAEE,iCAAkC;EvEs2Q1C;EuEp2QM;;IAEE,+BAAgC;EvEs2QxC;EuEr3QM;IAAwB,wBAA2B;EvEw3QzD;EuEv3QM;;IAEE,4BAA+B;EvEy3QvC;EuEv3QM;;IAEE,8BAAiC;EvEy3QzC;EuEv3QM;;IAEE,+BAAkC;EvEy3Q1C;EuEv3QM;;IAEE,6BAAgC;EvEy3QxC;EuEn3QE;IAAmB,uBAAuB;EvEs3Q5C;EuEr3QE;;IAEE,2BAA2B;EvEu3Q/B;EuEr3QE;;IAEE,6BAA6B;EvEu3QjC;EuEr3QE;;IAEE,8BAA8B;EvEu3QlC;EuEr3QE;;IAEE,4BAA4B;EvEu3QhC;AACF;;Acj4QI;EyDlDI;IAAgC,oBAA4B;EvEw7QlE;EuEv7QM;;IAEE,wBAAoC;EvEy7Q5C;EuEv7QM;;IAEE,0BAAwC;EvEy7QhD;EuEv7QM;;IAEE,2BAA0C;EvEy7QlD;EuEv7QM;;IAEE,yBAAsC;EvEy7Q9C;EuEx8QM;IAAgC,0BAA4B;EvE28QlE;EuE18QM;;IAEE,8BAAoC;EvE48Q5C;EuE18QM;;IAEE,gCAAwC;EvE48QhD;EuE18QM;;IAEE,iCAA0C;EvE48QlD;EuE18QM;;IAEE,+BAAsC;EvE48Q9C;EuE39QM;IAAgC,yBAA4B;EvE89QlE;EuE79QM;;IAEE,6BAAoC;EvE+9Q5C;EuE79QM;;IAEE,+BAAwC;EvE+9QhD;EuE79QM;;IAEE,gCAA0C;EvE+9QlD;EuE79QM;;IAEE,8BAAsC;EvE+9Q9C;EuE9+QM;IAAgC,uBAA4B;EvEi/QlE;EuEh/QM;;IAEE,2BAAoC;EvEk/Q5C;EuEh/QM;;IAEE,6BAAwC;EvEk/QhD;EuEh/QM;;IAEE,8BAA0C;EvEk/QlD;EuEh/QM;;IAEE,4BAAsC;EvEk/Q9C;EuEjgRM;IAAgC,yBAA4B;EvEogRlE;EuEngRM;;IAEE,6BAAoC;EvEqgR5C;EuEngRM;;IAEE,+BAAwC;EvEqgRhD;EuEngRM;;IAEE,gCAA0C;EvEqgRlD;EuEngRM;;IAEE,8BAAsC;EvEqgR9C;EuEphRM;IAAgC,uBAA4B;EvEuhRlE;EuEthRM;;IAEE,2BAAoC;EvEwhR5C;EuEthRM;;IAEE,6BAAwC;EvEwhRhD;EuEthRM;;IAEE,8BAA0C;EvEwhRlD;EuEthRM;;IAEE,4BAAsC;EvEwhR9C;EuEviRM;IAAgC,qBAA4B;EvE0iRlE;EuEziRM;;IAEE,yBAAoC;EvE2iR5C;EuEziRM;;IAEE,2BAAwC;EvE2iRhD;EuEziRM;;IAEE,4BAA0C;EvE2iRlD;EuEziRM;;IAEE,0BAAsC;EvE2iR9C;EuE1jRM;IAAgC,2BAA4B;EvE6jRlE;EuE5jRM;;IAEE,+BAAoC;EvE8jR5C;EuE5jRM;;IAEE,iCAAwC;EvE8jRhD;EuE5jRM;;IAEE,kCAA0C;EvE8jRlD;EuE5jRM;;IAEE,gCAAsC;EvE8jR9C;EuE7kRM;IAAgC,0BAA4B;EvEglRlE;EuE/kRM;;IAEE,8BAAoC;EvEilR5C;EuE/kRM;;IAEE,gCAAwC;EvEilRhD;EuE/kRM;;IAEE,iCAA0C;EvEilRlD;EuE/kRM;;IAEE,+BAAsC;EvEilR9C;EuEhmRM;IAAgC,wBAA4B;EvEmmRlE;EuElmRM;;IAEE,4BAAoC;EvEomR5C;EuElmRM;;IAEE,8BAAwC;EvEomRhD;EuElmRM;;IAEE,+BAA0C;EvEomRlD;EuElmRM;;IAEE,6BAAsC;EvEomR9C;EuEnnRM;IAAgC,0BAA4B;EvEsnRlE;EuErnRM;;IAEE,8BAAoC;EvEunR5C;EuErnRM;;IAEE,gCAAwC;EvEunRhD;EuErnRM;;IAEE,iCAA0C;EvEunRlD;EuErnRM;;IAEE,+BAAsC;EvEunR9C;EuEtoRM;IAAgC,wBAA4B;EvEyoRlE;EuExoRM;;IAEE,4BAAoC;EvE0oR5C;EuExoRM;;IAEE,8BAAwC;EvE0oRhD;EuExoRM;;IAEE,+BAA0C;EvE0oRlD;EuExoRM;;IAEE,6BAAsC;EvE0oR9C;EuEloRM;IAAwB,2BAA2B;EvEqoRzD;EuEpoRM;;IAEE,+BAA+B;EvEsoRvC;EuEpoRM;;IAEE,iCAAiC;EvEsoRzC;EuEpoRM;;IAEE,kCAAkC;EvEsoR1C;EuEpoRM;;IAEE,gCAAgC;EvEsoRxC;EuErpRM;IAAwB,0BAA2B;EvEwpRzD;EuEvpRM;;IAEE,8BAA+B;EvEypRvC;EuEvpRM;;IAEE,gCAAiC;EvEypRzC;EuEvpRM;;IAEE,iCAAkC;EvEypR1C;EuEvpRM;;IAEE,+BAAgC;EvEypRxC;EuExqRM;IAAwB,wBAA2B;EvE2qRzD;EuE1qRM;;IAEE,4BAA+B;EvE4qRvC;EuE1qRM;;IAEE,8BAAiC;EvE4qRzC;EuE1qRM;;IAEE,+BAAkC;EvE4qR1C;EuE1qRM;;IAEE,6BAAgC;EvE4qRxC;EuE3rRM;IAAwB,0BAA2B;EvE8rRzD;EuE7rRM;;IAEE,8BAA+B;EvE+rRvC;EuE7rRM;;IAEE,gCAAiC;EvE+rRzC;EuE7rRM;;IAEE,iCAAkC;EvE+rR1C;EuE7rRM;;IAEE,+BAAgC;EvE+rRxC;EuE9sRM;IAAwB,wBAA2B;EvEitRzD;EuEhtRM;;IAEE,4BAA+B;EvEktRvC;EuEhtRM;;IAEE,8BAAiC;EvEktRzC;EuEhtRM;;IAEE,+BAAkC;EvEktR1C;EuEhtRM;;IAEE,6BAAgC;EvEktRxC;EuE5sRE;IAAmB,uBAAuB;EvE+sR5C;EuE9sRE;;IAEE,2BAA2B;EvEgtR/B;EuE9sRE;;IAEE,6BAA6B;EvEgtRjC;EuE9sRE;;IAEE,8BAA8B;EvEgtRlC;EuE9sRE;;IAEE,4BAA4B;EvEgtRhC;AACF;;Ac1tRI;EyDlDI;IAAgC,oBAA4B;EvEixRlE;EuEhxRM;;IAEE,wBAAoC;EvEkxR5C;EuEhxRM;;IAEE,0BAAwC;EvEkxRhD;EuEhxRM;;IAEE,2BAA0C;EvEkxRlD;EuEhxRM;;IAEE,yBAAsC;EvEkxR9C;EuEjyRM;IAAgC,0BAA4B;EvEoyRlE;EuEnyRM;;IAEE,8BAAoC;EvEqyR5C;EuEnyRM;;IAEE,gCAAwC;EvEqyRhD;EuEnyRM;;IAEE,iCAA0C;EvEqyRlD;EuEnyRM;;IAEE,+BAAsC;EvEqyR9C;EuEpzRM;IAAgC,yBAA4B;EvEuzRlE;EuEtzRM;;IAEE,6BAAoC;EvEwzR5C;EuEtzRM;;IAEE,+BAAwC;EvEwzRhD;EuEtzRM;;IAEE,gCAA0C;EvEwzRlD;EuEtzRM;;IAEE,8BAAsC;EvEwzR9C;EuEv0RM;IAAgC,uBAA4B;EvE00RlE;EuEz0RM;;IAEE,2BAAoC;EvE20R5C;EuEz0RM;;IAEE,6BAAwC;EvE20RhD;EuEz0RM;;IAEE,8BAA0C;EvE20RlD;EuEz0RM;;IAEE,4BAAsC;EvE20R9C;EuE11RM;IAAgC,yBAA4B;EvE61RlE;EuE51RM;;IAEE,6BAAoC;EvE81R5C;EuE51RM;;IAEE,+BAAwC;EvE81RhD;EuE51RM;;IAEE,gCAA0C;EvE81RlD;EuE51RM;;IAEE,8BAAsC;EvE81R9C;EuE72RM;IAAgC,uBAA4B;EvEg3RlE;EuE/2RM;;IAEE,2BAAoC;EvEi3R5C;EuE/2RM;;IAEE,6BAAwC;EvEi3RhD;EuE/2RM;;IAEE,8BAA0C;EvEi3RlD;EuE/2RM;;IAEE,4BAAsC;EvEi3R9C;EuEh4RM;IAAgC,qBAA4B;EvEm4RlE;EuEl4RM;;IAEE,yBAAoC;EvEo4R5C;EuEl4RM;;IAEE,2BAAwC;EvEo4RhD;EuEl4RM;;IAEE,4BAA0C;EvEo4RlD;EuEl4RM;;IAEE,0BAAsC;EvEo4R9C;EuEn5RM;IAAgC,2BAA4B;EvEs5RlE;EuEr5RM;;IAEE,+BAAoC;EvEu5R5C;EuEr5RM;;IAEE,iCAAwC;EvEu5RhD;EuEr5RM;;IAEE,kCAA0C;EvEu5RlD;EuEr5RM;;IAEE,gCAAsC;EvEu5R9C;EuEt6RM;IAAgC,0BAA4B;EvEy6RlE;EuEx6RM;;IAEE,8BAAoC;EvE06R5C;EuEx6RM;;IAEE,gCAAwC;EvE06RhD;EuEx6RM;;IAEE,iCAA0C;EvE06RlD;EuEx6RM;;IAEE,+BAAsC;EvE06R9C;EuEz7RM;IAAgC,wBAA4B;EvE47RlE;EuE37RM;;IAEE,4BAAoC;EvE67R5C;EuE37RM;;IAEE,8BAAwC;EvE67RhD;EuE37RM;;IAEE,+BAA0C;EvE67RlD;EuE37RM;;IAEE,6BAAsC;EvE67R9C;EuE58RM;IAAgC,0BAA4B;EvE+8RlE;EuE98RM;;IAEE,8BAAoC;EvEg9R5C;EuE98RM;;IAEE,gCAAwC;EvEg9RhD;EuE98RM;;IAEE,iCAA0C;EvEg9RlD;EuE98RM;;IAEE,+BAAsC;EvEg9R9C;EuE/9RM;IAAgC,wBAA4B;EvEk+RlE;EuEj+RM;;IAEE,4BAAoC;EvEm+R5C;EuEj+RM;;IAEE,8BAAwC;EvEm+RhD;EuEj+RM;;IAEE,+BAA0C;EvEm+RlD;EuEj+RM;;IAEE,6BAAsC;EvEm+R9C;EuE39RM;IAAwB,2BAA2B;EvE89RzD;EuE79RM;;IAEE,+BAA+B;EvE+9RvC;EuE79RM;;IAEE,iCAAiC;EvE+9RzC;EuE79RM;;IAEE,kCAAkC;EvE+9R1C;EuE79RM;;IAEE,gCAAgC;EvE+9RxC;EuE9+RM;IAAwB,0BAA2B;EvEi/RzD;EuEh/RM;;IAEE,8BAA+B;EvEk/RvC;EuEh/RM;;IAEE,gCAAiC;EvEk/RzC;EuEh/RM;;IAEE,iCAAkC;EvEk/R1C;EuEh/RM;;IAEE,+BAAgC;EvEk/RxC;EuEjgSM;IAAwB,wBAA2B;EvEogSzD;EuEngSM;;IAEE,4BAA+B;EvEqgSvC;EuEngSM;;IAEE,8BAAiC;EvEqgSzC;EuEngSM;;IAEE,+BAAkC;EvEqgS1C;EuEngSM;;IAEE,6BAAgC;EvEqgSxC;EuEphSM;IAAwB,0BAA2B;EvEuhSzD;EuEthSM;;IAEE,8BAA+B;EvEwhSvC;EuEthSM;;IAEE,gCAAiC;EvEwhSzC;EuEthSM;;IAEE,iCAAkC;EvEwhS1C;EuEthSM;;IAEE,+BAAgC;EvEwhSxC;EuEviSM;IAAwB,wBAA2B;EvE0iSzD;EuEziSM;;IAEE,4BAA+B;EvE2iSvC;EuEziSM;;IAEE,8BAAiC;EvE2iSzC;EuEziSM;;IAEE,+BAAkC;EvE2iS1C;EuEziSM;;IAEE,6BAAgC;EvE2iSxC;EuEriSE;IAAmB,uBAAuB;EvEwiS5C;EuEviSE;;IAEE,2BAA2B;EvEyiS/B;EuEviSE;;IAEE,6BAA6B;EvEyiSjC;EuEviSE;;IAEE,8BAA8B;EvEyiSlC;EuEviSE;;IAEE,4BAA4B;EvEyiShC;AACF;;AwE3mSA;EAEI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,UAAU;EAEV,oBAAoB;EACpB,WAAW;EAEX,kCAAkC;AxE2mStC;;AyErnSA;EAAkB,4GAA8C;AzEynShE;;AyErnSA;EAAiB,8BAA8B;AzEynS/C;;AyExnSA;EAAiB,8BAA8B;AzE4nS/C;;AyE3nSA;EAAiB,8BAA8B;AzE+nS/C;;AyE9nSA;ECTE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;A1E2oSrB;;AyE5nSI;EAAwB,2BAA2B;AzEgoSvD;;AyE/nSI;EAAwB,4BAA4B;AzEmoSxD;;AyEloSI;EAAwB,6BAA6B;AzEsoSzD;;AcjmSI;E2DvCA;IAAwB,2BAA2B;EzE6oSrD;EyE5oSE;IAAwB,4BAA4B;EzE+oStD;EyE9oSE;IAAwB,6BAA6B;EzEipSvD;AACF;;Ac7mSI;E2DvCA;IAAwB,2BAA2B;EzEypSrD;EyExpSE;IAAwB,4BAA4B;EzE2pStD;EyE1pSE;IAAwB,6BAA6B;EzE6pSvD;AACF;;AcznSI;E2DvCA;IAAwB,2BAA2B;EzEqqSrD;EyEpqSE;IAAwB,4BAA4B;EzEuqStD;EyEtqSE;IAAwB,6BAA6B;EzEyqSvD;AACF;;AcroSI;E2DvCA;IAAwB,2BAA2B;EzEirSrD;EyEhrSE;IAAwB,4BAA4B;EzEmrStD;EyElrSE;IAAwB,6BAA6B;EzEqrSvD;AACF;;AyEhrSA;EAAmB,oCAAoC;AzEorSvD;;AyEnrSA;EAAmB,oCAAoC;AzEurSvD;;AyEtrSA;EAAmB,qCAAqC;AzE0rSxD;;AyEtrSA;EAAuB,2BAA0C;AzE0rSjE;;AyEzrSA;EAAuB,+BAA4C;AzE6rSnE;;AyE5rSA;EAAuB,2BAA2C;AzEgsSlE;;AyE/rSA;EAAuB,2BAAyC;AzEmsShE;;AyElsSA;EAAuB,8BAA2C;AzEssSlE;;AyErsSA;EAAuB,6BAA6B;AzEysSpD;;AyErsSA;EAAc,sBAAwB;AzEysStC;;A2EhvSE;EACE,yBAAwB;A3EmvS5B;;AKzuSE;EsELM,yBAA0E;A3EkvSlF;;A2ExvSE;EACE,yBAAwB;A3E2vS5B;;AKjvSE;EsELM,yBAA0E;A3E0vSlF;;A2EhwSE;EACE,yBAAwB;A3EmwS5B;;AKzvSE;EsELM,yBAA0E;A3EkwSlF;;A2ExwSE;EACE,yBAAwB;A3E2wS5B;;AKjwSE;EsELM,yBAA0E;A3E0wSlF;;A2EhxSE;EACE,yBAAwB;A3EmxS5B;;AKzwSE;EsELM,yBAA0E;A3EkxSlF;;A2ExxSE;EACE,yBAAwB;A3E2xS5B;;AKjxSE;EsELM,yBAA0E;A3E0xSlF;;A2EhySE;EACE,yBAAwB;A3EmyS5B;;AKzxSE;EsELM,yBAA0E;A3EkySlF;;A2ExySE;EACE,yBAAwB;A3E2yS5B;;AKjySE;EsELM,yBAA0E;A3E0ySlF;;AyEnwSA;EAAa,yBAA6B;AzEuwS1C;;AyEtwSA;EAAc,yBAA6B;AzE0wS3C;;AyExwSA;EAAiB,oCAAkC;AzE4wSnD;;AyE3wSA;EAAiB,0CAAkC;AzE+wSnD;;AyE3wSA;EGvDE,WAAW;EACX,kBAAkB;EAClB,iBAAiB;EACjB,6BAA6B;EAC7B,SAAS;A5Es0SX;;AyE/wSA;EAAwB,gCAAgC;AzEmxSxD;;AyEjxSA;EACE,iCAAiC;EACjC,gCAAgC;AzEoxSlC;;AyE/wSA;EAAc,yBAAyB;AzEmxSvC;;A6Ep1SA;EACE,8BAA8B;A7Eu1ShC;;A6Ep1SA;EACE,6BAA6B;A7Eu1S/B;;A8Ev1SE;E5EOF;;;I4EDM,4BAA4B;IAE5B,2BAA2B;E9Eu1S/B;E8Ep1SE;IAEI,0BAA0B;E9Eq1ShC;E8E50SE;IACE,6BAA6B;E9E80SjC;EEhpSF;I4E/KM,gCAAgC;E9Ek0SpC;E8Eh0SE;;IAEE,yB3EzCY;I2E0CZ,wBAAwB;E9Ek0S5B;E8E1zSE;IACE,2BAA2B;E9E4zS/B;E8EzzSE;;IAEE,wBAAwB;E9E2zS5B;E8ExzSE;;;IAGE,UAAU;IACV,SAAS;E9E0zSb;E8EvzSE;;IAEE,uBAAuB;E9EyzS3B;E8EjzSE;IACE,Q3E2hCgC;EHwxQpC;EE/1SF;I4E+CM,2BAA2C;E9EmzS/C;E8EjzSE;IACE,2BAA2C;E9EmzS/C;EiCj4SF;I6CmFM,aAAa;E9EizSjB;EsCh5SF;IwCkGM,sB3EtFS;EHu4Sb;EgBp5SF;I8DuGM,oCAAoC;E9EgzSxC;E8EjzSE;;IAKI,iCAAmC;E9EgzSzC;EgBn3SF;;I8D0EQ,oCAAsC;E9E6yS5C;EgBlySF;I8DNM,cAAc;E9E2ySlB;EiBj6SA;;;;I6D4HM,qB3EvHU;EHk6ShB;EgB7zSF;I8DuBM,cAAc;IACd,qB3E7HY;EHs6ShB;AACF","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"utilities\";\n@import \"print\";\n","/*!\n * Bootstrap v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\ninput[type=\"date\"].form-control,\ninput[type=\"time\"].form-control,\ninput[type=\"datetime-local\"].form-control,\ninput[type=\"month\"].form-control {\n appearance: none;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n font-size: 1rem;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n z-index: 1;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n color-adjust: exact;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1;\n width: 1rem;\n height: 1.25rem;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input[disabled] ~ .custom-file-label,\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion {\n overflow-anchor: none;\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item {\n display: flex;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n line-height: 0;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: 0.25rem;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush {\n border-radius: 0;\n}\n\n.list-group-flush > .list-group-item {\n border-width: 0 0 1px;\n}\n\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n flex-basis: 350px;\n max-width: 350px;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n height: min-content;\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n height: min-content;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-break: break-word !important;\n word-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// Do not forget to update getting-started/theming.md!\n:root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role=\"button\"] {\n cursor: pointer;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-th-font-weight: null !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n$custom-control-cursor: null !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-label-color: null !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: null !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: null !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: null !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>\") !default;\n$custom-select-background: escape-svg($custom-select-indicator) no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n$user-selects: all, auto, none !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled() {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid() {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n @include deprecate(\"`img-retina()`\", \"v4.3.0\", \"v5\");\n}\n","// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n","// Inline code\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n @include deprecate(\"The `make-container-max-widths` mixin\", \"v4.5.2\", \"v5\");\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @if $columns > 0 {\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n }\n\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n @if $columns > 0 {\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover() {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover() {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover() {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" or unit($prev-num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n @if length($map) > 0 {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// See https://codepen.io/kevinweber/pen/dXWoRw\n//\n// Requires the use of quotes around data URIs.\n\n@function escape-svg($string) {\n @if str-index($string, \"data:image/svg+xml\") {\n @each $char, $encoded in $escaped-characters {\n // Do not escape the url brackets\n @if str-index($string, \"url(\") == 1 {\n $string: url(\"#{str-replace(str-slice($string, 6, -3), $char, $encoded)}\");\n } @else {\n $string: str-replace($string, $char, $encoded);\n }\n }\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @if ($yiq >= $yiq-contrasted-threshold) {\n @return $dark;\n } @else {\n @return $light;\n }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n\n// Return valid calc\n@function add($value1, $value2, $return-calc: true) {\n @if $value1 == null {\n @return $value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 + $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(\" + \") + $value2);\n}\n\n@function subtract($value1, $value2, $return-calc: true) {\n @if $value1 == null and $value2 == null {\n @return null;\n }\n\n @if $value1 == null {\n @return -$value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 - $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(\" - \") + $value2);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Remove select outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $input-color;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus($ignore-warning: true);\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n &.form-control {\n appearance: none; // Fix appearance for date inputs in Safari\n }\n}\n\nselect.form-control {\n &:focus::-ms-value {\n // Suppress the nested default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n @include font-size($input-font-size);\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n// stylelint-disable-next-line no-duplicate-selectors\nselect.form-control {\n &[size],\n &[multiple] {\n height: auto;\n }\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n display: block;\n margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$form-grid-gutter-width / 2;\n margin-left: -$form-grid-gutter-width / 2;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: $form-grid-gutter-width / 2;\n padding-left: $form-grid-gutter-width / 2;\n }\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n position: relative;\n display: block;\n padding-left: $form-check-input-gutter;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: $form-check-input-margin-y;\n margin-left: -$form-check-input-gutter;\n\n // Use [disabled] and :disabled for workaround https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .form-check-label,\n &:disabled ~ .form-check-label {\n color: $text-muted;\n }\n}\n\n.form-check-label {\n margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0; // Override base .form-check\n margin-right: $form-check-inline-margin-x;\n\n // Undo .form-check-input defaults and add some `margin-right`.\n .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: $form-check-inline-input-margin-x;\n margin-left: 0;\n }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@each $state, $data in $form-validation-states {\n @include form-validation-state($state, map-get($data, color), map-get($data, icon));\n}\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group,\n .custom-select {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n\n .custom-control {\n align-items: center;\n justify-content: center;\n }\n .custom-control-label {\n margin-bottom: 0;\n }\n }\n}\n","// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-prefers-reduced-motion-media-query and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($ignore-warning: false) {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $input-focus-box-shadow;\n }\n }\n @include deprecate(\"The `form-control-focus()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-yiq($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .custom-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $custom-select-feedback-icon-padding-right;\n background: $custom-select-background, escape-svg($icon) $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .custom-control-input {\n @include form-validation-state-selector($state) {\n ~ .custom-control-label {\n color: $color;\n\n &::before {\n border-color: $color;\n }\n }\n\n &:checked {\n ~ .custom-control-label::before {\n border-color: lighten($color, 10%);\n @include gradient-bg(lighten($color, 10%));\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n &:not(:checked) ~ .custom-control-label::before {\n border-color: $color;\n }\n }\n }\n }\n\n // custom file\n .custom-file-input {\n @include form-validation-state-selector($state) {\n ~ .custom-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .custom-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n color: $body-color;\n text-align: center;\n text-decoration: if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n @include hover() {\n color: $body-color;\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n &:not(:disabled):not(.disabled) {\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n\n &:active,\n &.active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $link-color;\n text-decoration: $link-decoration;\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover() {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n @if $enable-shadows {\n @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows and $btn-active-box-shadow != none {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n border-color: $color;\n\n @include hover() {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows and $btn-active-box-shadow != none {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y $dropdown-padding-x;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n @include hover-focus() {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-header-padding;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n","@mixin caret-down() {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up() {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right() {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left() {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) {\n height: 0;\n margin: $margin-y 0;\n overflow: hidden;\n border-top: 1px solid $color;\n @include deprecate(\"The `nav-divider()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n @include hover() {\n z-index: 1;\n }\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-control-plaintext,\n > .custom-select,\n > .custom-file {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n margin-bottom: 0;\n\n + .form-control,\n + .custom-select,\n + .custom-file {\n margin-left: -$input-border-width;\n }\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .custom-select:focus,\n > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .custom-file .custom-file-input:focus {\n z-index: 4;\n }\n\n > .form-control,\n > .custom-select {\n &:not(:last-child) { @include border-right-radius(0); }\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .custom-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .custom-file-label,\n &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }\n &:not(:first-child) .custom-file-label { @include border-left-radius(0); }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: $custom-select-padding-x + $custom-select-indicator-padding;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n","// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n position: relative;\n z-index: 1;\n display: block;\n min-height: $font-size-base * $line-height-base;\n padding-left: $custom-control-gutter + $custom-control-indicator-size;\n color-adjust: exact; // Keep themed appearance for print\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1; // Put the input behind the label so it doesn't overlay text\n width: $custom-control-indicator-size;\n height: ($font-size-base * $line-height-base + $custom-control-indicator-size) / 2;\n opacity: 0;\n\n &:checked ~ .custom-control-label::before {\n color: $custom-control-indicator-checked-color;\n border-color: $custom-control-indicator-checked-border-color;\n @include gradient-bg($custom-control-indicator-checked-bg);\n @include box-shadow($custom-control-indicator-checked-box-shadow);\n }\n\n &:focus ~ .custom-control-label::before {\n // the mixin is not used here to make sure there is feedback\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $custom-control-indicator-focus-box-shadow;\n } @else {\n box-shadow: $custom-control-indicator-focus-box-shadow;\n }\n }\n\n &:focus:not(:checked) ~ .custom-control-label::before {\n border-color: $custom-control-indicator-focus-border-color;\n }\n\n &:not(:disabled):active ~ .custom-control-label::before {\n color: $custom-control-indicator-active-color;\n background-color: $custom-control-indicator-active-bg;\n border-color: $custom-control-indicator-active-border-color;\n @include box-shadow($custom-control-indicator-active-box-shadow);\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .custom-control-label {\n color: $custom-control-label-disabled-color;\n\n &::before {\n background-color: $custom-control-indicator-disabled-bg;\n }\n }\n }\n}\n\n// Custom control indicators\n//\n// Build the custom controls out of pseudo-elements.\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n color: $custom-control-label-color;\n vertical-align: top;\n cursor: $custom-control-cursor;\n\n // Background-color and (when enabled) gradient\n &::before {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n pointer-events: none;\n content: \"\";\n background-color: $custom-control-indicator-bg;\n border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width;\n @include box-shadow($custom-control-indicator-box-shadow);\n }\n\n // Foreground (icon)\n &::after {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n content: \"\";\n background: no-repeat 50% / #{$custom-control-indicator-bg-size};\n }\n}\n\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n .custom-control-label::before {\n @include border-radius($custom-checkbox-indicator-border-radius);\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-checked);\n }\n }\n\n .custom-control-input:indeterminate ~ .custom-control-label {\n &::before {\n border-color: $custom-checkbox-indicator-indeterminate-border-color;\n @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);\n @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n }\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-indeterminate);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n &:indeterminate ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n .custom-control-label::before {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-radio-indicator-border-radius;\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-radio-indicator-icon-checked);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n\n// switches\n//\n// Tweak a few things for switches\n\n.custom-switch {\n padding-left: $custom-switch-width + $custom-control-gutter;\n\n .custom-control-label {\n &::before {\n left: -($custom-switch-width + $custom-control-gutter);\n width: $custom-switch-width;\n pointer-events: all;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-switch-indicator-border-radius;\n }\n\n &::after {\n top: add(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2, $custom-control-indicator-border-width * 2);\n left: add(-($custom-switch-width + $custom-control-gutter), $custom-control-indicator-border-width * 2);\n width: $custom-switch-indicator-size;\n height: $custom-switch-indicator-size;\n background-color: $custom-control-indicator-border-color;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-switch-indicator-border-radius;\n @include transition(transform .15s ease-in-out, $custom-forms-transition);\n }\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-color: $custom-control-indicator-bg;\n transform: translateX($custom-switch-width - $custom-control-indicator-size);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n//\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: $custom-select-height;\n padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n font-family: $custom-select-font-family;\n @include font-size($custom-select-font-size);\n font-weight: $custom-select-font-weight;\n line-height: $custom-select-line-height;\n color: $custom-select-color;\n vertical-align: middle;\n background: $custom-select-bg $custom-select-background;\n border: $custom-select-border-width solid $custom-select-border-color;\n @include border-radius($custom-select-border-radius, 0);\n @include box-shadow($custom-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $custom-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($custom-select-box-shadow, $custom-select-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $custom-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $custom-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $custom-select-disabled-color;\n background-color: $custom-select-disabled-bg;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n display: none;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $custom-select-color;\n }\n}\n\n.custom-select-sm {\n height: $custom-select-height-sm;\n padding-top: $custom-select-padding-y-sm;\n padding-bottom: $custom-select-padding-y-sm;\n padding-left: $custom-select-padding-x-sm;\n @include font-size($custom-select-font-size-sm);\n}\n\n.custom-select-lg {\n height: $custom-select-height-lg;\n padding-top: $custom-select-padding-y-lg;\n padding-bottom: $custom-select-padding-y-lg;\n padding-left: $custom-select-padding-x-lg;\n @include font-size($custom-select-font-size-lg);\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $custom-file-height;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $custom-file-height;\n margin: 0;\n opacity: 0;\n\n &:focus ~ .custom-file-label {\n border-color: $custom-file-focus-border-color;\n box-shadow: $custom-file-focus-box-shadow;\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .custom-file-label,\n &:disabled ~ .custom-file-label {\n background-color: $custom-file-disabled-bg;\n }\n\n @each $lang, $value in $custom-file-text {\n &:lang(#{$lang}) ~ .custom-file-label::after {\n content: $value;\n }\n }\n\n ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n }\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: $custom-file-height;\n padding: $custom-file-padding-y $custom-file-padding-x;\n font-family: $custom-file-font-family;\n font-weight: $custom-file-font-weight;\n line-height: $custom-file-line-height;\n color: $custom-file-color;\n background-color: $custom-file-bg;\n border: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius($custom-file-border-radius);\n @include box-shadow($custom-file-box-shadow);\n\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: $custom-file-height-inner;\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-button-color;\n content: \"Browse\";\n @include gradient-bg($custom-file-button-bg);\n border-left: inherit;\n @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n }\n}\n\n// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.custom-range {\n width: 100%;\n height: add($custom-range-thumb-height, $custom-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: ($custom-range-track-height - $custom-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent; // Why?\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent;\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $custom-range-thumb-height / 2;\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &:disabled {\n &::-webkit-slider-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-webkit-slider-runnable-track {\n cursor: default;\n }\n\n &::-moz-range-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-moz-range-track {\n cursor: default;\n }\n\n &::-ms-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n }\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n @include transition($custom-forms-transition);\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n text-decoration: if($link-decoration == none, null, none);\n\n @include hover-focus() {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n @include hover-focus() {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n > .nav-link,\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n > .nav-link,\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n %container-flex-properties {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n\n .container,\n .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n @include font-size($navbar-brand-font-size);\n line-height: inherit;\n white-space: nowrap;\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n float: none;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n %container-navbar-expand-#{$breakpoint} {\n padding-right: 0;\n padding-left: 0;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n %container-nesting-#{$breakpoint} {\n flex-wrap: nowrap;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-nesting-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-nesting-#{$breakpoint};\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n @include hover-focus() {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n @include hover-focus() {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n a {\n color: $navbar-light-active-color;\n\n @include hover-focus() {\n color: $navbar-light-active-color;\n }\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n @include hover-focus() {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n @include hover-focus() {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a {\n color: $navbar-dark-active-color;\n\n @include hover-focus() {\n color: $navbar-dark-active-color;\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n\n &:first-child {\n border-top-width: 0;\n @include border-top-radius($card-inner-border-radius);\n }\n\n &:last-child {\n border-bottom-width: 0;\n @include border-bottom-radius($card-inner-border-radius);\n }\n }\n\n // Due to specificity of the above selector (`.card > .list-group`), we must\n // use a child selector here to prevent double borders.\n > .card-header + .list-group,\n > .list-group + .card-footer {\n border-top: 0;\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n // Workaround for the image size bug in IE\n // See: https://github.com/twbs/bootstrap/pull/28855\n min-height: 1px;\n padding: $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n @include hover() {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-spacer-x / 2;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x / 2;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -$card-spacer-x / 2;\n margin-left: -$card-spacer-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n @include border-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Columns\n//\n\n.card-columns {\n .card {\n margin-bottom: $card-columns-margin;\n }\n\n @include media-breakpoint-up(sm) {\n column-count: $card-columns-count;\n column-gap: $card-columns-gap;\n orphans: 1;\n widows: 1;\n\n .card {\n display: inline-block; // Don't let them vertically span multiple columns\n width: 100%; // Don't let their width change\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n overflow-anchor: none;\n\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n display: flex;\n\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n @include border-radius();\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: $pagination-padding-y $pagination-padding-x;\n margin-left: -$pagination-border-width;\n line-height: $pagination-line-height;\n color: $pagination-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:first-child {\n .page-link {\n margin-left: 0;\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n }\n\n .page-item {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n @include transition($badge-transition);\n\n @at-root a#{&} {\n @include hover-focus() {\n text-decoration: none;\n }\n }\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n padding-right: $badge-pill-padding-x;\n padding-left: $badge-pill-padding-x;\n @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n .badge-#{$color} {\n @include badge-variant($value);\n }\n}\n","@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n @at-root a#{&} {\n @include hover-focus() {\n color: color-yiq($bg);\n background-color: darken($bg, 10%);\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);\n }\n }\n}\n",".jumbotron {\n padding: $jumbotron-padding ($jumbotron-padding / 2);\n margin-bottom: $jumbotron-padding;\n color: $jumbotron-color;\n background-color: $jumbotron-bg;\n @include border-radius($border-radius-lg);\n\n @include media-breakpoint-up(sm) {\n padding: ($jumbotron-padding * 2) $jumbotron-padding;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n @include border-radius(0);\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n from { background-position: $progress-height 0; }\n to { background-position: 0 0; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n line-height: 0;\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n",".media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius($list-group-border-radius);\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n @include hover-focus() {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius(inherit);\n }\n\n &:last-child {\n @include border-bottom-radius(inherit);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 $list-group-border-width;\n\n &:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n @include hover-focus() {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",".close {\n float: right;\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n @include hover() {\n color: $close-color;\n text-decoration: none;\n }\n\n &:not(:disabled):not(.disabled) {\n @include hover-focus() {\n opacity: .75;\n }\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\n// Future-proof disabling of clicks on `<a>` elements\n\n// stylelint-disable-next-line selector-no-qualifying-type\na.close.disabled {\n pointer-events: none;\n}\n",".toast {\n // Prevents from shrinking in IE11, when in a flex container\n // See https://github.com/twbs/bootstrap/issues/28341\n flex-basis: $toast-max-width;\n max-width: $toast-max-width;\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n @include border-top-radius(subtract($toast-border-radius, $toast-border-width));\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n display: flex; // IE10/11\n max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n\n // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)\n &::before {\n display: block; // IE10\n height: subtract(100vh, $modal-dialog-margin * 2);\n height: min-content; // Reset height to 0 except on IE\n content: \"\";\n }\n\n // Ensure `.modal-body` shows scrollbar (IE10/11)\n &.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n\n .modal-content {\n max-height: none;\n }\n\n &::before {\n content: none;\n }\n }\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n }\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n &::before {\n height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n height: min-content;\n }\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text() {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n @include hover-focus() {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: no-repeat 50% / 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: .5;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: 1;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: 20px;\n left: (100% - $carousel-caption-width) / 2;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n","// stylelint-disable declaration-no-important\n\n.align-baseline { vertical-align: baseline !important; } // Browser default\n.align-top { vertical-align: top !important; }\n.align-middle { vertical-align: middle !important; }\n.align-bottom { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top { vertical-align: text-top !important; }\n","// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent},\n button#{$parent} {\n @include hover-focus() {\n background-color: darken($color, 10%) !important;\n }\n }\n @include deprecate(\"The `bg-variant` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n@mixin bg-gradient-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n @include deprecate(\"The `bg-gradient-variant` mixin\", \"v4.5.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n @include bg-variant(\".bg-#{$color}\", $value, true);\n}\n\n@if $enable-gradients {\n @each $color, $value in $theme-colors {\n @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value, true);\n }\n}\n\n.bg-white {\n background-color: $white !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n","// stylelint-disable property-disallowed-list, declaration-no-important\n\n//\n// Border\n//\n\n.border { border: $border-width solid $border-color !important; }\n.border-top { border-top: $border-width solid $border-color !important; }\n.border-right { border-right: $border-width solid $border-color !important; }\n.border-bottom { border-bottom: $border-width solid $border-color !important; }\n.border-left { border-left: $border-width solid $border-color !important; }\n\n.border-0 { border: 0 !important; }\n.border-top-0 { border-top: 0 !important; }\n.border-right-0 { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0 { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n .border-#{$color} {\n border-color: $value !important;\n }\n}\n\n.border-white {\n border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded-sm {\n border-radius: $border-radius-sm !important;\n}\n\n.rounded {\n border-radius: $border-radius !important;\n}\n\n.rounded-top {\n border-top-left-radius: $border-radius !important;\n border-top-right-radius: $border-radius !important;\n}\n\n.rounded-right {\n border-top-right-radius: $border-radius !important;\n border-bottom-right-radius: $border-radius !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-left {\n border-top-left-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-lg {\n border-radius: $border-radius-lg !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: $rounded-pill !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios {\n $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1);\n $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2);\n\n .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} {\n &::before {\n padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x);\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .float#{$infix}-left { float: left !important; }\n .float#{$infix}-right { float: right !important; }\n .float#{$infix}-none { float: none !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $value in $user-selects {\n .user-select-#{$value} { user-select: $value !important; }\n}\n","// stylelint-disable declaration-no-important\n\n@each $value in $overflows {\n .overflow-#{$value} { overflow: $value !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Common values\n@each $position in $positions {\n .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only {\n @include sr-only();\n}\n\n.sr-only-focusable {\n @include sr-only-focusable();\n}\n","// Only display content to screen readers\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only() {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable() {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n }\n}\n","// stylelint-disable declaration-no-important\n\n.shadow-sm { box-shadow: $box-shadow-sm !important; }\n.shadow { box-shadow: $box-shadow !important; }\n.shadow-lg { box-shadow: $box-shadow-lg !important; }\n.shadow-none { box-shadow: none !important; }\n","// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n @each $size, $length in $sizes {\n .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n\n// Viewport additional helpers\n\n.min-vw-100 { min-width: 100vw !important; }\n.min-vh-100 { min-height: 100vh !important; }\n\n.vw-100 { width: 100vw !important; }\n.vh-100 { height: 100vh !important; }\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n // Just in case `pointer-events: none` is set on a parent\n pointer-events: auto;\n content: \"\";\n // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color\n background-color: rgba(0, 0, 0, 0);\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n.text-monospace { font-family: $font-family-monospace !important; }\n\n// Alignment\n\n.text-justify { text-align: justify !important; }\n.text-wrap { white-space: normal !important; }\n.text-nowrap { white-space: nowrap !important; }\n.text-truncate { @include text-truncate(); }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .text#{$infix}-left { text-align: left !important; }\n .text#{$infix}-right { text-align: right !important; }\n .text#{$infix}-center { text-align: center !important; }\n }\n}\n\n// Transformation\n\n.text-lowercase { text-transform: lowercase !important; }\n.text-uppercase { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light { font-weight: $font-weight-light !important; }\n.font-weight-lighter { font-weight: $font-weight-lighter !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold { font-weight: $font-weight-bold !important; }\n.font-weight-bolder { font-weight: $font-weight-bolder !important; }\n.font-italic { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: $white !important; }\n\n@each $color, $value in $theme-colors {\n @include text-emphasis-variant(\".text-#{$color}\", $value, true);\n}\n\n.text-body { color: $body-color !important; }\n.text-muted { color: $text-muted !important; }\n\n.text-black-50 { color: rgba($black, .5) !important; }\n.text-white-50 { color: rgba($white, .5) !important; }\n\n// Misc\n\n.text-hide {\n @include text-hide($ignore-warning: true);\n}\n\n.text-decoration-none { text-decoration: none !important; }\n\n.text-break {\n word-break: break-word !important; // Deprecated, but avoids issues with flex containers\n word-wrap: break-word !important; // Used instead of `overflow-wrap` for IE & Edge Legacy\n}\n\n// Reset\n\n.text-reset { color: inherit !important; }\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n color: $color !important;\n }\n @if $emphasized-link-hover-darken-percentage != 0 {\n a#{$parent} {\n @include hover-focus() {\n color: darken($color, $emphasized-link-hover-darken-percentage) !important;\n }\n }\n }\n @include deprecate(\"`text-emphasis-variant()`\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n","// CSS image replacement\n@mixin text-hide($ignore-warning: false) {\n // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n\n @include deprecate(\"`text-hide()`\", \"v4.1.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Visibility utilities\n//\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/main.css/blob/master/src/_print.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// https://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n @media print {\n *,\n *::before,\n *::after {\n // Bootstrap specific; comment out `color` and `background`\n //color: $black !important; // Black prints faster\n text-shadow: none !important;\n //background: transparent !important;\n box-shadow: none !important;\n }\n\n a {\n &:not(.btn) {\n text-decoration: underline;\n }\n }\n\n // Bootstrap specific; comment the following selector out\n //a[href]::after {\n // content: \" (\" attr(href) \")\";\n //}\n\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n\n // Bootstrap specific; comment the following selector out\n //\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n //\n\n //a[href^=\"#\"]::after,\n //a[href^=\"javascript:\"]::after {\n // content: \"\";\n //}\n\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px\n page-break-inside: avoid;\n }\n\n //\n // Printing Tables:\n // https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables\n //\n\n thead {\n display: table-header-group;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Specify a size and min-width to make printing closer across browsers.\n // We don't set margin here because it breaks `size` in Chrome. We also\n // don't use `!important` on `size` as it breaks in Chrome.\n @page {\n size: $print-page-size;\n }\n body {\n min-width: $print-body-min-width !important;\n }\n .container {\n min-width: $print-body-min-width !important;\n }\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .badge {\n border: $border-width solid $black;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: $white !important;\n }\n }\n\n .table-bordered {\n th,\n td {\n border: 1px solid $gray-300 !important;\n }\n }\n\n .table-dark {\n color: inherit;\n\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $table-border-color;\n }\n }\n\n .table .thead-dark th {\n color: inherit;\n border-color: $table-border-color;\n }\n\n // Bootstrap specific changes end\n }\n}\n"]} \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap.min.css b/src/main/resources/static/css/bootstrap/bootstrap.min.css new file mode 100644 index 0000000..286cde4 --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.5.3 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors + * Copyright 2011-2020 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item,.nav-fill>.nav-link{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item{display:-ms-flexbox;display:flex}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{-ms-flex-preferred-size:350px;flex-basis:350px;max-width:350px;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;-ms-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap.min.css.map b/src/main/resources/static/css/bootstrap/bootstrap.min.css.map new file mode 100644 index 0000000..30a3972 --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","dist/css/bootstrap.css","../../scss/vendor/_rfs.scss","bootstrap.css","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/utilities/_interactions.scss","../../scss/utilities/_overflow.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_stretched-link.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"AAAA;;;;;ACCA,MAGI,OAAA,QAAA,SAAA,QAAA,SAAA,QAAA,OAAA,QAAA,MAAA,QAAA,SAAA,QAAA,SAAA,QAAA,QAAA,QAAA,OAAA,QAAA,OAAA,QAAA,QAAA,KAAA,OAAA,QAAA,YAAA,QAIA,UAAA,QAAA,YAAA,QAAA,UAAA,QAAA,OAAA,QAAA,UAAA,QAAA,SAAA,QAAA,QAAA,QAAA,OAAA,QAIA,gBAAA,EAAA,gBAAA,MAAA,gBAAA,MAAA,gBAAA,MAAA,gBAAA,OAKF,yBAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,WAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,iBAAA,CAAA,mBACA,wBAAA,cAAA,CAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,UCAF,ECqBA,QADA,SDjBE,WAAA,WAGF,KACE,YAAA,WACA,YAAA,KACA,yBAAA,KACA,4BAAA,YAMF,QAAA,MAAA,WAAA,OAAA,OAAA,OAAA,OAAA,KAAA,IAAA,QACE,QAAA,MAUF,KACE,OAAA,EACA,YAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,WAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,iBAAA,CAAA,mBEgFI,UAAA,KF9EJ,YAAA,IACA,YAAA,IACA,MAAA,QACA,WAAA,KACA,iBAAA,KGYF,0CHCE,QAAA,YASF,GACE,WAAA,YACA,OAAA,EACA,SAAA,QAaF,GAAA,GAAA,GAAA,GAAA,GAAA,GACE,WAAA,EACA,cAAA,MAOF,EACE,WAAA,EACA,cAAA,KChBF,0BD2BA,YAEE,gBAAA,UACA,wBAAA,UAAA,OAAA,gBAAA,UAAA,OACA,OAAA,KACA,cAAA,EACA,iCAAA,KAAA,yBAAA,KAGF,QACE,cAAA,KACA,WAAA,OACA,YAAA,QCrBF,GDwBA,GCzBA,GD4BE,WAAA,EACA,cAAA,KAGF,MCxBA,MACA,MAFA,MD6BE,cAAA,EAGF,GACE,YAAA,IAGF,GACE,cAAA,MACA,YAAA,EAGF,WACE,OAAA,EAAA,EAAA,KAGF,ECzBA,OD2BE,YAAA,OAGF,MExFI,UAAA,IFiGJ,IC9BA,IDgCE,SAAA,SEnGE,UAAA,IFqGF,YAAA,EACA,eAAA,SAGF,IAAM,OAAA,OACN,IAAM,IAAA,MAON,EACE,MAAA,QACA,gBAAA,KACA,iBAAA,YIhLA,QJmLE,MAAA,QACA,gBAAA,UASJ,2BACE,MAAA,QACA,gBAAA,KI/LA,iCJkME,MAAA,QACA,gBAAA,KC/BJ,KACA,IDuCA,ICtCA,KD0CE,YAAA,cAAA,CAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,UEpJE,UAAA,IFwJJ,IAEE,WAAA,EAEA,cAAA,KAEA,SAAA,KAGA,mBAAA,UAQF,OAEE,OAAA,EAAA,EAAA,KAQF,IACE,eAAA,OACA,aAAA,KAGF,IAGE,SAAA,OACA,eAAA,OAQF,MACE,gBAAA,SAGF,QACE,YAAA,OACA,eAAA,OACA,MAAA,QACA,WAAA,KACA,aAAA,OAOF,GAEE,WAAA,QACA,WAAA,qBAQF,MAEE,QAAA,aACA,cAAA,MAMF,OAEE,cAAA,EAOF,aACE,QAAA,IAAA,OACA,QAAA,IAAA,KAAA,yBC/EF,ODkFA,MChFA,SADA,OAEA,SDoFE,OAAA,EACA,YAAA,QE5PE,UAAA,QF8PF,YAAA,QAGF,OClFA,MDoFE,SAAA,QAGF,OClFA,ODoFE,eAAA,KGlFF,cHyFE,OAAA,QAMF,OACE,UAAA,OCrFF,cACA,aACA,cD0FA,OAIE,mBAAA,OCzFF,6BACA,4BACA,6BD4FE,sBAKI,OAAA,QC5FN,gCACA,+BACA,gCDgGA,yBAIE,QAAA,EACA,aAAA,KC/FF,qBDkGA,kBAEE,WAAA,WACA,QAAA,EAIF,SACE,SAAA,KAEA,OAAA,SAGF,SAME,UAAA,EAEA,QAAA,EACA,OAAA,EACA,OAAA,EAKF,OACE,QAAA,MACA,MAAA,KACA,UAAA,KACA,QAAA,EACA,cAAA,MEnSI,UAAA,OFqSJ,YAAA,QACA,MAAA,QACA,YAAA,OAGF,SACE,eAAA,SG5GF,yCFGA,yCD+GE,OAAA,KG7GF,cHqHE,eAAA,KACA,mBAAA,KGjHF,yCHyHE,mBAAA,KAQF,6BACE,KAAA,QACA,mBAAA,OAOF,OACE,QAAA,aAGF,QACE,QAAA,UACA,OAAA,QAGF,SACE,QAAA,KG9HF,SHoIE,QAAA,eC7HF,IAAK,IAAK,IAAK,IAAK,IAAK,II/VzB,GAAA,GAAA,GAAA,GAAA,GAAA,GAEE,cAAA,MAEA,YAAA,IACA,YAAA,IAIF,IAAA,GHgHM,UAAA,OG/GN,IAAA,GH+GM,UAAA,KG9GN,IAAA,GH8GM,UAAA,QG7GN,IAAA,GH6GM,UAAA,OG5GN,IAAA,GH4GM,UAAA,QG3GN,IAAA,GH2GM,UAAA,KGzGN,MHyGM,UAAA,QGvGJ,YAAA,IAIF,WHmGM,UAAA,KGjGJ,YAAA,IACA,YAAA,IAEF,WH8FM,UAAA,OG5FJ,YAAA,IACA,YAAA,IAEF,WHyFM,UAAA,OGvFJ,YAAA,IACA,YAAA,IAEF,WHoFM,UAAA,OGlFJ,YAAA,IACA,YAAA,IL6BF,GKpBE,WAAA,KACA,cAAA,KACA,OAAA,EACA,WAAA,IAAA,MAAA,eJ8WF,OItWA,MHMI,UAAA,IGHF,YAAA,IJyWF,MItWA,KAEE,QAAA,KACA,iBAAA,QAQF,eC/EE,aAAA,EACA,WAAA,KDmFF,aCpFE,aAAA,EACA,WAAA,KDsFF,kBACE,QAAA,aADF,mCAII,aAAA,MAUJ,YHjCI,UAAA,IGmCF,eAAA,UAIF,YACE,cAAA,KHeI,UAAA,QGXN,mBACE,QAAA,MH7CE,UAAA,IG+CF,MAAA,QAHF,2BAMI,QAAA,aEnHJ,WCIE,UAAA,KAGA,OAAA,KDDF,eACE,QAAA,OACA,iBAAA,KACA,OAAA,IAAA,MAAA,QEEE,cAAA,ODPF,UAAA,KAGA,OAAA,KDcF,QAEE,QAAA,aAGF,YACE,cAAA,MACA,YAAA,EAGF,gBLkCI,UAAA,IKhCF,MAAA,QGvCF,KRuEI,UAAA,MQrEF,MAAA,QACA,UAAA,WAGA,OACE,MAAA,QAKJ,IACE,QAAA,MAAA,MR0DE,UAAA,MQxDF,MAAA,KACA,iBAAA,QDCE,cAAA,MCLJ,QASI,QAAA,ERkDA,UAAA,KQhDA,YAAA,IVwMJ,IUjME,QAAA,MRyCE,UAAA,MQvCF,MAAA,QAHF,SR0CI,UAAA,QQlCA,MAAA,QACA,WAAA,OAKJ,gBACE,WAAA,MACA,WAAA,OCxCA,WVyhBF,iBAGA,cADA,cADA,cAGA,cW9hBE,MAAA,KACA,cAAA,KACA,aAAA,KACA,aAAA,KACA,YAAA,KCmDE,yBFzCE,WAAA,cACE,UAAA,OEwCJ,yBFzCE,WAAA,cAAA,cACE,UAAA,OEwCJ,yBFzCE,WAAA,cAAA,cAAA,cACE,UAAA,OEwCJ,0BFzCE,WAAA,cAAA,cAAA,cAAA,cACE,UAAA,QA4BN,KCnCA,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,aAAA,MACA,YAAA,MDsCA,YACE,aAAA,EACA,YAAA,EAFF,iBV4hBF,0BUthBM,cAAA,EACA,aAAA,EGtDJ,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,ObilBF,UAEqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aAFqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aAFkJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACnG,aAEqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aaplBI,SAAA,SACA,MAAA,KACA,cAAA,KACA,aAAA,KAsBE,KACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAKE,cFwBN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,UAAA,KEzBM,cFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,cFwBN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WEzBM,cFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,cFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,cFwBN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WEnBE,UFCJ,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KEGQ,OFbR,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UESQ,OFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,OFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,OFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,OFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,OFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,OFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,OFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,OFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,QFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,QFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,QFbR,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEeI,aAAwB,eAAA,GAAA,MAAA,GAExB,YAAuB,eAAA,GAAA,MAAA,GAGrB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,UAAwB,eAAA,GAAA,MAAA,GAAxB,UAAwB,eAAA,GAAA,MAAA,GAAxB,UAAwB,eAAA,GAAA,MAAA,GAOpB,UFhBV,YAAA,UEgBU,UFhBV,YAAA,WEgBU,UFhBV,YAAA,IEgBU,UFhBV,YAAA,WEgBU,UFhBV,YAAA,WEgBU,UFhBV,YAAA,IEgBU,UFhBV,YAAA,WEgBU,UFhBV,YAAA,WEgBU,UFhBV,YAAA,IEgBU,WFhBV,YAAA,WEgBU,WFhBV,YAAA,WCKE,yBC3BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAKE,iBFwBN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,UAAA,KEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WEnBE,aFCJ,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KEGQ,UFbR,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,WFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,WFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,WFbR,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEeI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAOpB,aFhBV,YAAA,EEgBU,aFhBV,YAAA,UEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,cFhBV,YAAA,WEgBU,cFhBV,YAAA,YCKE,yBC3BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAKE,iBFwBN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,UAAA,KEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WEnBE,aFCJ,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KEGQ,UFbR,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,WFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,WFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,WFbR,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEeI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAOpB,aFhBV,YAAA,EEgBU,aFhBV,YAAA,UEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,cFhBV,YAAA,WEgBU,cFhBV,YAAA,YCKE,yBC3BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAKE,iBFwBN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,UAAA,KEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WEnBE,aFCJ,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KEGQ,UFbR,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,WFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,WFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,WFbR,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEeI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAOpB,aFhBV,YAAA,EEgBU,aFhBV,YAAA,UEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,cFhBV,YAAA,WEgBU,cFhBV,YAAA,YCKE,0BC3BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAKE,iBFwBN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,UAAA,KEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IEzBM,iBFwBN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WEnBE,aFCJ,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KEGQ,UFbR,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,UFbR,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IESQ,WFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,WFbR,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WESQ,WFbR,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEeI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAOpB,aFhBV,YAAA,EEgBU,aFhBV,YAAA,UEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,WEgBU,aFhBV,YAAA,IEgBU,cFhBV,YAAA,WEgBU,cFhBV,YAAA,YGnDF,OACE,MAAA,KACA,cAAA,KACA,MAAA,Qd6nDF,UchoDA,UAQI,QAAA,OACA,eAAA,IACA,WAAA,IAAA,MAAA,QAVJ,gBAcI,eAAA,OACA,cAAA,IAAA,MAAA,QAfJ,mBAmBI,WAAA,IAAA,MAAA,Qd6nDJ,acpnDA,aAGI,QAAA,MASJ,gBACE,OAAA,IAAA,MAAA,QdgnDF,mBcjnDA,mBAKI,OAAA,IAAA,MAAA,QdinDJ,yBctnDA,yBAWM,oBAAA,IdknDN,8BAFA,qBc3mDA,qBd4mDA,2BcvmDI,OAAA,EAQJ,yCAEI,iBAAA,gBX/DF,4BW2EI,MAAA,QACA,iBAAA,iBCnFJ,efmrDF,kBADA,kBe9qDM,iBAAA,QfsrDN,2BAFA,kBexrDE,kBfyrDF,wBe7qDQ,aAAA,QZLN,kCYiBM,iBAAA,QALN,qCfgrDF,qCevqDU,iBAAA,QA5BR,iBfysDF,oBADA,oBepsDM,iBAAA,Qf4sDN,6BAFA,oBe9sDE,oBf+sDF,0BensDQ,aAAA,QZLN,oCYiBM,iBAAA,QALN,uCfssDF,uCe7rDU,iBAAA,QA5BR,ef+tDF,kBADA,kBe1tDM,iBAAA,QfkuDN,2BAFA,kBepuDE,kBfquDF,wBeztDQ,aAAA,QZLN,kCYiBM,iBAAA,QALN,qCf4tDF,qCentDU,iBAAA,QA5BR,YfqvDF,eADA,eehvDM,iBAAA,QfwvDN,wBAFA,ee1vDE,ef2vDF,qBe/uDQ,aAAA,QZLN,+BYiBM,iBAAA,QALN,kCfkvDF,kCezuDU,iBAAA,QA5BR,ef2wDF,kBADA,kBetwDM,iBAAA,Qf8wDN,2BAFA,kBehxDE,kBfixDF,wBerwDQ,aAAA,QZLN,kCYiBM,iBAAA,QALN,qCfwwDF,qCe/vDU,iBAAA,QA5BR,cfiyDF,iBADA,iBe5xDM,iBAAA,QfoyDN,0BAFA,iBetyDE,iBfuyDF,uBe3xDQ,aAAA,QZLN,iCYiBM,iBAAA,QALN,oCf8xDF,oCerxDU,iBAAA,QA5BR,afuzDF,gBADA,gBelzDM,iBAAA,Qf0zDN,yBAFA,gBe5zDE,gBf6zDF,sBejzDQ,aAAA,QZLN,gCYiBM,iBAAA,QALN,mCfozDF,mCe3yDU,iBAAA,QA5BR,Yf60DF,eADA,eex0DM,iBAAA,Qfg1DN,wBAFA,eel1DE,efm1DF,qBev0DQ,aAAA,QZLN,+BYiBM,iBAAA,QALN,kCf00DF,kCej0DU,iBAAA,QA5BR,cfm2DF,iBADA,iBe91DM,iBAAA,iBZGJ,iCYiBM,iBAAA,iBALN,oCfy1DF,oCeh1DU,iBAAA,iBD8EV,sBAGM,MAAA,KACA,iBAAA,QACA,aAAA,QALN,uBAWM,MAAA,QACA,iBAAA,QACA,aAAA,QAKN,YACE,MAAA,KACA,iBAAA,QdowDF,ectwDA,eduwDA,qBchwDI,aAAA,QAPJ,2BAWI,OAAA,EAXJ,oDAgBM,iBAAA,sBXrIJ,uCW4IM,MAAA,KACA,iBAAA,uBFhFJ,4BEiGA,qBAEI,QAAA,MACA,MAAA,KACA,WAAA,KACA,2BAAA,MALH,qCASK,OAAA,GF1GN,4BEiGA,qBAEI,QAAA,MACA,MAAA,KACA,WAAA,KACA,2BAAA,MALH,qCASK,OAAA,GF1GN,4BEiGA,qBAEI,QAAA,MACA,MAAA,KACA,WAAA,KACA,2BAAA,MALH,qCASK,OAAA,GF1GN,6BEiGA,qBAEI,QAAA,MACA,MAAA,KACA,WAAA,KACA,2BAAA,MALH,qCASK,OAAA,GAdV,kBAOQ,QAAA,MACA,MAAA,KACA,WAAA,KACA,2BAAA,MAVR,kCAcU,OAAA,EE7KV,cACE,QAAA,MACA,MAAA,KACA,OAAA,2BACA,QAAA,QAAA,OfqHI,UAAA,KelHJ,YAAA,IACA,YAAA,IACA,MAAA,QACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,QRAE,cAAA,OSFE,WAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAIA,uCDdN,cCeQ,WAAA,MDfR,0BAsBI,iBAAA,YACA,OAAA,EAvBJ,6BA4BI,MAAA,YACA,YAAA,EAAA,EAAA,EAAA,QEtBF,oBACE,MAAA,QACA,iBAAA,KACA,aAAA,QACA,QAAA,EAKE,WAAA,EAAA,EAAA,EAAA,MAAA,oBFhBN,yCAqCI,MAAA,QAEA,QAAA,EAvCJ,gCAqCI,MAAA,QAEA,QAAA,EAvCJ,oCAqCI,MAAA,QAEA,QAAA,EAvCJ,qCAqCI,MAAA,QAEA,QAAA,EAvCJ,2BAqCI,MAAA,QAEA,QAAA,EAvCJ,uBAAA,wBAiDI,iBAAA,QAEA,QAAA,EAIJ,8BhB+9DA,wCACA,+BAFA,8BgBz9DI,mBAAA,KAAA,gBAAA,KAAA,WAAA,KAIJ,qCAOI,MAAA,QACA,iBAAA,KAKJ,mBhBs9DA,oBgBp9DE,QAAA,MACA,MAAA,KAUF,gBACE,YAAA,oBACA,eAAA,oBACA,cAAA,Ef3BE,UAAA,Qe6BF,YAAA,IAGF,mBACE,YAAA,kBACA,eAAA,kBfqBI,UAAA,QenBJ,YAAA,IAGF,mBACE,YAAA,mBACA,eAAA,mBfcI,UAAA,QeZJ,YAAA,IASF,wBACE,QAAA,MACA,MAAA,KACA,QAAA,QAAA,EACA,cAAA,EfDI,UAAA,KeGJ,YAAA,IACA,MAAA,QACA,iBAAA,YACA,OAAA,MAAA,YACA,aAAA,IAAA,EAVF,wCAAA,wCAcI,cAAA,EACA,aAAA,EAYJ,iBACE,OAAA,0BACA,QAAA,OAAA,Mf1BI,UAAA,Qe4BJ,YAAA,IRzIE,cAAA,MQ6IJ,iBACE,OAAA,yBACA,QAAA,MAAA,KflCI,UAAA,QeoCJ,YAAA,IRjJE,cAAA,MQsJJ,8BAAA,0BAGI,OAAA,KAIJ,sBACE,OAAA,KAQF,YACE,cAAA,KAGF,WACE,QAAA,MACA,WAAA,OAQF,UACE,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,aAAA,KACA,YAAA,KAJF,ehB27DA,wBgBn7DI,cAAA,IACA,aAAA,IASJ,YACE,SAAA,SACA,QAAA,MACA,aAAA,QAGF,kBACE,SAAA,SACA,WAAA,MACA,YAAA,ShBk7DF,6CgBr7DA,8CAQI,MAAA,QAIJ,kBACE,cAAA,EAGF,mBACE,QAAA,mBAAA,QAAA,YACA,eAAA,OAAA,YAAA,OACA,aAAA,EACA,aAAA,OAJF,qCAQI,SAAA,OACA,WAAA,EACA,aAAA,SACA,YAAA,EE7MF,gBACE,QAAA,KACA,MAAA,KACA,WAAA,OjByBA,UAAA,IiBvBA,MAAA,QAGF,eACE,SAAA,SACA,IAAA,KACA,KAAA,EACA,QAAA,EACA,QAAA,KACA,UAAA,KACA,QAAA,OAAA,MACA,WAAA,MjBmEE,UAAA,QiBjEF,YAAA,IACA,MAAA,KACA,iBAAA,mBV9CA,cAAA,ORmrEJ,0BACA,yBkBtqEI,sClBoqEJ,qCkB7nEM,QAAA,MAvCF,uBAAA,mCA6CE,aAAA,QAGE,cAAA,qBACA,iBAAA,gQACA,kBAAA,UACA,oBAAA,MAAA,wBAAA,OACA,gBAAA,sBAAA,sBApDJ,6BAAA,yCAwDI,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBAzDJ,2CAAA,+BAkEI,cAAA,qBACA,oBAAA,IAAA,wBAAA,MAAA,wBAnEJ,wBAAA,oCA0EE,aAAA,QAGE,cAAA,wBACA,WAAA,+KAAA,UAAA,MAAA,OAAA,MAAA,CAAA,IAAA,IAAA,CAAA,gQAAA,KAAA,UAAA,OAAA,MAAA,OAAA,CAAA,sBAAA,sBA9EJ,8BAAA,0CAkFI,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBAnFJ,6CAAA,yDA2FI,MAAA,QlBknEiD,2CACzD,0CkB9sEI,uDlB6sEJ,sDkB7mEQ,QAAA,MAhGJ,qDAAA,iEAwGI,MAAA,QAxGJ,6DAAA,yEA2GM,aAAA,QA3GN,qEAAA,iFAiHM,aAAA,QC3IN,iBAAA,QD0BA,mEAAA,+EAwHM,WAAA,EAAA,EAAA,EAAA,MAAA,oBAxHN,iFAAA,6FA4HM,aAAA,QA5HN,+CAAA,2DAsII,aAAA,QAtIJ,qDAAA,iEA2IM,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBAhIR,kBACE,QAAA,KACA,MAAA,KACA,WAAA,OjByBA,UAAA,IiBvBA,MAAA,QAGF,iBACE,SAAA,SACA,IAAA,KACA,KAAA,EACA,QAAA,EACA,QAAA,KACA,UAAA,KACA,QAAA,OAAA,MACA,WAAA,MjBmEE,UAAA,QiBjEF,YAAA,IACA,MAAA,KACA,iBAAA,mBV9CA,cAAA,ORwxEJ,8BACA,6BkB3wEI,0ClBywEJ,yCkBluEM,QAAA,MAvCF,yBAAA,qCA6CE,aAAA,QAGE,cAAA,qBACA,iBAAA,2TACA,kBAAA,UACA,oBAAA,MAAA,wBAAA,OACA,gBAAA,sBAAA,sBApDJ,+BAAA,2CAwDI,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBAzDJ,6CAAA,iCAkEI,cAAA,qBACA,oBAAA,IAAA,wBAAA,MAAA,wBAnEJ,0BAAA,sCA0EE,aAAA,QAGE,cAAA,wBACA,WAAA,+KAAA,UAAA,MAAA,OAAA,MAAA,CAAA,IAAA,IAAA,CAAA,2TAAA,KAAA,UAAA,OAAA,MAAA,OAAA,CAAA,sBAAA,sBA9EJ,gCAAA,4CAkFI,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBAnFJ,+CAAA,2DA2FI,MAAA,QlButEqD,+CAC7D,8CkBnzEI,2DlBkzEJ,0DkBltEQ,QAAA,MAhGJ,uDAAA,mEAwGI,MAAA,QAxGJ,+DAAA,2EA2GM,aAAA,QA3GN,uEAAA,mFAiHM,aAAA,QC3IN,iBAAA,QD0BA,qEAAA,iFAwHM,WAAA,EAAA,EAAA,EAAA,MAAA,oBAxHN,mFAAA,+FA4HM,aAAA,QA5HN,iDAAA,6DAsII,aAAA,QAtIJ,uDAAA,mEA2IM,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBFsGV,aACE,QAAA,YAAA,QAAA,KACA,cAAA,IAAA,KAAA,UAAA,IAAA,KACA,eAAA,OAAA,YAAA,OAHF,yBASI,MAAA,KJ/NA,yBIsNJ,mBAeM,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,OAAA,gBAAA,OACA,cAAA,EAlBN,yBAuBM,QAAA,YAAA,QAAA,KACA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,cAAA,IAAA,KAAA,UAAA,IAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,EA3BN,2BAgCM,QAAA,aACA,MAAA,KACA,eAAA,OAlCN,qCAuCM,QAAA,ahBumEJ,4BgB9oEF,0BA4CM,MAAA,KA5CN,yBAkDM,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,OAAA,gBAAA,OACA,MAAA,KACA,aAAA,EAtDN,+BAyDM,SAAA,SACA,kBAAA,EAAA,YAAA,EACA,WAAA,EACA,aAAA,OACA,YAAA,EA7DN,6BAiEM,eAAA,OAAA,YAAA,OACA,cAAA,OAAA,gBAAA,OAlEN,mCAqEM,cAAA,GIjVN,KACE,QAAA,aAEA,YAAA,IACA,MAAA,QACA,WAAA,OAGA,eAAA,OACA,oBAAA,KAAA,iBAAA,KAAA,gBAAA,KAAA,YAAA,KACA,iBAAA,YACA,OAAA,IAAA,MAAA,YCuFA,QAAA,QAAA,OpBuBI,UAAA,KoBrBJ,YAAA,IbxFE,cAAA,OSFE,WAAA,MAAA,KAAA,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAIA,uCGdN,KHeQ,WAAA,MdTN,WiBUE,MAAA,QACA,gBAAA,KAjBJ,WAAA,WAsBI,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBAvBJ,cAAA,cA6BI,QAAA,IA7BJ,mCAkCI,OAAA,QAcJ,epBs7EA,wBoBp7EE,eAAA,KASA,aC3DA,MAAA,KFAE,iBAAA,QEEF,aAAA,QlBIA,mBkBAE,MAAA,KFNA,iBAAA,QEQA,aAAA,QAGF,mBAAA,mBAEE,MAAA,KFbA,iBAAA,QEeA,aAAA,QAKE,WAAA,EAAA,EAAA,EAAA,MAAA,oBAKJ,sBAAA,sBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAOF,kDAAA,kDrBg+EF,mCqB79EI,MAAA,KACA,iBAAA,QAIA,aAAA,QAEA,wDAAA,wDrB69EJ,yCqBx9EQ,WAAA,EAAA,EAAA,EAAA,MAAA,oBDQN,eC3DA,MAAA,KFAE,iBAAA,QEEF,aAAA,QlBIA,qBkBAE,MAAA,KFNA,iBAAA,QEQA,aAAA,QAGF,qBAAA,qBAEE,MAAA,KFbA,iBAAA,QEeA,aAAA,QAKE,WAAA,EAAA,EAAA,EAAA,MAAA,qBAKJ,wBAAA,wBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAOF,oDAAA,oDrBqgFF,qCqBlgFI,MAAA,KACA,iBAAA,QAIA,aAAA,QAEA,0DAAA,0DrBkgFJ,2CqB7/EQ,WAAA,EAAA,EAAA,EAAA,MAAA,qBDQN,aC3DA,MAAA,KFAE,iBAAA,QEEF,aAAA,QlBIA,mBkBAE,MAAA,KFNA,iBAAA,QEQA,aAAA,QAGF,mBAAA,mBAEE,MAAA,KFbA,iBAAA,QEeA,aAAA,QAKE,WAAA,EAAA,EAAA,EAAA,MAAA,mBAKJ,sBAAA,sBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAOF,kDAAA,kDrB0iFF,mCqBviFI,MAAA,KACA,iBAAA,QAIA,aAAA,QAEA,wDAAA,wDrBuiFJ,yCqBliFQ,WAAA,EAAA,EAAA,EAAA,MAAA,mBDQN,UC3DA,MAAA,KFAE,iBAAA,QEEF,aAAA,QlBIA,gBkBAE,MAAA,KFNA,iBAAA,QEQA,aAAA,QAGF,gBAAA,gBAEE,MAAA,KFbA,iBAAA,QEeA,aAAA,QAKE,WAAA,EAAA,EAAA,EAAA,MAAA,oBAKJ,mBAAA,mBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAOF,+CAAA,+CrB+kFF,gCqB5kFI,MAAA,KACA,iBAAA,QAIA,aAAA,QAEA,qDAAA,qDrB4kFJ,sCqBvkFQ,WAAA,EAAA,EAAA,EAAA,MAAA,oBDQN,aC3DA,MAAA,QFAE,iBAAA,QEEF,aAAA,QlBIA,mBkBAE,MAAA,QFNA,iBAAA,QEQA,aAAA,QAGF,mBAAA,mBAEE,MAAA,QFbA,iBAAA,QEeA,aAAA,QAKE,WAAA,EAAA,EAAA,EAAA,MAAA,oBAKJ,sBAAA,sBAEE,MAAA,QACA,iBAAA,QACA,aAAA,QAOF,kDAAA,kDrBonFF,mCqBjnFI,MAAA,QACA,iBAAA,QAIA,aAAA,QAEA,wDAAA,wDrBinFJ,yCqB5mFQ,WAAA,EAAA,EAAA,EAAA,MAAA,oBDQN,YC3DA,MAAA,KFAE,iBAAA,QEEF,aAAA,QlBIA,kBkBAE,MAAA,KFNA,iBAAA,QEQA,aAAA,QAGF,kBAAA,kBAEE,MAAA,KFbA,iBAAA,QEeA,aAAA,QAKE,WAAA,EAAA,EAAA,EAAA,MAAA,mBAKJ,qBAAA,qBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAOF,iDAAA,iDrBypFF,kCqBtpFI,MAAA,KACA,iBAAA,QAIA,aAAA,QAEA,uDAAA,uDrBspFJ,wCqBjpFQ,WAAA,EAAA,EAAA,EAAA,MAAA,mBDQN,WC3DA,MAAA,QFAE,iBAAA,QEEF,aAAA,QlBIA,iBkBAE,MAAA,QFNA,iBAAA,QEQA,aAAA,QAGF,iBAAA,iBAEE,MAAA,QFbA,iBAAA,QEeA,aAAA,QAKE,WAAA,EAAA,EAAA,EAAA,MAAA,qBAKJ,oBAAA,oBAEE,MAAA,QACA,iBAAA,QACA,aAAA,QAOF,gDAAA,gDrB8rFF,iCqB3rFI,MAAA,QACA,iBAAA,QAIA,aAAA,QAEA,sDAAA,sDrB2rFJ,uCqBtrFQ,WAAA,EAAA,EAAA,EAAA,MAAA,qBDQN,UC3DA,MAAA,KFAE,iBAAA,QEEF,aAAA,QlBIA,gBkBAE,MAAA,KFNA,iBAAA,QEQA,aAAA,QAGF,gBAAA,gBAEE,MAAA,KFbA,iBAAA,QEeA,aAAA,QAKE,WAAA,EAAA,EAAA,EAAA,MAAA,kBAKJ,mBAAA,mBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAOF,+CAAA,+CrBmuFF,gCqBhuFI,MAAA,KACA,iBAAA,QAIA,aAAA,QAEA,qDAAA,qDrBguFJ,sCqB3tFQ,WAAA,EAAA,EAAA,EAAA,MAAA,kBDcN,qBCPA,MAAA,QACA,aAAA,QlBrDA,2BkBwDE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,2BAAA,2BAEE,WAAA,EAAA,EAAA,EAAA,MAAA,mBAGF,8BAAA,8BAEE,MAAA,QACA,iBAAA,YAGF,0DAAA,0DrBytFF,2CqBttFI,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,gEAAA,gErBytFJ,iDqBptFQ,WAAA,EAAA,EAAA,EAAA,MAAA,mBDzBN,uBCPA,MAAA,QACA,aAAA,QlBrDA,6BkBwDE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,6BAAA,6BAEE,WAAA,EAAA,EAAA,EAAA,MAAA,qBAGF,gCAAA,gCAEE,MAAA,QACA,iBAAA,YAGF,4DAAA,4DrByvFF,6CqBtvFI,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,kEAAA,kErByvFJ,mDqBpvFQ,WAAA,EAAA,EAAA,EAAA,MAAA,qBDzBN,qBCPA,MAAA,QACA,aAAA,QlBrDA,2BkBwDE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,2BAAA,2BAEE,WAAA,EAAA,EAAA,EAAA,MAAA,mBAGF,8BAAA,8BAEE,MAAA,QACA,iBAAA,YAGF,0DAAA,0DrByxFF,2CqBtxFI,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,gEAAA,gErByxFJ,iDqBpxFQ,WAAA,EAAA,EAAA,EAAA,MAAA,mBDzBN,kBCPA,MAAA,QACA,aAAA,QlBrDA,wBkBwDE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,wBAAA,wBAEE,WAAA,EAAA,EAAA,EAAA,MAAA,oBAGF,2BAAA,2BAEE,MAAA,QACA,iBAAA,YAGF,uDAAA,uDrByzFF,wCqBtzFI,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,6DAAA,6DrByzFJ,8CqBpzFQ,WAAA,EAAA,EAAA,EAAA,MAAA,oBDzBN,qBCPA,MAAA,QACA,aAAA,QlBrDA,2BkBwDE,MAAA,QACA,iBAAA,QACA,aAAA,QAGF,2BAAA,2BAEE,WAAA,EAAA,EAAA,EAAA,MAAA,mBAGF,8BAAA,8BAEE,MAAA,QACA,iBAAA,YAGF,0DAAA,0DrBy1FF,2CqBt1FI,MAAA,QACA,iBAAA,QACA,aAAA,QAEA,gEAAA,gErBy1FJ,iDqBp1FQ,WAAA,EAAA,EAAA,EAAA,MAAA,mBDzBN,oBCPA,MAAA,QACA,aAAA,QlBrDA,0BkBwDE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,0BAAA,0BAEE,WAAA,EAAA,EAAA,EAAA,MAAA,mBAGF,6BAAA,6BAEE,MAAA,QACA,iBAAA,YAGF,yDAAA,yDrBy3FF,0CqBt3FI,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,+DAAA,+DrBy3FJ,gDqBp3FQ,WAAA,EAAA,EAAA,EAAA,MAAA,mBDzBN,mBCPA,MAAA,QACA,aAAA,QlBrDA,yBkBwDE,MAAA,QACA,iBAAA,QACA,aAAA,QAGF,yBAAA,yBAEE,WAAA,EAAA,EAAA,EAAA,MAAA,qBAGF,4BAAA,4BAEE,MAAA,QACA,iBAAA,YAGF,wDAAA,wDrBy5FF,yCqBt5FI,MAAA,QACA,iBAAA,QACA,aAAA,QAEA,8DAAA,8DrBy5FJ,+CqBp5FQ,WAAA,EAAA,EAAA,EAAA,MAAA,qBDzBN,kBCPA,MAAA,QACA,aAAA,QlBrDA,wBkBwDE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,wBAAA,wBAEE,WAAA,EAAA,EAAA,EAAA,MAAA,kBAGF,2BAAA,2BAEE,MAAA,QACA,iBAAA,YAGF,uDAAA,uDrBy7FF,wCqBt7FI,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,6DAAA,6DrBy7FJ,8CqBp7FQ,WAAA,EAAA,EAAA,EAAA,MAAA,kBDdR,UACE,YAAA,IACA,MAAA,QACA,gBAAA,KjBzEA,gBiB4EE,MAAA,QACA,gBAAA,UAPJ,gBAAA,gBAYI,gBAAA,UAZJ,mBAAA,mBAiBI,MAAA,QACA,eAAA,KAWJ,mBAAA,QCPE,QAAA,MAAA,KpBuBI,UAAA,QoBrBJ,YAAA,IbxFE,cAAA,MYiGJ,mBAAA,QCXE,QAAA,OAAA,MpBuBI,UAAA,QoBrBJ,YAAA,IbxFE,cAAA,MY0GJ,WACE,QAAA,MACA,MAAA,KAFF,sBAMI,WAAA,MpBm8FJ,6BADA,4BoB77FA,6BAII,MAAA,KE3IJ,MLgBM,WAAA,QAAA,KAAA,OAIA,uCKpBN,MLqBQ,WAAA,MKrBR,iBAII,QAAA,EAIJ,qBAEI,QAAA,KAIJ,YACE,SAAA,SACA,OAAA,EACA,SAAA,OLDI,WAAA,OAAA,KAAA,KAIA,uCKNN,YLOQ,WAAA,MjBqlGR,UACA,UAFA,WuBxmGA,QAIE,SAAA,SAGF,iBACE,YAAA,OCoBE,wBACE,QAAA,aACA,YAAA,OACA,eAAA,OACA,QAAA,GAhCJ,WAAA,KAAA,MACA,aAAA,KAAA,MAAA,YACA,cAAA,EACA,YAAA,KAAA,MAAA,YAqDE,8BACE,YAAA,ED1CN,eACE,SAAA,SACA,IAAA,KACA,KAAA,EACA,QAAA,KACA,QAAA,KACA,MAAA,KACA,UAAA,MACA,QAAA,MAAA,EACA,OAAA,QAAA,EAAA,EtBsGI,UAAA,KsBpGJ,MAAA,QACA,WAAA,KACA,WAAA,KACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,gBfdE,cAAA,OeuBA,oBACE,MAAA,KACA,KAAA,EAGF,qBACE,MAAA,EACA,KAAA,KXYF,yBWnBA,uBACE,MAAA,KACA,KAAA,EAGF,wBACE,MAAA,EACA,KAAA,MXYF,yBWnBA,uBACE,MAAA,KACA,KAAA,EAGF,wBACE,MAAA,EACA,KAAA,MXYF,yBWnBA,uBACE,MAAA,KACA,KAAA,EAGF,wBACE,MAAA,EACA,KAAA,MXYF,0BWnBA,uBACE,MAAA,KACA,KAAA,EAGF,wBACE,MAAA,EACA,KAAA,MAON,uBAEI,IAAA,KACA,OAAA,KACA,WAAA,EACA,cAAA,QC/BA,gCACE,QAAA,aACA,YAAA,OACA,eAAA,OACA,QAAA,GAzBJ,WAAA,EACA,aAAA,KAAA,MAAA,YACA,cAAA,KAAA,MACA,YAAA,KAAA,MAAA,YA8CE,sCACE,YAAA,EDUN,0BAEI,IAAA,EACA,MAAA,KACA,KAAA,KACA,WAAA,EACA,YAAA,QC7CA,mCACE,QAAA,aACA,YAAA,OACA,eAAA,OACA,QAAA,GAlBJ,WAAA,KAAA,MAAA,YACA,aAAA,EACA,cAAA,KAAA,MAAA,YACA,YAAA,KAAA,MAuCE,yCACE,YAAA,EA7BF,mCDmDE,eAAA,EAKN,yBAEI,IAAA,EACA,MAAA,KACA,KAAA,KACA,WAAA,EACA,aAAA,QC9DA,kCACE,QAAA,aACA,YAAA,OACA,eAAA,OACA,QAAA,GAJF,kCAgBI,QAAA,KAGF,mCACE,QAAA,aACA,aAAA,OACA,eAAA,OACA,QAAA,GA9BN,WAAA,KAAA,MAAA,YACA,aAAA,KAAA,MACA,cAAA,KAAA,MAAA,YAiCE,wCACE,YAAA,EAVA,mCDiDA,eAAA,EAON,oCAAA,kCAAA,mCAAA,iCAKI,MAAA,KACA,OAAA,KAKJ,kBE9GE,OAAA,EACA,OAAA,MAAA,EACA,SAAA,OACA,WAAA,IAAA,MAAA,QFkHF,eACE,QAAA,MACA,MAAA,KACA,QAAA,OAAA,OACA,MAAA,KACA,YAAA,IACA,MAAA,QACA,WAAA,QAEA,YAAA,OACA,iBAAA,YACA,OAAA,EpBrHA,qBAAA,qBoBoIE,MAAA,QACA,gBAAA,KJ/IA,iBAAA,QIoHJ,sBAAA,sBAiCI,MAAA,KACA,gBAAA,KJtJA,iBAAA,QIoHJ,wBAAA,wBAwCI,MAAA,QACA,eAAA,KACA,iBAAA,YAQJ,oBACE,QAAA,MAIF,iBACE,QAAA,MACA,QAAA,MAAA,OACA,cAAA,EtBrDI,UAAA,QsBuDJ,MAAA,QACA,YAAA,OAIF,oBACE,QAAA,MACA,QAAA,OAAA,OACA,MAAA,QG3LF,W1B81GA,oB0B51GE,SAAA,SACA,QAAA,mBAAA,QAAA,YACA,eAAA,O1Bk2GF,yB0Bt2GA,gBAOI,SAAA,SACA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,K1Bq2GJ,+BGp2GE,sBuBII,QAAA,E1Bu2GN,gCADA,gCADA,+B0Bl3GA,uBAAA,uBAAA,sBAkBM,QAAA,EAMN,aACE,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,cAAA,MAAA,gBAAA,WAHF,0BAMI,MAAA,K1Bw2GJ,wC0Bp2GA,kCAII,YAAA,K1Bq2GJ,4C0Bz2GA,uDlBHI,wBAAA,EACA,2BAAA,ERi3GJ,6C0B/2GA,kClBWI,uBAAA,EACA,0BAAA,EkBmBJ,uBACE,cAAA,SACA,aAAA,SAFF,8B1B41GA,yCADA,sC0Bp1GI,YAAA,EAGF,yCACE,aAAA,EAIJ,0CAAA,+BACE,cAAA,QACA,aAAA,QAGF,0CAAA,+BACE,cAAA,OACA,aAAA,OAoBF,oBACE,mBAAA,OAAA,eAAA,OACA,eAAA,MAAA,YAAA,WACA,cAAA,OAAA,gBAAA,OAHF,yB1B80GA,+B0Bv0GI,MAAA,K1B40GJ,iD0Bn1GA,2CAYI,WAAA,K1B40GJ,qD0Bx1GA,gElBrEI,2BAAA,EACA,0BAAA,ERk6GJ,sD0B91GA,2ClBnFI,uBAAA,EACA,wBAAA,EkB0HJ,uB1B4zGA,kC0BzzGI,cAAA,E1B8zGJ,4C0Bj0GA,yC1Bm0GA,uDADA,oD0B3zGM,SAAA,SACA,KAAA,cACA,eAAA,KCzJN,aACE,SAAA,SACA,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,eAAA,QAAA,YAAA,QACA,MAAA,K3Bk+GF,0BADA,4B2Bt+GA,2B3Bq+GA,qC2B19GI,SAAA,SACA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,GACA,UAAA,EACA,cAAA,E3B4+GJ,uCADA,yCADA,wCADA,yCADA,2CADA,0CAJA,wCADA,0C2Bj/GA,yC3Bq/GA,kDADA,oDADA,mD2B/9GM,YAAA,K3B6+GN,sEADA,kC2BhgHA,iCA4BI,QAAA,EA5BJ,mDAiCI,QAAA,E3By+GJ,6C2B1gHA,4CnB4BI,wBAAA,EACA,2BAAA,ERm/GJ,8C2BhhHA,6CnB0CI,uBAAA,EACA,0BAAA,EmB3CJ,0BA6CI,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OA9CJ,8D3B6hHA,qEQjgHI,wBAAA,EACA,2BAAA,EmB7BJ,+DnB0CI,uBAAA,EACA,0BAAA,ER6/GJ,oB2B3+GA,qBAEE,QAAA,YAAA,QAAA,K3B++GF,yB2Bj/GA,0BAQI,SAAA,SACA,QAAA,E3B8+GJ,+B2Bv/GA,gCAYM,QAAA,E3Bm/GN,8BACA,2CAEA,2CADA,wD2BjgHA,+B3B4/GA,4CAEA,4CADA,yD2Bz+GI,YAAA,KAIJ,qBAAuB,aAAA,KACvB,oBAAsB,YAAA,KAQtB,kBACE,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OACA,QAAA,QAAA,OACA,cAAA,E1BuBI,UAAA,K0BrBJ,YAAA,IACA,YAAA,IACA,MAAA,QACA,WAAA,OACA,YAAA,OACA,iBAAA,QACA,OAAA,IAAA,MAAA,QnB9FE,cAAA,ORklHJ,uC2BhgHA,oCAkBI,WAAA,E3Bm/GJ,+B2Bz+GA,4CAEE,OAAA,yB3B4+GF,+B2Bz+GA,8B3B6+GA,yCAFA,sDACA,0CAFA,uD2Bp+GE,QAAA,MAAA,K1BZI,UAAA,Q0BcJ,YAAA,InB3HE,cAAA,MRwmHJ,+B2Bz+GA,4CAEE,OAAA,0B3B4+GF,+B2Bz+GA,8B3B6+GA,yCAFA,sDACA,0CAFA,uD2Bp+GE,QAAA,OAAA,M1B7BI,UAAA,Q0B+BJ,YAAA,InB5IE,cAAA,MmBgJJ,+B3By+GA,+B2Bv+GE,cAAA,Q3B++GF,wFACA,+EAHA,uDACA,oE2Bn+GA,uC3Bi+GA,oDQ9mHI,wBAAA,EACA,2BAAA,EmBqJJ,sC3Bk+GA,mDAGA,qEACA,kFAHA,yDACA,sEQ5mHI,uBAAA,EACA,0BAAA,EoBxCJ,gBACE,SAAA,SACA,QAAA,EACA,QAAA,MACA,WAAA,OACA,aAAA,OACA,2BAAA,MAAA,aAAA,MAGF,uBACE,QAAA,mBAAA,QAAA,YACA,aAAA,KAGF,sBACE,SAAA,SACA,KAAA,EACA,QAAA,GACA,MAAA,KACA,OAAA,QACA,QAAA,EANF,4DASI,MAAA,KACA,aAAA,QT3BA,iBAAA,QSiBJ,0DAoBM,WAAA,EAAA,EAAA,EAAA,MAAA,oBApBN,wEAyBI,aAAA,QAzBJ,0EA6BI,MAAA,KACA,iBAAA,QACA,aAAA,QA/BJ,qDAAA,sDAuCM,MAAA,QAvCN,6DAAA,8DA0CQ,iBAAA,QAUR,sBACE,SAAA,SACA,cAAA,EAEA,eAAA,IAJF,8BASI,SAAA,SACA,IAAA,OACA,KAAA,QACA,QAAA,MACA,MAAA,KACA,OAAA,KACA,eAAA,KACA,QAAA,GACA,iBAAA,KACA,OAAA,QAAA,MAAA,IAlBJ,6BAwBI,SAAA,SACA,IAAA,OACA,KAAA,QACA,QAAA,MACA,MAAA,KACA,OAAA,KACA,QAAA,GACA,WAAA,UAAA,GAAA,CAAA,IAAA,IASJ,+CpBjGI,cAAA,OoBiGJ,4EAOM,iBAAA,iNAPN,mFAaM,aAAA,QT1HF,iBAAA,QS6GJ,kFAkBM,iBAAA,8JAlBN,sFT7GI,iBAAA,mBS6GJ,4FT7GI,iBAAA,mBSiJJ,4CAGI,cAAA,IAHJ,yEAQM,iBAAA,6JARN,mFTjJI,iBAAA,mBSyKJ,eACE,aAAA,QADF,6CAKM,KAAA,SACA,MAAA,QACA,eAAA,IAEA,cAAA,MATN,4CAaM,IAAA,mBACA,KAAA,qBACA,MAAA,iBACA,OAAA,iBACA,iBAAA,QAEA,cAAA,MXlLA,WAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,WAAA,CAAA,kBAAA,KAAA,YAAA,WAAA,UAAA,KAAA,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAAA,WAAA,UAAA,KAAA,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,WAAA,CAAA,kBAAA,KAAA,YAIA,uCW2JN,4CX1JQ,WAAA,MW0JR,0EA0BM,iBAAA,KACA,kBAAA,mBAAA,UAAA,mBA3BN,oFTzKI,iBAAA,mBSsNJ,eACE,QAAA,aACA,MAAA,KACA,OAAA,2BACA,QAAA,QAAA,QAAA,QAAA,O3BjGI,UAAA,K2BoGJ,YAAA,IACA,YAAA,IACA,MAAA,QACA,eAAA,OACA,WAAA,KAAA,+KAAA,UAAA,MAAA,OAAA,MAAA,CAAA,IAAA,KACA,OAAA,IAAA,MAAA,QpBtNE,cAAA,OoByNF,mBAAA,KAAA,gBAAA,KAAA,WAAA,KAfF,qBAkBI,aAAA,QACA,QAAA,EAKE,WAAA,EAAA,EAAA,EAAA,MAAA,oBAxBN,gCAiCM,MAAA,QACA,iBAAA,KAlCN,yBAAA,qCAwCI,OAAA,KACA,cAAA,OACA,iBAAA,KA1CJ,wBA8CI,MAAA,QACA,iBAAA,QA/CJ,2BAoDI,QAAA,KApDJ,8BAyDI,MAAA,YACA,YAAA,EAAA,EAAA,EAAA,QAIJ,kBACE,OAAA,0BACA,YAAA,OACA,eAAA,OACA,aAAA,M3B/JI,UAAA,Q2BmKN,kBACE,OAAA,yBACA,YAAA,MACA,eAAA,MACA,aAAA,K3BvKI,UAAA,Q2BgLN,aACE,SAAA,SACA,QAAA,aACA,MAAA,KACA,OAAA,2BACA,cAAA,EAGF,mBACE,SAAA,SACA,QAAA,EACA,MAAA,KACA,OAAA,2BACA,OAAA,EACA,QAAA,EANF,4CASI,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,MAAA,oB5BylHJ,+C4BnmHA,gDAgBI,iBAAA,QAhBJ,sDAqBM,QAAA,SArBN,0DA0BI,QAAA,kBAIJ,mBACE,SAAA,SACA,IAAA,EACA,MAAA,EACA,KAAA,EACA,QAAA,EACA,OAAA,2BACA,QAAA,QAAA,OAEA,YAAA,IACA,YAAA,IACA,MAAA,QACA,iBAAA,KACA,OAAA,IAAA,MAAA,QpBhVE,cAAA,OoBmUJ,0BAkBI,SAAA,SACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,QAAA,EACA,QAAA,MACA,OAAA,qBACA,QAAA,QAAA,OACA,YAAA,IACA,MAAA,QACA,QAAA,ST3WA,iBAAA,QS6WA,YAAA,QpBjWA,cAAA,EAAA,OAAA,OAAA,EoB4WJ,cACE,MAAA,KACA,OAAA,OACA,QAAA,EACA,iBAAA,YACA,mBAAA,KAAA,gBAAA,KAAA,WAAA,KALF,oBAQI,QAAA,EARJ,0CAY8B,WAAA,EAAA,EAAA,EAAA,IAAA,IAAA,CAAA,EAAA,EAAA,EAAA,MAAA,oBAZ9B,sCAa8B,WAAA,EAAA,EAAA,EAAA,IAAA,IAAA,CAAA,EAAA,EAAA,EAAA,MAAA,oBAb9B,+BAc8B,WAAA,EAAA,EAAA,EAAA,IAAA,IAAA,CAAA,EAAA,EAAA,EAAA,MAAA,oBAd9B,gCAkBI,OAAA,EAlBJ,oCAsBI,MAAA,KACA,OAAA,KACA,WAAA,QThZA,iBAAA,QSkZA,OAAA,EpBtYA,cAAA,KSFE,mBAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAAA,WAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YW4YF,mBAAA,KAAA,WAAA,KXxYE,uCW0WN,oCXzWQ,mBAAA,KAAA,WAAA,MWyWR,2CTxXI,iBAAA,QSwXJ,6CAsCI,MAAA,KACA,OAAA,MACA,MAAA,YACA,OAAA,QACA,iBAAA,QACA,aAAA,YpBvZA,cAAA,KoB4WJ,gCAiDI,MAAA,KACA,OAAA,KT1aA,iBAAA,QS4aA,OAAA,EpBhaA,cAAA,KSFE,gBAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAAA,WAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YWsaF,gBAAA,KAAA,WAAA,KXlaE,uCW0WN,gCXzWQ,gBAAA,KAAA,WAAA,MWyWR,uCTxXI,iBAAA,QSwXJ,gCAgEI,MAAA,KACA,OAAA,MACA,MAAA,YACA,OAAA,QACA,iBAAA,QACA,aAAA,YpBjbA,cAAA,KoB4WJ,yBA2EI,MAAA,KACA,OAAA,KACA,WAAA,EACA,aAAA,MACA,YAAA,MTvcA,iBAAA,QSycA,OAAA,EpB7bA,cAAA,KSFE,eAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAAA,WAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YWmcF,WAAA,KX/bE,uCW0WN,yBXzWQ,eAAA,KAAA,WAAA,MWyWR,gCTxXI,iBAAA,QSwXJ,yBA6FI,MAAA,KACA,OAAA,MACA,MAAA,YACA,OAAA,QACA,iBAAA,YACA,aAAA,YACA,aAAA,MAnGJ,8BAwGI,iBAAA,QpBpdA,cAAA,KoB4WJ,8BA6GI,aAAA,KACA,iBAAA,QpB1dA,cAAA,KoB4WJ,6CAoHM,iBAAA,QApHN,sDAwHM,OAAA,QAxHN,yCA4HM,iBAAA,QA5HN,yCAgIM,OAAA,QAhIN,kCAoIM,iBAAA,QAKN,8B5BomHA,mBACA,eiB5lIM,WAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAIA,uCWmfN,8B5B2mHE,mBACA,eiB9lIM,WAAA,MYhBR,KACE,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,aAAA,EACA,cAAA,EACA,WAAA,KAGF,UACE,QAAA,MACA,QAAA,MAAA,K1BCA,gBAAA,gB0BGE,gBAAA,KANJ,mBAWI,MAAA,QACA,eAAA,KACA,OAAA,QAQJ,UACE,cAAA,IAAA,MAAA,QADF,oBAII,cAAA,KAJJ,oBAQI,OAAA,IAAA,MAAA,YrBfA,uBAAA,OACA,wBAAA,OLZF,0BAAA,0B0B8BI,aAAA,QAAA,QAAA,QAZN,6BAgBM,MAAA,QACA,iBAAA,YACA,aAAA,Y7BsnIN,mC6BxoIA,2BAwBI,MAAA,QACA,iBAAA,KACA,aAAA,QAAA,QAAA,KA1BJ,yBA+BI,WAAA,KrBtCA,uBAAA,EACA,wBAAA,EqBgDJ,qBrB1DI,cAAA,OqB0DJ,4B7B+mIA,2B6BxmII,MAAA,KACA,iBAAA,Q7B6mIJ,oB6BpmIA,oBAGI,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,WAAA,O7BumIJ,yB6BnmIA,yBAGI,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,WAAA,OASJ,uBAEI,QAAA,KAFJ,qBAKI,QAAA,MCvGJ,QACE,SAAA,SACA,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,QAAA,gBAAA,cACA,QAAA,MAAA,KANF,mB9BqtIA,yBAAwE,sBAAvB,sBAAvB,sBAAqE,sB8B1sI3F,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,QAAA,gBAAA,cAoBJ,cACE,QAAA,aACA,YAAA,SACA,eAAA,SACA,aAAA,K7BwEI,UAAA,Q6BtEJ,YAAA,QACA,YAAA,O3B1CA,oBAAA,oB2B6CE,gBAAA,KASJ,YACE,QAAA,YAAA,QAAA,KACA,mBAAA,OAAA,eAAA,OACA,aAAA,EACA,cAAA,EACA,WAAA,KALF,sBAQI,cAAA,EACA,aAAA,EATJ,2BAaI,SAAA,OACA,MAAA,KASJ,aACE,QAAA,aACA,YAAA,MACA,eAAA,MAYF,iBACE,wBAAA,KAAA,WAAA,KACA,kBAAA,EAAA,UAAA,EAGA,eAAA,OAAA,YAAA,OAIF,gBACE,QAAA,OAAA,O7BSI,UAAA,Q6BPJ,YAAA,EACA,iBAAA,YACA,OAAA,IAAA,MAAA,YtBxGE,cAAA,OLFF,sBAAA,sB2B8GE,gBAAA,KAMJ,qBACE,QAAA,aACA,MAAA,MACA,OAAA,MACA,eAAA,OACA,QAAA,GACA,WAAA,UAAA,OAAA,OACA,gBAAA,KAAA,KlBlEE,4BkB4EC,6B9BsqIH,mCAA4G,gCAAnC,gCAAnC,gCAAyG,gC8BnqIvI,cAAA,EACA,aAAA,GlB7FN,yBkByFA,kBAoBI,cAAA,IAAA,OAAA,UAAA,IAAA,OACA,cAAA,MAAA,gBAAA,WArBH,8BAwBK,mBAAA,IAAA,eAAA,IAxBL,6CA2BO,SAAA,SA3BP,wCA+BO,cAAA,MACA,aAAA,MAhCP,6B9B+rIH,mCAA4G,gCAAnC,gCAAnC,gCAAyG,gC8BzpIvI,cAAA,OAAA,UAAA,OAtCL,mCAqDK,QAAA,sBAAA,QAAA,eAGA,wBAAA,KAAA,WAAA,KAxDL,kCA4DK,QAAA,MlBxIN,4BkB4EC,6B9BgtIH,mCAA4G,gCAAnC,gCAAnC,gCAAyG,gC8B7sIvI,cAAA,EACA,aAAA,GlB7FN,yBkByFA,kBAoBI,cAAA,IAAA,OAAA,UAAA,IAAA,OACA,cAAA,MAAA,gBAAA,WArBH,8BAwBK,mBAAA,IAAA,eAAA,IAxBL,6CA2BO,SAAA,SA3BP,wCA+BO,cAAA,MACA,aAAA,MAhCP,6B9ByuIH,mCAA4G,gCAAnC,gCAAnC,gCAAyG,gC8BnsIvI,cAAA,OAAA,UAAA,OAtCL,mCAqDK,QAAA,sBAAA,QAAA,eAGA,wBAAA,KAAA,WAAA,KAxDL,kCA4DK,QAAA,MlBxIN,4BkB4EC,6B9B0vIH,mCAA4G,gCAAnC,gCAAnC,gCAAyG,gC8BvvIvI,cAAA,EACA,aAAA,GlB7FN,yBkByFA,kBAoBI,cAAA,IAAA,OAAA,UAAA,IAAA,OACA,cAAA,MAAA,gBAAA,WArBH,8BAwBK,mBAAA,IAAA,eAAA,IAxBL,6CA2BO,SAAA,SA3BP,wCA+BO,cAAA,MACA,aAAA,MAhCP,6B9BmxIH,mCAA4G,gCAAnC,gCAAnC,gCAAyG,gC8B7uIvI,cAAA,OAAA,UAAA,OAtCL,mCAqDK,QAAA,sBAAA,QAAA,eAGA,wBAAA,KAAA,WAAA,KAxDL,kCA4DK,QAAA,MlBxIN,6BkB4EC,6B9BoyIH,mCAA4G,gCAAnC,gCAAnC,gCAAyG,gC8BjyIvI,cAAA,EACA,aAAA,GlB7FN,0BkByFA,kBAoBI,cAAA,IAAA,OAAA,UAAA,IAAA,OACA,cAAA,MAAA,gBAAA,WArBH,8BAwBK,mBAAA,IAAA,eAAA,IAxBL,6CA2BO,SAAA,SA3BP,wCA+BO,cAAA,MACA,aAAA,MAhCP,6B9B6zIH,mCAA4G,gCAAnC,gCAAnC,gCAAyG,gC8BvxIvI,cAAA,OAAA,UAAA,OAtCL,mCAqDK,QAAA,sBAAA,QAAA,eAGA,wBAAA,KAAA,WAAA,KAxDL,kCA4DK,QAAA,MAjEV,eAyBQ,cAAA,IAAA,OAAA,UAAA,IAAA,OACA,cAAA,MAAA,gBAAA,WA1BR,0B9By1IA,gCAAmG,6BAAhC,6BAAhC,6BAAgG,6B8Bj1IzH,cAAA,EACA,aAAA,EATV,2BA6BU,mBAAA,IAAA,eAAA,IA7BV,0CAgCY,SAAA,SAhCZ,qCAoCY,cAAA,MACA,aAAA,MArCZ,0B9B62IA,gCAAmG,6BAAhC,6BAAhC,6BAAgG,6B8Bl0IzH,cAAA,OAAA,UAAA,OA3CV,gCA0DU,QAAA,sBAAA,QAAA,eAGA,wBAAA,KAAA,WAAA,KA7DV,+BAiEU,QAAA,KAaV,4BAEI,MAAA,e3BhNF,kCAAA,kC2BmNI,MAAA,eALN,oCAWM,MAAA,e3BzNJ,0CAAA,0C2B4NM,MAAA,eAdR,6CAkBQ,MAAA,e9BkzIR,4CAEA,2CADA,yC8Br0IA,0CA0BM,MAAA,eA1BN,8BA+BI,MAAA,eACA,aAAA,eAhCJ,mCAoCI,iBAAA,kQApCJ,2BAwCI,MAAA,eAxCJ,6BA0CM,MAAA,e3BxPJ,mCAAA,mC2B2PM,MAAA,eAOR,2BAEI,MAAA,K3BpQF,iCAAA,iC2BuQI,MAAA,KALN,mCAWM,MAAA,qB3B7QJ,yCAAA,yC2BgRM,MAAA,sBAdR,4CAkBQ,MAAA,sB9B8yIR,2CAEA,0CADA,wC8Bj0IA,yCA0BM,MAAA,KA1BN,6BA+BI,MAAA,qBACA,aAAA,qBAhCJ,kCAoCI,iBAAA,wQApCJ,0BAwCI,MAAA,qBAxCJ,4BA0CM,MAAA,K3B5SJ,kCAAA,kC2B+SM,MAAA,KC3TR,MACE,SAAA,SACA,QAAA,YAAA,QAAA,KACA,mBAAA,OAAA,eAAA,OACA,UAAA,EAEA,UAAA,WACA,iBAAA,KACA,gBAAA,WACA,OAAA,IAAA,MAAA,iBvBKE,cAAA,OuBdJ,SAaI,aAAA,EACA,YAAA,EAdJ,kBAkBI,WAAA,QACA,cAAA,QAnBJ,8BAsBM,iBAAA,EvBCF,uBAAA,mBACA,wBAAA,mBuBxBJ,6BA2BM,oBAAA,EvBUF,2BAAA,mBACA,0BAAA,mBuBtCJ,+B/B8oJA,+B+B1mJI,WAAA,EAIJ,WAGE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAGA,WAAA,IACA,QAAA,QAIF,YACE,cAAA,OAGF,eACE,WAAA,SACA,cAAA,EAGF,sBACE,cAAA,E5BrDA,iB4B0DE,gBAAA,KAFJ,sBAMI,YAAA,QAQJ,aACE,QAAA,OAAA,QACA,cAAA,EAEA,iBAAA,gBACA,cAAA,IAAA,MAAA,iBALF,yBvBhEI,cAAA,mBAAA,mBAAA,EAAA,EuB4EJ,aACE,QAAA,OAAA,QAEA,iBAAA,gBACA,WAAA,IAAA,MAAA,iBAJF,wBvB5EI,cAAA,EAAA,EAAA,mBAAA,mBuB4FJ,kBACE,aAAA,SACA,cAAA,QACA,YAAA,SACA,cAAA,EAGF,mBACE,aAAA,SACA,YAAA,SAIF,kBACE,SAAA,SACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,QvB/GE,cAAA,mBuBmHJ,U/B0lJA,iBADA,c+BtlJE,kBAAA,EAAA,YAAA,EACA,MAAA,KAGF,U/B0lJA,cQ3sJI,uBAAA,mBACA,wBAAA,mBuBqHJ,U/B2lJA,iBQnsJI,2BAAA,mBACA,0BAAA,mBuB+GJ,iBAEI,cAAA,KnB/FA,yBmB6FJ,WAMI,QAAA,YAAA,QAAA,KACA,cAAA,IAAA,KAAA,UAAA,IAAA,KACA,aAAA,MACA,YAAA,MATJ,iBAaM,SAAA,EAAA,EAAA,GAAA,KAAA,EAAA,EAAA,GACA,aAAA,KACA,cAAA,EACA,YAAA,MAUN,kBAII,cAAA,KnB3HA,yBmBuHJ,YAQI,QAAA,YAAA,QAAA,KACA,cAAA,IAAA,KAAA,UAAA,IAAA,KATJ,kBAcM,SAAA,EAAA,EAAA,GAAA,KAAA,EAAA,EAAA,GACA,cAAA,EAfN,wBAkBQ,YAAA,EACA,YAAA,EAnBR,mCvBjJI,wBAAA,EACA,2BAAA,ER6vJF,gD+B7mJF,iDA8BY,wBAAA,E/BmlJV,gD+BjnJF,oDAmCY,2BAAA,EAnCZ,oCvBnII,uBAAA,EACA,0BAAA,ER2vJF,iD+BznJF,kDA6CY,uBAAA,E/BglJV,iD+B7nJF,qDAkDY,0BAAA,GAaZ,oBAEI,cAAA,OnBxLA,yBmBsLJ,cAMI,qBAAA,EAAA,kBAAA,EAAA,aAAA,EACA,mBAAA,QAAA,gBAAA,QAAA,WAAA,QACA,QAAA,EACA,OAAA,EATJ,oBAYM,QAAA,aACA,MAAA,MAUN,WACE,gBAAA,KADF,iBAII,SAAA,OAJJ,oCAOM,cAAA,EvBvOF,2BAAA,EACA,0BAAA,EuB+NJ,qCvB9OI,uBAAA,EACA,wBAAA,EuB6OJ,8BvBvPI,cAAA,EuBwQE,cAAA,KC1RN,YACE,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,QAAA,OAAA,KACA,cAAA,KAEA,WAAA,KACA,iBAAA,QxBWE,cAAA,OwBPJ,iBACE,QAAA,YAAA,QAAA,KADF,kCAKI,aAAA,MALJ,0CAQM,QAAA,aACA,cAAA,MACA,MAAA,QACA,QAAA,IAXN,gDAsBI,gBAAA,UAtBJ,gDA0BI,gBAAA,KA1BJ,wBA8BI,MAAA,QCzCJ,YACE,QAAA,YAAA,QAAA,K5BGA,aAAA,EACA,WAAA,KGaE,cAAA,OyBZJ,WACE,SAAA,SACA,QAAA,MACA,QAAA,MAAA,OACA,YAAA,KACA,YAAA,KACA,MAAA,QAEA,iBAAA,KACA,OAAA,IAAA,MAAA,QATF,iBAYI,QAAA,EACA,MAAA,QACA,gBAAA,KACA,iBAAA,QACA,aAAA,QAhBJ,iBAoBI,QAAA,EACA,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBAIJ,kCAGM,YAAA,EzBaF,uBAAA,OACA,0BAAA,OyBjBJ,iCzBEI,wBAAA,OACA,2BAAA,OyBHJ,6BAcI,QAAA,EACA,MAAA,KACA,iBAAA,QACA,aAAA,QAjBJ,+BAqBI,MAAA,QACA,eAAA,KAEA,OAAA,KACA,iBAAA,KACA,aAAA,QCvDF,0BACE,QAAA,OAAA,OjC2HE,UAAA,QiCzHF,YAAA,IAKE,iD1BqCF,uBAAA,MACA,0BAAA,M0BjCE,gD1BkBF,wBAAA,MACA,2BAAA,M0BhCF,0BACE,QAAA,OAAA,MjC2HE,UAAA,QiCzHF,YAAA,IAKE,iD1BqCF,uBAAA,MACA,0BAAA,M0BjCE,gD1BkBF,wBAAA,MACA,2BAAA,M2B9BJ,OACE,QAAA,aACA,QAAA,MAAA,KlCiEE,UAAA,IkC/DF,YAAA,IACA,YAAA,EACA,WAAA,OACA,YAAA,OACA,eAAA,S3BKE,cAAA,OSFE,WAAA,MAAA,KAAA,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAIA,uCkBfN,OlBgBQ,WAAA,MdLN,cAAA,cgCGI,gBAAA,KAdN,aAoBI,QAAA,KAKJ,YACE,SAAA,SACA,IAAA,KAOF,YACE,cAAA,KACA,aAAA,K3BvBE,cAAA,M2BgCF,eCjDA,MAAA,KACA,iBAAA,QjCcA,sBAAA,sBiCVI,MAAA,KACA,iBAAA,QAHI,sBAAA,sBAQJ,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,mBDqCJ,iBCjDA,MAAA,KACA,iBAAA,QjCcA,wBAAA,wBiCVI,MAAA,KACA,iBAAA,QAHI,wBAAA,wBAQJ,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,qBDqCJ,eCjDA,MAAA,KACA,iBAAA,QjCcA,sBAAA,sBiCVI,MAAA,KACA,iBAAA,QAHI,sBAAA,sBAQJ,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,mBDqCJ,YCjDA,MAAA,KACA,iBAAA,QjCcA,mBAAA,mBiCVI,MAAA,KACA,iBAAA,QAHI,mBAAA,mBAQJ,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBDqCJ,eCjDA,MAAA,QACA,iBAAA,QjCcA,sBAAA,sBiCVI,MAAA,QACA,iBAAA,QAHI,sBAAA,sBAQJ,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,mBDqCJ,cCjDA,MAAA,KACA,iBAAA,QjCcA,qBAAA,qBiCVI,MAAA,KACA,iBAAA,QAHI,qBAAA,qBAQJ,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,mBDqCJ,aCjDA,MAAA,QACA,iBAAA,QjCcA,oBAAA,oBiCVI,MAAA,QACA,iBAAA,QAHI,oBAAA,oBAQJ,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,qBDqCJ,YCjDA,MAAA,KACA,iBAAA,QjCcA,mBAAA,mBiCVI,MAAA,KACA,iBAAA,QAHI,mBAAA,mBAQJ,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,kBCbN,WACE,QAAA,KAAA,KACA,cAAA,KAEA,iBAAA,Q7BcE,cAAA,MI0CA,yByB5DJ,WAQI,QAAA,KAAA,MAIJ,iBACE,cAAA,EACA,aAAA,E7BIE,cAAA,E8BdJ,OACE,SAAA,SACA,QAAA,OAAA,QACA,cAAA,KACA,OAAA,IAAA,MAAA,Y9BUE,cAAA,O8BLJ,eAEE,MAAA,QAIF,YACE,YAAA,IAQF,mBACE,cAAA,KADF,0BAKI,SAAA,SACA,IAAA,EACA,MAAA,EACA,QAAA,EACA,QAAA,OAAA,QACA,MAAA,QAUF,eC/CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,kBACE,iBAAA,QAGF,2BACE,MAAA,QDsCF,iBC/CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,oBACE,iBAAA,QAGF,6BACE,MAAA,QDsCF,eC/CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,kBACE,iBAAA,QAGF,2BACE,MAAA,QDsCF,YC/CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,eACE,iBAAA,QAGF,wBACE,MAAA,QDsCF,eC/CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,kBACE,iBAAA,QAGF,2BACE,MAAA,QDsCF,cC/CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,iBACE,iBAAA,QAGF,0BACE,MAAA,QDsCF,aC/CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,gBACE,iBAAA,QAGF,yBACE,MAAA,QDsCF,YC/CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,eACE,iBAAA,QAGF,wBACE,MAAA,QCRF,wCACE,KAAO,oBAAA,KAAA,EACP,GAAK,oBAAA,EAAA,GAFP,gCACE,KAAO,oBAAA,KAAA,EACP,GAAK,oBAAA,EAAA,GAIT,UACE,QAAA,YAAA,QAAA,KACA,OAAA,KACA,SAAA,OACA,YAAA,EvCmHI,UAAA,OuCjHJ,iBAAA,QhCIE,cAAA,OgCCJ,cACE,QAAA,YAAA,QAAA,KACA,mBAAA,OAAA,eAAA,OACA,cAAA,OAAA,gBAAA,OACA,SAAA,OACA,MAAA,KACA,WAAA,OACA,YAAA,OACA,iBAAA,QvBXI,WAAA,MAAA,IAAA,KAIA,uCuBDN,cvBEQ,WAAA,MuBUR,sBrBYE,iBAAA,iKqBVA,gBAAA,KAAA,KAIA,uBACE,kBAAA,qBAAA,GAAA,OAAA,SAAA,UAAA,qBAAA,GAAA,OAAA,SAGE,uCAJJ,uBAKM,kBAAA,KAAA,UAAA,MC1CR,OACE,QAAA,YAAA,QAAA,KACA,eAAA,MAAA,YAAA,WAGF,YACE,SAAA,EAAA,KAAA,ECFF,YACE,QAAA,YAAA,QAAA,KACA,mBAAA,OAAA,eAAA,OAGA,aAAA,EACA,cAAA,ElCQE,cAAA,OkCEJ,wBACE,MAAA,KACA,MAAA,QACA,WAAA,QvCPA,8BAAA,8BuCWE,QAAA,EACA,MAAA,QACA,gBAAA,KACA,iBAAA,QAVJ,+BAcI,MAAA,QACA,iBAAA,QASJ,iBACE,SAAA,SACA,QAAA,MACA,QAAA,OAAA,QAGA,iBAAA,KACA,OAAA,IAAA,MAAA,iBAPF,6BlCjBI,uBAAA,QACA,wBAAA,QkCgBJ,4BlCHI,2BAAA,QACA,0BAAA,QkCEJ,0BAAA,0BAmBI,MAAA,QACA,eAAA,KACA,iBAAA,KArBJ,wBA0BI,QAAA,EACA,MAAA,KACA,iBAAA,QACA,aAAA,QA7BJ,kCAiCI,iBAAA,EAjCJ,yCAoCM,WAAA,KACA,iBAAA,IAcF,uBACE,mBAAA,IAAA,eAAA,IADF,oDlCtBA,0BAAA,OAZA,wBAAA,EkCkCA,mDlClCA,wBAAA,OAYA,0BAAA,EkCsBA,+CAeM,WAAA,EAfN,yDAmBM,iBAAA,IACA,kBAAA,EApBN,gEAuBQ,YAAA,KACA,kBAAA,I9B3DR,yB8BmCA,0BACE,mBAAA,IAAA,eAAA,IADF,uDlCtBA,0BAAA,OAZA,wBAAA,EkCkCA,sDlClCA,wBAAA,OAYA,0BAAA,EkCsBA,kDAeM,WAAA,EAfN,4DAmBM,iBAAA,IACA,kBAAA,EApBN,mEAuBQ,YAAA,KACA,kBAAA,K9B3DR,yB8BmCA,0BACE,mBAAA,IAAA,eAAA,IADF,uDlCtBA,0BAAA,OAZA,wBAAA,EkCkCA,sDlClCA,wBAAA,OAYA,0BAAA,EkCsBA,kDAeM,WAAA,EAfN,4DAmBM,iBAAA,IACA,kBAAA,EApBN,mEAuBQ,YAAA,KACA,kBAAA,K9B3DR,yB8BmCA,0BACE,mBAAA,IAAA,eAAA,IADF,uDlCtBA,0BAAA,OAZA,wBAAA,EkCkCA,sDlClCA,wBAAA,OAYA,0BAAA,EkCsBA,kDAeM,WAAA,EAfN,4DAmBM,iBAAA,IACA,kBAAA,EApBN,mEAuBQ,YAAA,KACA,kBAAA,K9B3DR,0B8BmCA,0BACE,mBAAA,IAAA,eAAA,IADF,uDlCtBA,0BAAA,OAZA,wBAAA,EkCkCA,sDlClCA,wBAAA,OAYA,0BAAA,EkCsBA,kDAeM,WAAA,EAfN,4DAmBM,iBAAA,IACA,kBAAA,EApBN,mEAuBQ,YAAA,KACA,kBAAA,KAcZ,kBlCnHI,cAAA,EkCmHJ,mCAII,aAAA,EAAA,EAAA,IAJJ,8CAOM,oBAAA,ECzIJ,yBACE,MAAA,QACA,iBAAA,QxCWF,sDAAA,sDwCPM,MAAA,QACA,iBAAA,QAPN,uDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,2BACE,MAAA,QACA,iBAAA,QxCWF,wDAAA,wDwCPM,MAAA,QACA,iBAAA,QAPN,yDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,yBACE,MAAA,QACA,iBAAA,QxCWF,sDAAA,sDwCPM,MAAA,QACA,iBAAA,QAPN,uDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,sBACE,MAAA,QACA,iBAAA,QxCWF,mDAAA,mDwCPM,MAAA,QACA,iBAAA,QAPN,oDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,yBACE,MAAA,QACA,iBAAA,QxCWF,sDAAA,sDwCPM,MAAA,QACA,iBAAA,QAPN,uDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,wBACE,MAAA,QACA,iBAAA,QxCWF,qDAAA,qDwCPM,MAAA,QACA,iBAAA,QAPN,sDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,uBACE,MAAA,QACA,iBAAA,QxCWF,oDAAA,oDwCPM,MAAA,QACA,iBAAA,QAPN,qDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,sBACE,MAAA,QACA,iBAAA,QxCWF,mDAAA,mDwCPM,MAAA,QACA,iBAAA,QAPN,oDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QChBR,OACE,MAAA,M3C8HI,UAAA,O2C5HJ,YAAA,IACA,YAAA,EACA,MAAA,KACA,YAAA,EAAA,IAAA,EAAA,KACA,QAAA,GzCKA,ayCDE,MAAA,KACA,gBAAA,KzCIF,2CAAA,2CyCCI,QAAA,IAWN,aACE,QAAA,EACA,iBAAA,YACA,OAAA,EAMF,iBACE,eAAA,KCtCF,OAGE,wBAAA,MAAA,WAAA,MACA,UAAA,M5C2HI,UAAA,Q4CxHJ,iBAAA,sBACA,gBAAA,YACA,OAAA,IAAA,MAAA,eACA,WAAA,EAAA,OAAA,OAAA,eACA,QAAA,ErCOE,cAAA,OqClBJ,wBAeI,cAAA,OAfJ,eAmBI,QAAA,EAnBJ,YAuBI,QAAA,MACA,QAAA,EAxBJ,YA4BI,QAAA,KAIJ,cACE,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OACA,QAAA,OAAA,OACA,MAAA,QACA,iBAAA,sBACA,gBAAA,YACA,cAAA,IAAA,MAAA,gBrCZE,uBAAA,mBACA,wBAAA,mBqCeJ,YACE,QAAA,OCtCF,YAEE,SAAA,OAFF,mBAKI,WAAA,OACA,WAAA,KAKJ,OACE,SAAA,MACA,IAAA,EACA,KAAA,EACA,QAAA,KACA,QAAA,KACA,MAAA,KACA,OAAA,KACA,SAAA,OAGA,QAAA,EAOF,cACE,SAAA,SACA,MAAA,KACA,OAAA,MAEA,eAAA,KAGA,0B7B3BI,WAAA,kBAAA,IAAA,SAAA,WAAA,UAAA,IAAA,SAAA,WAAA,UAAA,IAAA,QAAA,CAAA,kBAAA,IAAA,S6B6BF,kBAAA,mBAAA,UAAA,mB7BzBE,uC6BuBJ,0B7BtBM,WAAA,M6B0BN,0BACE,kBAAA,KAAA,UAAA,KAIF,kCACE,kBAAA,YAAA,UAAA,YAIJ,yBACE,QAAA,YAAA,QAAA,KACA,WAAA,kBAFF,wCAKI,WAAA,mBACA,SAAA,O9CqxLJ,uC8C3xLA,uCAWI,kBAAA,EAAA,YAAA,EAXJ,qCAeI,WAAA,KAIJ,uBACE,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OACA,WAAA,kBAHF,+BAOI,QAAA,MACA,OAAA,mBACA,OAAA,oBAAA,OAAA,iBAAA,OAAA,YACA,QAAA,GAVJ,+CAeI,mBAAA,OAAA,eAAA,OACA,cAAA,OAAA,gBAAA,OACA,OAAA,KAjBJ,8DAoBM,WAAA,KApBN,uDAwBM,QAAA,KAMN,eACE,SAAA,SACA,QAAA,YAAA,QAAA,KACA,mBAAA,OAAA,eAAA,OACA,MAAA,KAGA,eAAA,KACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,etClGE,cAAA,MsCsGF,QAAA,EAIF,gBACE,SAAA,MACA,IAAA,EACA,KAAA,EACA,QAAA,KACA,MAAA,MACA,OAAA,MACA,iBAAA,KAPF,qBAUW,QAAA,EAVX,qBAWW,QAAA,GAKX,cACE,QAAA,YAAA,QAAA,KACA,eAAA,MAAA,YAAA,WACA,cAAA,QAAA,gBAAA,cACA,QAAA,KAAA,KACA,cAAA,IAAA,MAAA,QtCtHE,uBAAA,kBACA,wBAAA,kBsCgHJ,qBASI,QAAA,KAAA,KAEA,OAAA,MAAA,MAAA,MAAA,KAKJ,aACE,cAAA,EACA,YAAA,IAKF,YACE,SAAA,SAGA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,QAAA,KAIF,cACE,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,IAAA,gBAAA,SACA,QAAA,OACA,WAAA,IAAA,MAAA,QtCzIE,2BAAA,kBACA,0BAAA,kBsCkIJ,gBAaI,OAAA,OAKJ,yBACE,SAAA,SACA,IAAA,QACA,MAAA,KACA,OAAA,KACA,SAAA,OlCvIE,yBkCzBJ,cAuKI,UAAA,MACA,OAAA,QAAA,KAlJJ,yBAsJI,WAAA,oBAtJJ,wCAyJM,WAAA,qBAtIN,uBA2II,WAAA,oBA3IJ,+BA8IM,OAAA,qBACA,OAAA,oBAAA,OAAA,iBAAA,OAAA,YAQJ,UAAY,UAAA,OlCvKV,yBkC2KF,U9C4wLA,U8C1wLE,UAAA,OlC7KA,0BkCkLF,UAAY,UAAA,QC7Od,SACE,SAAA,SACA,QAAA,KACA,QAAA,MACA,OAAA,ECJA,YAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,WAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,iBAAA,CAAA,mBAEA,WAAA,OACA,YAAA,IACA,YAAA,IACA,WAAA,KACA,WAAA,MACA,gBAAA,KACA,YAAA,KACA,eAAA,KACA,eAAA,OACA,WAAA,OACA,aAAA,OACA,YAAA,OACA,WAAA,K/CgHI,UAAA,Q8CpHJ,UAAA,WACA,QAAA,EAXF,cAaW,QAAA,GAbX,gBAgBI,SAAA,SACA,QAAA,MACA,MAAA,MACA,OAAA,MAnBJ,wBAsBM,SAAA,SACA,QAAA,GACA,aAAA,YACA,aAAA,MAKN,mCAAA,gBACE,QAAA,MAAA,EADF,0CAAA,uBAII,OAAA,EAJJ,kDAAA,+BAOM,IAAA,EACA,aAAA,MAAA,MAAA,EACA,iBAAA,KAKN,qCAAA,kBACE,QAAA,EAAA,MADF,4CAAA,yBAII,KAAA,EACA,MAAA,MACA,OAAA,MANJ,oDAAA,iCASM,MAAA,EACA,aAAA,MAAA,MAAA,MAAA,EACA,mBAAA,KAKN,sCAAA,mBACE,QAAA,MAAA,EADF,6CAAA,0BAII,IAAA,EAJJ,qDAAA,kCAOM,OAAA,EACA,aAAA,EAAA,MAAA,MACA,oBAAA,KAKN,oCAAA,iBACE,QAAA,EAAA,MADF,2CAAA,wBAII,MAAA,EACA,MAAA,MACA,OAAA,MANJ,mDAAA,gCASM,KAAA,EACA,aAAA,MAAA,EAAA,MAAA,MACA,kBAAA,KAqBN,eACE,UAAA,MACA,QAAA,OAAA,MACA,MAAA,KACA,WAAA,OACA,iBAAA,KvC9FE,cAAA,OyClBJ,SACE,SAAA,SACA,IAAA,EACA,KAAA,EACA,QAAA,KACA,QAAA,MACA,UAAA,MDLA,YAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,WAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,iBAAA,CAAA,mBAEA,WAAA,OACA,YAAA,IACA,YAAA,IACA,WAAA,KACA,WAAA,MACA,gBAAA,KACA,YAAA,KACA,eAAA,KACA,eAAA,OACA,WAAA,OACA,aAAA,OACA,YAAA,OACA,WAAA,K/CgHI,UAAA,QgDnHJ,UAAA,WACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,ezCGE,cAAA,MyClBJ,gBAoBI,SAAA,SACA,QAAA,MACA,MAAA,KACA,OAAA,MACA,OAAA,EAAA,MAxBJ,uBAAA,wBA4BM,SAAA,SACA,QAAA,MACA,QAAA,GACA,aAAA,YACA,aAAA,MAKN,mCAAA,gBACE,cAAA,MADF,0CAAA,uBAII,OAAA,mBAJJ,kDAAA,+BAOM,OAAA,EACA,aAAA,MAAA,MAAA,EACA,iBAAA,gBATN,iDAAA,8BAaM,OAAA,IACA,aAAA,MAAA,MAAA,EACA,iBAAA,KAKN,qCAAA,kBACE,YAAA,MADF,4CAAA,yBAII,KAAA,mBACA,MAAA,MACA,OAAA,KACA,OAAA,MAAA,EAPJ,oDAAA,iCAUM,KAAA,EACA,aAAA,MAAA,MAAA,MAAA,EACA,mBAAA,gBAZN,mDAAA,gCAgBM,KAAA,IACA,aAAA,MAAA,MAAA,MAAA,EACA,mBAAA,KAKN,sCAAA,mBACE,WAAA,MADF,6CAAA,0BAII,IAAA,mBAJJ,qDAAA,kCAOM,IAAA,EACA,aAAA,EAAA,MAAA,MAAA,MACA,oBAAA,gBATN,oDAAA,iCAaM,IAAA,IACA,aAAA,EAAA,MAAA,MAAA,MACA,oBAAA,KAfN,8DAAA,2CAqBI,SAAA,SACA,IAAA,EACA,KAAA,IACA,QAAA,MACA,MAAA,KACA,YAAA,OACA,QAAA,GACA,cAAA,IAAA,MAAA,QAIJ,oCAAA,iBACE,aAAA,MADF,2CAAA,wBAII,MAAA,mBACA,MAAA,MACA,OAAA,KACA,OAAA,MAAA,EAPJ,mDAAA,gCAUM,MAAA,EACA,aAAA,MAAA,EAAA,MAAA,MACA,kBAAA,gBAZN,kDAAA,+BAgBM,MAAA,IACA,aAAA,MAAA,EAAA,MAAA,MACA,kBAAA,KAsBN,gBACE,QAAA,MAAA,OACA,cAAA,EhD3BI,UAAA,KgD8BJ,iBAAA,QACA,cAAA,IAAA,MAAA,QzCnIE,uBAAA,kBACA,wBAAA,kByC4HJ,sBAUI,QAAA,KAIJ,cACE,QAAA,MAAA,OACA,MAAA,QC3JF,UACE,SAAA,SAGF,wBACE,iBAAA,MAAA,aAAA,MAGF,gBACE,SAAA,SACA,MAAA,KACA,SAAA,OCvBA,uBACE,QAAA,MACA,MAAA,KACA,QAAA,GDwBJ,eACE,SAAA,SACA,QAAA,KACA,MAAA,KACA,MAAA,KACA,aAAA,MACA,4BAAA,OAAA,oBAAA,OjClBI,WAAA,kBAAA,IAAA,YAAA,WAAA,UAAA,IAAA,YAAA,WAAA,UAAA,IAAA,WAAA,CAAA,kBAAA,IAAA,YAIA,uCiCQN,ejCPQ,WAAA,MjBkyMR,oBACA,oBkDlxMA,sBAGE,QAAA,MlDoxMF,4BkDjxMA,6CAEE,kBAAA,iBAAA,UAAA,iBlDqxMF,2BkDlxMA,8CAEE,kBAAA,kBAAA,UAAA,kBAQF,8BAEI,QAAA,EACA,oBAAA,QACA,kBAAA,KAAA,UAAA,KlDixMJ,sDACA,uDkDtxMA,qCAUI,QAAA,EACA,QAAA,EAXJ,0ClD4xMA,2CkD5wMI,QAAA,EACA,QAAA,EjC5DE,WAAA,QAAA,GAAA,IAIA,uCiCuCN,0ClDoyME,2CiB10MM,WAAA,MjBg1MR,uBkD/wMA,uBAEE,SAAA,SACA,IAAA,EACA,OAAA,EACA,QAAA,EAEA,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,OAAA,gBAAA,OACA,MAAA,IACA,MAAA,KACA,WAAA,OACA,QAAA,GjCnFI,WAAA,QAAA,KAAA,KAIA,uCjBq2MJ,uBkDnyMF,uBjCjEQ,WAAA,MjB22MR,6BADA,6BG/2ME,6BAAA,6B+CwFE,MAAA,KACA,gBAAA,KACA,QAAA,EACA,QAAA,GAGJ,uBACE,KAAA,EAKF,uBACE,MAAA,ElD2xMF,4BkDpxMA,4BAEE,QAAA,aACA,MAAA,KACA,OAAA,KACA,WAAA,UAAA,GAAA,CAAA,KAAA,KAEF,4BACE,iBAAA,qMAEF,4BACE,iBAAA,sMASF,qBACE,SAAA,SACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,GACA,QAAA,YAAA,QAAA,KACA,cAAA,OAAA,gBAAA,OACA,aAAA,EAEA,aAAA,IACA,YAAA,IACA,WAAA,KAZF,wBAeI,WAAA,YACA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,OAAA,IACA,aAAA,IACA,YAAA,IACA,YAAA,OACA,OAAA,QACA,iBAAA,KACA,gBAAA,YAEA,WAAA,KAAA,MAAA,YACA,cAAA,KAAA,MAAA,YACA,QAAA,GjC5JE,WAAA,QAAA,IAAA,KAIA,uCiC4HN,wBjC3HQ,WAAA,MiC2HR,6BAiCI,QAAA,EASJ,kBACE,SAAA,SACA,MAAA,IACA,OAAA,KACA,KAAA,IACA,QAAA,GACA,YAAA,KACA,eAAA,KACA,MAAA,KACA,WAAA,OE/LF,kCACE,GAAK,kBAAA,eAAA,UAAA,gBADP,0BACE,GAAK,kBAAA,eAAA,UAAA,gBAGP,gBACE,QAAA,aACA,MAAA,KACA,OAAA,KACA,eAAA,YACA,OAAA,MAAA,MAAA,aACA,mBAAA,YAEA,cAAA,IACA,kBAAA,eAAA,KAAA,OAAA,SAAA,UAAA,eAAA,KAAA,OAAA,SAGF,mBACE,MAAA,KACA,OAAA,KACA,aAAA,KAOF,gCACE,GACE,kBAAA,SAAA,UAAA,SAEF,IACE,QAAA,EACA,kBAAA,KAAA,UAAA,MANJ,wBACE,GACE,kBAAA,SAAA,UAAA,SAEF,IACE,QAAA,EACA,kBAAA,KAAA,UAAA,MAIJ,cACE,QAAA,aACA,MAAA,KACA,OAAA,KACA,eAAA,YACA,iBAAA,aAEA,cAAA,IACA,QAAA,EACA,kBAAA,aAAA,KAAA,OAAA,SAAA,UAAA,aAAA,KAAA,OAAA,SAGF,iBACE,MAAA,KACA,OAAA,KCpDF,gBAAqB,eAAA,mBACrB,WAAqB,eAAA,cACrB,cAAqB,eAAA,iBACrB,cAAqB,eAAA,iBACrB,mBAAqB,eAAA,sBACrB,gBAAqB,eAAA,mBCFnB,YACE,iBAAA,kBnDUF,mBAAA,mBH8iNF,wBADA,wBsDljNM,iBAAA,kBANJ,cACE,iBAAA,kBnDUF,qBAAA,qBHwjNF,0BADA,0BsD5jNM,iBAAA,kBANJ,YACE,iBAAA,kBnDUF,mBAAA,mBHkkNF,wBADA,wBsDtkNM,iBAAA,kBANJ,SACE,iBAAA,kBnDUF,gBAAA,gBH4kNF,qBADA,qBsDhlNM,iBAAA,kBANJ,YACE,iBAAA,kBnDUF,mBAAA,mBHslNF,wBADA,wBsD1lNM,iBAAA,kBANJ,WACE,iBAAA,kBnDUF,kBAAA,kBHgmNF,uBADA,uBsDpmNM,iBAAA,kBANJ,UACE,iBAAA,kBnDUF,iBAAA,iBH0mNF,sBADA,sBsD9mNM,iBAAA,kBANJ,SACE,iBAAA,kBnDUF,gBAAA,gBHonNF,qBADA,qBsDxnNM,iBAAA,kBCCN,UACE,iBAAA,eAGF,gBACE,iBAAA,sBCXF,QAAkB,OAAA,IAAA,MAAA,kBAClB,YAAkB,WAAA,IAAA,MAAA,kBAClB,cAAkB,aAAA,IAAA,MAAA,kBAClB,eAAkB,cAAA,IAAA,MAAA,kBAClB,aAAkB,YAAA,IAAA,MAAA,kBAElB,UAAmB,OAAA,YACnB,cAAmB,WAAA,YACnB,gBAAmB,aAAA,YACnB,iBAAmB,cAAA,YACnB,eAAmB,YAAA,YAGjB,gBACE,aAAA,kBADF,kBACE,aAAA,kBADF,gBACE,aAAA,kBADF,aACE,aAAA,kBADF,gBACE,aAAA,kBADF,eACE,aAAA,kBADF,cACE,aAAA,kBADF,aACE,aAAA,kBAIJ,cACE,aAAA,eAOF,YACE,cAAA,gBAGF,SACE,cAAA,iBAGF,aACE,uBAAA,iBACA,wBAAA,iBAGF,eACE,wBAAA,iBACA,2BAAA,iBAGF,gBACE,2BAAA,iBACA,0BAAA,iBAGF,cACE,uBAAA,iBACA,0BAAA,iBAGF,YACE,cAAA,gBAGF,gBACE,cAAA,cAGF,cACE,cAAA,gBAGF,WACE,cAAA,YLxEA,iBACE,QAAA,MACA,MAAA,KACA,QAAA,GMOE,QAAwB,QAAA,eAAxB,UAAwB,QAAA,iBAAxB,gBAAwB,QAAA,uBAAxB,SAAwB,QAAA,gBAAxB,SAAwB,QAAA,gBAAxB,aAAwB,QAAA,oBAAxB,cAAwB,QAAA,qBAAxB,QAAwB,QAAA,sBAAA,QAAA,eAAxB,eAAwB,QAAA,6BAAA,QAAA,sB7CiD1B,yB6CjDE,WAAwB,QAAA,eAAxB,aAAwB,QAAA,iBAAxB,mBAAwB,QAAA,uBAAxB,YAAwB,QAAA,gBAAxB,YAAwB,QAAA,gBAAxB,gBAAwB,QAAA,oBAAxB,iBAAwB,QAAA,qBAAxB,WAAwB,QAAA,sBAAA,QAAA,eAAxB,kBAAwB,QAAA,6BAAA,QAAA,uB7CiD1B,yB6CjDE,WAAwB,QAAA,eAAxB,aAAwB,QAAA,iBAAxB,mBAAwB,QAAA,uBAAxB,YAAwB,QAAA,gBAAxB,YAAwB,QAAA,gBAAxB,gBAAwB,QAAA,oBAAxB,iBAAwB,QAAA,qBAAxB,WAAwB,QAAA,sBAAA,QAAA,eAAxB,kBAAwB,QAAA,6BAAA,QAAA,uB7CiD1B,yB6CjDE,WAAwB,QAAA,eAAxB,aAAwB,QAAA,iBAAxB,mBAAwB,QAAA,uBAAxB,YAAwB,QAAA,gBAAxB,YAAwB,QAAA,gBAAxB,gBAAwB,QAAA,oBAAxB,iBAAwB,QAAA,qBAAxB,WAAwB,QAAA,sBAAA,QAAA,eAAxB,kBAAwB,QAAA,6BAAA,QAAA,uB7CiD1B,0B6CjDE,WAAwB,QAAA,eAAxB,aAAwB,QAAA,iBAAxB,mBAAwB,QAAA,uBAAxB,YAAwB,QAAA,gBAAxB,YAAwB,QAAA,gBAAxB,gBAAwB,QAAA,oBAAxB,iBAAwB,QAAA,qBAAxB,WAAwB,QAAA,sBAAA,QAAA,eAAxB,kBAAwB,QAAA,6BAAA,QAAA,uBAU9B,aAEI,cAAqB,QAAA,eAArB,gBAAqB,QAAA,iBAArB,sBAAqB,QAAA,uBAArB,eAAqB,QAAA,gBAArB,eAAqB,QAAA,gBAArB,mBAAqB,QAAA,oBAArB,oBAAqB,QAAA,qBAArB,cAAqB,QAAA,sBAAA,QAAA,eAArB,qBAAqB,QAAA,6BAAA,QAAA,uBCrBzB,kBACE,SAAA,SACA,QAAA,MACA,MAAA,KACA,QAAA,EACA,SAAA,OALF,0BAQI,QAAA,MACA,QAAA,GATJ,yC1Di+NA,wBADA,yBAEA,yBACA,wB0Dl9NI,SAAA,SACA,IAAA,EACA,OAAA,EACA,KAAA,EACA,MAAA,KACA,OAAA,KACA,OAAA,EAQF,gCAEI,YAAA,WAFJ,gCAEI,YAAA,OAFJ,+BAEI,YAAA,IAFJ,+BAEI,YAAA,KCzBF,UAAgC,mBAAA,cAAA,eAAA,cAChC,aAAgC,mBAAA,iBAAA,eAAA,iBAChC,kBAAgC,mBAAA,sBAAA,eAAA,sBAChC,qBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,WAA8B,cAAA,eAAA,UAAA,eAC9B,aAA8B,cAAA,iBAAA,UAAA,iBAC9B,mBAA8B,cAAA,uBAAA,UAAA,uBAC9B,WAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,aAA8B,kBAAA,YAAA,UAAA,YAC9B,aAA8B,kBAAA,YAAA,UAAA,YAC9B,eAA8B,kBAAA,YAAA,YAAA,YAC9B,eAA8B,kBAAA,YAAA,YAAA,YAE9B,uBAAoC,cAAA,gBAAA,gBAAA,qBACpC,qBAAoC,cAAA,cAAA,gBAAA,mBACpC,wBAAoC,cAAA,iBAAA,gBAAA,iBACpC,yBAAoC,cAAA,kBAAA,gBAAA,wBACpC,wBAAoC,cAAA,qBAAA,gBAAA,uBAEpC,mBAAiC,eAAA,gBAAA,YAAA,qBACjC,iBAAiC,eAAA,cAAA,YAAA,mBACjC,oBAAiC,eAAA,iBAAA,YAAA,iBACjC,sBAAiC,eAAA,mBAAA,YAAA,mBACjC,qBAAiC,eAAA,kBAAA,YAAA,kBAEjC,qBAAkC,mBAAA,gBAAA,cAAA,qBAClC,mBAAkC,mBAAA,cAAA,cAAA,mBAClC,sBAAkC,mBAAA,iBAAA,cAAA,iBAClC,uBAAkC,mBAAA,kBAAA,cAAA,wBAClC,sBAAkC,mBAAA,qBAAA,cAAA,uBAClC,uBAAkC,mBAAA,kBAAA,cAAA,kBAElC,iBAAgC,oBAAA,eAAA,WAAA,eAChC,kBAAgC,oBAAA,gBAAA,WAAA,qBAChC,gBAAgC,oBAAA,cAAA,WAAA,mBAChC,mBAAgC,oBAAA,iBAAA,WAAA,iBAChC,qBAAgC,oBAAA,mBAAA,WAAA,mBAChC,oBAAgC,oBAAA,kBAAA,WAAA,kB/CYhC,yB+ClDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mB/CYhC,yB+ClDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mB/CYhC,yB+ClDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mB/CYhC,0B+ClDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mBC1ChC,YAAwB,MAAA,eACxB,aAAwB,MAAA,gBACxB,YAAwB,MAAA,ehDoDxB,yBgDtDA,eAAwB,MAAA,eACxB,gBAAwB,MAAA,gBACxB,eAAwB,MAAA,gBhDoDxB,yBgDtDA,eAAwB,MAAA,eACxB,gBAAwB,MAAA,gBACxB,eAAwB,MAAA,gBhDoDxB,yBgDtDA,eAAwB,MAAA,eACxB,gBAAwB,MAAA,gBACxB,eAAwB,MAAA,gBhDoDxB,0BgDtDA,eAAwB,MAAA,eACxB,gBAAwB,MAAA,gBACxB,eAAwB,MAAA,gBCL1B,iBAAyB,oBAAA,cAAA,iBAAA,cAAA,gBAAA,cAAA,YAAA,cAAzB,kBAAyB,oBAAA,eAAA,iBAAA,eAAA,gBAAA,eAAA,YAAA,eAAzB,kBAAyB,oBAAA,eAAA,iBAAA,eAAA,gBAAA,eAAA,YAAA,eCAzB,eAAsB,SAAA,eAAtB,iBAAsB,SAAA,iBCCtB,iBAAyB,SAAA,iBAAzB,mBAAyB,SAAA,mBAAzB,mBAAyB,SAAA,mBAAzB,gBAAyB,SAAA,gBAAzB,iBAAyB,SAAA,yBAAA,SAAA,iBAK3B,WACE,SAAA,MACA,IAAA,EACA,MAAA,EACA,KAAA,EACA,QAAA,KAGF,cACE,SAAA,MACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,KAI4B,2DAD9B,YAEI,SAAA,eAAA,SAAA,OACA,IAAA,EACA,QAAA,MCzBJ,SCEE,SAAA,SACA,MAAA,IACA,OAAA,IACA,QAAA,EACA,OAAA,KACA,SAAA,OACA,KAAA,cACA,YAAA,OACA,OAAA,EAUA,0BAAA,yBAEE,SAAA,OACA,MAAA,KACA,OAAA,KACA,SAAA,QACA,KAAA,KACA,YAAA,OC7BJ,WAAa,WAAA,EAAA,QAAA,OAAA,2BACb,QAAU,WAAA,EAAA,MAAA,KAAA,0BACV,WAAa,WAAA,EAAA,KAAA,KAAA,2BACb,aAAe,WAAA,eCCX,MAAuB,MAAA,cAAvB,MAAuB,MAAA,cAAvB,MAAuB,MAAA,cAAvB,OAAuB,MAAA,eAAvB,QAAuB,MAAA,eAAvB,MAAuB,OAAA,cAAvB,MAAuB,OAAA,cAAvB,MAAuB,OAAA,cAAvB,OAAuB,OAAA,eAAvB,QAAuB,OAAA,eAI3B,QAAU,UAAA,eACV,QAAU,WAAA,eAIV,YAAc,UAAA,gBACd,YAAc,WAAA,gBAEd,QAAU,MAAA,gBACV,QAAU,OAAA,gBCTF,KAAgC,OAAA,YAChC,MpE27PR,MoEz7PU,WAAA,YAEF,MpE47PR,MoE17PU,aAAA,YAEF,MpE67PR,MoE37PU,cAAA,YAEF,MpE87PR,MoE57PU,YAAA,YAfF,KAAgC,OAAA,iBAChC,MpEm9PR,MoEj9PU,WAAA,iBAEF,MpEo9PR,MoEl9PU,aAAA,iBAEF,MpEq9PR,MoEn9PU,cAAA,iBAEF,MpEs9PR,MoEp9PU,YAAA,iBAfF,KAAgC,OAAA,gBAChC,MpE2+PR,MoEz+PU,WAAA,gBAEF,MpE4+PR,MoE1+PU,aAAA,gBAEF,MpE6+PR,MoE3+PU,cAAA,gBAEF,MpE8+PR,MoE5+PU,YAAA,gBAfF,KAAgC,OAAA,eAChC,MpEmgQR,MoEjgQU,WAAA,eAEF,MpEogQR,MoElgQU,aAAA,eAEF,MpEqgQR,MoEngQU,cAAA,eAEF,MpEsgQR,MoEpgQU,YAAA,eAfF,KAAgC,OAAA,iBAChC,MpE2hQR,MoEzhQU,WAAA,iBAEF,MpE4hQR,MoE1hQU,aAAA,iBAEF,MpE6hQR,MoE3hQU,cAAA,iBAEF,MpE8hQR,MoE5hQU,YAAA,iBAfF,KAAgC,OAAA,eAChC,MpEmjQR,MoEjjQU,WAAA,eAEF,MpEojQR,MoEljQU,aAAA,eAEF,MpEqjQR,MoEnjQU,cAAA,eAEF,MpEsjQR,MoEpjQU,YAAA,eAfF,KAAgC,QAAA,YAChC,MpE2kQR,MoEzkQU,YAAA,YAEF,MpE4kQR,MoE1kQU,cAAA,YAEF,MpE6kQR,MoE3kQU,eAAA,YAEF,MpE8kQR,MoE5kQU,aAAA,YAfF,KAAgC,QAAA,iBAChC,MpEmmQR,MoEjmQU,YAAA,iBAEF,MpEomQR,MoElmQU,cAAA,iBAEF,MpEqmQR,MoEnmQU,eAAA,iBAEF,MpEsmQR,MoEpmQU,aAAA,iBAfF,KAAgC,QAAA,gBAChC,MpE2nQR,MoEznQU,YAAA,gBAEF,MpE4nQR,MoE1nQU,cAAA,gBAEF,MpE6nQR,MoE3nQU,eAAA,gBAEF,MpE8nQR,MoE5nQU,aAAA,gBAfF,KAAgC,QAAA,eAChC,MpEmpQR,MoEjpQU,YAAA,eAEF,MpEopQR,MoElpQU,cAAA,eAEF,MpEqpQR,MoEnpQU,eAAA,eAEF,MpEspQR,MoEppQU,aAAA,eAfF,KAAgC,QAAA,iBAChC,MpE2qQR,MoEzqQU,YAAA,iBAEF,MpE4qQR,MoE1qQU,cAAA,iBAEF,MpE6qQR,MoE3qQU,eAAA,iBAEF,MpE8qQR,MoE5qQU,aAAA,iBAfF,KAAgC,QAAA,eAChC,MpEmsQR,MoEjsQU,YAAA,eAEF,MpEosQR,MoElsQU,cAAA,eAEF,MpEqsQR,MoEnsQU,eAAA,eAEF,MpEssQR,MoEpsQU,aAAA,eAQF,MAAwB,OAAA,kBACxB,OpEosQR,OoElsQU,WAAA,kBAEF,OpEqsQR,OoEnsQU,aAAA,kBAEF,OpEssQR,OoEpsQU,cAAA,kBAEF,OpEusQR,OoErsQU,YAAA,kBAfF,MAAwB,OAAA,iBACxB,OpE4tQR,OoE1tQU,WAAA,iBAEF,OpE6tQR,OoE3tQU,aAAA,iBAEF,OpE8tQR,OoE5tQU,cAAA,iBAEF,OpE+tQR,OoE7tQU,YAAA,iBAfF,MAAwB,OAAA,gBACxB,OpEovQR,OoElvQU,WAAA,gBAEF,OpEqvQR,OoEnvQU,aAAA,gBAEF,OpEsvQR,OoEpvQU,cAAA,gBAEF,OpEuvQR,OoErvQU,YAAA,gBAfF,MAAwB,OAAA,kBACxB,OpE4wQR,OoE1wQU,WAAA,kBAEF,OpE6wQR,OoE3wQU,aAAA,kBAEF,OpE8wQR,OoE5wQU,cAAA,kBAEF,OpE+wQR,OoE7wQU,YAAA,kBAfF,MAAwB,OAAA,gBACxB,OpEoyQR,OoElyQU,WAAA,gBAEF,OpEqyQR,OoEnyQU,aAAA,gBAEF,OpEsyQR,OoEpyQU,cAAA,gBAEF,OpEuyQR,OoEryQU,YAAA,gBAMN,QAAmB,OAAA,eACnB,SpEuyQJ,SoEryQM,WAAA,eAEF,SpEwyQJ,SoEtyQM,aAAA,eAEF,SpEyyQJ,SoEvyQM,cAAA,eAEF,SpE0yQJ,SoExyQM,YAAA,exDTF,yBwDlDI,QAAgC,OAAA,YAChC,SpE22QN,SoEz2QQ,WAAA,YAEF,SpE22QN,SoEz2QQ,aAAA,YAEF,SpE22QN,SoEz2QQ,cAAA,YAEF,SpE22QN,SoEz2QQ,YAAA,YAfF,QAAgC,OAAA,iBAChC,SpE83QN,SoE53QQ,WAAA,iBAEF,SpE83QN,SoE53QQ,aAAA,iBAEF,SpE83QN,SoE53QQ,cAAA,iBAEF,SpE83QN,SoE53QQ,YAAA,iBAfF,QAAgC,OAAA,gBAChC,SpEi5QN,SoE/4QQ,WAAA,gBAEF,SpEi5QN,SoE/4QQ,aAAA,gBAEF,SpEi5QN,SoE/4QQ,cAAA,gBAEF,SpEi5QN,SoE/4QQ,YAAA,gBAfF,QAAgC,OAAA,eAChC,SpEo6QN,SoEl6QQ,WAAA,eAEF,SpEo6QN,SoEl6QQ,aAAA,eAEF,SpEo6QN,SoEl6QQ,cAAA,eAEF,SpEo6QN,SoEl6QQ,YAAA,eAfF,QAAgC,OAAA,iBAChC,SpEu7QN,SoEr7QQ,WAAA,iBAEF,SpEu7QN,SoEr7QQ,aAAA,iBAEF,SpEu7QN,SoEr7QQ,cAAA,iBAEF,SpEu7QN,SoEr7QQ,YAAA,iBAfF,QAAgC,OAAA,eAChC,SpE08QN,SoEx8QQ,WAAA,eAEF,SpE08QN,SoEx8QQ,aAAA,eAEF,SpE08QN,SoEx8QQ,cAAA,eAEF,SpE08QN,SoEx8QQ,YAAA,eAfF,QAAgC,QAAA,YAChC,SpE69QN,SoE39QQ,YAAA,YAEF,SpE69QN,SoE39QQ,cAAA,YAEF,SpE69QN,SoE39QQ,eAAA,YAEF,SpE69QN,SoE39QQ,aAAA,YAfF,QAAgC,QAAA,iBAChC,SpEg/QN,SoE9+QQ,YAAA,iBAEF,SpEg/QN,SoE9+QQ,cAAA,iBAEF,SpEg/QN,SoE9+QQ,eAAA,iBAEF,SpEg/QN,SoE9+QQ,aAAA,iBAfF,QAAgC,QAAA,gBAChC,SpEmgRN,SoEjgRQ,YAAA,gBAEF,SpEmgRN,SoEjgRQ,cAAA,gBAEF,SpEmgRN,SoEjgRQ,eAAA,gBAEF,SpEmgRN,SoEjgRQ,aAAA,gBAfF,QAAgC,QAAA,eAChC,SpEshRN,SoEphRQ,YAAA,eAEF,SpEshRN,SoEphRQ,cAAA,eAEF,SpEshRN,SoEphRQ,eAAA,eAEF,SpEshRN,SoEphRQ,aAAA,eAfF,QAAgC,QAAA,iBAChC,SpEyiRN,SoEviRQ,YAAA,iBAEF,SpEyiRN,SoEviRQ,cAAA,iBAEF,SpEyiRN,SoEviRQ,eAAA,iBAEF,SpEyiRN,SoEviRQ,aAAA,iBAfF,QAAgC,QAAA,eAChC,SpE4jRN,SoE1jRQ,YAAA,eAEF,SpE4jRN,SoE1jRQ,cAAA,eAEF,SpE4jRN,SoE1jRQ,eAAA,eAEF,SpE4jRN,SoE1jRQ,aAAA,eAQF,SAAwB,OAAA,kBACxB,UpEwjRN,UoEtjRQ,WAAA,kBAEF,UpEwjRN,UoEtjRQ,aAAA,kBAEF,UpEwjRN,UoEtjRQ,cAAA,kBAEF,UpEwjRN,UoEtjRQ,YAAA,kBAfF,SAAwB,OAAA,iBACxB,UpE2kRN,UoEzkRQ,WAAA,iBAEF,UpE2kRN,UoEzkRQ,aAAA,iBAEF,UpE2kRN,UoEzkRQ,cAAA,iBAEF,UpE2kRN,UoEzkRQ,YAAA,iBAfF,SAAwB,OAAA,gBACxB,UpE8lRN,UoE5lRQ,WAAA,gBAEF,UpE8lRN,UoE5lRQ,aAAA,gBAEF,UpE8lRN,UoE5lRQ,cAAA,gBAEF,UpE8lRN,UoE5lRQ,YAAA,gBAfF,SAAwB,OAAA,kBACxB,UpEinRN,UoE/mRQ,WAAA,kBAEF,UpEinRN,UoE/mRQ,aAAA,kBAEF,UpEinRN,UoE/mRQ,cAAA,kBAEF,UpEinRN,UoE/mRQ,YAAA,kBAfF,SAAwB,OAAA,gBACxB,UpEooRN,UoEloRQ,WAAA,gBAEF,UpEooRN,UoEloRQ,aAAA,gBAEF,UpEooRN,UoEloRQ,cAAA,gBAEF,UpEooRN,UoEloRQ,YAAA,gBAMN,WAAmB,OAAA,eACnB,YpEkoRF,YoEhoRI,WAAA,eAEF,YpEkoRF,YoEhoRI,aAAA,eAEF,YpEkoRF,YoEhoRI,cAAA,eAEF,YpEkoRF,YoEhoRI,YAAA,gBxDTF,yBwDlDI,QAAgC,OAAA,YAChC,SpEosRN,SoElsRQ,WAAA,YAEF,SpEosRN,SoElsRQ,aAAA,YAEF,SpEosRN,SoElsRQ,cAAA,YAEF,SpEosRN,SoElsRQ,YAAA,YAfF,QAAgC,OAAA,iBAChC,SpEutRN,SoErtRQ,WAAA,iBAEF,SpEutRN,SoErtRQ,aAAA,iBAEF,SpEutRN,SoErtRQ,cAAA,iBAEF,SpEutRN,SoErtRQ,YAAA,iBAfF,QAAgC,OAAA,gBAChC,SpE0uRN,SoExuRQ,WAAA,gBAEF,SpE0uRN,SoExuRQ,aAAA,gBAEF,SpE0uRN,SoExuRQ,cAAA,gBAEF,SpE0uRN,SoExuRQ,YAAA,gBAfF,QAAgC,OAAA,eAChC,SpE6vRN,SoE3vRQ,WAAA,eAEF,SpE6vRN,SoE3vRQ,aAAA,eAEF,SpE6vRN,SoE3vRQ,cAAA,eAEF,SpE6vRN,SoE3vRQ,YAAA,eAfF,QAAgC,OAAA,iBAChC,SpEgxRN,SoE9wRQ,WAAA,iBAEF,SpEgxRN,SoE9wRQ,aAAA,iBAEF,SpEgxRN,SoE9wRQ,cAAA,iBAEF,SpEgxRN,SoE9wRQ,YAAA,iBAfF,QAAgC,OAAA,eAChC,SpEmyRN,SoEjyRQ,WAAA,eAEF,SpEmyRN,SoEjyRQ,aAAA,eAEF,SpEmyRN,SoEjyRQ,cAAA,eAEF,SpEmyRN,SoEjyRQ,YAAA,eAfF,QAAgC,QAAA,YAChC,SpEszRN,SoEpzRQ,YAAA,YAEF,SpEszRN,SoEpzRQ,cAAA,YAEF,SpEszRN,SoEpzRQ,eAAA,YAEF,SpEszRN,SoEpzRQ,aAAA,YAfF,QAAgC,QAAA,iBAChC,SpEy0RN,SoEv0RQ,YAAA,iBAEF,SpEy0RN,SoEv0RQ,cAAA,iBAEF,SpEy0RN,SoEv0RQ,eAAA,iBAEF,SpEy0RN,SoEv0RQ,aAAA,iBAfF,QAAgC,QAAA,gBAChC,SpE41RN,SoE11RQ,YAAA,gBAEF,SpE41RN,SoE11RQ,cAAA,gBAEF,SpE41RN,SoE11RQ,eAAA,gBAEF,SpE41RN,SoE11RQ,aAAA,gBAfF,QAAgC,QAAA,eAChC,SpE+2RN,SoE72RQ,YAAA,eAEF,SpE+2RN,SoE72RQ,cAAA,eAEF,SpE+2RN,SoE72RQ,eAAA,eAEF,SpE+2RN,SoE72RQ,aAAA,eAfF,QAAgC,QAAA,iBAChC,SpEk4RN,SoEh4RQ,YAAA,iBAEF,SpEk4RN,SoEh4RQ,cAAA,iBAEF,SpEk4RN,SoEh4RQ,eAAA,iBAEF,SpEk4RN,SoEh4RQ,aAAA,iBAfF,QAAgC,QAAA,eAChC,SpEq5RN,SoEn5RQ,YAAA,eAEF,SpEq5RN,SoEn5RQ,cAAA,eAEF,SpEq5RN,SoEn5RQ,eAAA,eAEF,SpEq5RN,SoEn5RQ,aAAA,eAQF,SAAwB,OAAA,kBACxB,UpEi5RN,UoE/4RQ,WAAA,kBAEF,UpEi5RN,UoE/4RQ,aAAA,kBAEF,UpEi5RN,UoE/4RQ,cAAA,kBAEF,UpEi5RN,UoE/4RQ,YAAA,kBAfF,SAAwB,OAAA,iBACxB,UpEo6RN,UoEl6RQ,WAAA,iBAEF,UpEo6RN,UoEl6RQ,aAAA,iBAEF,UpEo6RN,UoEl6RQ,cAAA,iBAEF,UpEo6RN,UoEl6RQ,YAAA,iBAfF,SAAwB,OAAA,gBACxB,UpEu7RN,UoEr7RQ,WAAA,gBAEF,UpEu7RN,UoEr7RQ,aAAA,gBAEF,UpEu7RN,UoEr7RQ,cAAA,gBAEF,UpEu7RN,UoEr7RQ,YAAA,gBAfF,SAAwB,OAAA,kBACxB,UpE08RN,UoEx8RQ,WAAA,kBAEF,UpE08RN,UoEx8RQ,aAAA,kBAEF,UpE08RN,UoEx8RQ,cAAA,kBAEF,UpE08RN,UoEx8RQ,YAAA,kBAfF,SAAwB,OAAA,gBACxB,UpE69RN,UoE39RQ,WAAA,gBAEF,UpE69RN,UoE39RQ,aAAA,gBAEF,UpE69RN,UoE39RQ,cAAA,gBAEF,UpE69RN,UoE39RQ,YAAA,gBAMN,WAAmB,OAAA,eACnB,YpE29RF,YoEz9RI,WAAA,eAEF,YpE29RF,YoEz9RI,aAAA,eAEF,YpE29RF,YoEz9RI,cAAA,eAEF,YpE29RF,YoEz9RI,YAAA,gBxDTF,yBwDlDI,QAAgC,OAAA,YAChC,SpE6hSN,SoE3hSQ,WAAA,YAEF,SpE6hSN,SoE3hSQ,aAAA,YAEF,SpE6hSN,SoE3hSQ,cAAA,YAEF,SpE6hSN,SoE3hSQ,YAAA,YAfF,QAAgC,OAAA,iBAChC,SpEgjSN,SoE9iSQ,WAAA,iBAEF,SpEgjSN,SoE9iSQ,aAAA,iBAEF,SpEgjSN,SoE9iSQ,cAAA,iBAEF,SpEgjSN,SoE9iSQ,YAAA,iBAfF,QAAgC,OAAA,gBAChC,SpEmkSN,SoEjkSQ,WAAA,gBAEF,SpEmkSN,SoEjkSQ,aAAA,gBAEF,SpEmkSN,SoEjkSQ,cAAA,gBAEF,SpEmkSN,SoEjkSQ,YAAA,gBAfF,QAAgC,OAAA,eAChC,SpEslSN,SoEplSQ,WAAA,eAEF,SpEslSN,SoEplSQ,aAAA,eAEF,SpEslSN,SoEplSQ,cAAA,eAEF,SpEslSN,SoEplSQ,YAAA,eAfF,QAAgC,OAAA,iBAChC,SpEymSN,SoEvmSQ,WAAA,iBAEF,SpEymSN,SoEvmSQ,aAAA,iBAEF,SpEymSN,SoEvmSQ,cAAA,iBAEF,SpEymSN,SoEvmSQ,YAAA,iBAfF,QAAgC,OAAA,eAChC,SpE4nSN,SoE1nSQ,WAAA,eAEF,SpE4nSN,SoE1nSQ,aAAA,eAEF,SpE4nSN,SoE1nSQ,cAAA,eAEF,SpE4nSN,SoE1nSQ,YAAA,eAfF,QAAgC,QAAA,YAChC,SpE+oSN,SoE7oSQ,YAAA,YAEF,SpE+oSN,SoE7oSQ,cAAA,YAEF,SpE+oSN,SoE7oSQ,eAAA,YAEF,SpE+oSN,SoE7oSQ,aAAA,YAfF,QAAgC,QAAA,iBAChC,SpEkqSN,SoEhqSQ,YAAA,iBAEF,SpEkqSN,SoEhqSQ,cAAA,iBAEF,SpEkqSN,SoEhqSQ,eAAA,iBAEF,SpEkqSN,SoEhqSQ,aAAA,iBAfF,QAAgC,QAAA,gBAChC,SpEqrSN,SoEnrSQ,YAAA,gBAEF,SpEqrSN,SoEnrSQ,cAAA,gBAEF,SpEqrSN,SoEnrSQ,eAAA,gBAEF,SpEqrSN,SoEnrSQ,aAAA,gBAfF,QAAgC,QAAA,eAChC,SpEwsSN,SoEtsSQ,YAAA,eAEF,SpEwsSN,SoEtsSQ,cAAA,eAEF,SpEwsSN,SoEtsSQ,eAAA,eAEF,SpEwsSN,SoEtsSQ,aAAA,eAfF,QAAgC,QAAA,iBAChC,SpE2tSN,SoEztSQ,YAAA,iBAEF,SpE2tSN,SoEztSQ,cAAA,iBAEF,SpE2tSN,SoEztSQ,eAAA,iBAEF,SpE2tSN,SoEztSQ,aAAA,iBAfF,QAAgC,QAAA,eAChC,SpE8uSN,SoE5uSQ,YAAA,eAEF,SpE8uSN,SoE5uSQ,cAAA,eAEF,SpE8uSN,SoE5uSQ,eAAA,eAEF,SpE8uSN,SoE5uSQ,aAAA,eAQF,SAAwB,OAAA,kBACxB,UpE0uSN,UoExuSQ,WAAA,kBAEF,UpE0uSN,UoExuSQ,aAAA,kBAEF,UpE0uSN,UoExuSQ,cAAA,kBAEF,UpE0uSN,UoExuSQ,YAAA,kBAfF,SAAwB,OAAA,iBACxB,UpE6vSN,UoE3vSQ,WAAA,iBAEF,UpE6vSN,UoE3vSQ,aAAA,iBAEF,UpE6vSN,UoE3vSQ,cAAA,iBAEF,UpE6vSN,UoE3vSQ,YAAA,iBAfF,SAAwB,OAAA,gBACxB,UpEgxSN,UoE9wSQ,WAAA,gBAEF,UpEgxSN,UoE9wSQ,aAAA,gBAEF,UpEgxSN,UoE9wSQ,cAAA,gBAEF,UpEgxSN,UoE9wSQ,YAAA,gBAfF,SAAwB,OAAA,kBACxB,UpEmySN,UoEjySQ,WAAA,kBAEF,UpEmySN,UoEjySQ,aAAA,kBAEF,UpEmySN,UoEjySQ,cAAA,kBAEF,UpEmySN,UoEjySQ,YAAA,kBAfF,SAAwB,OAAA,gBACxB,UpEszSN,UoEpzSQ,WAAA,gBAEF,UpEszSN,UoEpzSQ,aAAA,gBAEF,UpEszSN,UoEpzSQ,cAAA,gBAEF,UpEszSN,UoEpzSQ,YAAA,gBAMN,WAAmB,OAAA,eACnB,YpEozSF,YoElzSI,WAAA,eAEF,YpEozSF,YoElzSI,aAAA,eAEF,YpEozSF,YoElzSI,cAAA,eAEF,YpEozSF,YoElzSI,YAAA,gBxDTF,0BwDlDI,QAAgC,OAAA,YAChC,SpEs3SN,SoEp3SQ,WAAA,YAEF,SpEs3SN,SoEp3SQ,aAAA,YAEF,SpEs3SN,SoEp3SQ,cAAA,YAEF,SpEs3SN,SoEp3SQ,YAAA,YAfF,QAAgC,OAAA,iBAChC,SpEy4SN,SoEv4SQ,WAAA,iBAEF,SpEy4SN,SoEv4SQ,aAAA,iBAEF,SpEy4SN,SoEv4SQ,cAAA,iBAEF,SpEy4SN,SoEv4SQ,YAAA,iBAfF,QAAgC,OAAA,gBAChC,SpE45SN,SoE15SQ,WAAA,gBAEF,SpE45SN,SoE15SQ,aAAA,gBAEF,SpE45SN,SoE15SQ,cAAA,gBAEF,SpE45SN,SoE15SQ,YAAA,gBAfF,QAAgC,OAAA,eAChC,SpE+6SN,SoE76SQ,WAAA,eAEF,SpE+6SN,SoE76SQ,aAAA,eAEF,SpE+6SN,SoE76SQ,cAAA,eAEF,SpE+6SN,SoE76SQ,YAAA,eAfF,QAAgC,OAAA,iBAChC,SpEk8SN,SoEh8SQ,WAAA,iBAEF,SpEk8SN,SoEh8SQ,aAAA,iBAEF,SpEk8SN,SoEh8SQ,cAAA,iBAEF,SpEk8SN,SoEh8SQ,YAAA,iBAfF,QAAgC,OAAA,eAChC,SpEq9SN,SoEn9SQ,WAAA,eAEF,SpEq9SN,SoEn9SQ,aAAA,eAEF,SpEq9SN,SoEn9SQ,cAAA,eAEF,SpEq9SN,SoEn9SQ,YAAA,eAfF,QAAgC,QAAA,YAChC,SpEw+SN,SoEt+SQ,YAAA,YAEF,SpEw+SN,SoEt+SQ,cAAA,YAEF,SpEw+SN,SoEt+SQ,eAAA,YAEF,SpEw+SN,SoEt+SQ,aAAA,YAfF,QAAgC,QAAA,iBAChC,SpE2/SN,SoEz/SQ,YAAA,iBAEF,SpE2/SN,SoEz/SQ,cAAA,iBAEF,SpE2/SN,SoEz/SQ,eAAA,iBAEF,SpE2/SN,SoEz/SQ,aAAA,iBAfF,QAAgC,QAAA,gBAChC,SpE8gTN,SoE5gTQ,YAAA,gBAEF,SpE8gTN,SoE5gTQ,cAAA,gBAEF,SpE8gTN,SoE5gTQ,eAAA,gBAEF,SpE8gTN,SoE5gTQ,aAAA,gBAfF,QAAgC,QAAA,eAChC,SpEiiTN,SoE/hTQ,YAAA,eAEF,SpEiiTN,SoE/hTQ,cAAA,eAEF,SpEiiTN,SoE/hTQ,eAAA,eAEF,SpEiiTN,SoE/hTQ,aAAA,eAfF,QAAgC,QAAA,iBAChC,SpEojTN,SoEljTQ,YAAA,iBAEF,SpEojTN,SoEljTQ,cAAA,iBAEF,SpEojTN,SoEljTQ,eAAA,iBAEF,SpEojTN,SoEljTQ,aAAA,iBAfF,QAAgC,QAAA,eAChC,SpEukTN,SoErkTQ,YAAA,eAEF,SpEukTN,SoErkTQ,cAAA,eAEF,SpEukTN,SoErkTQ,eAAA,eAEF,SpEukTN,SoErkTQ,aAAA,eAQF,SAAwB,OAAA,kBACxB,UpEmkTN,UoEjkTQ,WAAA,kBAEF,UpEmkTN,UoEjkTQ,aAAA,kBAEF,UpEmkTN,UoEjkTQ,cAAA,kBAEF,UpEmkTN,UoEjkTQ,YAAA,kBAfF,SAAwB,OAAA,iBACxB,UpEslTN,UoEplTQ,WAAA,iBAEF,UpEslTN,UoEplTQ,aAAA,iBAEF,UpEslTN,UoEplTQ,cAAA,iBAEF,UpEslTN,UoEplTQ,YAAA,iBAfF,SAAwB,OAAA,gBACxB,UpEymTN,UoEvmTQ,WAAA,gBAEF,UpEymTN,UoEvmTQ,aAAA,gBAEF,UpEymTN,UoEvmTQ,cAAA,gBAEF,UpEymTN,UoEvmTQ,YAAA,gBAfF,SAAwB,OAAA,kBACxB,UpE4nTN,UoE1nTQ,WAAA,kBAEF,UpE4nTN,UoE1nTQ,aAAA,kBAEF,UpE4nTN,UoE1nTQ,cAAA,kBAEF,UpE4nTN,UoE1nTQ,YAAA,kBAfF,SAAwB,OAAA,gBACxB,UpE+oTN,UoE7oTQ,WAAA,gBAEF,UpE+oTN,UoE7oTQ,aAAA,gBAEF,UpE+oTN,UoE7oTQ,cAAA,gBAEF,UpE+oTN,UoE7oTQ,YAAA,gBAMN,WAAmB,OAAA,eACnB,YpE6oTF,YoE3oTI,WAAA,eAEF,YpE6oTF,YoE3oTI,aAAA,eAEF,YpE6oTF,YoE3oTI,cAAA,eAEF,YpE6oTF,YoE3oTI,YAAA,gBCjEN,uBAEI,SAAA,SACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,EAEA,eAAA,KACA,QAAA,GAEA,iBAAA,cCVJ,gBAAkB,YAAA,cAAA,CAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,oBAIlB,cAAiB,WAAA,kBACjB,WAAiB,YAAA,iBACjB,aAAiB,YAAA,iBACjB,eCTE,SAAA,OACA,cAAA,SACA,YAAA,ODeE,WAAwB,WAAA,eACxB,YAAwB,WAAA,gBACxB,aAAwB,WAAA,iB1DqCxB,yB0DvCA,cAAwB,WAAA,eACxB,eAAwB,WAAA,gBACxB,gBAAwB,WAAA,kB1DqCxB,yB0DvCA,cAAwB,WAAA,eACxB,eAAwB,WAAA,gBACxB,gBAAwB,WAAA,kB1DqCxB,yB0DvCA,cAAwB,WAAA,eACxB,eAAwB,WAAA,gBACxB,gBAAwB,WAAA,kB1DqCxB,0B0DvCA,cAAwB,WAAA,eACxB,eAAwB,WAAA,gBACxB,gBAAwB,WAAA,kBAM5B,gBAAmB,eAAA,oBACnB,gBAAmB,eAAA,oBACnB,iBAAmB,eAAA,qBAInB,mBAAuB,YAAA,cACvB,qBAAuB,YAAA,kBACvB,oBAAuB,YAAA,cACvB,kBAAuB,YAAA,cACvB,oBAAuB,YAAA,iBACvB,aAAuB,WAAA,iBAIvB,YAAc,MAAA,eEvCZ,cACE,MAAA,kBrEUF,qBAAA,qBqELM,MAAA,kBANN,gBACE,MAAA,kBrEUF,uBAAA,uBqELM,MAAA,kBANN,cACE,MAAA,kBrEUF,qBAAA,qBqELM,MAAA,kBANN,WACE,MAAA,kBrEUF,kBAAA,kBqELM,MAAA,kBANN,cACE,MAAA,kBrEUF,qBAAA,qBqELM,MAAA,kBANN,aACE,MAAA,kBrEUF,oBAAA,oBqELM,MAAA,kBANN,YACE,MAAA,kBrEUF,mBAAA,mBqELM,MAAA,kBANN,WACE,MAAA,kBrEUF,kBAAA,kBqELM,MAAA,kBFuCR,WAAa,MAAA,kBACb,YAAc,MAAA,kBAEd,eAAiB,MAAA,yBACjB,eAAiB,MAAA,+BAIjB,WGvDE,KAAA,CAAA,CAAA,EAAA,EACA,MAAA,YACA,YAAA,KACA,iBAAA,YACA,OAAA,EHuDF,sBAAwB,gBAAA,eAExB,YACE,WAAA,qBACA,UAAA,qBAKF,YAAc,MAAA,kBIjEd,SACE,WAAA,kBAGF,WACE,WAAA,iBCAA,a5EOF,ECy7TE,QADA,S2Ez7TI,YAAA,eAEA,WAAA,eAGF,YAEI,gBAAA,UASJ,mBACE,QAAA,KAAA,YAAA,I5E8LN,I4E/KM,YAAA,mB3Ew6TJ,W2Et6TE,IAEE,OAAA,IAAA,MAAA,QACA,kBAAA,MAQF,MACE,QAAA,mB3Ek6TJ,I2E/5TE,GAEE,kBAAA,M3Ei6TJ,GACA,G2E/5TE,EAGE,QAAA,EACA,OAAA,EAGF,G3E65TF,G2E35TI,iBAAA,MAQF,MACE,KAAA,G5E5CN,K4E+CM,UAAA,gBAEF,WACE,UAAA,gB7C9EN,Q6CmFM,QAAA,KxC/FN,OwCkGM,OAAA,IAAA,MAAA,K7DnGN,O6DuGM,gBAAA,mBADF,U3Eu5TF,U2El5TM,iBAAA,e3Es5TN,mBcz9TF,mB6D0EQ,OAAA,IAAA,MAAA,kB7DWR,Y6DNM,MAAA,Q3Em5TJ,wBAFA,eevgUA,efwgUA,qB2E54TM,aAAA,Q7DlBR,sB6DuBM,MAAA,QACA,aAAA","sourcesContent":["/*!\n * Bootstrap v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"utilities\";\n@import \"print\";\n","// Do not forget to update getting-started/theming.md!\n:root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role=\"button\"] {\n cursor: pointer;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::-webkit-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-moz-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\ninput[type=\"date\"].form-control,\ninput[type=\"time\"].form-control,\ninput[type=\"datetime-local\"].form-control,\ninput[type=\"month\"].form-control {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n font-size: 1rem;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: -ms-inline-flexbox;\n display: inline-flex;\n -ms-flex-align: center;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n -ms-flex-align: center;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: -ms-inline-flexbox;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-align: start;\n align-items: flex-start;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: stretch;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: -ms-flexbox;\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n z-index: 1;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n -webkit-print-color-adjust: exact;\n color-adjust: exact;\n}\n\n.custom-control-inline {\n display: -ms-inline-flexbox;\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1;\n width: 1rem;\n height: 1.25rem;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n -webkit-transform: translateX(0.75rem);\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input[disabled] ~ .custom-file-label,\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -webkit-appearance: none;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n -webkit-transition: none;\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -moz-appearance: none;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n -moz-transition: none;\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n -ms-transition: none;\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n -ms-flex-preferred-size: 100%;\n flex-basis: 100%;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n -ms-flex: 1 0 0%;\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n }\n .card-group > .card {\n -ms-flex: 1 0 0%;\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n -webkit-column-count: 3;\n -moz-column-count: 3;\n column-count: 3;\n -webkit-column-gap: 1.25rem;\n -moz-column-gap: 1.25rem;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion {\n overflow-anchor: none;\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item {\n display: -ms-flexbox;\n display: flex;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: -ms-flexbox;\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: -ms-flexbox;\n display: flex;\n height: 1rem;\n overflow: hidden;\n line-height: 0;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-pack: center;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n -webkit-animation: progress-bar-stripes 1s linear infinite;\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n -webkit-animation: none;\n animation: none;\n }\n}\n\n.media {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n.media-body {\n -ms-flex: 1;\n flex: 1;\n}\n\n.list-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: 0.25rem;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n -ms-flex-direction: row;\n flex-direction: row;\n}\n\n.list-group-horizontal > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush {\n border-radius: 0;\n}\n\n.list-group-flush > .list-group-item {\n border-width: 0 0 1px;\n}\n\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n -ms-flex-preferred-size: 350px;\n flex-basis: 350px;\n max-width: 350px;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: -webkit-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;\n -webkit-transform: translate(0, -50px);\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n -webkit-transform: none;\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n -webkit-transform: scale(1.02);\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n display: -ms-flexbox;\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n height: -webkit-min-content;\n height: -moz-min-content;\n height: min-content;\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-pack: center;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: start;\n align-items: flex-start;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: end;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n height: -webkit-min-content;\n height: -moz-min-content;\n height: min-content;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n transition: -webkit-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n -webkit-transform: none;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n -ms-flex: 0 1 auto;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@-webkit-keyframes spinner-border {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes spinner-border {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n -webkit-animation: spinner-border .75s linear infinite;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@-webkit-keyframes spinner-grow {\n 0% {\n -webkit-transform: scale(0);\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes spinner-grow {\n 0% {\n -webkit-transform: scale(0);\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n -webkit-animation: spinner-grow .75s linear infinite;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.user-select-all {\n -webkit-user-select: all !important;\n -moz-user-select: all !important;\n -ms-user-select: all !important;\n user-select: all !important;\n}\n\n.user-select-auto {\n -webkit-user-select: auto !important;\n -moz-user-select: auto !important;\n -ms-user-select: auto !important;\n user-select: auto !important;\n}\n\n.user-select-none {\n -webkit-user-select: none !important;\n -moz-user-select: none !important;\n -ms-user-select: none !important;\n user-select: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n .sticky-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-break: break-word !important;\n word-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","/*!\n * Bootstrap v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\ninput[type=\"date\"].form-control,\ninput[type=\"time\"].form-control,\ninput[type=\"datetime-local\"].form-control,\ninput[type=\"month\"].form-control {\n appearance: none;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n font-size: 1rem;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n z-index: 1;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n color-adjust: exact;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1;\n width: 1rem;\n height: 1.25rem;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input[disabled] ~ .custom-file-label,\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion {\n overflow-anchor: none;\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item {\n display: flex;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n line-height: 0;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: 0.25rem;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush {\n border-radius: 0;\n}\n\n.list-group-flush > .list-group-item {\n border-width: 0 0 1px;\n}\n\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n flex-basis: 350px;\n max-width: 350px;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n height: min-content;\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n height: min-content;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-break: break-word !important;\n word-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled() {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid() {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n @include deprecate(\"`img-retina()`\", \"v4.3.0\", \"v5\");\n}\n","// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n","// Inline code\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n @include deprecate(\"The `make-container-max-widths` mixin\", \"v4.5.2\", \"v5\");\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @if $columns > 0 {\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n }\n\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n @if $columns > 0 {\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover() {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover() {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover() {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Remove select outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $input-color;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus($ignore-warning: true);\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n &.form-control {\n appearance: none; // Fix appearance for date inputs in Safari\n }\n}\n\nselect.form-control {\n &:focus::-ms-value {\n // Suppress the nested default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n @include font-size($input-font-size);\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n// stylelint-disable-next-line no-duplicate-selectors\nselect.form-control {\n &[size],\n &[multiple] {\n height: auto;\n }\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n display: block;\n margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$form-grid-gutter-width / 2;\n margin-left: -$form-grid-gutter-width / 2;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: $form-grid-gutter-width / 2;\n padding-left: $form-grid-gutter-width / 2;\n }\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n position: relative;\n display: block;\n padding-left: $form-check-input-gutter;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: $form-check-input-margin-y;\n margin-left: -$form-check-input-gutter;\n\n // Use [disabled] and :disabled for workaround https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .form-check-label,\n &:disabled ~ .form-check-label {\n color: $text-muted;\n }\n}\n\n.form-check-label {\n margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0; // Override base .form-check\n margin-right: $form-check-inline-margin-x;\n\n // Undo .form-check-input defaults and add some `margin-right`.\n .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: $form-check-inline-input-margin-x;\n margin-left: 0;\n }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@each $state, $data in $form-validation-states {\n @include form-validation-state($state, map-get($data, color), map-get($data, icon));\n}\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group,\n .custom-select {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n\n .custom-control {\n align-items: center;\n justify-content: center;\n }\n .custom-control-label {\n margin-bottom: 0;\n }\n }\n}\n","// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-prefers-reduced-motion-media-query and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($ignore-warning: false) {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $input-focus-box-shadow;\n }\n }\n @include deprecate(\"The `form-control-focus()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-yiq($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .custom-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $custom-select-feedback-icon-padding-right;\n background: $custom-select-background, escape-svg($icon) $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .custom-control-input {\n @include form-validation-state-selector($state) {\n ~ .custom-control-label {\n color: $color;\n\n &::before {\n border-color: $color;\n }\n }\n\n &:checked {\n ~ .custom-control-label::before {\n border-color: lighten($color, 10%);\n @include gradient-bg(lighten($color, 10%));\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n &:not(:checked) ~ .custom-control-label::before {\n border-color: $color;\n }\n }\n }\n }\n\n // custom file\n .custom-file-input {\n @include form-validation-state-selector($state) {\n ~ .custom-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .custom-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n color: $body-color;\n text-align: center;\n text-decoration: if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n @include hover() {\n color: $body-color;\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n &:not(:disabled):not(.disabled) {\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n\n &:active,\n &.active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $link-color;\n text-decoration: $link-decoration;\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover() {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n @if $enable-shadows {\n @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows and $btn-active-box-shadow != none {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n border-color: $color;\n\n @include hover() {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows and $btn-active-box-shadow != none {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y $dropdown-padding-x;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n @include hover-focus() {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-header-padding;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n","@mixin caret-down() {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up() {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right() {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left() {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) {\n height: 0;\n margin: $margin-y 0;\n overflow: hidden;\n border-top: 1px solid $color;\n @include deprecate(\"The `nav-divider()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n @include hover() {\n z-index: 1;\n }\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-control-plaintext,\n > .custom-select,\n > .custom-file {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n margin-bottom: 0;\n\n + .form-control,\n + .custom-select,\n + .custom-file {\n margin-left: -$input-border-width;\n }\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .custom-select:focus,\n > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .custom-file .custom-file-input:focus {\n z-index: 4;\n }\n\n > .form-control,\n > .custom-select {\n &:not(:last-child) { @include border-right-radius(0); }\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .custom-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .custom-file-label,\n &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }\n &:not(:first-child) .custom-file-label { @include border-left-radius(0); }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: $custom-select-padding-x + $custom-select-indicator-padding;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n","// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n position: relative;\n z-index: 1;\n display: block;\n min-height: $font-size-base * $line-height-base;\n padding-left: $custom-control-gutter + $custom-control-indicator-size;\n color-adjust: exact; // Keep themed appearance for print\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1; // Put the input behind the label so it doesn't overlay text\n width: $custom-control-indicator-size;\n height: ($font-size-base * $line-height-base + $custom-control-indicator-size) / 2;\n opacity: 0;\n\n &:checked ~ .custom-control-label::before {\n color: $custom-control-indicator-checked-color;\n border-color: $custom-control-indicator-checked-border-color;\n @include gradient-bg($custom-control-indicator-checked-bg);\n @include box-shadow($custom-control-indicator-checked-box-shadow);\n }\n\n &:focus ~ .custom-control-label::before {\n // the mixin is not used here to make sure there is feedback\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $custom-control-indicator-focus-box-shadow;\n } @else {\n box-shadow: $custom-control-indicator-focus-box-shadow;\n }\n }\n\n &:focus:not(:checked) ~ .custom-control-label::before {\n border-color: $custom-control-indicator-focus-border-color;\n }\n\n &:not(:disabled):active ~ .custom-control-label::before {\n color: $custom-control-indicator-active-color;\n background-color: $custom-control-indicator-active-bg;\n border-color: $custom-control-indicator-active-border-color;\n @include box-shadow($custom-control-indicator-active-box-shadow);\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .custom-control-label {\n color: $custom-control-label-disabled-color;\n\n &::before {\n background-color: $custom-control-indicator-disabled-bg;\n }\n }\n }\n}\n\n// Custom control indicators\n//\n// Build the custom controls out of pseudo-elements.\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n color: $custom-control-label-color;\n vertical-align: top;\n cursor: $custom-control-cursor;\n\n // Background-color and (when enabled) gradient\n &::before {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n pointer-events: none;\n content: \"\";\n background-color: $custom-control-indicator-bg;\n border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width;\n @include box-shadow($custom-control-indicator-box-shadow);\n }\n\n // Foreground (icon)\n &::after {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n content: \"\";\n background: no-repeat 50% / #{$custom-control-indicator-bg-size};\n }\n}\n\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n .custom-control-label::before {\n @include border-radius($custom-checkbox-indicator-border-radius);\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-checked);\n }\n }\n\n .custom-control-input:indeterminate ~ .custom-control-label {\n &::before {\n border-color: $custom-checkbox-indicator-indeterminate-border-color;\n @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);\n @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n }\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-indeterminate);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n &:indeterminate ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n .custom-control-label::before {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-radio-indicator-border-radius;\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-radio-indicator-icon-checked);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n\n// switches\n//\n// Tweak a few things for switches\n\n.custom-switch {\n padding-left: $custom-switch-width + $custom-control-gutter;\n\n .custom-control-label {\n &::before {\n left: -($custom-switch-width + $custom-control-gutter);\n width: $custom-switch-width;\n pointer-events: all;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-switch-indicator-border-radius;\n }\n\n &::after {\n top: add(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2, $custom-control-indicator-border-width * 2);\n left: add(-($custom-switch-width + $custom-control-gutter), $custom-control-indicator-border-width * 2);\n width: $custom-switch-indicator-size;\n height: $custom-switch-indicator-size;\n background-color: $custom-control-indicator-border-color;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-switch-indicator-border-radius;\n @include transition(transform .15s ease-in-out, $custom-forms-transition);\n }\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-color: $custom-control-indicator-bg;\n transform: translateX($custom-switch-width - $custom-control-indicator-size);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n//\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: $custom-select-height;\n padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n font-family: $custom-select-font-family;\n @include font-size($custom-select-font-size);\n font-weight: $custom-select-font-weight;\n line-height: $custom-select-line-height;\n color: $custom-select-color;\n vertical-align: middle;\n background: $custom-select-bg $custom-select-background;\n border: $custom-select-border-width solid $custom-select-border-color;\n @include border-radius($custom-select-border-radius, 0);\n @include box-shadow($custom-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $custom-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($custom-select-box-shadow, $custom-select-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $custom-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $custom-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $custom-select-disabled-color;\n background-color: $custom-select-disabled-bg;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n display: none;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $custom-select-color;\n }\n}\n\n.custom-select-sm {\n height: $custom-select-height-sm;\n padding-top: $custom-select-padding-y-sm;\n padding-bottom: $custom-select-padding-y-sm;\n padding-left: $custom-select-padding-x-sm;\n @include font-size($custom-select-font-size-sm);\n}\n\n.custom-select-lg {\n height: $custom-select-height-lg;\n padding-top: $custom-select-padding-y-lg;\n padding-bottom: $custom-select-padding-y-lg;\n padding-left: $custom-select-padding-x-lg;\n @include font-size($custom-select-font-size-lg);\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $custom-file-height;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $custom-file-height;\n margin: 0;\n opacity: 0;\n\n &:focus ~ .custom-file-label {\n border-color: $custom-file-focus-border-color;\n box-shadow: $custom-file-focus-box-shadow;\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .custom-file-label,\n &:disabled ~ .custom-file-label {\n background-color: $custom-file-disabled-bg;\n }\n\n @each $lang, $value in $custom-file-text {\n &:lang(#{$lang}) ~ .custom-file-label::after {\n content: $value;\n }\n }\n\n ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n }\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: $custom-file-height;\n padding: $custom-file-padding-y $custom-file-padding-x;\n font-family: $custom-file-font-family;\n font-weight: $custom-file-font-weight;\n line-height: $custom-file-line-height;\n color: $custom-file-color;\n background-color: $custom-file-bg;\n border: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius($custom-file-border-radius);\n @include box-shadow($custom-file-box-shadow);\n\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: $custom-file-height-inner;\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-button-color;\n content: \"Browse\";\n @include gradient-bg($custom-file-button-bg);\n border-left: inherit;\n @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n }\n}\n\n// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.custom-range {\n width: 100%;\n height: add($custom-range-thumb-height, $custom-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: ($custom-range-track-height - $custom-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent; // Why?\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent;\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $custom-range-thumb-height / 2;\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &:disabled {\n &::-webkit-slider-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-webkit-slider-runnable-track {\n cursor: default;\n }\n\n &::-moz-range-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-moz-range-track {\n cursor: default;\n }\n\n &::-ms-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n }\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n @include transition($custom-forms-transition);\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n text-decoration: if($link-decoration == none, null, none);\n\n @include hover-focus() {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n @include hover-focus() {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n > .nav-link,\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n > .nav-link,\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n %container-flex-properties {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n\n .container,\n .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n @include font-size($navbar-brand-font-size);\n line-height: inherit;\n white-space: nowrap;\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n float: none;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n %container-navbar-expand-#{$breakpoint} {\n padding-right: 0;\n padding-left: 0;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n %container-nesting-#{$breakpoint} {\n flex-wrap: nowrap;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-nesting-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-nesting-#{$breakpoint};\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n @include hover-focus() {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n @include hover-focus() {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n a {\n color: $navbar-light-active-color;\n\n @include hover-focus() {\n color: $navbar-light-active-color;\n }\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n @include hover-focus() {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n @include hover-focus() {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a {\n color: $navbar-dark-active-color;\n\n @include hover-focus() {\n color: $navbar-dark-active-color;\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n\n &:first-child {\n border-top-width: 0;\n @include border-top-radius($card-inner-border-radius);\n }\n\n &:last-child {\n border-bottom-width: 0;\n @include border-bottom-radius($card-inner-border-radius);\n }\n }\n\n // Due to specificity of the above selector (`.card > .list-group`), we must\n // use a child selector here to prevent double borders.\n > .card-header + .list-group,\n > .list-group + .card-footer {\n border-top: 0;\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n // Workaround for the image size bug in IE\n // See: https://github.com/twbs/bootstrap/pull/28855\n min-height: 1px;\n padding: $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n @include hover() {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-spacer-x / 2;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x / 2;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -$card-spacer-x / 2;\n margin-left: -$card-spacer-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n @include border-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Columns\n//\n\n.card-columns {\n .card {\n margin-bottom: $card-columns-margin;\n }\n\n @include media-breakpoint-up(sm) {\n column-count: $card-columns-count;\n column-gap: $card-columns-gap;\n orphans: 1;\n widows: 1;\n\n .card {\n display: inline-block; // Don't let them vertically span multiple columns\n width: 100%; // Don't let their width change\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n overflow-anchor: none;\n\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n display: flex;\n\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n @include border-radius();\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: $pagination-padding-y $pagination-padding-x;\n margin-left: -$pagination-border-width;\n line-height: $pagination-line-height;\n color: $pagination-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:first-child {\n .page-link {\n margin-left: 0;\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n }\n\n .page-item {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n @include transition($badge-transition);\n\n @at-root a#{&} {\n @include hover-focus() {\n text-decoration: none;\n }\n }\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n padding-right: $badge-pill-padding-x;\n padding-left: $badge-pill-padding-x;\n @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n .badge-#{$color} {\n @include badge-variant($value);\n }\n}\n","@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n @at-root a#{&} {\n @include hover-focus() {\n color: color-yiq($bg);\n background-color: darken($bg, 10%);\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);\n }\n }\n}\n",".jumbotron {\n padding: $jumbotron-padding ($jumbotron-padding / 2);\n margin-bottom: $jumbotron-padding;\n color: $jumbotron-color;\n background-color: $jumbotron-bg;\n @include border-radius($border-radius-lg);\n\n @include media-breakpoint-up(sm) {\n padding: ($jumbotron-padding * 2) $jumbotron-padding;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n @include border-radius(0);\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n from { background-position: $progress-height 0; }\n to { background-position: 0 0; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n line-height: 0;\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n",".media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius($list-group-border-radius);\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n @include hover-focus() {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius(inherit);\n }\n\n &:last-child {\n @include border-bottom-radius(inherit);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 $list-group-border-width;\n\n &:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n @include hover-focus() {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",".close {\n float: right;\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n @include hover() {\n color: $close-color;\n text-decoration: none;\n }\n\n &:not(:disabled):not(.disabled) {\n @include hover-focus() {\n opacity: .75;\n }\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\n// Future-proof disabling of clicks on `<a>` elements\n\n// stylelint-disable-next-line selector-no-qualifying-type\na.close.disabled {\n pointer-events: none;\n}\n",".toast {\n // Prevents from shrinking in IE11, when in a flex container\n // See https://github.com/twbs/bootstrap/issues/28341\n flex-basis: $toast-max-width;\n max-width: $toast-max-width;\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n @include border-top-radius(subtract($toast-border-radius, $toast-border-width));\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n display: flex; // IE10/11\n max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n\n // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)\n &::before {\n display: block; // IE10\n height: subtract(100vh, $modal-dialog-margin * 2);\n height: min-content; // Reset height to 0 except on IE\n content: \"\";\n }\n\n // Ensure `.modal-body` shows scrollbar (IE10/11)\n &.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n\n .modal-content {\n max-height: none;\n }\n\n &::before {\n content: none;\n }\n }\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n }\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n &::before {\n height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n height: min-content;\n }\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text() {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n @include hover-focus() {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: no-repeat 50% / 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: .5;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: 1;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: 20px;\n left: (100% - $carousel-caption-width) / 2;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n","// stylelint-disable declaration-no-important\n\n.align-baseline { vertical-align: baseline !important; } // Browser default\n.align-top { vertical-align: top !important; }\n.align-middle { vertical-align: middle !important; }\n.align-bottom { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top { vertical-align: text-top !important; }\n","// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent},\n button#{$parent} {\n @include hover-focus() {\n background-color: darken($color, 10%) !important;\n }\n }\n @include deprecate(\"The `bg-variant` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n@mixin bg-gradient-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n @include deprecate(\"The `bg-gradient-variant` mixin\", \"v4.5.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n @include bg-variant(\".bg-#{$color}\", $value, true);\n}\n\n@if $enable-gradients {\n @each $color, $value in $theme-colors {\n @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value, true);\n }\n}\n\n.bg-white {\n background-color: $white !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n","// stylelint-disable property-disallowed-list, declaration-no-important\n\n//\n// Border\n//\n\n.border { border: $border-width solid $border-color !important; }\n.border-top { border-top: $border-width solid $border-color !important; }\n.border-right { border-right: $border-width solid $border-color !important; }\n.border-bottom { border-bottom: $border-width solid $border-color !important; }\n.border-left { border-left: $border-width solid $border-color !important; }\n\n.border-0 { border: 0 !important; }\n.border-top-0 { border-top: 0 !important; }\n.border-right-0 { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0 { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n .border-#{$color} {\n border-color: $value !important;\n }\n}\n\n.border-white {\n border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded-sm {\n border-radius: $border-radius-sm !important;\n}\n\n.rounded {\n border-radius: $border-radius !important;\n}\n\n.rounded-top {\n border-top-left-radius: $border-radius !important;\n border-top-right-radius: $border-radius !important;\n}\n\n.rounded-right {\n border-top-right-radius: $border-radius !important;\n border-bottom-right-radius: $border-radius !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-left {\n border-top-left-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-lg {\n border-radius: $border-radius-lg !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: $rounded-pill !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios {\n $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1);\n $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2);\n\n .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} {\n &::before {\n padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x);\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .float#{$infix}-left { float: left !important; }\n .float#{$infix}-right { float: right !important; }\n .float#{$infix}-none { float: none !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $value in $user-selects {\n .user-select-#{$value} { user-select: $value !important; }\n}\n","// stylelint-disable declaration-no-important\n\n@each $value in $overflows {\n .overflow-#{$value} { overflow: $value !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Common values\n@each $position in $positions {\n .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only {\n @include sr-only();\n}\n\n.sr-only-focusable {\n @include sr-only-focusable();\n}\n","// Only display content to screen readers\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only() {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable() {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n }\n}\n","// stylelint-disable declaration-no-important\n\n.shadow-sm { box-shadow: $box-shadow-sm !important; }\n.shadow { box-shadow: $box-shadow !important; }\n.shadow-lg { box-shadow: $box-shadow-lg !important; }\n.shadow-none { box-shadow: none !important; }\n","// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n @each $size, $length in $sizes {\n .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n\n// Viewport additional helpers\n\n.min-vw-100 { min-width: 100vw !important; }\n.min-vh-100 { min-height: 100vh !important; }\n\n.vw-100 { width: 100vw !important; }\n.vh-100 { height: 100vh !important; }\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n // Just in case `pointer-events: none` is set on a parent\n pointer-events: auto;\n content: \"\";\n // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color\n background-color: rgba(0, 0, 0, 0);\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n.text-monospace { font-family: $font-family-monospace !important; }\n\n// Alignment\n\n.text-justify { text-align: justify !important; }\n.text-wrap { white-space: normal !important; }\n.text-nowrap { white-space: nowrap !important; }\n.text-truncate { @include text-truncate(); }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .text#{$infix}-left { text-align: left !important; }\n .text#{$infix}-right { text-align: right !important; }\n .text#{$infix}-center { text-align: center !important; }\n }\n}\n\n// Transformation\n\n.text-lowercase { text-transform: lowercase !important; }\n.text-uppercase { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light { font-weight: $font-weight-light !important; }\n.font-weight-lighter { font-weight: $font-weight-lighter !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold { font-weight: $font-weight-bold !important; }\n.font-weight-bolder { font-weight: $font-weight-bolder !important; }\n.font-italic { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: $white !important; }\n\n@each $color, $value in $theme-colors {\n @include text-emphasis-variant(\".text-#{$color}\", $value, true);\n}\n\n.text-body { color: $body-color !important; }\n.text-muted { color: $text-muted !important; }\n\n.text-black-50 { color: rgba($black, .5) !important; }\n.text-white-50 { color: rgba($white, .5) !important; }\n\n// Misc\n\n.text-hide {\n @include text-hide($ignore-warning: true);\n}\n\n.text-decoration-none { text-decoration: none !important; }\n\n.text-break {\n word-break: break-word !important; // Deprecated, but avoids issues with flex containers\n word-wrap: break-word !important; // Used instead of `overflow-wrap` for IE & Edge Legacy\n}\n\n// Reset\n\n.text-reset { color: inherit !important; }\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n color: $color !important;\n }\n @if $emphasized-link-hover-darken-percentage != 0 {\n a#{$parent} {\n @include hover-focus() {\n color: darken($color, $emphasized-link-hover-darken-percentage) !important;\n }\n }\n }\n @include deprecate(\"`text-emphasis-variant()`\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n","// CSS image replacement\n@mixin text-hide($ignore-warning: false) {\n // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n\n @include deprecate(\"`text-hide()`\", \"v4.1.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Visibility utilities\n//\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/main.css/blob/master/src/_print.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// https://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n @media print {\n *,\n *::before,\n *::after {\n // Bootstrap specific; comment out `color` and `background`\n //color: $black !important; // Black prints faster\n text-shadow: none !important;\n //background: transparent !important;\n box-shadow: none !important;\n }\n\n a {\n &:not(.btn) {\n text-decoration: underline;\n }\n }\n\n // Bootstrap specific; comment the following selector out\n //a[href]::after {\n // content: \" (\" attr(href) \")\";\n //}\n\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n\n // Bootstrap specific; comment the following selector out\n //\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n //\n\n //a[href^=\"#\"]::after,\n //a[href^=\"javascript:\"]::after {\n // content: \"\";\n //}\n\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px\n page-break-inside: avoid;\n }\n\n //\n // Printing Tables:\n // https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables\n //\n\n thead {\n display: table-header-group;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Specify a size and min-width to make printing closer across browsers.\n // We don't set margin here because it breaks `size` in Chrome. We also\n // don't use `!important` on `size` as it breaks in Chrome.\n @page {\n size: $print-page-size;\n }\n body {\n min-width: $print-body-min-width !important;\n }\n .container {\n min-width: $print-body-min-width !important;\n }\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .badge {\n border: $border-width solid $black;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: $white !important;\n }\n }\n\n .table-bordered {\n th,\n td {\n border: 1px solid $gray-300 !important;\n }\n }\n\n .table-dark {\n color: inherit;\n\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $table-border-color;\n }\n }\n\n .table .thead-dark th {\n color: inherit;\n border-color: $table-border-color;\n }\n\n // Bootstrap specific changes end\n }\n}\n"]} \ No newline at end of file diff --git a/src/main/resources/static/css/earth/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUJiZTaR.woff2 b/src/main/resources/static/css/earth/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUJiZTaR.woff2 new file mode 100644 index 0000000..437d6ce --- /dev/null +++ b/src/main/resources/static/css/earth/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUJiZTaR.woff2 Binary files differ diff --git a/src/main/resources/static/css/earth/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUZiZQ.woff2 b/src/main/resources/static/css/earth/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUZiZQ.woff2 new file mode 100644 index 0000000..7ef4f1d --- /dev/null +++ b/src/main/resources/static/css/earth/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUZiZQ.woff2 Binary files differ diff --git a/src/main/resources/static/css/earth/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUhiZTaR.woff2 b/src/main/resources/static/css/earth/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUhiZTaR.woff2 new file mode 100644 index 0000000..d420349 --- /dev/null +++ b/src/main/resources/static/css/earth/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUhiZTaR.woff2 Binary files differ diff --git a/src/main/resources/static/css/earth/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUliZTaR.woff2 b/src/main/resources/static/css/earth/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUliZTaR.woff2 new file mode 100644 index 0000000..106f244 --- /dev/null +++ b/src/main/resources/static/css/earth/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUliZTaR.woff2 Binary files differ diff --git a/src/main/resources/static/css/earth/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUtiZTaR.woff2 b/src/main/resources/static/css/earth/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUtiZTaR.woff2 new file mode 100644 index 0000000..ba110d1 --- /dev/null +++ b/src/main/resources/static/css/earth/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUtiZTaR.woff2 Binary files differ diff --git a/src/main/resources/static/css/earth/css.css b/src/main/resources/static/css/earth/css.css new file mode 100644 index 0000000..01023c9 --- /dev/null +++ b/src/main/resources/static/css/earth/css.css @@ -0,0 +1,40 @@ +/* cyrillic-ext */ +@font-face { + font-family: 'Oswald'; + font-style: normal; + font-weight: 400; + src: url(TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUtiZTaR.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Oswald'; + font-style: normal; + font-weight: 400; + src: url(TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUJiZTaR.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* vietnamese */ +@font-face { + font-family: 'Oswald'; + font-style: normal; + font-weight: 400; + src: url(TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUliZTaR.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Oswald'; + font-style: normal; + font-weight: 400; + src: url(TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUhiZTaR.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Oswald'; + font-style: normal; + font-weight: 400; + src: url(TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUZiZQ.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} diff --git a/src/main/resources/static/css/earth/style.css b/src/main/resources/static/css/earth/style.css new file mode 100644 index 0000000..b2ea4b6 --- /dev/null +++ b/src/main/resources/static/css/earth/style.css @@ -0,0 +1,193 @@ +html, body { + width: 100%; + height: 100%; + margin: 0; + padding: 0; + font-family: 'Lato', sans-serif; + color: #fff; + background: url("../../images/login/login.jpg") no-repeat center; + background-size: 100% 100%; + font-family: Microsoft YaHei; + overflow: hidden; +} + +.title { + position: absolute; + z-index: 2; + width: 425em; + height: 84em; + white-space: nowrap; + top: 8%; + left: 18%; +} + + .title img { + height: auto; + width: auto; + transform: translate(0%, 0%); + } + +.bg { + position: absolute; + display: block; + top: 0; + left: 0; + z-index: 1; +} + +#main { + width: 472px; + height: 490px; + position: absolute; + background: hsla(0,0%,100%,.9); + border-radius: 8px; + margin-left: 62%; + margin-top: 12%; + z-index: 3; +} + +.main_title { + font-size: 25px; + color: #3b4d6e; + font-weight: 700; + margin-top: 48px; + margin-left: 48px; +} + +#eMsg { + color: red; + font-size: 18px; + margin-left: 25px; +} + +.main_form { + margin-top: 48px; + margin-left: 48px; + box-sizing: border-box; + width: 376px; +} + +.main_txt { + width: 100%; + height: 41px; + background-color: lightgrey; + border-radius: 5px; + vertical-align: central; + padding-left: 5px; + box-sizing: border-box; +} + + .main_txt img { + padding-left: 3px; + padding-right: 5px; + vertical-align: text-bottom; + } + + .main_txt input { + height: 41px; + width: 338px; + border: none; + border-radius: 5px; + font-size: 18px; + padding-left: 15px; + background-color: rgb(250, 255, 189); + } + + .main_txt input:focus { + outline: 0; + } + +#checkCode { + font-style: italic; + color: blue; + font-size: 30px; + float: right; + cursor: pointer; + margin-right: 30px; +} + +#btnLogin { + width: 100%; + background: rgb(59, 77, 110); + color: white; + cursor: pointer; +} + + + + +.world { + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + cursor: move; + cursor: -moz-grab; + cursor: -webkit-grab; + z-index: 0; +} + +.world-bg { + position: absolute; + width: 100%; + height: 100%; + background-position: 50% 50%; + background-size: cover; +} + +.world-globe { + position: absolute; + left: 30%; + top: 55%; + width: 0; + height: 0; +} + +.world-globe-pole { + position: absolute; + width: 530px; + height: 530px; + left: calc(50% - 265px); + top: calc(50% - 265px); + border-radius: 50% 50%; + background-color: #fff; +} + +.world-globe-doms-container { + position: absolute; + left: 50%; + top: 50%; + width: 0; + height: 0; +} + +.world-globe-halo { + position: absolute; + left: 50%; + top: 50%; + width: 720px; + height: 720px; + margin-left: -370px; + margin-top: -350px; +} + +.info { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + padding: 10px 10px; + box-sizing: border-box; + background-color: rgba(0, 0, 0, 0.8); + color: #fff; + font-size: 12px; +} + +.info-desc { + color: #ddd; + font-size: 10px; +} + +a { + color: #ff5f5f; +} diff --git a/src/main/resources/static/css/jquery-ui.min.css b/src/main/resources/static/css/jquery-ui.min.css new file mode 100644 index 0000000..776e259 --- /dev/null +++ b/src/main/resources/static/css/jquery-ui.min.css @@ -0,0 +1,7 @@ +/*! jQuery UI - v1.12.1 - 2016-09-14 +* http://jqueryui.com +* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=Alpha(Opacity%3D30)&opacityFilterOverlay=Alpha(Opacity%3D30)&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6 +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-size:100%}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2em;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-controlgroup{vertical-align:middle;display:inline-block}.ui-controlgroup > .ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup > .ui-controlgroup-item:focus,.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus{z-index:9999}.ui-controlgroup-vertical > .ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc( 100% - 2.4em )}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-checkboxradio-label .ui-icon-background{box-shadow:inset 1px 1px 1px #ccc;border-radius:.12em;border:none}.ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:none}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}.ui-checkboxradio-disabled{pointer-events:none}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{width:2px;right:0}.ui-dialog .ui-resizable-s{height:2px;bottom:0}.ui-dialog .ui-resizable-w{width:2px;left:0}.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw,.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw{width:7px;height:7px}.ui-dialog .ui-resizable-se{right:0;bottom:0}.ui-dialog .ui-resizable-sw{left:0;bottom:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:.222em 0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:2em}.ui-spinner-button{width:1.6em;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top-style:none;border-bottom-style:none;border-right-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.003;filter:Alpha(Opacity=.3)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666} \ No newline at end of file diff --git a/src/main/resources/static/css/login.css b/src/main/resources/static/css/login.css new file mode 100644 index 0000000..2acdd59 --- /dev/null +++ b/src/main/resources/static/css/login.css @@ -0,0 +1,19 @@ +html, body { + height: 100%; + width: 100%; + margin: 0; + padding: 0; + overflow: hidden; +} + +#main { + width: 472px; + height: 570px; + position: absolute; + background: hsla(0,0%,100%,.9); + border-radius: 8px; + margin-left: 62%; + margin-top: 50px; + z-index: 2; +} + diff --git a/src/main/resources/static/css/main.css b/src/main/resources/static/css/main.css new file mode 100644 index 0000000..53ec649 --- /dev/null +++ b/src/main/resources/static/css/main.css @@ -0,0 +1,482 @@ +#box { + min-width: 50px; + min-height: 50px; + width: 100%; + height: 100%; + margin: 10px 10px 0px 0px; + + display: flex; + flex-flow: row nowrap; + align-items: flex-start; + justify-content: space-between; +} + +#left { + width: 100%; + height: 100%; + margin: 0px 10px 0px 0px; + display: flex; + flex-flow: column nowrap; + align-items: flex-start; +} + + +#right { + display: none; + width: 25%; + height: 100%; + /*font-family: "榛戜綋";*/ + /*font-size: 16px;*/ + /*display: flex;*/ + /*flex-flow: row wrap;*/ + /*align-items: flex-start;*/ + /*color: #007bff;*/ +} +.errorResNummore,.personcountmore{ + /*font-size: 18px;*/ +} +#right span { + /*font-family: "榛戜綋";*/ + /*font-size: 25px;*/ + /*color: #007bff;*/ +} + +#top { + width: 100%; + height: 75px; + font-family: "榛戜綋"; + font-size: 32px; + display: flex; + flex-flow: row nowrap; + align-items: flex-end; + justify-content: space-between; +} + +#header_left { + width: 100%; + height: 50px; + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + background-color: #162343; +} + +#header_left span { + width: 100%; + height: 50px; + display: flex; + line-height: 50px; + text-align: center; + +} + +#header_left img { + width: 50px; + height: 50px; +} + +#header_right { + width: 100%; + height: 50px; + display: flex; + flex-flow: row nowrap; + align-items: flex-end; + justify-content: flex-end; +} + +#header_right span { + width: 100px; + height: 50px; + display: flex; + line-height: 50px; + text-align: center; +} + +#severstatus { + width: 100%; + height: 170px; + display: flex; + +} + +.severstatus_left { + width: 100%; + height: 300px; + /* display: flex; */ + flex-flow: column wrap; + justify-content: flex-start; + border: solid 2px; + /* background-color: #ffffff; */ + +} +.severstatus_left,.severstatus_right{ + /* border: solid 1px gray!important; */ +} +.severstatus_left span { +/* font-family: "榛戜綋"; + font-size: 25px; + margin-left: 20px; + color: #007bff;*/ +} + +.severstatus_right span { + /*font-family: "榛戜綋";*/ + /*font-size: 25px;*/ + /*margin-left: 20px;*/ + /*color: #007bff;*/ +} + +.severstatus_right { + /*margin-left: 20px;*/ + + width: 49%; + height: 300px; + flex-flow: column wrap; + justify-content: flex-start; + border: solid 2px; + /* background-color: #ffffff; */ + margin-left: 26px; +} + +#useraction { + margin-top: 300px; + width: 100%; + height: 300px; + display: flex; + /* background-color: #ffffff; */ +} + +.useraction_left { + width: 100%; + height: 350px; + display: flex; + flex-flow: column wrap; + justify-content: flex-start; + +} + +.useraction_right { + width: 40%; + height: 350px; + display: flex; + background-color: yellow; +} + + +.useractionbox { + width: 100%; + padding-right: 20px; + display: flex; + flex-direction: row; + justify-content: center; + + height: 80%; +} + + +#resUsage { + width: 100%; + height: 300px; + display: flex; + background-color: white; + margin-top: 100px; +} + +.resUsagebox { + width: 100%; + display: flex; + padding-right: 20px; + flex-direction: row; + justify-content: center; + height: 300px; + background-color: #ffffff; +} + +.resUsage_left { + width: 100%; + height: 400px; + display: flex; + flex-flow: column wrap; + justify-content: flex-start; + +} + +.resUsage_left span { + /*font-family: "榛戜綋";*/ + /*font-size: 32px;*/ + /*margin-left: 20px;*/ + /*color: blue;*/ +} + +.resUsage_left_top { + width: 100%; + height: 25px; + font-family: "榛戜綋"; + font-size: 16px; + margin-left: 20px; + /*color: blue;*/ +} + +.resUsage_right { + width: 40%; + height: 300px; + display: flex; + background-color: yellow; +} + + +#resinvokechart { + width: 100%; + display: flex; + height: 300px; +} + +#useractionchart { + width: 100%; + display: flex; + height: 300px; +} + + +#cpuinfo { + width: 40%; + height: 200px; + display: flex; +} + +#meminfo { + width: 40%; + height: 200px; + display: flex; +} + +#main { + width: 98%; + margin: 0 auto; +} + +.title { + width: 100%; + height: 35px; +} + +.chart { + width: 100%; + display: flex; + flex-direction: row; + justify-content: center; + height: 200px; + margin: 24px; +} + +#resstatus { + width: 400px; + height: 200px; + display: flex; + +} + +#auditstatus { + width: 400px; + height: 200px; + display: flex; + +} + +#onlineUsertable td { + text-align: center; +} + +#onlineUser { + width: 49%; + height: 400px; + /*border: #ffffff solid 2px;*/ + float: left; + background-color: #ffffff; + font-size: 14px !important; +} + +#warnResource { + /* margin-top: 20px; */ + width: 49%; + height: 100%; + /*border: #ffffff solid 2px;*/ + overflow-y: auto; + background-color: #ffffff; + float: right; + font-size: 14px; +} + +#errorRestable>thead ,.tbbox tr{ + display: table; + width: 100%; + table-layout: fixed; +} +.tbbox{ + height: 280px; + display: block; + overflow: auto; +} +td { + text-align: center; +} +#right th { + /*color: #007bff;*/ + color: #73879a; + width: 25%; +} + +#right td { + + /*color: #007bff;*/ + color: #73879a; + +} + +.sysinfo { + width: 50%; + /*height: 125px;*/ + height: 114px; + display: flex; + + flex-flow: row wrap; + justify-content: space-between; + /*font-family: "妤蜂綋";*/ + font-size: 25px; + /*color: #007bff ;*/ + color:#73879a; +} +#tabpanel{ + background-color: #fff; + width: 100%; + height: 450px; +} +#tabpanel .title{ + height:56px; + text-align: left; +} +#tabpanel .title .tabtitle{ + margin-left: 20px; + margin-top: 3px; + width: 100px; + height: 56px; + color: #6c757d; + line-height: 56px; + float: left; + font-weight: 800; + font-size: 14px !important; + cursor: pointer; +} +#tabpanel .title .tabtitle:hover{ + color: #24acf2; +} +#tabpanel .title .active{ + color: #24acf2; +} +#tabpanel .tabcontent{ + width: 100%; + height: 500px; +} +.partbox { + width: 23%; + height: 50%; + margin: 10px 10px; + text-align: center; + background-color: #FFFFFf; + vertical-align: center; + padding: 20px; + border: solid 1px rgba(0, 0, 0, .05) ; + float: left; +} +.divider{ + background-color: #dee2e6; + height: 0.5px; + width: 90%; + margin-left: auto; + margin-right: auto; +} +.SysinfoBox { + width: 100%; + height: 175px; + display: flex; + flex-flow: row wrap; + justify-content: flex-end; + background-color: #ffffff; + align-items: center; +} + +.useractionlabel { + display: block; + width: 80px; + float: left; + margin-top: 8px; +} + +.useractionlabeltext{ + width:300px!important; + float:left +} + +#NoPermissionModal{ + width: 80%; + height: 60%; +} +::-webkit-scrollbar{ + width: 10px; + height: 10px!important; +} +::-webkit-scrollbar-thumb{ + border-radius: 10px; + background-color: #24acf2; +} +::-webkit-scrollbar-track{ + box-shadow: inset 0 0 5px rgba(0,0,0,0.2); + background-color: #fff; + border-radius: 10px; +} + +/*JH change*/ +/*2021.6.23*/ +.panel-default { + /* border-color: #ddd !important ; + border-color: none !important ; */ + } +.panel { + margin-bottom: 10px; + /* background-color: #fff; */ + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); + box-shadow: 0 1px 1px rgba(0, 0, 0, .05); +} +.panel-heading{ + padding:10px 15px; + /* border-bottom:1px solid transparent; */ + border-top-left-radius: 3px; + border-top-right-radius: 3px; + color:#333; + /* background-color: #f5f5f5; */ + /* border-color: #dee2e6; + padding-bottom: 33px; */ + +} +.useractionlabel { + display: block; + width: 80px; + float: left; + margin-top: 8px; + margin-left: 6px; +} +.table th, .table td { + padding: 0.75rem; + vertical-align: top; + border-top: 0px solid #dee2e6; +} + +/*.title{*/ +/* color: #333;*/ +/* background-color: #f5f5f5;*/ +/* border-color: #ddd;*/ +/* */ +/*}*/ +/*JH change*/ diff --git a/src/main/resources/static/css/style.css b/src/main/resources/static/css/style.css new file mode 100644 index 0000000..e091bfc --- /dev/null +++ b/src/main/resources/static/css/style.css @@ -0,0 +1,112 @@ +锘縝ody{ + background:#e5e1e0; + font-size:12px; + background-color:#0eade0; + } +#div_foot{ + width:100%;text-align:center;color:white;font-size:18px;position:fixed;bottom:10px; +} + +/* 鐧诲綍鐣岄潰 */ +.loginheader,.loginmain,.regisheadermain{width:774px;margin-left:auto;margin-right:auto;} +.loginheader,.regisheadermain{height:50px;background:url(../images/login/loginuser.png) no-repeat;background-position:left; text-indent:50px;line-height:55px;} +.loginmain{height:1080px;background-repeat:no-repeat;background-position:center bottom;} +.logintitle{background:url(../images/NewGJXJlogin/login_tit.png) no-repeat;background-repeat:no-repeat;height:115px;width:921px;position: absolute;margin-top:90px;} +.loginname,.lognameE,.welregis{font-family:寰蒋闆呴粦;font-size:18px; font-weight:bold;color:#4f4e4e; vertical-align:middle} +.lognameE{ font-family:Arial;} +.devline{margin-left:10px;margin-right:10px;} +.logintable{width:400px;height:426px;position:absolute;float:right;margin-top:390px;} +.loginid,.loginpwd,.loginvalicode,.loginvalifield{width:280px;height:50px;} +.loginvalifield{border:none} +.loginvalicode{width:125px;float:left} +.loginid{background:url(../images/NewGJXJlogin/1920/user.png) no-repeat;background-position:3% 20%;background-color:rgba(0,0,0,0);} +.loginid input{width:348px;font-size: 20px;line-height:36px;margin-left:52px; outline:none;border:none;*border:0;background-color:rgba(0,0,0,0);height:38px;border-radius:6px;color:#fff} +.loginpwd{background:url(../images/NewGJXJlogin/1920/password.png) no-repeat;background-position:3% 20%;background-color:rgba(0,0,0,0);} +.loginpwd input{width:348px;font-size: 20px;line-height:36px;margin-left:52px; outline:none;border:none;*border:0;background-color:rgba(0,0,0,0);height:38px;border-radius:6px;color:#fff} +.loginvalicode{background:url(../images/NewGJXJlogin/1920/code.png) no-repeat;background-position:4% 20%;background-color:rgba(0,0,0,0);width:306px;} +.loginvalicode input{width:254px;font-size: 20px;line-height:36px;margin-left:52px; outline:none;border:none;*border:0;background-color:rgba(0,0,0,0);height:38px;border-radius:6px;color:#fff} +.loginput,.logivalinput{width:115px;height:27px;line-height:30px;margin-left:33px; outline:none;border:none;*border:0} +.logivalinput{width:115px;} +.validatelbl{width:77px;height:36px;float:right;line-height:29px;cursor:pointer;margin-top:3px} +.loginbtn{width:100%;height:66px;background:url(../images/NewGJXJlogin/1920/login_btn.png) no-repeat;border:none;outline:none;cursor:pointer;margin-right:10px;background-size:100% 100%;} +/*.loginbtn:hover{background:url(../images/login/js_btnlogin_hover.png) no-repeat}*/ +.resetbtn{width:104px;height:30px;background:url(../images/login/hz_chongzhi.png) no-repeat;border:none;outline:none;display:none; +cursor:pointer;margin-right:10px;} +.btnfield{height:35px;position:relative;margin-top:0px;margin-left:auto;margin-right:auto;} +.regisspan{position:absolute;top:15px;} +.regisspan{color:#36755B; text-decoration:none;} +.regisspan:hover{color:#36755B; text-decoration:underline;} +.trustsite{background:url(../images/NewGJXJlogin/add.png) no-repeat;background-size: 10%;background-position:3% 50%;line-height:36px;} +.code{width:65px !important;height:30px !important;font-size:22px !important;border-radius:0px !important;line-height: 29px !important;} +input::-webkit-input-placeholder {color: white;} + +/* 娉ㄥ唽 */ +.regisheader{width:100%;height:63px;border-bottom:3px solid #9BD4BC;margin-top:23px;} +.regisheadermain{margin-top:0px;} +.welregis{font-size:14px;} +.regismain{width:760px;height:375px;margin-left:auto;margin-right:auto;border:1px solid #9BD4BC;margin-top:17px; background:#fff} +.registable{margin-left:188px;margin-top:20px;} +.registr{height:36px;line-height:36px;} +.registd,.grxgtd{ text-align:right;color:#333333;} +.regisinput,.grxginput{width:205px;height:20px;border:1px solid #CCCCCC;outline:none;margin-left:5px;} +.pointspan,.grpointspan{color:red;margin-left:10px;} +.regisbtn,.qrxgbtn{width:117px;height:34px;background:url(../images/login/btnregis.png) no-repeat;border:0;cursor:pointer;margin-left:300px;margin-top:15px;} +.regisbtn:hover{background:url(../images/login/btnregis_hover.png) no-repeat;} +.departsel{width:205px;} +.genderdiv,.departdiv,.min-departdiv{width:60px;height:25px;overflow:hidden;position:relative;margin-left:5px;background:url(../images/login/genderseldiv.png) no-repeat;z-index:2;} + +.departdiv{margin-left:5px;} + +.gendersel,.departsel,.min-departsel{width:100px;*width:60px;height:25px;border:none;position:relative;z-index:1;font-family:寰蒋闆呴粦;color:#4f4e4e;background:transparent;-webkit-appearance:none; /*for chrome*/ padding:0px 0px 3px 0px;outline:none;} + +.departsel{width:255px;*width:205px;} + +/* 涓汉涓績 */ +.grzxtab{width:767px;height:30px;margin-top:20px;margin-left:auto;margin-right:auto;border-bottom:1px solid #9DD5BD;} +.grzxtab ul li{list-style-type:none;font-family:寰蒋闆呴粦;font-size:14px;color:#4f4e4e;min-width:105px;width:auto;height:30px; text-align:center;line-height:33px;padding:0px 10px 0px 10px;cursor:pointer;margin-left:12px;display:inline-block;*display:inline;zoom:1;} +.tabNormal{border-top:1px solid #CCCCCC;border-left:1px solid #CCCCCC;border-right:1px solid #CCCCCC;} +#tabContent_2{margin-left:6px;*margin-left:10px;} +.tabSelected{border-top:1px solid #9DD5BD;border-left:1px solid #9DD5BD;border-right:1px solid #9DD5BD;background:#fff;font-weight:bold} +.tabContent{width:765px;height:270px;padding-top:45px;margin-left:auto;margin-right:auto;border-left:1px solid #9DD5BD;;border-right:1px solid #9DD5BD;;border-bottom:1px solid #9DD5BD;background:#fff;} +.xgtable,.pwdtable{margin-left:auto;margin-right:auto;} +.grxgtd{font-family:寰蒋闆呴粦;font-size:14px;} +.grpointspan{margin-left:5px;} +.grxginput{width:168px;} +.min-departdiv{width:172px;background:url(../images/login/min-partselectdiv.png) no-repeat;} +.min-departsel{width:200px;*width:172px;} +.grxgtr{height:45px;line-height:45px;} +.qrxgbtn{background:url(../images/login/qrxg.png) no-repeat;margin-top:35px;margin-left:320px;} +.qrxgbtn:hover{background:url(../images/login/qrxg_hover.png) no-repeat} + +/* 鐧诲綍鎴愬姛 */ +.successmain{width:760px;min-height:200px;height:auto;padding-bottom:30px;background:#ffffff;border:1px solid #9DD5BD;margin-top:30px;margin-left:auto;margin-right:auto;font-family:寰蒋闆呴粦;color:#ffffff;} +.imfordiv{width:730px;height:100px;background:#9DD5BD;position:relative;margin-top:15px;margin-left:auto;margin-right:auto;} +.imfordiv img{position:absolute;top:20px;left:50px} +.alertspan{font-size:20px;position:absolute;top:15px;left:160px;} +.alertdetailspan{font-size:12px;position:absolute;top:50px;left:160px;right:40px} +.sysdiv{padding-top:10px;padding-left:10px;} +.sysname{width:220px;height:45px;border:1px solid #ffffff;display:inline-block;*display:inline;zoom:1;color:#4f4e4e;line-height:45px;cursor:pointer;margin-left:5px;margin-right:10px;} +.sysname:hover{background:#EBFAF4;border:1px solid #9DD5BD} +.sysname img{margin-left:10px;margin-right:10px;vertical-align:middle;} + +/* reset.css */ + a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, dialog, div, dl, dt, em, embed, fieldset, figcaption, figure, font, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, hr, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, meter, nav, object, ol, output, p, pre, progress, q, rp, rt, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video, xmp {border: 0;margin: 0;padding: 0;font-size: 100%;} +body {height: 100%;} +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;} +b, strong {font-weight: bold;} +img {color: transparent;font-size: 0;vertical-align: middle;-ms-interpolation-mode: bicubic;} +li {display: list-item;} +table {border-collapse: collapse;border-spacing: 0;} +th, td, caption {font-weight: normal;} +q {quotes: none;} +q:before, q:after {content: '';content: none;} +sub, sup, small {font-size: 75%;} +sub, sup {line-height: 0;position: relative;vertical-align: baseline;} +sub {bottom: -0.25em;} +sup {top: -0.5em;} +svg {overflow: hidden;} + +/* login.css */ +.code {font-family: Arial;font-style: italic;color: blue;font-size: 30px;border: 0;padding: 2px 3px;letter-spacing: 3px;font-weight: bolder;float: left;cursor: pointer;width: 88px;height: 35px;line-height: 34px;text-align: center;vertical-align: middle;border-top-right-radius: 5px;border-bottom-right-radius: 5px;background-color: white;} +a {text-decoration: underline;} a:hover {text-decoration: underline;} + \ No newline at end of file diff --git a/src/main/resources/static/favicon.ico b/src/main/resources/static/favicon.ico new file mode 100644 index 0000000..f13658b --- /dev/null +++ b/src/main/resources/static/favicon.ico Binary files differ diff --git a/src/main/resources/static/html/login.html b/src/main/resources/static/html/login.html new file mode 100644 index 0000000..74beba9 --- /dev/null +++ b/src/main/resources/static/html/login.html @@ -0,0 +1,79 @@ +锘�<!DOCTYPE> +<html> +<head> + <title>绠¢亾鍩虹澶ф暟鎹钩鍙版湇鍔�-鐧诲綍</title> + <meta http-equiv="Expires" content="0" /> + <meta http-equiv="Cache" content="no-cache" /> + <meta http-equiv="Pragma" content="no-cache" /> + <meta http-equiv="Cache-control" content="no-cache" /> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" /> + <link href="../favicon.ico" rel="icon" type="image/x-icon" /> + <link href="../css/earth/css.css" rel="stylesheet"> + <link href="../css/earth/style.css" rel="stylesheet"> + <script src="../js/jquery.min.js"></script> + <script src="../js/jquery.cookie.min.js"></script> + <script src="../js/rsa.min.js"></script> + <script src="../js/login.js"></script> + <!--script src="../js/particles.min.js"></!--script--> + <script> + $(function () { + document.getElementById('password').focus(); + //Particles.init({ selector: '.bg'}); + createCode(); + getPublicKey(); + }); + </script> +</head> +<body> + <div class="world"> + <div class="world-bg"></div> + <div class="world-globe"> + <div class="world-globe-pole"></div> + <div class="world-globe-doms-container"></div> + <div class="world-globe-halo"></div> + </div> + </div> + + <!--canvas class="bg"></canvas--> + + <div id="main"> + <div class="main_title"> + <span>鐢ㄦ埛鐧诲綍</span> + <span id="eMsg"></span> + </div> + <form class="main_form"> + <div class="main_txt"> + <img src="../images/login/user.png" alt="" /> + <input id="username" type="text" value="admin" maxlength="30" placeholder="璇疯緭鍏ョ敤鎴峰悕" /> + </div> + + <div class="main_txt" style="margin-top: 48px;"> + <img src="../images/login/pwd.png" alt="" /> + <input id="password" type="password" maxlength="30" value="" placeholder="璇疯緭鍏ュ瘑鐮�" /> + </div> + + <div class="main_txt" style="margin-top: 48px;"> + <img src="../images/login/code.png" alt="" /> + <input id="inputCode" type="text" value="" maxlength="4" style="width: 218px;" placeholder="璇疯緭鍏ラ獙璇佺爜" /> + <div id="checkCode" onclick="createCode()"></div> + </div> + + <div class="main_txt" style="margin-top: 48px; padding: 0;"> + <input id="btnLogin" type="button" value="鐧� 褰�" onclick="sysLogin();" /> + </div> + </form> + </div> + + <div class="title"> + <img src="../images/login/lg_03.png" alt="" /> + </div> + + <script src='../js/earth/dat.gui.min.js'></script> + <script src='../js/earth/Stats.js'></script> + <script src='../js/earth/css_globe_PerspectiveTransform.js'></script> + <script src='../js/earth/TweenMax.min.js'></script> + <script src="../js/earth/script.js"></script> +</body> +</html> diff --git a/src/main/resources/static/images/NewGJXJlogin/1280/2bg.jpg b/src/main/resources/static/images/NewGJXJlogin/1280/2bg.jpg new file mode 100644 index 0000000..d6a1bc5 --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1280/2bg.jpg Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/1280/code.png b/src/main/resources/static/images/NewGJXJlogin/1280/code.png new file mode 100644 index 0000000..da11540 --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1280/code.png Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/1280/password.png b/src/main/resources/static/images/NewGJXJlogin/1280/password.png new file mode 100644 index 0000000..6e97042 --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1280/password.png Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/1280/user.png b/src/main/resources/static/images/NewGJXJlogin/1280/user.png new file mode 100644 index 0000000..1a51cf4 --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1280/user.png Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/1366/2bg.jpg b/src/main/resources/static/images/NewGJXJlogin/1366/2bg.jpg new file mode 100644 index 0000000..9003d67 --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1366/2bg.jpg Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/1366/code.png b/src/main/resources/static/images/NewGJXJlogin/1366/code.png new file mode 100644 index 0000000..4f5e1e0 --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1366/code.png Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/1366/password.png b/src/main/resources/static/images/NewGJXJlogin/1366/password.png new file mode 100644 index 0000000..e02114f --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1366/password.png Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/1366/user.png b/src/main/resources/static/images/NewGJXJlogin/1366/user.png new file mode 100644 index 0000000..f208679 --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1366/user.png Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/1440/2bg.jpg b/src/main/resources/static/images/NewGJXJlogin/1440/2bg.jpg new file mode 100644 index 0000000..fab6130 --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1440/2bg.jpg Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/1440/code.png b/src/main/resources/static/images/NewGJXJlogin/1440/code.png new file mode 100644 index 0000000..340d813 --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1440/code.png Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/1440/password.png b/src/main/resources/static/images/NewGJXJlogin/1440/password.png new file mode 100644 index 0000000..18fe8b7 --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1440/password.png Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/1440/user.png b/src/main/resources/static/images/NewGJXJlogin/1440/user.png new file mode 100644 index 0000000..717e6fe --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1440/user.png Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/1600/2bg.jpg b/src/main/resources/static/images/NewGJXJlogin/1600/2bg.jpg new file mode 100644 index 0000000..43e8806 --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1600/2bg.jpg Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/1600/code.png b/src/main/resources/static/images/NewGJXJlogin/1600/code.png new file mode 100644 index 0000000..60445ff --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1600/code.png Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/1600/password.png b/src/main/resources/static/images/NewGJXJlogin/1600/password.png new file mode 100644 index 0000000..fe09af3 --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1600/password.png Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/1600/user.png b/src/main/resources/static/images/NewGJXJlogin/1600/user.png new file mode 100644 index 0000000..fa4daa5 --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1600/user.png Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/1920/2bg.jpg b/src/main/resources/static/images/NewGJXJlogin/1920/2bg.jpg new file mode 100644 index 0000000..8e5302c --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1920/2bg.jpg Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/1920/code.png b/src/main/resources/static/images/NewGJXJlogin/1920/code.png new file mode 100644 index 0000000..1fa3470 --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1920/code.png Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/1920/login_btn.png b/src/main/resources/static/images/NewGJXJlogin/1920/login_btn.png new file mode 100644 index 0000000..fdd4789 --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1920/login_btn.png Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/1920/password.png b/src/main/resources/static/images/NewGJXJlogin/1920/password.png new file mode 100644 index 0000000..6ac8328 --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1920/password.png Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/1920/user.png b/src/main/resources/static/images/NewGJXJlogin/1920/user.png new file mode 100644 index 0000000..65a0b8a --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/1920/user.png Binary files differ diff --git a/src/main/resources/static/images/NewGJXJlogin/login_btn.png b/src/main/resources/static/images/NewGJXJlogin/login_btn.png new file mode 100644 index 0000000..fdd4789 --- /dev/null +++ b/src/main/resources/static/images/NewGJXJlogin/login_btn.png Binary files differ diff --git a/src/main/resources/static/images/earth/css_globe_bg.jpg b/src/main/resources/static/images/earth/css_globe_bg.jpg new file mode 100644 index 0000000..0a1eabd --- /dev/null +++ b/src/main/resources/static/images/earth/css_globe_bg.jpg Binary files differ diff --git a/src/main/resources/static/images/earth/css_globe_diffuse.jpg b/src/main/resources/static/images/earth/css_globe_diffuse.jpg new file mode 100644 index 0000000..e34c48c --- /dev/null +++ b/src/main/resources/static/images/earth/css_globe_diffuse.jpg Binary files differ diff --git a/src/main/resources/static/images/earth/css_globe_halo.png b/src/main/resources/static/images/earth/css_globe_halo.png new file mode 100644 index 0000000..8800956 --- /dev/null +++ b/src/main/resources/static/images/earth/css_globe_halo.png Binary files differ diff --git a/src/main/resources/static/images/login/code.png b/src/main/resources/static/images/login/code.png new file mode 100644 index 0000000..da11540 --- /dev/null +++ b/src/main/resources/static/images/login/code.png Binary files differ diff --git a/src/main/resources/static/images/login/lg_03.png b/src/main/resources/static/images/login/lg_03.png new file mode 100644 index 0000000..9b4ff35 --- /dev/null +++ b/src/main/resources/static/images/login/lg_03.png Binary files differ diff --git a/src/main/resources/static/images/login/login.jpg b/src/main/resources/static/images/login/login.jpg new file mode 100644 index 0000000..0a1eabd --- /dev/null +++ b/src/main/resources/static/images/login/login.jpg Binary files differ diff --git a/src/main/resources/static/images/login/loginline.png b/src/main/resources/static/images/login/loginline.png new file mode 100644 index 0000000..d762346 --- /dev/null +++ b/src/main/resources/static/images/login/loginline.png Binary files differ diff --git a/src/main/resources/static/images/login/pwd.png b/src/main/resources/static/images/login/pwd.png new file mode 100644 index 0000000..6e97042 --- /dev/null +++ b/src/main/resources/static/images/login/pwd.png Binary files differ diff --git a/src/main/resources/static/images/login/user.png b/src/main/resources/static/images/login/user.png new file mode 100644 index 0000000..1a51cf4 --- /dev/null +++ b/src/main/resources/static/images/login/user.png Binary files differ diff --git a/src/main/resources/static/js/bootstrap.min.js b/src/main/resources/static/js/bootstrap.min.js new file mode 100644 index 0000000..cd995a6 --- /dev/null +++ b/src/main/resources/static/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.5.3 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap={},t.jQuery,t.Popper)}(this,(function(t,e,n){"use strict";function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var o=i(e),a=i(n);function s(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function l(t,e,n){return e&&s(t.prototype,e),n&&s(t,n),t}function r(){return(r=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}function u(t){var e=this,n=!1;return o.default(this).one(d.TRANSITION_END,(function(){n=!0})),setTimeout((function(){n||d.triggerTransitionEnd(e)}),t),this}var d={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=o.default(t).css("transition-duration"),n=o.default(t).css("transition-delay"),i=parseFloat(e),a=parseFloat(n);return i||a?(e=e.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(e)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){o.default(t).trigger("transitionend")},supportsTransitionEnd:function(){return Boolean("transitionend")},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],a=e[i],s=a&&d.isElement(a)?"element":null===(l=a)||"undefined"==typeof l?""+l:{}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(o).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+o+'".')}var l},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){var e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?d.findShadowRoot(t.parentNode):null},jQueryDetection:function(){if("undefined"==typeof o.default)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=o.default.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||t[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};d.jQueryDetection(),o.default.fn.emulateTransitionEnd=u,o.default.event.special[d.TRANSITION_END]={bindType:"transitionend",delegateType:"transitionend",handle:function(t){if(o.default(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var f="alert",c=o.default.fn[f],h=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.dispose=function(){o.default.removeData(this._element,"bs.alert"),this._element=null},e._getRootElement=function(t){var e=d.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=o.default(t).closest(".alert")[0]),n},e._triggerCloseEvent=function(t){var e=o.default.Event("close.bs.alert");return o.default(t).trigger(e),e},e._removeElement=function(t){var e=this;if(o.default(t).removeClass("show"),o.default(t).hasClass("fade")){var n=d.getTransitionDurationFromElement(t);o.default(t).one(d.TRANSITION_END,(function(n){return e._destroyElement(t,n)})).emulateTransitionEnd(n)}else this._destroyElement(t)},e._destroyElement=function(t){o.default(t).detach().trigger("closed.bs.alert").remove()},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.alert");i||(i=new t(this),n.data("bs.alert",i)),"close"===e&&i[e](this)}))},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.alert.data-api",'[data-dismiss="alert"]',h._handleDismiss(new h)),o.default.fn[f]=h._jQueryInterface,o.default.fn[f].Constructor=h,o.default.fn[f].noConflict=function(){return o.default.fn[f]=c,h._jQueryInterface};var g=o.default.fn.button,m=function(){function t(t){this._element=t,this.shouldAvoidTriggerChange=!1}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=o.default(this._element).closest('[data-toggle="buttons"]')[0];if(n){var i=this._element.querySelector('input:not([type="hidden"])');if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains("active"))t=!1;else{var a=n.querySelector(".active");a&&o.default(a).removeClass("active")}t&&("checkbox"!==i.type&&"radio"!==i.type||(i.checked=!this._element.classList.contains("active")),this.shouldAvoidTriggerChange||o.default(i).trigger("change")),i.focus(),e=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active")),t&&o.default(this._element).toggleClass("active"))},e.dispose=function(){o.default.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(e,n){return this.each((function(){var i=o.default(this),a=i.data("bs.button");a||(a=new t(this),i.data("bs.button",a)),a.shouldAvoidTriggerChange=n,"toggle"===e&&a[e]()}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=t.target,n=e;if(o.default(e).hasClass("btn")||(e=o.default(e).closest(".btn")[0]),!e||e.hasAttribute("disabled")||e.classList.contains("disabled"))t.preventDefault();else{var i=e.querySelector('input:not([type="hidden"])');if(i&&(i.hasAttribute("disabled")||i.classList.contains("disabled")))return void t.preventDefault();"INPUT"!==n.tagName&&"LABEL"===e.tagName||m._jQueryInterface.call(o.default(e),"toggle","INPUT"===n.tagName)}})).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=o.default(t.target).closest(".btn")[0];o.default(e).toggleClass("focus",/^focus(in)?$/.test(t.type))})),o.default(window).on("load.bs.button.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-toggle="buttons"] .btn')),e=0,n=t.length;e<n;e++){var i=t[e],o=i.querySelector('input:not([type="hidden"])');o.checked||o.hasAttribute("checked")?i.classList.add("active"):i.classList.remove("active")}for(var a=0,s=(t=[].slice.call(document.querySelectorAll('[data-toggle="button"]'))).length;a<s;a++){var l=t[a];"true"===l.getAttribute("aria-pressed")?l.classList.add("active"):l.classList.remove("active")}})),o.default.fn.button=m._jQueryInterface,o.default.fn.button.Constructor=m,o.default.fn.button.noConflict=function(){return o.default.fn.button=g,m._jQueryInterface};var p="carousel",_=".bs.carousel",v=o.default.fn[p],b={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},y={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},E={TOUCH:"touch",PEN:"pen"},w=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=this._element.querySelector(".carousel-indicators"),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var e=t.prototype;return e.next=function(){this._isSliding||this._slide("next")},e.nextWhenVisible=function(){var t=o.default(this._element);!document.hidden&&t.is(":visible")&&"hidden"!==t.css("visibility")&&this.next()},e.prev=function(){this._isSliding||this._slide("prev")},e.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(".carousel-item-next, .carousel-item-prev")&&(d.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=this._element.querySelector(".active.carousel-item");var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)o.default(this._element).one("slid.bs.carousel",(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?"next":"prev";this._slide(i,this._items[t])}},e.dispose=function(){o.default(this._element).off(_),o.default.removeData(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=r({},b,t),d.typeCheckConfig(p,t,y),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&o.default(this._element).on("keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&o.default(this._element).on("mouseenter.bs.carousel",(function(e){return t.pause(e)})).on("mouseleave.bs.carousel",(function(e){return t.cycle(e)})),this._config.touch&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var e=function(e){t._pointerEvent&&E[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},n=function(e){t._pointerEvent&&E[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};o.default(this._element.querySelectorAll(".carousel-item img")).on("dragstart.bs.carousel",(function(t){return t.preventDefault()})),this._pointerEvent?(o.default(this._element).on("pointerdown.bs.carousel",(function(t){return e(t)})),o.default(this._element).on("pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(o.default(this._element).on("touchstart.bs.carousel",(function(t){return e(t)})),o.default(this._element).on("touchmove.bs.carousel",(function(e){return function(e){e.originalEvent.touches&&e.originalEvent.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.originalEvent.touches[0].clientX-t.touchStartX}(e)})),o.default(this._element).on("touchend.bs.carousel",(function(t){return n(t)})))}},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(".carousel-item")):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),a=this._items.length-1;if((i&&0===o||n&&o===a)&&!this._config.wrap)return e;var s=(o+("prev"===t?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(".active.carousel-item")),a=o.default.Event("slide.bs.carousel",{relatedTarget:t,direction:e,from:i,to:n});return o.default(this._element).trigger(a),a},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(".active"));o.default(e).removeClass("active");var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&o.default(n).addClass("active")}},e._slide=function(t,e){var n,i,a,s=this,l=this._element.querySelector(".active.carousel-item"),r=this._getItemIndex(l),u=e||l&&this._getItemByDirection(t,l),f=this._getItemIndex(u),c=Boolean(this._interval);if("next"===t?(n="carousel-item-left",i="carousel-item-next",a="left"):(n="carousel-item-right",i="carousel-item-prev",a="right"),u&&o.default(u).hasClass("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(u,a).isDefaultPrevented()&&l&&u){this._isSliding=!0,c&&this.pause(),this._setActiveIndicatorElement(u);var h=o.default.Event("slid.bs.carousel",{relatedTarget:u,direction:a,from:r,to:f});if(o.default(this._element).hasClass("slide")){o.default(u).addClass(i),d.reflow(u),o.default(l).addClass(n),o.default(u).addClass(n);var g=parseInt(u.getAttribute("data-interval"),10);g?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=g):this._config.interval=this._config.defaultInterval||this._config.interval;var m=d.getTransitionDurationFromElement(l);o.default(l).one(d.TRANSITION_END,(function(){o.default(u).removeClass(n+" "+i).addClass("active"),o.default(l).removeClass("active "+i+" "+n),s._isSliding=!1,setTimeout((function(){return o.default(s._element).trigger(h)}),0)})).emulateTransitionEnd(m)}else o.default(l).removeClass("active"),o.default(u).addClass("active"),this._isSliding=!1,o.default(this._element).trigger(h);c&&this.cycle()}},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this).data("bs.carousel"),i=r({},b,o.default(this).data());"object"==typeof e&&(i=r({},i,e));var a="string"==typeof e?e:i.slide;if(n||(n=new t(this,i),o.default(this).data("bs.carousel",n)),"number"==typeof e)n.to(e);else if("string"==typeof a){if("undefined"==typeof n[a])throw new TypeError('No method named "'+a+'"');n[a]()}else i.interval&&i.ride&&(n.pause(),n.cycle())}))},t._dataApiClickHandler=function(e){var n=d.getSelectorFromElement(this);if(n){var i=o.default(n)[0];if(i&&o.default(i).hasClass("carousel")){var a=r({},o.default(i).data(),o.default(this).data()),s=this.getAttribute("data-slide-to");s&&(a.interval=!1),t._jQueryInterface.call(o.default(i),a),s&&o.default(i).data("bs.carousel").to(s),e.preventDefault()}}},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return b}}]),t}();o.default(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",w._dataApiClickHandler),o.default(window).on("load.bs.carousel.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-ride="carousel"]')),e=0,n=t.length;e<n;e++){var i=o.default(t[e]);w._jQueryInterface.call(i,i.data())}})),o.default.fn[p]=w._jQueryInterface,o.default.fn[p].Constructor=w,o.default.fn[p].noConflict=function(){return o.default.fn[p]=v,w._jQueryInterface};var T="collapse",C=o.default.fn[T],S={toggle:!0,parent:""},N={toggle:"boolean",parent:"(string|element)"},D=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=[].slice.call(document.querySelectorAll('[data-toggle="collapse"]')),i=0,o=n.length;i<o;i++){var a=n[i],s=d.getSelectorFromElement(a),l=[].slice.call(document.querySelectorAll(s)).filter((function(e){return e===t}));null!==s&&l.length>0&&(this._selector=s,this._triggerArray.push(a))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var e=t.prototype;return e.toggle=function(){o.default(this._element).hasClass("show")?this.hide():this.show()},e.show=function(){var e,n,i=this;if(!this._isTransitioning&&!o.default(this._element).hasClass("show")&&(this._parent&&0===(e=[].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter((function(t){return"string"==typeof i._config.parent?t.getAttribute("data-parent")===i._config.parent:t.classList.contains("collapse")}))).length&&(e=null),!(e&&(n=o.default(e).not(this._selector).data("bs.collapse"))&&n._isTransitioning))){var a=o.default.Event("show.bs.collapse");if(o.default(this._element).trigger(a),!a.isDefaultPrevented()){e&&(t._jQueryInterface.call(o.default(e).not(this._selector),"hide"),n||o.default(e).data("bs.collapse",null));var s=this._getDimension();o.default(this._element).removeClass("collapse").addClass("collapsing"),this._element.style[s]=0,this._triggerArray.length&&o.default(this._triggerArray).removeClass("collapsed").attr("aria-expanded",!0),this.setTransitioning(!0);var l="scroll"+(s[0].toUpperCase()+s.slice(1)),r=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,(function(){o.default(i._element).removeClass("collapsing").addClass("collapse show"),i._element.style[s]="",i.setTransitioning(!1),o.default(i._element).trigger("shown.bs.collapse")})).emulateTransitionEnd(r),this._element.style[s]=this._element[l]+"px"}}},e.hide=function(){var t=this;if(!this._isTransitioning&&o.default(this._element).hasClass("show")){var e=o.default.Event("hide.bs.collapse");if(o.default(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",d.reflow(this._element),o.default(this._element).addClass("collapsing").removeClass("collapse show");var i=this._triggerArray.length;if(i>0)for(var a=0;a<i;a++){var s=this._triggerArray[a],l=d.getSelectorFromElement(s);if(null!==l)o.default([].slice.call(document.querySelectorAll(l))).hasClass("show")||o.default(s).addClass("collapsed").attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var r=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,(function(){t.setTransitioning(!1),o.default(t._element).removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")})).emulateTransitionEnd(r)}}},e.setTransitioning=function(t){this._isTransitioning=t},e.dispose=function(){o.default.removeData(this._element,"bs.collapse"),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},e._getConfig=function(t){return(t=r({},S,t)).toggle=Boolean(t.toggle),d.typeCheckConfig(T,t,N),t},e._getDimension=function(){return o.default(this._element).hasClass("width")?"width":"height"},e._getParent=function(){var e,n=this;d.isElement(this._config.parent)?(e=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(e=this._config.parent[0])):e=document.querySelector(this._config.parent);var i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',a=[].slice.call(e.querySelectorAll(i));return o.default(a).each((function(e,i){n._addAriaAndCollapsedClass(t._getTargetFromElement(i),[i])})),e},e._addAriaAndCollapsedClass=function(t,e){var n=o.default(t).hasClass("show");e.length&&o.default(e).toggleClass("collapsed",!n).attr("aria-expanded",n)},t._getTargetFromElement=function(t){var e=d.getSelectorFromElement(t);return e?document.querySelector(e):null},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.collapse"),a=r({},S,n.data(),"object"==typeof e&&e?e:{});if(!i&&a.toggle&&"string"==typeof e&&/show|hide/.test(e)&&(a.toggle=!1),i||(i=new t(this,a),n.data("bs.collapse",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return S}}]),t}();o.default(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',(function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var e=o.default(this),n=d.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(n));o.default(i).each((function(){var t=o.default(this),n=t.data("bs.collapse")?"toggle":e.data();D._jQueryInterface.call(t,n)}))})),o.default.fn[T]=D._jQueryInterface,o.default.fn[T].Constructor=D,o.default.fn[T].noConflict=function(){return o.default.fn[T]=C,D._jQueryInterface};var k="dropdown",A=o.default.fn[k],I=new RegExp("38|40|27"),j={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},O={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},x=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var e=t.prototype;return e.toggle=function(){if(!this._element.disabled&&!o.default(this._element).hasClass("disabled")){var e=o.default(this._menu).hasClass("show");t._clearMenus(),e||this.show(!0)}},e.show=function(e){if(void 0===e&&(e=!1),!(this._element.disabled||o.default(this._element).hasClass("disabled")||o.default(this._menu).hasClass("show"))){var n={relatedTarget:this._element},i=o.default.Event("show.bs.dropdown",n),s=t._getParentFromElement(this._element);if(o.default(s).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar&&e){if("undefined"==typeof a.default)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var l=this._element;"parent"===this._config.reference?l=s:d.isElement(this._config.reference)&&(l=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(l=this._config.reference[0])),"scrollParent"!==this._config.boundary&&o.default(s).addClass("position-static"),this._popper=new a.default(l,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===o.default(s).closest(".navbar-nav").length&&o.default(document.body).children().on("mouseover",null,o.default.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),o.default(this._menu).toggleClass("show"),o.default(s).toggleClass("show").trigger(o.default.Event("shown.bs.dropdown",n))}}},e.hide=function(){if(!this._element.disabled&&!o.default(this._element).hasClass("disabled")&&o.default(this._menu).hasClass("show")){var e={relatedTarget:this._element},n=o.default.Event("hide.bs.dropdown",e),i=t._getParentFromElement(this._element);o.default(i).trigger(n),n.isDefaultPrevented()||(this._popper&&this._popper.destroy(),o.default(this._menu).toggleClass("show"),o.default(i).toggleClass("show").trigger(o.default.Event("hidden.bs.dropdown",e)))}},e.dispose=function(){o.default.removeData(this._element,"bs.dropdown"),o.default(this._element).off(".bs.dropdown"),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},e.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},e._addEventListeners=function(){var t=this;o.default(this._element).on("click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},e._getConfig=function(t){return t=r({},this.constructor.Default,o.default(this._element).data(),t),d.typeCheckConfig(k,t,this.constructor.DefaultType),t},e._getMenuElement=function(){if(!this._menu){var e=t._getParentFromElement(this._element);e&&(this._menu=e.querySelector(".dropdown-menu"))}return this._menu},e._getPlacement=function(){var t=o.default(this._element.parentNode),e="bottom-start";return t.hasClass("dropup")?e=o.default(this._menu).hasClass("dropdown-menu-right")?"top-end":"top-start":t.hasClass("dropright")?e="right-start":t.hasClass("dropleft")?e="left-start":o.default(this._menu).hasClass("dropdown-menu-right")&&(e="bottom-end"),e},e._detectNavbar=function(){return o.default(this._element).closest(".navbar").length>0},e._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},e._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),r({},t,this._config.popperConfig)},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this).data("bs.dropdown");if(n||(n=new t(this,"object"==typeof e?e:null),o.default(this).data("bs.dropdown",n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=[].slice.call(document.querySelectorAll('[data-toggle="dropdown"]')),i=0,a=n.length;i<a;i++){var s=t._getParentFromElement(n[i]),l=o.default(n[i]).data("bs.dropdown"),r={relatedTarget:n[i]};if(e&&"click"===e.type&&(r.clickEvent=e),l){var u=l._menu;if(o.default(s).hasClass("show")&&!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&9===e.which)&&o.default.contains(s,e.target))){var d=o.default.Event("hide.bs.dropdown",r);o.default(s).trigger(d),d.isDefaultPrevented()||("ontouchstart"in document.documentElement&&o.default(document.body).children().off("mouseover",null,o.default.noop),n[i].setAttribute("aria-expanded","false"),l._popper&&l._popper.destroy(),o.default(u).removeClass("show"),o.default(s).removeClass("show").trigger(o.default.Event("hidden.bs.dropdown",r)))}}}},t._getParentFromElement=function(t){var e,n=d.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},t._dataApiKeydownHandler=function(e){if(!(/input|textarea/i.test(e.target.tagName)?32===e.which||27!==e.which&&(40!==e.which&&38!==e.which||o.default(e.target).closest(".dropdown-menu").length):!I.test(e.which))&&!this.disabled&&!o.default(this).hasClass("disabled")){var n=t._getParentFromElement(this),i=o.default(n).hasClass("show");if(i||27!==e.which){if(e.preventDefault(),e.stopPropagation(),!i||27===e.which||32===e.which)return 27===e.which&&o.default(n.querySelector('[data-toggle="dropdown"]')).trigger("focus"),void o.default(this).trigger("click");var a=[].slice.call(n.querySelectorAll(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)")).filter((function(t){return o.default(t).is(":visible")}));if(0!==a.length){var s=a.indexOf(e.target);38===e.which&&s>0&&s--,40===e.which&&s<a.length-1&&s++,s<0&&(s=0),a[s].focus()}}}},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return j}},{key:"DefaultType",get:function(){return O}}]),t}();o.default(document).on("keydown.bs.dropdown.data-api",'[data-toggle="dropdown"]',x._dataApiKeydownHandler).on("keydown.bs.dropdown.data-api",".dropdown-menu",x._dataApiKeydownHandler).on("click.bs.dropdown.data-api keyup.bs.dropdown.data-api",x._clearMenus).on("click.bs.dropdown.data-api",'[data-toggle="dropdown"]',(function(t){t.preventDefault(),t.stopPropagation(),x._jQueryInterface.call(o.default(this),"toggle")})).on("click.bs.dropdown.data-api",".dropdown form",(function(t){t.stopPropagation()})),o.default.fn[k]=x._jQueryInterface,o.default.fn[k].Constructor=x,o.default.fn[k].noConflict=function(){return o.default.fn[k]=A,x._jQueryInterface};var P=o.default.fn.modal,R={backdrop:!0,keyboard:!0,focus:!0,show:!0},L={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},q=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(".modal-dialog"),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var e=t.prototype;return e.toggle=function(t){return this._isShown?this.hide():this.show(t)},e.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){o.default(this._element).hasClass("fade")&&(this._isTransitioning=!0);var n=o.default.Event("show.bs.modal",{relatedTarget:t});o.default(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),o.default(this._element).on("click.dismiss.bs.modal",'[data-dismiss="modal"]',(function(t){return e.hide(t)})),o.default(this._dialog).on("mousedown.dismiss.bs.modal",(function(){o.default(e._element).one("mouseup.dismiss.bs.modal",(function(t){o.default(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return e._showElement(t)})))}},e.hide=function(t){var e=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var n=o.default.Event("hide.bs.modal");if(o.default(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=o.default(this._element).hasClass("fade");if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),o.default(document).off("focusin.bs.modal"),o.default(this._element).removeClass("show"),o.default(this._element).off("click.dismiss.bs.modal"),o.default(this._dialog).off("mousedown.dismiss.bs.modal"),i){var a=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,(function(t){return e._hideModal(t)})).emulateTransitionEnd(a)}else this._hideModal()}}},e.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return o.default(t).off(".bs.modal")})),o.default(document).off("focusin.bs.modal"),o.default.removeData(this._element,"bs.modal"),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},e.handleUpdate=function(){this._adjustDialog()},e._getConfig=function(t){return t=r({},R,t),d.typeCheckConfig("modal",t,L),t},e._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){var e=o.default.Event("hidePrevented.bs.modal");if(o.default(this._element).trigger(e),e.isDefaultPrevented())return;var n=this._element.scrollHeight>document.documentElement.clientHeight;n||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static");var i=d.getTransitionDurationFromElement(this._dialog);o.default(this._element).off(d.TRANSITION_END),o.default(this._element).one(d.TRANSITION_END,(function(){t._element.classList.remove("modal-static"),n||o.default(t._element).one(d.TRANSITION_END,(function(){t._element.style.overflowY=""})).emulateTransitionEnd(t._element,i)})).emulateTransitionEnd(i),this._element.focus()}else this.hide()},e._showElement=function(t){var e=this,n=o.default(this._element).hasClass("fade"),i=this._dialog?this._dialog.querySelector(".modal-body"):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),o.default(this._dialog).hasClass("modal-dialog-scrollable")&&i?i.scrollTop=0:this._element.scrollTop=0,n&&d.reflow(this._element),o.default(this._element).addClass("show"),this._config.focus&&this._enforceFocus();var a=o.default.Event("shown.bs.modal",{relatedTarget:t}),s=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,o.default(e._element).trigger(a)};if(n){var l=d.getTransitionDurationFromElement(this._dialog);o.default(this._dialog).one(d.TRANSITION_END,s).emulateTransitionEnd(l)}else s()},e._enforceFocus=function(){var t=this;o.default(document).off("focusin.bs.modal").on("focusin.bs.modal",(function(e){document!==e.target&&t._element!==e.target&&0===o.default(t._element).has(e.target).length&&t._element.focus()}))},e._setEscapeEvent=function(){var t=this;this._isShown?o.default(this._element).on("keydown.dismiss.bs.modal",(function(e){t._config.keyboard&&27===e.which?(e.preventDefault(),t.hide()):t._config.keyboard||27!==e.which||t._triggerBackdropTransition()})):this._isShown||o.default(this._element).off("keydown.dismiss.bs.modal")},e._setResizeEvent=function(){var t=this;this._isShown?o.default(window).on("resize.bs.modal",(function(e){return t.handleUpdate(e)})):o.default(window).off("resize.bs.modal")},e._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop((function(){o.default(document.body).removeClass("modal-open"),t._resetAdjustments(),t._resetScrollbar(),o.default(t._element).trigger("hidden.bs.modal")}))},e._removeBackdrop=function(){this._backdrop&&(o.default(this._backdrop).remove(),this._backdrop=null)},e._showBackdrop=function(t){var e=this,n=o.default(this._element).hasClass("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",n&&this._backdrop.classList.add(n),o.default(this._backdrop).appendTo(document.body),o.default(this._element).on("click.dismiss.bs.modal",(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()})),n&&d.reflow(this._backdrop),o.default(this._backdrop).addClass("show"),!t)return;if(!n)return void t();var i=d.getTransitionDurationFromElement(this._backdrop);o.default(this._backdrop).one(d.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){o.default(this._backdrop).removeClass("show");var a=function(){e._removeBackdrop(),t&&t()};if(o.default(this._element).hasClass("fade")){var s=d.getTransitionDurationFromElement(this._backdrop);o.default(this._backdrop).one(d.TRANSITION_END,a).emulateTransitionEnd(s)}else a()}else t&&t()},e._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},e._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){var e=[].slice.call(document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top")),n=[].slice.call(document.querySelectorAll(".sticky-top"));o.default(e).each((function(e,n){var i=n.style.paddingRight,a=o.default(n).css("padding-right");o.default(n).data("padding-right",i).css("padding-right",parseFloat(a)+t._scrollbarWidth+"px")})),o.default(n).each((function(e,n){var i=n.style.marginRight,a=o.default(n).css("margin-right");o.default(n).data("margin-right",i).css("margin-right",parseFloat(a)-t._scrollbarWidth+"px")}));var i=document.body.style.paddingRight,a=o.default(document.body).css("padding-right");o.default(document.body).data("padding-right",i).css("padding-right",parseFloat(a)+this._scrollbarWidth+"px")}o.default(document.body).addClass("modal-open")},e._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top"));o.default(t).each((function(t,e){var n=o.default(e).data("padding-right");o.default(e).removeData("padding-right"),e.style.paddingRight=n||""}));var e=[].slice.call(document.querySelectorAll(".sticky-top"));o.default(e).each((function(t,e){var n=o.default(e).data("margin-right");"undefined"!=typeof n&&o.default(e).css("margin-right",n).removeData("margin-right")}));var n=o.default(document.body).data("padding-right");o.default(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},e._getScrollbarWidth=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t._jQueryInterface=function(e,n){return this.each((function(){var i=o.default(this).data("bs.modal"),a=r({},R,o.default(this).data(),"object"==typeof e&&e?e:{});if(i||(i=new t(this,a),o.default(this).data("bs.modal",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e](n)}else a.show&&i.show(n)}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return R}}]),t}();o.default(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',(function(t){var e,n=this,i=d.getSelectorFromElement(this);i&&(e=document.querySelector(i));var a=o.default(e).data("bs.modal")?"toggle":r({},o.default(e).data(),o.default(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var s=o.default(e).one("show.bs.modal",(function(t){t.isDefaultPrevented()||s.one("hidden.bs.modal",(function(){o.default(n).is(":visible")&&n.focus()}))}));q._jQueryInterface.call(o.default(e),a,this)})),o.default.fn.modal=q._jQueryInterface,o.default.fn.modal.Constructor=q,o.default.fn.modal.noConflict=function(){return o.default.fn.modal=P,q._jQueryInterface};var F=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Q={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},B=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,H=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;function U(t,e,n){if(0===t.length)return t;if(n&&"function"==typeof n)return n(t);for(var i=(new window.DOMParser).parseFromString(t,"text/html"),o=Object.keys(e),a=[].slice.call(i.body.querySelectorAll("*")),s=function(t,n){var i=a[t],s=i.nodeName.toLowerCase();if(-1===o.indexOf(i.nodeName.toLowerCase()))return i.parentNode.removeChild(i),"continue";var l=[].slice.call(i.attributes),r=[].concat(e["*"]||[],e[s]||[]);l.forEach((function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===F.indexOf(n)||Boolean(t.nodeValue.match(B)||t.nodeValue.match(H));for(var i=e.filter((function(t){return t instanceof RegExp})),o=0,a=i.length;o<a;o++)if(n.match(i[o]))return!0;return!1})(t,r)||i.removeAttribute(t.nodeName)}))},l=0,r=a.length;l<r;l++)s(l);return i.body.innerHTML}var M="tooltip",W=o.default.fn[M],V=new RegExp("(^|\\s)bs-tooltip\\S+","g"),z=["sanitize","whiteList","sanitizeFn"],K={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},X={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Y={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Q,popperConfig:null},$={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},J=function(){function t(t,e){if("undefined"==typeof a.default)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=o.default(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(o.default(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),o.default.removeData(this.element,this.constructor.DATA_KEY),o.default(this.element).off(this.constructor.EVENT_KEY),o.default(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&o.default(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===o.default(this.element).css("display"))throw new Error("Please use show on visible elements");var e=o.default.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){o.default(this.element).trigger(e);var n=d.findShadowRoot(this.element),i=o.default.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!i)return;var s=this.getTipElement(),l=d.getUID(this.constructor.NAME);s.setAttribute("id",l),this.element.setAttribute("aria-describedby",l),this.setContent(),this.config.animation&&o.default(s).addClass("fade");var r="function"==typeof this.config.placement?this.config.placement.call(this,s,this.element):this.config.placement,u=this._getAttachment(r);this.addAttachmentClass(u);var f=this._getContainer();o.default(s).data(this.constructor.DATA_KEY,this),o.default.contains(this.element.ownerDocument.documentElement,this.tip)||o.default(s).appendTo(f),o.default(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new a.default(this.element,s,this._getPopperConfig(u)),o.default(s).addClass("show"),"ontouchstart"in document.documentElement&&o.default(document.body).children().on("mouseover",null,o.default.noop);var c=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,o.default(t.element).trigger(t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(o.default(this.tip).hasClass("fade")){var h=d.getTransitionDurationFromElement(this.tip);o.default(this.tip).one(d.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},e.hide=function(t){var e=this,n=this.getTipElement(),i=o.default.Event(this.constructor.Event.HIDE),a=function(){"show"!==e._hoverState&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),o.default(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(o.default(this.element).trigger(i),!i.isDefaultPrevented()){if(o.default(n).removeClass("show"),"ontouchstart"in document.documentElement&&o.default(document.body).children().off("mouseover",null,o.default.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,o.default(this.tip).hasClass("fade")){var s=d.getTransitionDurationFromElement(n);o.default(n).one(d.TRANSITION_END,a).emulateTransitionEnd(s)}else a();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(t){o.default(this.getTipElement()).addClass("bs-tooltip-"+t)},e.getTipElement=function(){return this.tip=this.tip||o.default(this.config.template)[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(o.default(t.querySelectorAll(".tooltip-inner")),this.getTitle()),o.default(t).removeClass("fade show")},e.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=U(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?o.default(e).parent().is(t)||t.empty().append(e):t.text(o.default(e).text())},e.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},e._getPopperConfig=function(t){var e=this;return r({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:d.isElement(this.config.container)?o.default(this.config.container):o.default(document).find(this.config.container)},e._getAttachment=function(t){return X[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)o.default(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;o.default(t.element).on(n,t.config.selector,(function(e){return t._enter(e)})).on(i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},o.default(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||o.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),o.default(e.getTipElement()).hasClass("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||o.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=o.default(this.element).data();return Object.keys(e).forEach((function(t){-1!==z.indexOf(t)&&delete e[t]})),"number"==typeof(t=r({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),d.typeCheckConfig(M,t,this.constructor.DefaultType),t.sanitize&&(t.template=U(t.template,t.whiteList,t.sanitizeFn)),t},e._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},e._cleanTipClass=function(){var t=o.default(this.getTipElement()),e=t.attr("class").match(V);null!==e&&e.length&&t.removeClass(e.join(""))},e._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(o.default(t).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.tooltip"),a="object"==typeof e&&e;if((i||!/dispose|hide/.test(e))&&(i||(i=new t(this,a),n.data("bs.tooltip",i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return Y}},{key:"NAME",get:function(){return M}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return $}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return K}}]),t}();o.default.fn[M]=J._jQueryInterface,o.default.fn[M].Constructor=J,o.default.fn[M].noConflict=function(){return o.default.fn[M]=W,J._jQueryInterface};var G="popover",Z=o.default.fn[G],tt=new RegExp("(^|\\s)bs-popover\\S+","g"),et=r({},J.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),nt=r({},J.DefaultType,{content:"(string|element|function)"}),it={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},ot=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var a=i.prototype;return a.isWithContent=function(){return this.getTitle()||this._getContent()},a.addAttachmentClass=function(t){o.default(this.getTipElement()).addClass("bs-popover-"+t)},a.getTipElement=function(){return this.tip=this.tip||o.default(this.config.template)[0],this.tip},a.setContent=function(){var t=o.default(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(".popover-body"),e),t.removeClass("fade show")},a._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},a._cleanTipClass=function(){var t=o.default(this.getTipElement()),e=t.attr("class").match(tt);null!==e&&e.length>0&&t.removeClass(e.join(""))},i._jQueryInterface=function(t){return this.each((function(){var e=o.default(this).data("bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new i(this,n),o.default(this).data("bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},l(i,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return et}},{key:"NAME",get:function(){return G}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return it}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return nt}}]),i}(J);o.default.fn[G]=ot._jQueryInterface,o.default.fn[G].Constructor=ot,o.default.fn[G].noConflict=function(){return o.default.fn[G]=Z,ot._jQueryInterface};var at="scrollspy",st=o.default.fn[at],lt={offset:10,method:"auto",target:""},rt={offset:"number",method:"string",target:"(string|element)"},ut=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,o.default(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process()}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,i="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var e,a=d.getSelectorFromElement(t);if(a&&(e=document.querySelector(a)),e){var s=e.getBoundingClientRect();if(s.width||s.height)return[o.default(e)[n]().top+i,a]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){o.default.removeData(this._element,"bs.scrollspy"),o.default(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=r({},lt,"object"==typeof t&&t?t:{})).target&&d.isElement(t.target)){var e=o.default(t.target).attr("id");e||(e=d.getUID(at),o.default(t.target).attr("id",e)),t.target="#"+e}return d.typeCheckConfig(at,t,rt),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},e._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map((function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'})),n=o.default([].slice.call(document.querySelectorAll(e.join(","))));n.hasClass("dropdown-item")?(n.closest(".dropdown").find(".dropdown-toggle").addClass("active"),n.addClass("active")):(n.addClass("active"),n.parents(".nav, .list-group").prev(".nav-link, .list-group-item").addClass("active"),n.parents(".nav, .list-group").prev(".nav-item").children(".nav-link").addClass("active")),o.default(this._scrollElement).trigger("activate.bs.scrollspy",{relatedTarget:t})},e._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter((function(t){return t.classList.contains("active")})).forEach((function(t){return t.classList.remove("active")}))},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this).data("bs.scrollspy");if(n||(n=new t(this,"object"==typeof e&&e),o.default(this).data("bs.scrollspy",n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return lt}}]),t}();o.default(window).on("load.bs.scrollspy.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-spy="scroll"]')),e=t.length;e--;){var n=o.default(t[e]);ut._jQueryInterface.call(n,n.data())}})),o.default.fn[at]=ut._jQueryInterface,o.default.fn[at].Constructor=ut,o.default.fn[at].noConflict=function(){return o.default.fn[at]=st,ut._jQueryInterface};var dt=o.default.fn.tab,ft=function(){function t(t){this._element=t}var e=t.prototype;return e.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&o.default(this._element).hasClass("active")||o.default(this._element).hasClass("disabled"))){var e,n,i=o.default(this._element).closest(".nav, .list-group")[0],a=d.getSelectorFromElement(this._element);if(i){var s="UL"===i.nodeName||"OL"===i.nodeName?"> li > .active":".active";n=(n=o.default.makeArray(o.default(i).find(s)))[n.length-1]}var l=o.default.Event("hide.bs.tab",{relatedTarget:this._element}),r=o.default.Event("show.bs.tab",{relatedTarget:n});if(n&&o.default(n).trigger(l),o.default(this._element).trigger(r),!r.isDefaultPrevented()&&!l.isDefaultPrevented()){a&&(e=document.querySelector(a)),this._activate(this._element,i);var u=function(){var e=o.default.Event("hidden.bs.tab",{relatedTarget:t._element}),i=o.default.Event("shown.bs.tab",{relatedTarget:n});o.default(n).trigger(e),o.default(t._element).trigger(i)};e?this._activate(e,e.parentNode,u):u()}}},e.dispose=function(){o.default.removeData(this._element,"bs.tab"),this._element=null},e._activate=function(t,e,n){var i=this,a=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?o.default(e).children(".active"):o.default(e).find("> li > .active"))[0],s=n&&a&&o.default(a).hasClass("fade"),l=function(){return i._transitionComplete(t,a,n)};if(a&&s){var r=d.getTransitionDurationFromElement(a);o.default(a).removeClass("show").one(d.TRANSITION_END,l).emulateTransitionEnd(r)}else l()},e._transitionComplete=function(t,e,n){if(e){o.default(e).removeClass("active");var i=o.default(e.parentNode).find("> .dropdown-menu .active")[0];i&&o.default(i).removeClass("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(o.default(t).addClass("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),d.reflow(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&o.default(t.parentNode).hasClass("dropdown-menu")){var a=o.default(t).closest(".dropdown")[0];if(a){var s=[].slice.call(a.querySelectorAll(".dropdown-toggle"));o.default(s).addClass("active")}t.setAttribute("aria-expanded",!0)}n&&n()},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.tab");if(i||(i=new t(this),n.data("bs.tab",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),ft._jQueryInterface.call(o.default(this),"show")})),o.default.fn.tab=ft._jQueryInterface,o.default.fn.tab.Constructor=ft,o.default.fn.tab.noConflict=function(){return o.default.fn.tab=dt,ft._jQueryInterface};var ct=o.default.fn.toast,ht={animation:"boolean",autohide:"boolean",delay:"number"},gt={animation:!0,autohide:!0,delay:500},mt=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var e=t.prototype;return e.show=function(){var t=this,e=o.default.Event("show.bs.toast");if(o.default(this._element).trigger(e),!e.isDefaultPrevented()){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var n=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),o.default(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),d.reflow(this._element),this._element.classList.add("showing"),this._config.animation){var i=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,n).emulateTransitionEnd(i)}else n()}},e.hide=function(){if(this._element.classList.contains("show")){var t=o.default.Event("hide.bs.toast");o.default(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},e.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),o.default(this._element).off("click.dismiss.bs.toast"),o.default.removeData(this._element,"bs.toast"),this._element=null,this._config=null},e._getConfig=function(t){return t=r({},gt,o.default(this._element).data(),"object"==typeof t&&t?t:{}),d.typeCheckConfig("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;o.default(this._element).on("click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},e._close=function(){var t=this,e=function(){t._element.classList.add("hide"),o.default(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},e._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.toast");if(i||(i=new t(this,"object"==typeof e&&e),n.data("bs.toast",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e](this)}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"DefaultType",get:function(){return ht}},{key:"Default",get:function(){return gt}}]),t}();o.default.fn.toast=mt._jQueryInterface,o.default.fn.toast.Constructor=mt,o.default.fn.toast.noConflict=function(){return o.default.fn.toast=ct,mt._jQueryInterface},t.Alert=h,t.Button=m,t.Carousel=w,t.Collapse=D,t.Dropdown=x,t.Modal=q,t.Popover=ot,t.Scrollspy=ut,t.Tab=ft,t.Toast=mt,t.Tooltip=J,t.Util=d,Object.defineProperty(t,"__esModule",{value:!0})})); +//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file diff --git a/src/main/resources/static/js/earth/Stats.js b/src/main/resources/static/js/earth/Stats.js new file mode 100644 index 0000000..d64f44a --- /dev/null +++ b/src/main/resources/static/js/earth/Stats.js @@ -0,0 +1,143 @@ +/** + * @author mrdoob / http://mrdoob.com/ + */ + +var Stats = function () { + + var startTime = Date.now(), prevTime = startTime; + var ms = 0, msMin = Infinity, msMax = 0; + var fps = 0, fpsMin = Infinity, fpsMax = 0; + var frames = 0, mode = 0; + + var container = document.createElement( 'div' ); + container.id = 'stats'; + container.addEventListener( 'mousedown', function ( event ) { event.preventDefault(); setMode( ++ mode % 2 ) }, false ); + container.style.cssText = 'width:80px;opacity:0.9;cursor:pointer'; + + var fpsDiv = document.createElement( 'div' ); + fpsDiv.id = 'fps'; + fpsDiv.style.cssText = 'padding:0 0 3px 3px;text-align:left;background-color:#002'; + container.appendChild( fpsDiv ); + + var fpsText = document.createElement( 'div' ); + fpsText.id = 'fpsText'; + fpsText.style.cssText = 'color:#0ff;font-family:Helvetica,Arial,sans-serif;font-size:9px;font-weight:bold;line-height:15px'; + fpsText.innerHTML = 'FPS'; + fpsDiv.appendChild( fpsText ); + + var fpsGraph = document.createElement( 'div' ); + fpsGraph.id = 'fpsGraph'; + fpsGraph.style.cssText = 'position:relative;width:74px;height:30px;background-color:#0ff'; + fpsDiv.appendChild( fpsGraph ); + + while ( fpsGraph.children.length < 74 ) { + + var bar = document.createElement( 'span' ); + bar.style.cssText = 'width:1px;height:30px;float:left;background-color:#113'; + fpsGraph.appendChild( bar ); + + } + + var msDiv = document.createElement( 'div' ); + msDiv.id = 'ms'; + msDiv.style.cssText = 'padding:0 0 3px 3px;text-align:left;background-color:#020;display:none'; + container.appendChild( msDiv ); + + var msText = document.createElement( 'div' ); + msText.id = 'msText'; + msText.style.cssText = 'color:#0f0;font-family:Helvetica,Arial,sans-serif;font-size:9px;font-weight:bold;line-height:15px'; + msText.innerHTML = 'MS'; + msDiv.appendChild( msText ); + + var msGraph = document.createElement( 'div' ); + msGraph.id = 'msGraph'; + msGraph.style.cssText = 'position:relative;width:74px;height:30px;background-color:#0f0'; + msDiv.appendChild( msGraph ); + + while ( msGraph.children.length < 74 ) { + + var bar = document.createElement( 'span' ); + bar.style.cssText = 'width:1px;height:30px;float:left;background-color:#131'; + msGraph.appendChild( bar ); + + } + + var setMode = function ( value ) { + + mode = value; + + switch ( mode ) { + + case 0: + fpsDiv.style.display = 'block'; + msDiv.style.display = 'none'; + break; + case 1: + fpsDiv.style.display = 'none'; + msDiv.style.display = 'block'; + break; + } + + } + + var updateGraph = function ( dom, value ) { + + var child = dom.appendChild( dom.firstChild ); + child.style.height = value + 'px'; + + } + + return { + + REVISION: 11, + + domElement: container, + + setMode: setMode, + + begin: function () { + + startTime = Date.now(); + + }, + + end: function () { + + var time = Date.now(); + + ms = time - startTime; + msMin = Math.min( msMin, ms ); + msMax = Math.max( msMax, ms ); + + msText.textContent = ms + ' MS (' + msMin + '-' + msMax + ')'; + updateGraph( msGraph, Math.min( 30, 30 - ( ms / 200 ) * 30 ) ); + + frames ++; + + if ( time > prevTime + 1000 ) { + + fps = Math.round( ( frames * 1000 ) / ( time - prevTime ) ); + fpsMin = Math.min( fpsMin, fps ); + fpsMax = Math.max( fpsMax, fps ); + + fpsText.textContent = fps + ' FPS (' + fpsMin + '-' + fpsMax + ')'; + updateGraph( fpsGraph, Math.min( 30, 30 - ( fps / 100 ) * 30 ) ); + + prevTime = time; + frames = 0; + + } + + return time; + + }, + + update: function () { + + startTime = this.end(); + + } + + } + +}; diff --git a/src/main/resources/static/js/earth/TweenMax.min.js b/src/main/resources/static/js/earth/TweenMax.min.js new file mode 100644 index 0000000..ca6e1c7 --- /dev/null +++ b/src/main/resources/static/js/earth/TweenMax.min.js @@ -0,0 +1,17 @@ +/*! + * VERSION: 1.16.1 + * DATE: 2015-03-13 + * UPDATES AND DOCS AT: http://greensock.com + * + * Includes all of the following: TweenLite, TweenMax, TimelineLite, TimelineMax, EasePack, CSSPlugin, RoundPropsPlugin, BezierPlugin, AttrPlugin, DirectionalRotationPlugin + * + * @license Copyright (c) 2008-2015, GreenSock. All rights reserved. + * This work is subject to the terms at http://greensock.com/standard-license or for + * Club GreenSock members, the software agreement that was issued with your membership. + * + * @author: Jack Doyle, jack@greensock.com + **/ +var _gsScope="undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window;(_gsScope._gsQueue||(_gsScope._gsQueue=[])).push(function(){"use strict";_gsScope._gsDefine("TweenMax",["core.Animation","core.SimpleTimeline","TweenLite"],function(t,e,i){var s=function(t){var e,i=[],s=t.length;for(e=0;e!==s;i.push(t[e++]));return i},r=function(t,e,s){i.call(this,t,e,s),this._cycle=0,this._yoyo=this.vars.yoyo===!0,this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._dirty=!0,this.render=r.prototype.render},n=1e-10,a=i._internals,o=a.isSelector,h=a.isArray,l=r.prototype=i.to({},.1,{}),_=[];r.version="1.16.1",l.constructor=r,l.kill()._gc=!1,r.killTweensOf=r.killDelayedCallsTo=i.killTweensOf,r.getTweensOf=i.getTweensOf,r.lagSmoothing=i.lagSmoothing,r.ticker=i.ticker,r.render=i.render,l.invalidate=function(){return this._yoyo=this.vars.yoyo===!0,this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._uncache(!0),i.prototype.invalidate.call(this)},l.updateTo=function(t,e){var s,r=this.ratio,n=this.vars.immediateRender||t.immediateRender;e&&this._startTime<this._timeline._time&&(this._startTime=this._timeline._time,this._uncache(!1),this._gc?this._enabled(!0,!1):this._timeline.insert(this,this._startTime-this._delay));for(s in t)this.vars[s]=t[s];if(this._initted||n)if(e)this._initted=!1,n&&this.render(0,!0,!0);else if(this._gc&&this._enabled(!0,!1),this._notifyPluginsOfEnabled&&this._firstPT&&i._onPluginEvent("_onDisable",this),this._time/this._duration>.998){var a=this._time;this.render(0,!0,!1),this._initted=!1,this.render(a,!0,!1)}else if(this._time>0||n){this._initted=!1,this._init();for(var o,h=1/(1-r),l=this._firstPT;l;)o=l.s+l.c,l.c*=h,l.s=o-l.c,l=l._next}return this},l.render=function(t,e,i){this._initted||0===this._duration&&this.vars.repeat&&this.invalidate();var s,r,o,h,l,u,p,f,c=this._dirty?this.totalDuration():this._totalDuration,m=this._time,d=this._totalTime,g=this._cycle,v=this._duration,y=this._rawPrevTime;if(t>=c?(this._totalTime=c,this._cycle=this._repeat,this._yoyo&&0!==(1&this._cycle)?(this._time=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0):(this._time=v,this.ratio=this._ease._calcEnd?this._ease.getRatio(1):1),this._reversed||(s=!0,r="onComplete",i=i||this._timeline.autoRemoveChildren),0===v&&(this._initted||!this.vars.lazy||i)&&(this._startTime===this._timeline._duration&&(t=0),(0===t||0>y||y===n)&&y!==t&&(i=!0,y>n&&(r="onReverseComplete")),this._rawPrevTime=f=!e||t||y===t?t:n)):1e-7>t?(this._totalTime=this._time=this._cycle=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0,(0!==d||0===v&&y>0)&&(r="onReverseComplete",s=this._reversed),0>t&&(this._active=!1,0===v&&(this._initted||!this.vars.lazy||i)&&(y>=0&&(i=!0),this._rawPrevTime=f=!e||t||y===t?t:n)),this._initted||(i=!0)):(this._totalTime=this._time=t,0!==this._repeat&&(h=v+this._repeatDelay,this._cycle=this._totalTime/h>>0,0!==this._cycle&&this._cycle===this._totalTime/h&&this._cycle--,this._time=this._totalTime-this._cycle*h,this._yoyo&&0!==(1&this._cycle)&&(this._time=v-this._time),this._time>v?this._time=v:0>this._time&&(this._time=0)),this._easeType?(l=this._time/v,u=this._easeType,p=this._easePower,(1===u||3===u&&l>=.5)&&(l=1-l),3===u&&(l*=2),1===p?l*=l:2===p?l*=l*l:3===p?l*=l*l*l:4===p&&(l*=l*l*l*l),this.ratio=1===u?1-l:2===u?l:.5>this._time/v?l/2:1-l/2):this.ratio=this._ease.getRatio(this._time/v)),m===this._time&&!i&&g===this._cycle)return d!==this._totalTime&&this._onUpdate&&(e||this._onUpdate.apply(this.vars.onUpdateScope||this,this.vars.onUpdateParams||_)),void 0;if(!this._initted){if(this._init(),!this._initted||this._gc)return;if(!i&&this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration))return this._time=m,this._totalTime=d,this._rawPrevTime=y,this._cycle=g,a.lazyTweens.push(this),this._lazy=[t,e],void 0;this._time&&!s?this.ratio=this._ease.getRatio(this._time/v):s&&this._ease._calcEnd&&(this.ratio=this._ease.getRatio(0===this._time?0:1))}for(this._lazy!==!1&&(this._lazy=!1),this._active||!this._paused&&this._time!==m&&t>=0&&(this._active=!0),0===d&&(2===this._initted&&t>0&&this._init(),this._startAt&&(t>=0?this._startAt.render(t,e,i):r||(r="_dummyGS")),this.vars.onStart&&(0!==this._totalTime||0===v)&&(e||this.vars.onStart.apply(this.vars.onStartScope||this,this.vars.onStartParams||_))),o=this._firstPT;o;)o.f?o.t[o.p](o.c*this.ratio+o.s):o.t[o.p]=o.c*this.ratio+o.s,o=o._next;this._onUpdate&&(0>t&&this._startAt&&this._startTime&&this._startAt.render(t,e,i),e||(this._totalTime!==d||s)&&this._onUpdate.apply(this.vars.onUpdateScope||this,this.vars.onUpdateParams||_)),this._cycle!==g&&(e||this._gc||this.vars.onRepeat&&this.vars.onRepeat.apply(this.vars.onRepeatScope||this,this.vars.onRepeatParams||_)),r&&(!this._gc||i)&&(0>t&&this._startAt&&!this._onUpdate&&this._startTime&&this._startAt.render(t,e,i),s&&(this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[r]&&this.vars[r].apply(this.vars[r+"Scope"]||this,this.vars[r+"Params"]||_),0===v&&this._rawPrevTime===n&&f!==n&&(this._rawPrevTime=0))},r.to=function(t,e,i){return new r(t,e,i)},r.from=function(t,e,i){return i.runBackwards=!0,i.immediateRender=0!=i.immediateRender,new r(t,e,i)},r.fromTo=function(t,e,i,s){return s.startAt=i,s.immediateRender=0!=s.immediateRender&&0!=i.immediateRender,new r(t,e,s)},r.staggerTo=r.allTo=function(t,e,n,a,l,u,p){a=a||0;var f,c,m,d,g=n.delay||0,v=[],y=function(){n.onComplete&&n.onComplete.apply(n.onCompleteScope||this,arguments),l.apply(p||this,u||_)};for(h(t)||("string"==typeof t&&(t=i.selector(t)||t),o(t)&&(t=s(t))),t=t||[],0>a&&(t=s(t),t.reverse(),a*=-1),f=t.length-1,m=0;f>=m;m++){c={};for(d in n)c[d]=n[d];c.delay=g,m===f&&l&&(c.onComplete=y),v[m]=new r(t[m],e,c),g+=a}return v},r.staggerFrom=r.allFrom=function(t,e,i,s,n,a,o){return i.runBackwards=!0,i.immediateRender=0!=i.immediateRender,r.staggerTo(t,e,i,s,n,a,o)},r.staggerFromTo=r.allFromTo=function(t,e,i,s,n,a,o,h){return s.startAt=i,s.immediateRender=0!=s.immediateRender&&0!=i.immediateRender,r.staggerTo(t,e,s,n,a,o,h)},r.delayedCall=function(t,e,i,s,n){return new r(e,0,{delay:t,onComplete:e,onCompleteParams:i,onCompleteScope:s,onReverseComplete:e,onReverseCompleteParams:i,onReverseCompleteScope:s,immediateRender:!1,useFrames:n,overwrite:0})},r.set=function(t,e){return new r(t,0,e)},r.isTweening=function(t){return i.getTweensOf(t,!0).length>0};var u=function(t,e){for(var s=[],r=0,n=t._first;n;)n instanceof i?s[r++]=n:(e&&(s[r++]=n),s=s.concat(u(n,e)),r=s.length),n=n._next;return s},p=r.getAllTweens=function(e){return u(t._rootTimeline,e).concat(u(t._rootFramesTimeline,e))};r.killAll=function(t,i,s,r){null==i&&(i=!0),null==s&&(s=!0);var n,a,o,h=p(0!=r),l=h.length,_=i&&s&&r;for(o=0;l>o;o++)a=h[o],(_||a instanceof e||(n=a.target===a.vars.onComplete)&&s||i&&!n)&&(t?a.totalTime(a._reversed?0:a.totalDuration()):a._enabled(!1,!1))},r.killChildTweensOf=function(t,e){if(null!=t){var n,l,_,u,p,f=a.tweenLookup;if("string"==typeof t&&(t=i.selector(t)||t),o(t)&&(t=s(t)),h(t))for(u=t.length;--u>-1;)r.killChildTweensOf(t[u],e);else{n=[];for(_ in f)for(l=f[_].target.parentNode;l;)l===t&&(n=n.concat(f[_].tweens)),l=l.parentNode;for(p=n.length,u=0;p>u;u++)e&&n[u].totalTime(n[u].totalDuration()),n[u]._enabled(!1,!1)}}};var f=function(t,i,s,r){i=i!==!1,s=s!==!1,r=r!==!1;for(var n,a,o=p(r),h=i&&s&&r,l=o.length;--l>-1;)a=o[l],(h||a instanceof e||(n=a.target===a.vars.onComplete)&&s||i&&!n)&&a.paused(t)};return r.pauseAll=function(t,e,i){f(!0,t,e,i)},r.resumeAll=function(t,e,i){f(!1,t,e,i)},r.globalTimeScale=function(e){var s=t._rootTimeline,r=i.ticker.time;return arguments.length?(e=e||n,s._startTime=r-(r-s._startTime)*s._timeScale/e,s=t._rootFramesTimeline,r=i.ticker.frame,s._startTime=r-(r-s._startTime)*s._timeScale/e,s._timeScale=t._rootTimeline._timeScale=e,e):s._timeScale},l.progress=function(t){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&0!==(1&this._cycle)?1-t:t)+this._cycle*(this._duration+this._repeatDelay),!1):this._time/this.duration()},l.totalProgress=function(t){return arguments.length?this.totalTime(this.totalDuration()*t,!1):this._totalTime/this.totalDuration()},l.time=function(t,e){return arguments.length?(this._dirty&&this.totalDuration(),t>this._duration&&(t=this._duration),this._yoyo&&0!==(1&this._cycle)?t=this._duration-t+this._cycle*(this._duration+this._repeatDelay):0!==this._repeat&&(t+=this._cycle*(this._duration+this._repeatDelay)),this.totalTime(t,e)):this._time},l.duration=function(e){return arguments.length?t.prototype.duration.call(this,e):this._duration},l.totalDuration=function(t){return arguments.length?-1===this._repeat?this:this.duration((t-this._repeat*this._repeatDelay)/(this._repeat+1)):(this._dirty&&(this._totalDuration=-1===this._repeat?999999999999:this._duration*(this._repeat+1)+this._repeatDelay*this._repeat,this._dirty=!1),this._totalDuration)},l.repeat=function(t){return arguments.length?(this._repeat=t,this._uncache(!0)):this._repeat},l.repeatDelay=function(t){return arguments.length?(this._repeatDelay=t,this._uncache(!0)):this._repeatDelay},l.yoyo=function(t){return arguments.length?(this._yoyo=t,this):this._yoyo},r},!0),_gsScope._gsDefine("TimelineLite",["core.Animation","core.SimpleTimeline","TweenLite"],function(t,e,i){var s=function(t){e.call(this,t),this._labels={},this.autoRemoveChildren=this.vars.autoRemoveChildren===!0,this.smoothChildTiming=this.vars.smoothChildTiming===!0,this._sortChildren=!0,this._onUpdate=this.vars.onUpdate;var i,s,r=this.vars;for(s in r)i=r[s],h(i)&&-1!==i.join("").indexOf("{self}")&&(r[s]=this._swapSelfInParams(i));h(r.tweens)&&this.add(r.tweens,0,r.align,r.stagger)},r=1e-10,n=i._internals,a=s._internals={},o=n.isSelector,h=n.isArray,l=n.lazyTweens,_=n.lazyRender,u=[],p=_gsScope._gsDefine.globals,f=function(t){var e,i={};for(e in t)i[e]=t[e];return i},c=a.pauseCallback=function(t,e,i,s){var n,a=t._timeline,o=a._totalTime,h=t._startTime,l=0>t._rawPrevTime||0===t._rawPrevTime&&a._reversed,_=l?0:r,p=l?r:0;if(e||!this._forcingPlayhead){for(a.pause(h),n=t._prev;n&&n._startTime===h;)n._rawPrevTime=p,n=n._prev;for(n=t._next;n&&n._startTime===h;)n._rawPrevTime=_,n=n._next;e&&e.apply(s||a,i||u),(this._forcingPlayhead||!a._paused)&&a.seek(o)}},m=function(t){var e,i=[],s=t.length;for(e=0;e!==s;i.push(t[e++]));return i},d=s.prototype=new e;return s.version="1.16.1",d.constructor=s,d.kill()._gc=d._forcingPlayhead=!1,d.to=function(t,e,s,r){var n=s.repeat&&p.TweenMax||i;return e?this.add(new n(t,e,s),r):this.set(t,s,r)},d.from=function(t,e,s,r){return this.add((s.repeat&&p.TweenMax||i).from(t,e,s),r)},d.fromTo=function(t,e,s,r,n){var a=r.repeat&&p.TweenMax||i;return e?this.add(a.fromTo(t,e,s,r),n):this.set(t,r,n)},d.staggerTo=function(t,e,r,n,a,h,l,_){var u,p=new s({onComplete:h,onCompleteParams:l,onCompleteScope:_,smoothChildTiming:this.smoothChildTiming});for("string"==typeof t&&(t=i.selector(t)||t),t=t||[],o(t)&&(t=m(t)),n=n||0,0>n&&(t=m(t),t.reverse(),n*=-1),u=0;t.length>u;u++)r.startAt&&(r.startAt=f(r.startAt)),p.to(t[u],e,f(r),u*n);return this.add(p,a)},d.staggerFrom=function(t,e,i,s,r,n,a,o){return i.immediateRender=0!=i.immediateRender,i.runBackwards=!0,this.staggerTo(t,e,i,s,r,n,a,o)},d.staggerFromTo=function(t,e,i,s,r,n,a,o,h){return s.startAt=i,s.immediateRender=0!=s.immediateRender&&0!=i.immediateRender,this.staggerTo(t,e,s,r,n,a,o,h)},d.call=function(t,e,s,r){return this.add(i.delayedCall(0,t,e,s),r)},d.set=function(t,e,s){return s=this._parseTimeOrLabel(s,0,!0),null==e.immediateRender&&(e.immediateRender=s===this._time&&!this._paused),this.add(new i(t,0,e),s)},s.exportRoot=function(t,e){t=t||{},null==t.smoothChildTiming&&(t.smoothChildTiming=!0);var r,n,a=new s(t),o=a._timeline;for(null==e&&(e=!0),o._remove(a,!0),a._startTime=0,a._rawPrevTime=a._time=a._totalTime=o._time,r=o._first;r;)n=r._next,e&&r instanceof i&&r.target===r.vars.onComplete||a.add(r,r._startTime-r._delay),r=n;return o.add(a,0),a},d.add=function(r,n,a,o){var l,_,u,p,f,c;if("number"!=typeof n&&(n=this._parseTimeOrLabel(n,0,!0,r)),!(r instanceof t)){if(r instanceof Array||r&&r.push&&h(r)){for(a=a||"normal",o=o||0,l=n,_=r.length,u=0;_>u;u++)h(p=r[u])&&(p=new s({tweens:p})),this.add(p,l),"string"!=typeof p&&"function"!=typeof p&&("sequence"===a?l=p._startTime+p.totalDuration()/p._timeScale:"start"===a&&(p._startTime-=p.delay())),l+=o;return this._uncache(!0)}if("string"==typeof r)return this.addLabel(r,n);if("function"!=typeof r)throw"Cannot add "+r+" into the timeline; it is not a tween, timeline, function, or string.";r=i.delayedCall(0,r)}if(e.prototype.add.call(this,r,n),(this._gc||this._time===this._duration)&&!this._paused&&this._duration<this.duration())for(f=this,c=f.rawTime()>r._startTime;f._timeline;)c&&f._timeline.smoothChildTiming?f.totalTime(f._totalTime,!0):f._gc&&f._enabled(!0,!1),f=f._timeline;return this},d.remove=function(e){if(e instanceof t)return this._remove(e,!1);if(e instanceof Array||e&&e.push&&h(e)){for(var i=e.length;--i>-1;)this.remove(e[i]);return this}return"string"==typeof e?this.removeLabel(e):this.kill(null,e)},d._remove=function(t,i){e.prototype._remove.call(this,t,i);var s=this._last;return s?this._time>s._startTime+s._totalDuration/s._timeScale&&(this._time=this.duration(),this._totalTime=this._totalDuration):this._time=this._totalTime=this._duration=this._totalDuration=0,this},d.append=function(t,e){return this.add(t,this._parseTimeOrLabel(null,e,!0,t))},d.insert=d.insertMultiple=function(t,e,i,s){return this.add(t,e||0,i,s)},d.appendMultiple=function(t,e,i,s){return this.add(t,this._parseTimeOrLabel(null,e,!0,t),i,s)},d.addLabel=function(t,e){return this._labels[t]=this._parseTimeOrLabel(e),this},d.addPause=function(t,e,s,r){var n=i.delayedCall(0,c,["{self}",e,s,r],this);return n.data="isPause",this.add(n,t)},d.removeLabel=function(t){return delete this._labels[t],this},d.getLabelTime=function(t){return null!=this._labels[t]?this._labels[t]:-1},d._parseTimeOrLabel=function(e,i,s,r){var n;if(r instanceof t&&r.timeline===this)this.remove(r);else if(r&&(r instanceof Array||r.push&&h(r)))for(n=r.length;--n>-1;)r[n]instanceof t&&r[n].timeline===this&&this.remove(r[n]);if("string"==typeof i)return this._parseTimeOrLabel(i,s&&"number"==typeof e&&null==this._labels[i]?e-this.duration():0,s);if(i=i||0,"string"!=typeof e||!isNaN(e)&&null==this._labels[e])null==e&&(e=this.duration());else{if(n=e.indexOf("="),-1===n)return null==this._labels[e]?s?this._labels[e]=this.duration()+i:i:this._labels[e]+i;i=parseInt(e.charAt(n-1)+"1",10)*Number(e.substr(n+1)),e=n>1?this._parseTimeOrLabel(e.substr(0,n-1),0,s):this.duration()}return Number(e)+i},d.seek=function(t,e){return this.totalTime("number"==typeof t?t:this._parseTimeOrLabel(t),e!==!1)},d.stop=function(){return this.paused(!0)},d.gotoAndPlay=function(t,e){return this.play(t,e)},d.gotoAndStop=function(t,e){return this.pause(t,e)},d.render=function(t,e,i){this._gc&&this._enabled(!0,!1);var s,n,a,o,h,p=this._dirty?this.totalDuration():this._totalDuration,f=this._time,c=this._startTime,m=this._timeScale,d=this._paused;if(t>=p)this._totalTime=this._time=p,this._reversed||this._hasPausedChild()||(n=!0,o="onComplete",h=!!this._timeline.autoRemoveChildren,0===this._duration&&(0===t||0>this._rawPrevTime||this._rawPrevTime===r)&&this._rawPrevTime!==t&&this._first&&(h=!0,this._rawPrevTime>r&&(o="onReverseComplete"))),this._rawPrevTime=this._duration||!e||t||this._rawPrevTime===t?t:r,t=p+1e-4;else if(1e-7>t)if(this._totalTime=this._time=0,(0!==f||0===this._duration&&this._rawPrevTime!==r&&(this._rawPrevTime>0||0>t&&this._rawPrevTime>=0))&&(o="onReverseComplete",n=this._reversed),0>t)this._active=!1,this._timeline.autoRemoveChildren&&this._reversed?(h=n=!0,o="onReverseComplete"):this._rawPrevTime>=0&&this._first&&(h=!0),this._rawPrevTime=t;else{if(this._rawPrevTime=this._duration||!e||t||this._rawPrevTime===t?t:r,0===t&&n)for(s=this._first;s&&0===s._startTime;)s._duration||(n=!1),s=s._next;t=0,this._initted||(h=!0)}else this._totalTime=this._time=this._rawPrevTime=t;if(this._time!==f&&this._first||i||h){if(this._initted||(this._initted=!0),this._active||!this._paused&&this._time!==f&&t>0&&(this._active=!0),0===f&&this.vars.onStart&&0!==this._time&&(e||this.vars.onStart.apply(this.vars.onStartScope||this,this.vars.onStartParams||u)),this._time>=f)for(s=this._first;s&&(a=s._next,!this._paused||d);)(s._active||s._startTime<=this._time&&!s._paused&&!s._gc)&&(s._reversed?s.render((s._dirty?s.totalDuration():s._totalDuration)-(t-s._startTime)*s._timeScale,e,i):s.render((t-s._startTime)*s._timeScale,e,i)),s=a;else for(s=this._last;s&&(a=s._prev,!this._paused||d);)(s._active||f>=s._startTime&&!s._paused&&!s._gc)&&(s._reversed?s.render((s._dirty?s.totalDuration():s._totalDuration)-(t-s._startTime)*s._timeScale,e,i):s.render((t-s._startTime)*s._timeScale,e,i)),s=a;this._onUpdate&&(e||(l.length&&_(),this._onUpdate.apply(this.vars.onUpdateScope||this,this.vars.onUpdateParams||u))),o&&(this._gc||(c===this._startTime||m!==this._timeScale)&&(0===this._time||p>=this.totalDuration())&&(n&&(l.length&&_(),this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[o]&&this.vars[o].apply(this.vars[o+"Scope"]||this,this.vars[o+"Params"]||u)))}},d._hasPausedChild=function(){for(var t=this._first;t;){if(t._paused||t instanceof s&&t._hasPausedChild())return!0;t=t._next}return!1},d.getChildren=function(t,e,s,r){r=r||-9999999999;for(var n=[],a=this._first,o=0;a;)r>a._startTime||(a instanceof i?e!==!1&&(n[o++]=a):(s!==!1&&(n[o++]=a),t!==!1&&(n=n.concat(a.getChildren(!0,e,s)),o=n.length))),a=a._next;return n},d.getTweensOf=function(t,e){var s,r,n=this._gc,a=[],o=0;for(n&&this._enabled(!0,!0),s=i.getTweensOf(t),r=s.length;--r>-1;)(s[r].timeline===this||e&&this._contains(s[r]))&&(a[o++]=s[r]);return n&&this._enabled(!1,!0),a},d.recent=function(){return this._recent},d._contains=function(t){for(var e=t.timeline;e;){if(e===this)return!0;e=e.timeline}return!1},d.shiftChildren=function(t,e,i){i=i||0;for(var s,r=this._first,n=this._labels;r;)r._startTime>=i&&(r._startTime+=t),r=r._next;if(e)for(s in n)n[s]>=i&&(n[s]+=t);return this._uncache(!0)},d._kill=function(t,e){if(!t&&!e)return this._enabled(!1,!1);for(var i=e?this.getTweensOf(e):this.getChildren(!0,!0,!1),s=i.length,r=!1;--s>-1;)i[s]._kill(t,e)&&(r=!0);return r},d.clear=function(t){var e=this.getChildren(!1,!0,!0),i=e.length;for(this._time=this._totalTime=0;--i>-1;)e[i]._enabled(!1,!1);return t!==!1&&(this._labels={}),this._uncache(!0)},d.invalidate=function(){for(var e=this._first;e;)e.invalidate(),e=e._next;return t.prototype.invalidate.call(this)},d._enabled=function(t,i){if(t===this._gc)for(var s=this._first;s;)s._enabled(t,!0),s=s._next;return e.prototype._enabled.call(this,t,i)},d.totalTime=function(){this._forcingPlayhead=!0;var e=t.prototype.totalTime.apply(this,arguments);return this._forcingPlayhead=!1,e},d.duration=function(t){return arguments.length?(0!==this.duration()&&0!==t&&this.timeScale(this._duration/t),this):(this._dirty&&this.totalDuration(),this._duration)},d.totalDuration=function(t){if(!arguments.length){if(this._dirty){for(var e,i,s=0,r=this._last,n=999999999999;r;)e=r._prev,r._dirty&&r.totalDuration(),r._startTime>n&&this._sortChildren&&!r._paused?this.add(r,r._startTime-r._delay):n=r._startTime,0>r._startTime&&!r._paused&&(s-=r._startTime,this._timeline.smoothChildTiming&&(this._startTime+=r._startTime/this._timeScale),this.shiftChildren(-r._startTime,!1,-9999999999),n=0),i=r._startTime+r._totalDuration/r._timeScale,i>s&&(s=i),r=e;this._duration=this._totalDuration=s,this._dirty=!1}return this._totalDuration}return 0!==this.totalDuration()&&0!==t&&this.timeScale(this._totalDuration/t),this},d.paused=function(e){if(!e)for(var i=this._first,s=this._time;i;)i._startTime===s&&"isPause"===i.data&&(i._rawPrevTime=0),i=i._next;return t.prototype.paused.apply(this,arguments)},d.usesFrames=function(){for(var e=this._timeline;e._timeline;)e=e._timeline;return e===t._rootFramesTimeline},d.rawTime=function(){return this._paused?this._totalTime:(this._timeline.rawTime()-this._startTime)*this._timeScale},s},!0),_gsScope._gsDefine("TimelineMax",["TimelineLite","TweenLite","easing.Ease"],function(t,e,i){var s=function(e){t.call(this,e),this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._cycle=0,this._yoyo=this.vars.yoyo===!0,this._dirty=!0},r=1e-10,n=[],a=e._internals,o=a.lazyTweens,h=a.lazyRender,l=new i(null,null,1,0),_=s.prototype=new t;return _.constructor=s,_.kill()._gc=!1,s.version="1.16.1",_.invalidate=function(){return this._yoyo=this.vars.yoyo===!0,this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._uncache(!0),t.prototype.invalidate.call(this)},_.addCallback=function(t,i,s,r){return this.add(e.delayedCall(0,t,s,r),i)},_.removeCallback=function(t,e){if(t)if(null==e)this._kill(null,t);else for(var i=this.getTweensOf(t,!1),s=i.length,r=this._parseTimeOrLabel(e);--s>-1;)i[s]._startTime===r&&i[s]._enabled(!1,!1);return this},_.removePause=function(e){return this.removeCallback(t._internals.pauseCallback,e)},_.tweenTo=function(t,i){i=i||{};var s,r,a,o={ease:l,useFrames:this.usesFrames(),immediateRender:!1};for(r in i)o[r]=i[r];return o.time=this._parseTimeOrLabel(t),s=Math.abs(Number(o.time)-this._time)/this._timeScale||.001,a=new e(this,s,o),o.onStart=function(){a.target.paused(!0),a.vars.time!==a.target.time()&&s===a.duration()&&a.duration(Math.abs(a.vars.time-a.target.time())/a.target._timeScale),i.onStart&&i.onStart.apply(i.onStartScope||a,i.onStartParams||n)},a},_.tweenFromTo=function(t,e,i){i=i||{},t=this._parseTimeOrLabel(t),i.startAt={onComplete:this.seek,onCompleteParams:[t],onCompleteScope:this},i.immediateRender=i.immediateRender!==!1;var s=this.tweenTo(e,i);return s.duration(Math.abs(s.vars.time-t)/this._timeScale||.001)},_.render=function(t,e,i){this._gc&&this._enabled(!0,!1);var s,a,l,_,u,p,f=this._dirty?this.totalDuration():this._totalDuration,c=this._duration,m=this._time,d=this._totalTime,g=this._startTime,v=this._timeScale,y=this._rawPrevTime,T=this._paused,w=this._cycle;if(t>=f)this._locked||(this._totalTime=f,this._cycle=this._repeat),this._reversed||this._hasPausedChild()||(a=!0,_="onComplete",u=!!this._timeline.autoRemoveChildren,0===this._duration&&(0===t||0>y||y===r)&&y!==t&&this._first&&(u=!0,y>r&&(_="onReverseComplete"))),this._rawPrevTime=this._duration||!e||t||this._rawPrevTime===t?t:r,this._yoyo&&0!==(1&this._cycle)?this._time=t=0:(this._time=c,t=c+1e-4);else if(1e-7>t)if(this._locked||(this._totalTime=this._cycle=0),this._time=0,(0!==m||0===c&&y!==r&&(y>0||0>t&&y>=0)&&!this._locked)&&(_="onReverseComplete",a=this._reversed),0>t)this._active=!1,this._timeline.autoRemoveChildren&&this._reversed?(u=a=!0,_="onReverseComplete"):y>=0&&this._first&&(u=!0),this._rawPrevTime=t;else{if(this._rawPrevTime=c||!e||t||this._rawPrevTime===t?t:r,0===t&&a)for(s=this._first;s&&0===s._startTime;)s._duration||(a=!1),s=s._next;t=0,this._initted||(u=!0)}else 0===c&&0>y&&(u=!0),this._time=this._rawPrevTime=t,this._locked||(this._totalTime=t,0!==this._repeat&&(p=c+this._repeatDelay,this._cycle=this._totalTime/p>>0,0!==this._cycle&&this._cycle===this._totalTime/p&&this._cycle--,this._time=this._totalTime-this._cycle*p,this._yoyo&&0!==(1&this._cycle)&&(this._time=c-this._time),this._time>c?(this._time=c,t=c+1e-4):0>this._time?this._time=t=0:t=this._time));if(this._cycle!==w&&!this._locked){var x=this._yoyo&&0!==(1&w),b=x===(this._yoyo&&0!==(1&this._cycle)),P=this._totalTime,S=this._cycle,k=this._rawPrevTime,R=this._time;if(this._totalTime=w*c,w>this._cycle?x=!x:this._totalTime+=c,this._time=m,this._rawPrevTime=0===c?y-1e-4:y,this._cycle=w,this._locked=!0,m=x?0:c,this.render(m,e,0===c),e||this._gc||this.vars.onRepeat&&this.vars.onRepeat.apply(this.vars.onRepeatScope||this,this.vars.onRepeatParams||n),b&&(m=x?c+1e-4:-1e-4,this.render(m,!0,!1)),this._locked=!1,this._paused&&!T)return;this._time=R,this._totalTime=P,this._cycle=S,this._rawPrevTime=k}if(!(this._time!==m&&this._first||i||u))return d!==this._totalTime&&this._onUpdate&&(e||this._onUpdate.apply(this.vars.onUpdateScope||this,this.vars.onUpdateParams||n)),void 0;if(this._initted||(this._initted=!0),this._active||!this._paused&&this._totalTime!==d&&t>0&&(this._active=!0),0===d&&this.vars.onStart&&0!==this._totalTime&&(e||this.vars.onStart.apply(this.vars.onStartScope||this,this.vars.onStartParams||n)),this._time>=m)for(s=this._first;s&&(l=s._next,!this._paused||T);)(s._active||s._startTime<=this._time&&!s._paused&&!s._gc)&&(s._reversed?s.render((s._dirty?s.totalDuration():s._totalDuration)-(t-s._startTime)*s._timeScale,e,i):s.render((t-s._startTime)*s._timeScale,e,i)),s=l;else for(s=this._last;s&&(l=s._prev,!this._paused||T);)(s._active||m>=s._startTime&&!s._paused&&!s._gc)&&(s._reversed?s.render((s._dirty?s.totalDuration():s._totalDuration)-(t-s._startTime)*s._timeScale,e,i):s.render((t-s._startTime)*s._timeScale,e,i)),s=l;this._onUpdate&&(e||(o.length&&h(),this._onUpdate.apply(this.vars.onUpdateScope||this,this.vars.onUpdateParams||n))),_&&(this._locked||this._gc||(g===this._startTime||v!==this._timeScale)&&(0===this._time||f>=this.totalDuration())&&(a&&(o.length&&h(),this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[_]&&this.vars[_].apply(this.vars[_+"Scope"]||this,this.vars[_+"Params"]||n)))},_.getActive=function(t,e,i){null==t&&(t=!0),null==e&&(e=!0),null==i&&(i=!1);var s,r,n=[],a=this.getChildren(t,e,i),o=0,h=a.length;for(s=0;h>s;s++)r=a[s],r.isActive()&&(n[o++]=r);return n},_.getLabelAfter=function(t){t||0!==t&&(t=this._time);var e,i=this.getLabelsArray(),s=i.length;for(e=0;s>e;e++)if(i[e].time>t)return i[e].name;return null},_.getLabelBefore=function(t){null==t&&(t=this._time);for(var e=this.getLabelsArray(),i=e.length;--i>-1;)if(t>e[i].time)return e[i].name;return null},_.getLabelsArray=function(){var t,e=[],i=0;for(t in this._labels)e[i++]={time:this._labels[t],name:t};return e.sort(function(t,e){return t.time-e.time}),e},_.progress=function(t,e){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&0!==(1&this._cycle)?1-t:t)+this._cycle*(this._duration+this._repeatDelay),e):this._time/this.duration()},_.totalProgress=function(t,e){return arguments.length?this.totalTime(this.totalDuration()*t,e):this._totalTime/this.totalDuration()},_.totalDuration=function(e){return arguments.length?-1===this._repeat?this:this.duration((e-this._repeat*this._repeatDelay)/(this._repeat+1)):(this._dirty&&(t.prototype.totalDuration.call(this),this._totalDuration=-1===this._repeat?999999999999:this._duration*(this._repeat+1)+this._repeatDelay*this._repeat),this._totalDuration)},_.time=function(t,e){return arguments.length?(this._dirty&&this.totalDuration(),t>this._duration&&(t=this._duration),this._yoyo&&0!==(1&this._cycle)?t=this._duration-t+this._cycle*(this._duration+this._repeatDelay):0!==this._repeat&&(t+=this._cycle*(this._duration+this._repeatDelay)),this.totalTime(t,e)):this._time},_.repeat=function(t){return arguments.length?(this._repeat=t,this._uncache(!0)):this._repeat},_.repeatDelay=function(t){return arguments.length?(this._repeatDelay=t,this._uncache(!0)):this._repeatDelay},_.yoyo=function(t){return arguments.length?(this._yoyo=t,this):this._yoyo},_.currentLabel=function(t){return arguments.length?this.seek(t,!0):this.getLabelBefore(this._time+1e-8)},s},!0),function(){var t=180/Math.PI,e=[],i=[],s=[],r={},n=_gsScope._gsDefine.globals,a=function(t,e,i,s){this.a=t,this.b=e,this.c=i,this.d=s,this.da=s-t,this.ca=i-t,this.ba=e-t},o=",x,y,z,left,top,right,bottom,marginTop,marginLeft,marginRight,marginBottom,paddingLeft,paddingTop,paddingRight,paddingBottom,backgroundPosition,backgroundPosition_y,",h=function(t,e,i,s){var r={a:t},n={},a={},o={c:s},h=(t+e)/2,l=(e+i)/2,_=(i+s)/2,u=(h+l)/2,p=(l+_)/2,f=(p-u)/8;return r.b=h+(t-h)/4,n.b=u+f,r.c=n.a=(r.b+n.b)/2,n.c=a.a=(u+p)/2,a.b=p-f,o.b=_+(s-_)/4,a.c=o.a=(a.b+o.b)/2,[r,n,a,o]},l=function(t,r,n,a,o){var l,_,u,p,f,c,m,d,g,v,y,T,w,x=t.length-1,b=0,P=t[0].a;for(l=0;x>l;l++)f=t[b],_=f.a,u=f.d,p=t[b+1].d,o?(y=e[l],T=i[l],w=.25*(T+y)*r/(a?.5:s[l]||.5),c=u-(u-_)*(a?.5*r:0!==y?w/y:0),m=u+(p-u)*(a?.5*r:0!==T?w/T:0),d=u-(c+((m-c)*(3*y/(y+T)+.5)/4||0))):(c=u-.5*(u-_)*r,m=u+.5*(p-u)*r,d=u-(c+m)/2),c+=d,m+=d,f.c=g=c,f.b=0!==l?P:P=f.a+.6*(f.c-f.a),f.da=u-_,f.ca=g-_,f.ba=P-_,n?(v=h(_,P,g,u),t.splice(b,1,v[0],v[1],v[2],v[3]),b+=4):b++,P=m;f=t[b],f.b=P,f.c=P+.4*(f.d-P),f.da=f.d-f.a,f.ca=f.c-f.a,f.ba=P-f.a,n&&(v=h(f.a,P,f.c,f.d),t.splice(b,1,v[0],v[1],v[2],v[3]))},_=function(t,s,r,n){var o,h,l,_,u,p,f=[];if(n)for(t=[n].concat(t),h=t.length;--h>-1;)"string"==typeof(p=t[h][s])&&"="===p.charAt(1)&&(t[h][s]=n[s]+Number(p.charAt(0)+p.substr(2)));if(o=t.length-2,0>o)return f[0]=new a(t[0][s],0,0,t[-1>o?0:1][s]),f;for(h=0;o>h;h++)l=t[h][s],_=t[h+1][s],f[h]=new a(l,0,0,_),r&&(u=t[h+2][s],e[h]=(e[h]||0)+(_-l)*(_-l),i[h]=(i[h]||0)+(u-_)*(u-_));return f[h]=new a(t[h][s],0,0,t[h+1][s]),f},u=function(t,n,a,h,u,p){var f,c,m,d,g,v,y,T,w={},x=[],b=p||t[0];u="string"==typeof u?","+u+",":o,null==n&&(n=1);for(c in t[0])x.push(c);if(t.length>1){for(T=t[t.length-1],y=!0,f=x.length;--f>-1;)if(c=x[f],Math.abs(b[c]-T[c])>.05){y=!1;break}y&&(t=t.concat(),p&&t.unshift(p),t.push(t[1]),p=t[t.length-3])}for(e.length=i.length=s.length=0,f=x.length;--f>-1;)c=x[f],r[c]=-1!==u.indexOf(","+c+","),w[c]=_(t,c,r[c],p);for(f=e.length;--f>-1;)e[f]=Math.sqrt(e[f]),i[f]=Math.sqrt(i[f]);if(!h){for(f=x.length;--f>-1;)if(r[c])for(m=w[x[f]],v=m.length-1,d=0;v>d;d++)g=m[d+1].da/i[d]+m[d].da/e[d],s[d]=(s[d]||0)+g*g;for(f=s.length;--f>-1;)s[f]=Math.sqrt(s[f])}for(f=x.length,d=a?4:1;--f>-1;)c=x[f],m=w[c],l(m,n,a,h,r[c]),y&&(m.splice(0,d),m.splice(m.length-d,d));return w},p=function(t,e,i){e=e||"soft";var s,r,n,o,h,l,_,u,p,f,c,m={},d="cubic"===e?3:2,g="soft"===e,v=[];if(g&&i&&(t=[i].concat(t)),null==t||d+1>t.length)throw"invalid Bezier data";for(p in t[0])v.push(p);for(l=v.length;--l>-1;){for(p=v[l],m[p]=h=[],f=0,u=t.length,_=0;u>_;_++)s=null==i?t[_][p]:"string"==typeof(c=t[_][p])&&"="===c.charAt(1)?i[p]+Number(c.charAt(0)+c.substr(2)):Number(c),g&&_>1&&u-1>_&&(h[f++]=(s+h[f-2])/2),h[f++]=s;for(u=f-d+1,f=0,_=0;u>_;_+=d)s=h[_],r=h[_+1],n=h[_+2],o=2===d?0:h[_+3],h[f++]=c=3===d?new a(s,r,n,o):new a(s,(2*r+s)/3,(2*r+n)/3,n);h.length=f}return m},f=function(t,e,i){for(var s,r,n,a,o,h,l,_,u,p,f,c=1/i,m=t.length;--m>-1;)for(p=t[m],n=p.a,a=p.d-n,o=p.c-n,h=p.b-n,s=r=0,_=1;i>=_;_++)l=c*_,u=1-l,s=r-(r=(l*l*a+3*u*(l*o+u*h))*l),f=m*i+_-1,e[f]=(e[f]||0)+s*s},c=function(t,e){e=e>>0||6;var i,s,r,n,a=[],o=[],h=0,l=0,_=e-1,u=[],p=[];for(i in t)f(t[i],a,e);for(r=a.length,s=0;r>s;s++)h+=Math.sqrt(a[s]),n=s%e,p[n]=h,n===_&&(l+=h,n=s/e>>0,u[n]=p,o[n]=l,h=0,p=[]);return{length:l,lengths:o,segments:u}},m=_gsScope._gsDefine.plugin({propName:"bezier",priority:-1,version:"1.3.4",API:2,global:!0,init:function(t,e,i){this._target=t,e instanceof Array&&(e={values:e}),this._func={},this._round={},this._props=[],this._timeRes=null==e.timeResolution?6:parseInt(e.timeResolution,10);var s,r,n,a,o,h=e.values||[],l={},_=h[0],f=e.autoRotate||i.vars.orientToBezier;this._autoRotate=f?f instanceof Array?f:[["x","y","rotation",f===!0?0:Number(f)||0]]:null;for(s in _)this._props.push(s);for(n=this._props.length;--n>-1;)s=this._props[n],this._overwriteProps.push(s),r=this._func[s]="function"==typeof t[s],l[s]=r?t[s.indexOf("set")||"function"!=typeof t["get"+s.substr(3)]?s:"get"+s.substr(3)]():parseFloat(t[s]),o||l[s]!==h[0][s]&&(o=l);if(this._beziers="cubic"!==e.type&&"quadratic"!==e.type&&"soft"!==e.type?u(h,isNaN(e.curviness)?1:e.curviness,!1,"thruBasic"===e.type,e.correlate,o):p(h,e.type,l),this._segCount=this._beziers[s].length,this._timeRes){var m=c(this._beziers,this._timeRes);this._length=m.length,this._lengths=m.lengths,this._segments=m.segments,this._l1=this._li=this._s1=this._si=0,this._l2=this._lengths[0],this._curSeg=this._segments[0],this._s2=this._curSeg[0],this._prec=1/this._curSeg.length}if(f=this._autoRotate)for(this._initialRotations=[],f[0]instanceof Array||(this._autoRotate=f=[f]),n=f.length;--n>-1;){for(a=0;3>a;a++)s=f[n][a],this._func[s]="function"==typeof t[s]?t[s.indexOf("set")||"function"!=typeof t["get"+s.substr(3)]?s:"get"+s.substr(3)]:!1; +s=f[n][2],this._initialRotations[n]=this._func[s]?this._func[s].call(this._target):this._target[s]}return this._startRatio=i.vars.runBackwards?1:0,!0},set:function(e){var i,s,r,n,a,o,h,l,_,u,p=this._segCount,f=this._func,c=this._target,m=e!==this._startRatio;if(this._timeRes){if(_=this._lengths,u=this._curSeg,e*=this._length,r=this._li,e>this._l2&&p-1>r){for(l=p-1;l>r&&e>=(this._l2=_[++r]););this._l1=_[r-1],this._li=r,this._curSeg=u=this._segments[r],this._s2=u[this._s1=this._si=0]}else if(this._l1>e&&r>0){for(;r>0&&(this._l1=_[--r])>=e;);0===r&&this._l1>e?this._l1=0:r++,this._l2=_[r],this._li=r,this._curSeg=u=this._segments[r],this._s1=u[(this._si=u.length-1)-1]||0,this._s2=u[this._si]}if(i=r,e-=this._l1,r=this._si,e>this._s2&&u.length-1>r){for(l=u.length-1;l>r&&e>=(this._s2=u[++r]););this._s1=u[r-1],this._si=r}else if(this._s1>e&&r>0){for(;r>0&&(this._s1=u[--r])>=e;);0===r&&this._s1>e?this._s1=0:r++,this._s2=u[r],this._si=r}o=(r+(e-this._s1)/(this._s2-this._s1))*this._prec}else i=0>e?0:e>=1?p-1:p*e>>0,o=(e-i*(1/p))*p;for(s=1-o,r=this._props.length;--r>-1;)n=this._props[r],a=this._beziers[n][i],h=(o*o*a.da+3*s*(o*a.ca+s*a.ba))*o+a.a,this._round[n]&&(h=Math.round(h)),f[n]?c[n](h):c[n]=h;if(this._autoRotate){var d,g,v,y,T,w,x,b=this._autoRotate;for(r=b.length;--r>-1;)n=b[r][2],w=b[r][3]||0,x=b[r][4]===!0?1:t,a=this._beziers[b[r][0]],d=this._beziers[b[r][1]],a&&d&&(a=a[i],d=d[i],g=a.a+(a.b-a.a)*o,y=a.b+(a.c-a.b)*o,g+=(y-g)*o,y+=(a.c+(a.d-a.c)*o-y)*o,v=d.a+(d.b-d.a)*o,T=d.b+(d.c-d.b)*o,v+=(T-v)*o,T+=(d.c+(d.d-d.c)*o-T)*o,h=m?Math.atan2(T-v,y-g)*x+w:this._initialRotations[r],f[n]?c[n](h):c[n]=h)}}}),d=m.prototype;m.bezierThrough=u,m.cubicToQuadratic=h,m._autoCSS=!0,m.quadraticToCubic=function(t,e,i){return new a(t,(2*e+t)/3,(2*e+i)/3,i)},m._cssRegister=function(){var t=n.CSSPlugin;if(t){var e=t._internals,i=e._parseToProxy,s=e._setPluginRatio,r=e.CSSPropTween;e._registerComplexSpecialProp("bezier",{parser:function(t,e,n,a,o,h){e instanceof Array&&(e={values:e}),h=new m;var l,_,u,p=e.values,f=p.length-1,c=[],d={};if(0>f)return o;for(l=0;f>=l;l++)u=i(t,p[l],a,o,h,f!==l),c[l]=u.end;for(_ in e)d[_]=e[_];return d.values=c,o=new r(t,"bezier",0,0,u.pt,2),o.data=u,o.plugin=h,o.setRatio=s,0===d.autoRotate&&(d.autoRotate=!0),!d.autoRotate||d.autoRotate instanceof Array||(l=d.autoRotate===!0?0:Number(d.autoRotate),d.autoRotate=null!=u.end.left?[["left","top","rotation",l,!1]]:null!=u.end.x?[["x","y","rotation",l,!1]]:!1),d.autoRotate&&(a._transform||a._enableTransforms(!1),u.autoRotate=a._target._gsTransform),h._onInitTween(u.proxy,d,a._tween),o}})}},d._roundProps=function(t,e){for(var i=this._overwriteProps,s=i.length;--s>-1;)(t[i[s]]||t.bezier||t.bezierThrough)&&(this._round[i[s]]=e)},d._kill=function(t){var e,i,s=this._props;for(e in this._beziers)if(e in t)for(delete this._beziers[e],delete this._func[e],i=s.length;--i>-1;)s[i]===e&&s.splice(i,1);return this._super._kill.call(this,t)}}(),_gsScope._gsDefine("plugins.CSSPlugin",["plugins.TweenPlugin","TweenLite"],function(t,e){var i,s,r,n,a=function(){t.call(this,"css"),this._overwriteProps.length=0,this.setRatio=a.prototype.setRatio},o=_gsScope._gsDefine.globals,h={},l=a.prototype=new t("css");l.constructor=a,a.version="1.16.1",a.API=2,a.defaultTransformPerspective=0,a.defaultSkewType="compensated",l="px",a.suffixMap={top:l,right:l,bottom:l,left:l,width:l,height:l,fontSize:l,padding:l,margin:l,perspective:l,lineHeight:""};var _,u,p,f,c,m,d=/(?:\d|\-\d|\.\d|\-\.\d)+/g,g=/(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g,v=/(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi,y=/(?![+-]?\d*\.?\d+|[+-]|e[+-]\d+)[^0-9]/g,T=/(?:\d|\-|\+|=|#|\.)*/g,w=/opacity *= *([^)]*)/i,x=/opacity:([^;]*)/i,b=/alpha\(opacity *=.+?\)/i,P=/^(rgb|hsl)/,S=/([A-Z])/g,k=/-([a-z])/gi,R=/(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi,A=function(t,e){return e.toUpperCase()},O=/(?:Left|Right|Width)/i,C=/(M11|M12|M21|M22)=[\d\-\.e]+/gi,D=/progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i,M=/,(?=[^\)]*(?:\(|$))/gi,z=Math.PI/180,I=180/Math.PI,F={},E=document,N=function(t){return E.createElementNS?E.createElementNS("http://www.w3.org/1999/xhtml",t):E.createElement(t)},L=N("div"),X=N("img"),U=a._internals={_specialProps:h},Y=navigator.userAgent,j=function(){var t=Y.indexOf("Android"),e=N("a");return p=-1!==Y.indexOf("Safari")&&-1===Y.indexOf("Chrome")&&(-1===t||Number(Y.substr(t+8,1))>3),c=p&&6>Number(Y.substr(Y.indexOf("Version/")+8,1)),f=-1!==Y.indexOf("Firefox"),(/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(Y)||/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(Y))&&(m=parseFloat(RegExp.$1)),e?(e.style.cssText="top:1px;opacity:.55;",/^0.55/.test(e.style.opacity)):!1}(),B=function(t){return w.test("string"==typeof t?t:(t.currentStyle?t.currentStyle.filter:t.style.filter)||"")?parseFloat(RegExp.$1)/100:1},q=function(t){window.console&&console.log(t)},V="",G="",W=function(t,e){e=e||L;var i,s,r=e.style;if(void 0!==r[t])return t;for(t=t.charAt(0).toUpperCase()+t.substr(1),i=["O","Moz","ms","Ms","Webkit"],s=5;--s>-1&&void 0===r[i[s]+t];);return s>=0?(G=3===s?"ms":i[s],V="-"+G.toLowerCase()+"-",G+t):null},Z=E.defaultView?E.defaultView.getComputedStyle:function(){},Q=a.getStyle=function(t,e,i,s,r){var n;return j||"opacity"!==e?(!s&&t.style[e]?n=t.style[e]:(i=i||Z(t))?n=i[e]||i.getPropertyValue(e)||i.getPropertyValue(e.replace(S,"-$1").toLowerCase()):t.currentStyle&&(n=t.currentStyle[e]),null==r||n&&"none"!==n&&"auto"!==n&&"auto auto"!==n?n:r):B(t)},$=U.convertToPixels=function(t,i,s,r,n){if("px"===r||!r)return s;if("auto"===r||!s)return 0;var o,h,l,_=O.test(i),u=t,p=L.style,f=0>s;if(f&&(s=-s),"%"===r&&-1!==i.indexOf("border"))o=s/100*(_?t.clientWidth:t.clientHeight);else{if(p.cssText="border:0 solid red;position:"+Q(t,"position")+";line-height:0;","%"!==r&&u.appendChild)p[_?"borderLeftWidth":"borderTopWidth"]=s+r;else{if(u=t.parentNode||E.body,h=u._gsCache,l=e.ticker.frame,h&&_&&h.time===l)return h.width*s/100;p[_?"width":"height"]=s+r}u.appendChild(L),o=parseFloat(L[_?"offsetWidth":"offsetHeight"]),u.removeChild(L),_&&"%"===r&&a.cacheWidths!==!1&&(h=u._gsCache=u._gsCache||{},h.time=l,h.width=100*(o/s)),0!==o||n||(o=$(t,i,s,r,!0))}return f?-o:o},H=U.calculateOffset=function(t,e,i){if("absolute"!==Q(t,"position",i))return 0;var s="left"===e?"Left":"Top",r=Q(t,"margin"+s,i);return t["offset"+s]-($(t,e,parseFloat(r),r.replace(T,""))||0)},K=function(t,e){var i,s,r,n={};if(e=e||Z(t,null))if(i=e.length)for(;--i>-1;)r=e[i],(-1===r.indexOf("-transform")||be===r)&&(n[r.replace(k,A)]=e.getPropertyValue(r));else for(i in e)(-1===i.indexOf("Transform")||xe===i)&&(n[i]=e[i]);else if(e=t.currentStyle||t.style)for(i in e)"string"==typeof i&&void 0===n[i]&&(n[i.replace(k,A)]=e[i]);return j||(n.opacity=B(t)),s=Me(t,e,!1),n.rotation=s.rotation,n.skewX=s.skewX,n.scaleX=s.scaleX,n.scaleY=s.scaleY,n.x=s.x,n.y=s.y,Se&&(n.z=s.z,n.rotationX=s.rotationX,n.rotationY=s.rotationY,n.scaleZ=s.scaleZ),n.filters&&delete n.filters,n},J=function(t,e,i,s,r){var n,a,o,h={},l=t.style;for(a in i)"cssText"!==a&&"length"!==a&&isNaN(a)&&(e[a]!==(n=i[a])||r&&r[a])&&-1===a.indexOf("Origin")&&("number"==typeof n||"string"==typeof n)&&(h[a]="auto"!==n||"left"!==a&&"top"!==a?""!==n&&"auto"!==n&&"none"!==n||"string"!=typeof e[a]||""===e[a].replace(y,"")?n:0:H(t,a),void 0!==l[a]&&(o=new fe(l,a,l[a],o)));if(s)for(a in s)"className"!==a&&(h[a]=s[a]);return{difs:h,firstMPT:o}},te={width:["Left","Right"],height:["Top","Bottom"]},ee=["marginLeft","marginRight","marginTop","marginBottom"],ie=function(t,e,i){var s=parseFloat("width"===e?t.offsetWidth:t.offsetHeight),r=te[e],n=r.length;for(i=i||Z(t,null);--n>-1;)s-=parseFloat(Q(t,"padding"+r[n],i,!0))||0,s-=parseFloat(Q(t,"border"+r[n]+"Width",i,!0))||0;return s},se=function(t,e){(null==t||""===t||"auto"===t||"auto auto"===t)&&(t="0 0");var i=t.split(" "),s=-1!==t.indexOf("left")?"0%":-1!==t.indexOf("right")?"100%":i[0],r=-1!==t.indexOf("top")?"0%":-1!==t.indexOf("bottom")?"100%":i[1];return null==r?r="center"===s?"50%":"0":"center"===r&&(r="50%"),("center"===s||isNaN(parseFloat(s))&&-1===(s+"").indexOf("="))&&(s="50%"),t=s+" "+r+(i.length>2?" "+i[2]:""),e&&(e.oxp=-1!==s.indexOf("%"),e.oyp=-1!==r.indexOf("%"),e.oxr="="===s.charAt(1),e.oyr="="===r.charAt(1),e.ox=parseFloat(s.replace(y,"")),e.oy=parseFloat(r.replace(y,"")),e.v=t),e||t},re=function(t,e){return"string"==typeof t&&"="===t.charAt(1)?parseInt(t.charAt(0)+"1",10)*parseFloat(t.substr(2)):parseFloat(t)-parseFloat(e)},ne=function(t,e){return null==t?e:"string"==typeof t&&"="===t.charAt(1)?parseInt(t.charAt(0)+"1",10)*parseFloat(t.substr(2))+e:parseFloat(t)},ae=function(t,e,i,s){var r,n,a,o,h,l=1e-6;return null==t?o=e:"number"==typeof t?o=t:(r=360,n=t.split("_"),h="="===t.charAt(1),a=(h?parseInt(t.charAt(0)+"1",10)*parseFloat(n[0].substr(2)):parseFloat(n[0]))*(-1===t.indexOf("rad")?1:I)-(h?0:e),n.length&&(s&&(s[i]=e+a),-1!==t.indexOf("short")&&(a%=r,a!==a%(r/2)&&(a=0>a?a+r:a-r)),-1!==t.indexOf("_cw")&&0>a?a=(a+9999999999*r)%r-(0|a/r)*r:-1!==t.indexOf("ccw")&&a>0&&(a=(a-9999999999*r)%r-(0|a/r)*r)),o=e+a),l>o&&o>-l&&(o=0),o},oe={aqua:[0,255,255],lime:[0,255,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,255],navy:[0,0,128],white:[255,255,255],fuchsia:[255,0,255],olive:[128,128,0],yellow:[255,255,0],orange:[255,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[255,0,0],pink:[255,192,203],cyan:[0,255,255],transparent:[255,255,255,0]},he=function(t,e,i){return t=0>t?t+1:t>1?t-1:t,0|255*(1>6*t?e+6*(i-e)*t:.5>t?i:2>3*t?e+6*(i-e)*(2/3-t):e)+.5},le=a.parseColor=function(t){var e,i,s,r,n,a;return t&&""!==t?"number"==typeof t?[t>>16,255&t>>8,255&t]:(","===t.charAt(t.length-1)&&(t=t.substr(0,t.length-1)),oe[t]?oe[t]:"#"===t.charAt(0)?(4===t.length&&(e=t.charAt(1),i=t.charAt(2),s=t.charAt(3),t="#"+e+e+i+i+s+s),t=parseInt(t.substr(1),16),[t>>16,255&t>>8,255&t]):"hsl"===t.substr(0,3)?(t=t.match(d),r=Number(t[0])%360/360,n=Number(t[1])/100,a=Number(t[2])/100,i=.5>=a?a*(n+1):a+n-a*n,e=2*a-i,t.length>3&&(t[3]=Number(t[3])),t[0]=he(r+1/3,e,i),t[1]=he(r,e,i),t[2]=he(r-1/3,e,i),t):(t=t.match(d)||oe.transparent,t[0]=Number(t[0]),t[1]=Number(t[1]),t[2]=Number(t[2]),t.length>3&&(t[3]=Number(t[3])),t)):oe.black},_e="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#.+?\\b";for(l in oe)_e+="|"+l+"\\b";_e=RegExp(_e+")","gi");var ue=function(t,e,i,s){if(null==t)return function(t){return t};var r,n=e?(t.match(_e)||[""])[0]:"",a=t.split(n).join("").match(v)||[],o=t.substr(0,t.indexOf(a[0])),h=")"===t.charAt(t.length-1)?")":"",l=-1!==t.indexOf(" ")?" ":",",_=a.length,u=_>0?a[0].replace(d,""):"";return _?r=e?function(t){var e,p,f,c;if("number"==typeof t)t+=u;else if(s&&M.test(t)){for(c=t.replace(M,"|").split("|"),f=0;c.length>f;f++)c[f]=r(c[f]);return c.join(",")}if(e=(t.match(_e)||[n])[0],p=t.split(e).join("").match(v)||[],f=p.length,_>f--)for(;_>++f;)p[f]=i?p[0|(f-1)/2]:a[f];return o+p.join(l)+l+e+h+(-1!==t.indexOf("inset")?" inset":"")}:function(t){var e,n,p;if("number"==typeof t)t+=u;else if(s&&M.test(t)){for(n=t.replace(M,"|").split("|"),p=0;n.length>p;p++)n[p]=r(n[p]);return n.join(",")}if(e=t.match(v)||[],p=e.length,_>p--)for(;_>++p;)e[p]=i?e[0|(p-1)/2]:a[p];return o+e.join(l)+h}:function(t){return t}},pe=function(t){return t=t.split(","),function(e,i,s,r,n,a,o){var h,l=(i+"").split(" ");for(o={},h=0;4>h;h++)o[t[h]]=l[h]=l[h]||l[(h-1)/2>>0];return r.parse(e,o,n,a)}},fe=(U._setPluginRatio=function(t){this.plugin.setRatio(t);for(var e,i,s,r,n=this.data,a=n.proxy,o=n.firstMPT,h=1e-6;o;)e=a[o.v],o.r?e=Math.round(e):h>e&&e>-h&&(e=0),o.t[o.p]=e,o=o._next;if(n.autoRotate&&(n.autoRotate.rotation=a.rotation),1===t)for(o=n.firstMPT;o;){if(i=o.t,i.type){if(1===i.type){for(r=i.xs0+i.s+i.xs1,s=1;i.l>s;s++)r+=i["xn"+s]+i["xs"+(s+1)];i.e=r}}else i.e=i.s+i.xs0;o=o._next}},function(t,e,i,s,r){this.t=t,this.p=e,this.v=i,this.r=r,s&&(s._prev=this,this._next=s)}),ce=(U._parseToProxy=function(t,e,i,s,r,n){var a,o,h,l,_,u=s,p={},f={},c=i._transform,m=F;for(i._transform=null,F=e,s=_=i.parse(t,e,s,r),F=m,n&&(i._transform=c,u&&(u._prev=null,u._prev&&(u._prev._next=null)));s&&s!==u;){if(1>=s.type&&(o=s.p,f[o]=s.s+s.c,p[o]=s.s,n||(l=new fe(s,"s",o,l,s.r),s.c=0),1===s.type))for(a=s.l;--a>0;)h="xn"+a,o=s.p+"_"+h,f[o]=s.data[h],p[o]=s[h],n||(l=new fe(s,h,o,l,s.rxp[h]));s=s._next}return{proxy:p,end:f,firstMPT:l,pt:_}},U.CSSPropTween=function(t,e,s,r,a,o,h,l,_,u,p){this.t=t,this.p=e,this.s=s,this.c=r,this.n=h||e,t instanceof ce||n.push(this.n),this.r=l,this.type=o||0,_&&(this.pr=_,i=!0),this.b=void 0===u?s:u,this.e=void 0===p?s+r:p,a&&(this._next=a,a._prev=this)}),me=a.parseComplex=function(t,e,i,s,r,n,a,o,h,l){i=i||n||"",a=new ce(t,e,0,0,a,l?2:1,null,!1,o,i,s),s+="";var u,p,f,c,m,v,y,T,w,x,b,S,k=i.split(", ").join(",").split(" "),R=s.split(", ").join(",").split(" "),A=k.length,O=_!==!1;for((-1!==s.indexOf(",")||-1!==i.indexOf(","))&&(k=k.join(" ").replace(M,", ").split(" "),R=R.join(" ").replace(M,", ").split(" "),A=k.length),A!==R.length&&(k=(n||"").split(" "),A=k.length),a.plugin=h,a.setRatio=l,u=0;A>u;u++)if(c=k[u],m=R[u],T=parseFloat(c),T||0===T)a.appendXtra("",T,re(m,T),m.replace(g,""),O&&-1!==m.indexOf("px"),!0);else if(r&&("#"===c.charAt(0)||oe[c]||P.test(c)))S=","===m.charAt(m.length-1)?"),":")",c=le(c),m=le(m),w=c.length+m.length>6,w&&!j&&0===m[3]?(a["xs"+a.l]+=a.l?" transparent":"transparent",a.e=a.e.split(R[u]).join("transparent")):(j||(w=!1),a.appendXtra(w?"rgba(":"rgb(",c[0],m[0]-c[0],",",!0,!0).appendXtra("",c[1],m[1]-c[1],",",!0).appendXtra("",c[2],m[2]-c[2],w?",":S,!0),w&&(c=4>c.length?1:c[3],a.appendXtra("",c,(4>m.length?1:m[3])-c,S,!1)));else if(v=c.match(d)){if(y=m.match(g),!y||y.length!==v.length)return a;for(f=0,p=0;v.length>p;p++)b=v[p],x=c.indexOf(b,f),a.appendXtra(c.substr(f,x-f),Number(b),re(y[p],b),"",O&&"px"===c.substr(x+b.length,2),0===p),f=x+b.length;a["xs"+a.l]+=c.substr(f)}else a["xs"+a.l]+=a.l?" "+c:c;if(-1!==s.indexOf("=")&&a.data){for(S=a.xs0+a.data.s,u=1;a.l>u;u++)S+=a["xs"+u]+a.data["xn"+u];a.e=S+a["xs"+u]}return a.l||(a.type=-1,a.xs0=a.e),a.xfirst||a},de=9;for(l=ce.prototype,l.l=l.pr=0;--de>0;)l["xn"+de]=0,l["xs"+de]="";l.xs0="",l._next=l._prev=l.xfirst=l.data=l.plugin=l.setRatio=l.rxp=null,l.appendXtra=function(t,e,i,s,r,n){var a=this,o=a.l;return a["xs"+o]+=n&&o?" "+t:t||"",i||0===o||a.plugin?(a.l++,a.type=a.setRatio?2:1,a["xs"+a.l]=s||"",o>0?(a.data["xn"+o]=e+i,a.rxp["xn"+o]=r,a["xn"+o]=e,a.plugin||(a.xfirst=new ce(a,"xn"+o,e,i,a.xfirst||a,0,a.n,r,a.pr),a.xfirst.xs0=0),a):(a.data={s:e+i},a.rxp={},a.s=e,a.c=i,a.r=r,a)):(a["xs"+o]+=e+(s||""),a)};var ge=function(t,e){e=e||{},this.p=e.prefix?W(t)||t:t,h[t]=h[this.p]=this,this.format=e.formatter||ue(e.defaultValue,e.color,e.collapsible,e.multi),e.parser&&(this.parse=e.parser),this.clrs=e.color,this.multi=e.multi,this.keyword=e.keyword,this.dflt=e.defaultValue,this.pr=e.priority||0},ve=U._registerComplexSpecialProp=function(t,e,i){"object"!=typeof e&&(e={parser:i});var s,r,n=t.split(","),a=e.defaultValue;for(i=i||[a],s=0;n.length>s;s++)e.prefix=0===s&&e.prefix,e.defaultValue=i[s]||a,r=new ge(n[s],e)},ye=function(t){if(!h[t]){var e=t.charAt(0).toUpperCase()+t.substr(1)+"Plugin";ve(t,{parser:function(t,i,s,r,n,a,l){var _=o.com.greensock.plugins[e];return _?(_._cssRegister(),h[s].parse(t,i,s,r,n,a,l)):(q("Error: "+e+" js file not loaded."),n)}})}};l=ge.prototype,l.parseComplex=function(t,e,i,s,r,n){var a,o,h,l,_,u,p=this.keyword;if(this.multi&&(M.test(i)||M.test(e)?(o=e.replace(M,"|").split("|"),h=i.replace(M,"|").split("|")):p&&(o=[e],h=[i])),h){for(l=h.length>o.length?h.length:o.length,a=0;l>a;a++)e=o[a]=o[a]||this.dflt,i=h[a]=h[a]||this.dflt,p&&(_=e.indexOf(p),u=i.indexOf(p),_!==u&&(-1===u?o[a]=o[a].split(p).join(""):-1===_&&(o[a]+=" "+p)));e=o.join(", "),i=h.join(", ")}return me(t,this.p,e,i,this.clrs,this.dflt,s,this.pr,r,n)},l.parse=function(t,e,i,s,n,a){return this.parseComplex(t.style,this.format(Q(t,this.p,r,!1,this.dflt)),this.format(e),n,a)},a.registerSpecialProp=function(t,e,i){ve(t,{parser:function(t,s,r,n,a,o){var h=new ce(t,r,0,0,a,2,r,!1,i);return h.plugin=o,h.setRatio=e(t,s,n._tween,r),h},priority:i})},a.useSVGTransformAttr=p;var Te,we="scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent".split(","),xe=W("transform"),be=V+"transform",Pe=W("transformOrigin"),Se=null!==W("perspective"),ke=U.Transform=function(){this.perspective=parseFloat(a.defaultTransformPerspective)||0,this.force3D=a.defaultForce3D!==!1&&Se?a.defaultForce3D||"auto":!1},Re=window.SVGElement,Ae=function(t,e,i){var s,r=E.createElementNS("http://www.w3.org/2000/svg",t),n=/([a-z])([A-Z])/g;for(s in i)r.setAttributeNS(null,s.replace(n,"$1-$2").toLowerCase(),i[s]);return e.appendChild(r),r},Oe=E.documentElement,Ce=function(){var t,e,i,s=m||/Android/i.test(Y)&&!window.chrome;return E.createElementNS&&!s&&(t=Ae("svg",Oe),e=Ae("rect",t,{width:100,height:50,x:100}),i=e.getBoundingClientRect().width,e.style[Pe]="50% 50%",e.style[xe]="scaleX(0.5)",s=i===e.getBoundingClientRect().width&&!(f&&Se),Oe.removeChild(t)),s}(),De=function(t,e,i,s){var r,n;s&&(n=s.split(" ")).length||(r=t.getBBox(),e=se(e).split(" "),n=[(-1!==e[0].indexOf("%")?parseFloat(e[0])/100*r.width:parseFloat(e[0]))+r.x,(-1!==e[1].indexOf("%")?parseFloat(e[1])/100*r.height:parseFloat(e[1]))+r.y]),i.xOrigin=parseFloat(n[0]),i.yOrigin=parseFloat(n[1]),t.setAttribute("data-svg-origin",n.join(" "))},Me=U.getTransform=function(t,e,i,s){if(t._gsTransform&&i&&!s)return t._gsTransform;var n,o,h,l,_,u,p,f,c,m,d=i?t._gsTransform||new ke:new ke,g=0>d.scaleX,v=2e-5,y=1e5,T=Se?parseFloat(Q(t,Pe,e,!1,"0 0 0").split(" ")[2])||d.zOrigin||0:0,w=parseFloat(a.defaultTransformPerspective)||0;if(xe?o=Q(t,be,e,!0):t.currentStyle&&(o=t.currentStyle.filter.match(C),o=o&&4===o.length?[o[0].substr(4),Number(o[2].substr(4)),Number(o[1].substr(4)),o[3].substr(4),d.x||0,d.y||0].join(","):""),n=!o||"none"===o||"matrix(1, 0, 0, 1, 0, 0)"===o,d.svg=!!(Re&&"function"==typeof t.getBBox&&t.getCTM&&(!t.parentNode||t.parentNode.getBBox&&t.parentNode.getCTM)),d.svg&&(n&&-1!==(t.style[xe]+"").indexOf("matrix")&&(o=t.style[xe],n=!1),De(t,Q(t,Pe,r,!1,"50% 50%")+"",d,t.getAttribute("data-svg-origin")),Te=a.useSVGTransformAttr||Ce,h=t.getAttribute("transform"),n&&h&&-1!==h.indexOf("matrix")&&(o=h,n=0)),!n){for(h=(o||"").match(/(?:\-|\b)[\d\-\.e]+\b/gi)||[],l=h.length;--l>-1;)_=Number(h[l]),h[l]=(u=_-(_|=0))?(0|u*y+(0>u?-.5:.5))/y+_:_;if(16===h.length){var x,b,P,S,k,R=h[0],A=h[1],O=h[2],D=h[3],M=h[4],z=h[5],F=h[6],E=h[7],N=h[8],L=h[9],X=h[10],U=h[12],Y=h[13],j=h[14],B=h[11],q=Math.atan2(F,X);d.zOrigin&&(j=-d.zOrigin,U=N*j-h[12],Y=L*j-h[13],j=X*j+d.zOrigin-h[14]),d.rotationX=q*I,q&&(S=Math.cos(-q),k=Math.sin(-q),x=M*S+N*k,b=z*S+L*k,P=F*S+X*k,N=M*-k+N*S,L=z*-k+L*S,X=F*-k+X*S,B=E*-k+B*S,M=x,z=b,F=P),q=Math.atan2(N,X),d.rotationY=q*I,q&&(S=Math.cos(-q),k=Math.sin(-q),x=R*S-N*k,b=A*S-L*k,P=O*S-X*k,L=A*k+L*S,X=O*k+X*S,B=D*k+B*S,R=x,A=b,O=P),q=Math.atan2(A,R),d.rotation=q*I,q&&(S=Math.cos(-q),k=Math.sin(-q),R=R*S+M*k,b=A*S+z*k,z=A*-k+z*S,F=O*-k+F*S,A=b),d.rotationX&&Math.abs(d.rotationX)+Math.abs(d.rotation)>359.9&&(d.rotationX=d.rotation=0,d.rotationY+=180),d.scaleX=(0|Math.sqrt(R*R+A*A)*y+.5)/y,d.scaleY=(0|Math.sqrt(z*z+L*L)*y+.5)/y,d.scaleZ=(0|Math.sqrt(F*F+X*X)*y+.5)/y,d.skewX=0,d.perspective=B?1/(0>B?-B:B):0,d.x=U,d.y=Y,d.z=j,d.svg&&(d.x-=d.xOrigin-(d.xOrigin*R-d.yOrigin*M),d.y-=d.yOrigin-(d.yOrigin*A-d.xOrigin*z))}else if(!(Se&&!s&&h.length&&d.x===h[4]&&d.y===h[5]&&(d.rotationX||d.rotationY)||void 0!==d.x&&"none"===Q(t,"display",e))){var V=h.length>=6,G=V?h[0]:1,W=h[1]||0,Z=h[2]||0,$=V?h[3]:1;d.x=h[4]||0,d.y=h[5]||0,p=Math.sqrt(G*G+W*W),f=Math.sqrt($*$+Z*Z),c=G||W?Math.atan2(W,G)*I:d.rotation||0,m=Z||$?Math.atan2(Z,$)*I+c:d.skewX||0,Math.abs(m)>90&&270>Math.abs(m)&&(g?(p*=-1,m+=0>=c?180:-180,c+=0>=c?180:-180):(f*=-1,m+=0>=m?180:-180)),d.scaleX=p,d.scaleY=f,d.rotation=c,d.skewX=m,Se&&(d.rotationX=d.rotationY=d.z=0,d.perspective=w,d.scaleZ=1),d.svg&&(d.x-=d.xOrigin-(d.xOrigin*G-d.yOrigin*W),d.y-=d.yOrigin-(d.yOrigin*$-d.xOrigin*Z))}d.zOrigin=T;for(l in d)v>d[l]&&d[l]>-v&&(d[l]=0)}return i&&(t._gsTransform=d,d.svg&&(Te&&t.style[xe]?Ee(t.style,xe):!Te&&t.getAttribute("transform")&&t.removeAttribute("transform"))),d},ze=function(t){var e,i,s=this.data,r=-s.rotation*z,n=r+s.skewX*z,a=1e5,o=(0|Math.cos(r)*s.scaleX*a)/a,h=(0|Math.sin(r)*s.scaleX*a)/a,l=(0|Math.sin(n)*-s.scaleY*a)/a,_=(0|Math.cos(n)*s.scaleY*a)/a,u=this.t.style,p=this.t.currentStyle;if(p){i=h,h=-l,l=-i,e=p.filter,u.filter="";var f,c,d=this.t.offsetWidth,g=this.t.offsetHeight,v="absolute"!==p.position,y="progid:DXImageTransform.Microsoft.Matrix(M11="+o+", M12="+h+", M21="+l+", M22="+_,x=s.x+d*s.xPercent/100,b=s.y+g*s.yPercent/100;if(null!=s.ox&&(f=(s.oxp?.01*d*s.ox:s.ox)-d/2,c=(s.oyp?.01*g*s.oy:s.oy)-g/2,x+=f-(f*o+c*h),b+=c-(f*l+c*_)),v?(f=d/2,c=g/2,y+=", Dx="+(f-(f*o+c*h)+x)+", Dy="+(c-(f*l+c*_)+b)+")"):y+=", sizingMethod='auto expand')",u.filter=-1!==e.indexOf("DXImageTransform.Microsoft.Matrix(")?e.replace(D,y):y+" "+e,(0===t||1===t)&&1===o&&0===h&&0===l&&1===_&&(v&&-1===y.indexOf("Dx=0, Dy=0")||w.test(e)&&100!==parseFloat(RegExp.$1)||-1===e.indexOf("gradient("&&e.indexOf("Alpha"))&&u.removeAttribute("filter")),!v){var P,S,k,R=8>m?1:-1;for(f=s.ieOffsetX||0,c=s.ieOffsetY||0,s.ieOffsetX=Math.round((d-((0>o?-o:o)*d+(0>h?-h:h)*g))/2+x),s.ieOffsetY=Math.round((g-((0>_?-_:_)*g+(0>l?-l:l)*d))/2+b),de=0;4>de;de++)S=ee[de],P=p[S],i=-1!==P.indexOf("px")?parseFloat(P):$(this.t,S,parseFloat(P),P.replace(T,""))||0,k=i!==s[S]?2>de?-s.ieOffsetX:-s.ieOffsetY:2>de?f-s.ieOffsetX:c-s.ieOffsetY,u[S]=(s[S]=Math.round(i-k*(0===de||2===de?1:R)))+"px"}}},Ie=U.set3DTransformRatio=U.setTransformRatio=function(t){var e,i,s,r,n,a,o,h,l,_,u,p,c,m,d,g,v,y,T,w,x,b,P,S=this.data,k=this.t.style,R=S.rotation,A=S.rotationX,O=S.rotationY,C=S.scaleX,D=S.scaleY,M=S.scaleZ,I=S.x,F=S.y,E=S.z,N=S.svg,L=S.perspective,X=S.force3D;if(!(((1!==t&&0!==t||"auto"!==X||this.tween._totalTime!==this.tween._totalDuration&&this.tween._totalTime)&&X||E||L||O||A)&&(!Te||!N)&&Se))return R||S.skewX||N?(R*=z,b=S.skewX*z,P=1e5,e=Math.cos(R)*C,r=Math.sin(R)*C,i=Math.sin(R-b)*-D,n=Math.cos(R-b)*D,b&&"simple"===S.skewType&&(v=Math.tan(b),v=Math.sqrt(1+v*v),i*=v,n*=v),N&&(I+=S.xOrigin-(S.xOrigin*e+S.yOrigin*i),F+=S.yOrigin-(S.xOrigin*r+S.yOrigin*n),m=1e-6,m>I&&I>-m&&(I=0),m>F&&F>-m&&(F=0)),T=(0|e*P)/P+","+(0|r*P)/P+","+(0|i*P)/P+","+(0|n*P)/P+","+I+","+F+")",N&&Te?this.t.setAttribute("transform","matrix("+T):k[xe]=(S.xPercent||S.yPercent?"translate("+S.xPercent+"%,"+S.yPercent+"%) matrix(":"matrix(")+T):k[xe]=(S.xPercent||S.yPercent?"translate("+S.xPercent+"%,"+S.yPercent+"%) matrix(":"matrix(")+C+",0,0,"+D+","+I+","+F+")",void 0;if(f&&(m=1e-4,m>C&&C>-m&&(C=M=2e-5),m>D&&D>-m&&(D=M=2e-5),!L||S.z||S.rotationX||S.rotationY||(L=0)),R||S.skewX)R*=z,d=e=Math.cos(R),g=r=Math.sin(R),S.skewX&&(R-=S.skewX*z,d=Math.cos(R),g=Math.sin(R),"simple"===S.skewType&&(v=Math.tan(S.skewX*z),v=Math.sqrt(1+v*v),d*=v,g*=v)),i=-g,n=d;else{if(!(O||A||1!==M||L||N))return k[xe]=(S.xPercent||S.yPercent?"translate("+S.xPercent+"%,"+S.yPercent+"%) translate3d(":"translate3d(")+I+"px,"+F+"px,"+E+"px)"+(1!==C||1!==D?" scale("+C+","+D+")":""),void 0;e=n=1,i=r=0}l=1,s=a=o=h=_=u=0,p=L?-1/L:0,c=S.zOrigin,m=1e-6,w=",",x="0",R=O*z,R&&(d=Math.cos(R),g=Math.sin(R),o=-g,_=p*-g,s=e*g,a=r*g,l=d,p*=d,e*=d,r*=d),R=A*z,R&&(d=Math.cos(R),g=Math.sin(R),v=i*d+s*g,y=n*d+a*g,h=l*g,u=p*g,s=i*-g+s*d,a=n*-g+a*d,l*=d,p*=d,i=v,n=y),1!==M&&(s*=M,a*=M,l*=M,p*=M),1!==D&&(i*=D,n*=D,h*=D,u*=D),1!==C&&(e*=C,r*=C,o*=C,_*=C),(c||N)&&(c&&(I+=s*-c,F+=a*-c,E+=l*-c+c),N&&(I+=S.xOrigin-(S.xOrigin*e+S.yOrigin*i),F+=S.yOrigin-(S.xOrigin*r+S.yOrigin*n)),m>I&&I>-m&&(I=x),m>F&&F>-m&&(F=x),m>E&&E>-m&&(E=0)),T=S.xPercent||S.yPercent?"translate("+S.xPercent+"%,"+S.yPercent+"%) matrix3d(":"matrix3d(",T+=(m>e&&e>-m?x:e)+w+(m>r&&r>-m?x:r)+w+(m>o&&o>-m?x:o),T+=w+(m>_&&_>-m?x:_)+w+(m>i&&i>-m?x:i)+w+(m>n&&n>-m?x:n),A||O?(T+=w+(m>h&&h>-m?x:h)+w+(m>u&&u>-m?x:u)+w+(m>s&&s>-m?x:s),T+=w+(m>a&&a>-m?x:a)+w+(m>l&&l>-m?x:l)+w+(m>p&&p>-m?x:p)+w):T+=",0,0,0,0,1,0,",T+=I+w+F+w+E+w+(L?1+-E/L:1)+")",k[xe]=T};l=ke.prototype,l.x=l.y=l.z=l.skewX=l.skewY=l.rotation=l.rotationX=l.rotationY=l.zOrigin=l.xPercent=l.yPercent=0,l.scaleX=l.scaleY=l.scaleZ=1,ve("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent",{parser:function(t,e,i,s,n,o,h){if(s._lastParsedTransform===h)return n;s._lastParsedTransform=h;var l,_,u,p,f,c,m,d=s._transform=Me(t,r,!0,h.parseTransform),g=t.style,v=1e-6,y=we.length,T=h,w={};if("string"==typeof T.transform&&xe)u=L.style,u[xe]=T.transform,u.display="block",u.position="absolute",E.body.appendChild(L),l=Me(L,null,!1),E.body.removeChild(L);else if("object"==typeof T){if(l={scaleX:ne(null!=T.scaleX?T.scaleX:T.scale,d.scaleX),scaleY:ne(null!=T.scaleY?T.scaleY:T.scale,d.scaleY),scaleZ:ne(T.scaleZ,d.scaleZ),x:ne(T.x,d.x),y:ne(T.y,d.y),z:ne(T.z,d.z),xPercent:ne(T.xPercent,d.xPercent),yPercent:ne(T.yPercent,d.yPercent),perspective:ne(T.transformPerspective,d.perspective)},m=T.directionalRotation,null!=m)if("object"==typeof m)for(u in m)T[u]=m[u];else T.rotation=m;"string"==typeof T.x&&-1!==T.x.indexOf("%")&&(l.x=0,l.xPercent=ne(T.x,d.xPercent)),"string"==typeof T.y&&-1!==T.y.indexOf("%")&&(l.y=0,l.yPercent=ne(T.y,d.yPercent)),l.rotation=ae("rotation"in T?T.rotation:"shortRotation"in T?T.shortRotation+"_short":"rotationZ"in T?T.rotationZ:d.rotation,d.rotation,"rotation",w),Se&&(l.rotationX=ae("rotationX"in T?T.rotationX:"shortRotationX"in T?T.shortRotationX+"_short":d.rotationX||0,d.rotationX,"rotationX",w),l.rotationY=ae("rotationY"in T?T.rotationY:"shortRotationY"in T?T.shortRotationY+"_short":d.rotationY||0,d.rotationY,"rotationY",w)),l.skewX=null==T.skewX?d.skewX:ae(T.skewX,d.skewX),l.skewY=null==T.skewY?d.skewY:ae(T.skewY,d.skewY),(_=l.skewY-d.skewY)&&(l.skewX+=_,l.rotation+=_)}for(Se&&null!=T.force3D&&(d.force3D=T.force3D,c=!0),d.skewType=T.skewType||d.skewType||a.defaultSkewType,f=d.force3D||d.z||d.rotationX||d.rotationY||l.z||l.rotationX||l.rotationY||l.perspective,f||null==T.scale||(l.scaleZ=1);--y>-1;)i=we[y],p=l[i]-d[i],(p>v||-v>p||null!=T[i]||null!=F[i])&&(c=!0,n=new ce(d,i,d[i],p,n),i in w&&(n.e=w[i]),n.xs0=0,n.plugin=o,s._overwriteProps.push(n.n));return p=T.transformOrigin,d.svg&&(p||T.svgOrigin)&&(De(t,se(p),l,T.svgOrigin),n=new ce(d,"xOrigin",d.xOrigin,l.xOrigin-d.xOrigin,n,-1,"transformOrigin"),n.b=d.xOrigin,n.e=n.xs0=l.xOrigin,n=new ce(d,"yOrigin",d.yOrigin,l.yOrigin-d.yOrigin,n,-1,"transformOrigin"),n.b=d.yOrigin,n.e=n.xs0=l.yOrigin,p=Te?null:"0px 0px"),(p||Se&&f&&d.zOrigin)&&(xe?(c=!0,i=Pe,p=(p||Q(t,i,r,!1,"50% 50%"))+"",n=new ce(g,i,0,0,n,-1,"transformOrigin"),n.b=g[i],n.plugin=o,Se?(u=d.zOrigin,p=p.split(" "),d.zOrigin=(p.length>2&&(0===u||"0px"!==p[2])?parseFloat(p[2]):u)||0,n.xs0=n.e=p[0]+" "+(p[1]||"50%")+" 0px",n=new ce(d,"zOrigin",0,0,n,-1,n.n),n.b=u,n.xs0=n.e=d.zOrigin):n.xs0=n.e=p):se(p+"",d)),c&&(s._transformType=d.svg&&Te||!f&&3!==this._transformType?2:3),n},prefix:!0}),ve("boxShadow",{defaultValue:"0px 0px 0px 0px #999",prefix:!0,color:!0,multi:!0,keyword:"inset"}),ve("borderRadius",{defaultValue:"0px",parser:function(t,e,i,n,a){e=this.format(e);var o,h,l,_,u,p,f,c,m,d,g,v,y,T,w,x,b=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],P=t.style;for(m=parseFloat(t.offsetWidth),d=parseFloat(t.offsetHeight),o=e.split(" "),h=0;b.length>h;h++)this.p.indexOf("border")&&(b[h]=W(b[h])),u=_=Q(t,b[h],r,!1,"0px"),-1!==u.indexOf(" ")&&(_=u.split(" "),u=_[0],_=_[1]),p=l=o[h],f=parseFloat(u),v=u.substr((f+"").length),y="="===p.charAt(1),y?(c=parseInt(p.charAt(0)+"1",10),p=p.substr(2),c*=parseFloat(p),g=p.substr((c+"").length-(0>c?1:0))||""):(c=parseFloat(p),g=p.substr((c+"").length)),""===g&&(g=s[i]||v),g!==v&&(T=$(t,"borderLeft",f,v),w=$(t,"borderTop",f,v),"%"===g?(u=100*(T/m)+"%",_=100*(w/d)+"%"):"em"===g?(x=$(t,"borderLeft",1,"em"),u=T/x+"em",_=w/x+"em"):(u=T+"px",_=w+"px"),y&&(p=parseFloat(u)+c+g,l=parseFloat(_)+c+g)),a=me(P,b[h],u+" "+_,p+" "+l,!1,"0px",a);return a},prefix:!0,formatter:ue("0px 0px 0px 0px",!1,!0)}),ve("backgroundPosition",{defaultValue:"0 0",parser:function(t,e,i,s,n,a){var o,h,l,_,u,p,f="background-position",c=r||Z(t,null),d=this.format((c?m?c.getPropertyValue(f+"-x")+" "+c.getPropertyValue(f+"-y"):c.getPropertyValue(f):t.currentStyle.backgroundPositionX+" "+t.currentStyle.backgroundPositionY)||"0 0"),g=this.format(e);if(-1!==d.indexOf("%")!=(-1!==g.indexOf("%"))&&(p=Q(t,"backgroundImage").replace(R,""),p&&"none"!==p)){for(o=d.split(" "),h=g.split(" "),X.setAttribute("src",p),l=2;--l>-1;)d=o[l],_=-1!==d.indexOf("%"),_!==(-1!==h[l].indexOf("%"))&&(u=0===l?t.offsetWidth-X.width:t.offsetHeight-X.height,o[l]=_?parseFloat(d)/100*u+"px":100*(parseFloat(d)/u)+"%");d=o.join(" ")}return this.parseComplex(t.style,d,g,n,a)},formatter:se}),ve("backgroundSize",{defaultValue:"0 0",formatter:se}),ve("perspective",{defaultValue:"0px",prefix:!0}),ve("perspectiveOrigin",{defaultValue:"50% 50%",prefix:!0}),ve("transformStyle",{prefix:!0}),ve("backfaceVisibility",{prefix:!0}),ve("userSelect",{prefix:!0}),ve("margin",{parser:pe("marginTop,marginRight,marginBottom,marginLeft")}),ve("padding",{parser:pe("paddingTop,paddingRight,paddingBottom,paddingLeft")}),ve("clip",{defaultValue:"rect(0px,0px,0px,0px)",parser:function(t,e,i,s,n,a){var o,h,l;return 9>m?(h=t.currentStyle,l=8>m?" ":",",o="rect("+h.clipTop+l+h.clipRight+l+h.clipBottom+l+h.clipLeft+")",e=this.format(e).split(",").join(l)):(o=this.format(Q(t,this.p,r,!1,this.dflt)),e=this.format(e)),this.parseComplex(t.style,o,e,n,a)}}),ve("textShadow",{defaultValue:"0px 0px 0px #999",color:!0,multi:!0}),ve("autoRound,strictUnits",{parser:function(t,e,i,s,r){return r}}),ve("border",{defaultValue:"0px solid #000",parser:function(t,e,i,s,n,a){return this.parseComplex(t.style,this.format(Q(t,"borderTopWidth",r,!1,"0px")+" "+Q(t,"borderTopStyle",r,!1,"solid")+" "+Q(t,"borderTopColor",r,!1,"#000")),this.format(e),n,a)},color:!0,formatter:function(t){var e=t.split(" ");return e[0]+" "+(e[1]||"solid")+" "+(t.match(_e)||["#000"])[0]}}),ve("borderWidth",{parser:pe("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth")}),ve("float,cssFloat,styleFloat",{parser:function(t,e,i,s,r){var n=t.style,a="cssFloat"in n?"cssFloat":"styleFloat";return new ce(n,a,0,0,r,-1,i,!1,0,n[a],e)}});var Fe=function(t){var e,i=this.t,s=i.filter||Q(this.data,"filter")||"",r=0|this.s+this.c*t;100===r&&(-1===s.indexOf("atrix(")&&-1===s.indexOf("radient(")&&-1===s.indexOf("oader(")?(i.removeAttribute("filter"),e=!Q(this.data,"filter")):(i.filter=s.replace(b,""),e=!0)),e||(this.xn1&&(i.filter=s=s||"alpha(opacity="+r+")"),-1===s.indexOf("pacity")?0===r&&this.xn1||(i.filter=s+" alpha(opacity="+r+")"):i.filter=s.replace(w,"opacity="+r))};ve("opacity,alpha,autoAlpha",{defaultValue:"1",parser:function(t,e,i,s,n,a){var o=parseFloat(Q(t,"opacity",r,!1,"1")),h=t.style,l="autoAlpha"===i;return"string"==typeof e&&"="===e.charAt(1)&&(e=("-"===e.charAt(0)?-1:1)*parseFloat(e.substr(2))+o),l&&1===o&&"hidden"===Q(t,"visibility",r)&&0!==e&&(o=0),j?n=new ce(h,"opacity",o,e-o,n):(n=new ce(h,"opacity",100*o,100*(e-o),n),n.xn1=l?1:0,h.zoom=1,n.type=2,n.b="alpha(opacity="+n.s+")",n.e="alpha(opacity="+(n.s+n.c)+")",n.data=t,n.plugin=a,n.setRatio=Fe),l&&(n=new ce(h,"visibility",0,0,n,-1,null,!1,0,0!==o?"inherit":"hidden",0===e?"hidden":"inherit"),n.xs0="inherit",s._overwriteProps.push(n.n),s._overwriteProps.push(i)),n}});var Ee=function(t,e){e&&(t.removeProperty?(("ms"===e.substr(0,2)||"webkit"===e.substr(0,6))&&(e="-"+e),t.removeProperty(e.replace(S,"-$1").toLowerCase())):t.removeAttribute(e))},Ne=function(t){if(this.t._gsClassPT=this,1===t||0===t){this.t.setAttribute("class",0===t?this.b:this.e);for(var e=this.data,i=this.t.style;e;)e.v?i[e.p]=e.v:Ee(i,e.p),e=e._next;1===t&&this.t._gsClassPT===this&&(this.t._gsClassPT=null)}else this.t.getAttribute("class")!==this.e&&this.t.setAttribute("class",this.e) +};ve("className",{parser:function(t,e,s,n,a,o,h){var l,_,u,p,f,c=t.getAttribute("class")||"",m=t.style.cssText;if(a=n._classNamePT=new ce(t,s,0,0,a,2),a.setRatio=Ne,a.pr=-11,i=!0,a.b=c,_=K(t,r),u=t._gsClassPT){for(p={},f=u.data;f;)p[f.p]=1,f=f._next;u.setRatio(1)}return t._gsClassPT=a,a.e="="!==e.charAt(1)?e:c.replace(RegExp("\\s*\\b"+e.substr(2)+"\\b"),"")+("+"===e.charAt(0)?" "+e.substr(2):""),t.setAttribute("class",a.e),l=J(t,_,K(t),h,p),t.setAttribute("class",c),a.data=l.firstMPT,t.style.cssText=m,a=a.xfirst=n.parse(t,l.difs,a,o)}});var Le=function(t){if((1===t||0===t)&&this.data._totalTime===this.data._totalDuration&&"isFromStart"!==this.data.data){var e,i,s,r,n,a=this.t.style,o=h.transform.parse;if("all"===this.e)a.cssText="",r=!0;else for(e=this.e.split(" ").join("").split(","),s=e.length;--s>-1;)i=e[s],h[i]&&(h[i].parse===o?r=!0:i="transformOrigin"===i?Pe:h[i].p),Ee(a,i);r&&(Ee(a,xe),n=this.t._gsTransform,n&&(n.svg&&this.t.removeAttribute("data-svg-origin"),delete this.t._gsTransform))}};for(ve("clearProps",{parser:function(t,e,s,r,n){return n=new ce(t,s,0,0,n,2),n.setRatio=Le,n.e=e,n.pr=-10,n.data=r._tween,i=!0,n}}),l="bezier,throwProps,physicsProps,physics2D".split(","),de=l.length;de--;)ye(l[de]);l=a.prototype,l._firstPT=l._lastParsedTransform=l._transform=null,l._onInitTween=function(t,e,o){if(!t.nodeType)return!1;this._target=t,this._tween=o,this._vars=e,_=e.autoRound,i=!1,s=e.suffixMap||a.suffixMap,r=Z(t,""),n=this._overwriteProps;var l,f,m,d,g,v,y,T,w,b=t.style;if(u&&""===b.zIndex&&(l=Q(t,"zIndex",r),("auto"===l||""===l)&&this._addLazySet(b,"zIndex",0)),"string"==typeof e&&(d=b.cssText,l=K(t,r),b.cssText=d+";"+e,l=J(t,l,K(t)).difs,!j&&x.test(e)&&(l.opacity=parseFloat(RegExp.$1)),e=l,b.cssText=d),this._firstPT=f=e.className?h.className.parse(t,e.className,"className",this,null,null,e):this.parse(t,e,null),this._transformType){for(w=3===this._transformType,xe?p&&(u=!0,""===b.zIndex&&(y=Q(t,"zIndex",r),("auto"===y||""===y)&&this._addLazySet(b,"zIndex",0)),c&&this._addLazySet(b,"WebkitBackfaceVisibility",this._vars.WebkitBackfaceVisibility||(w?"visible":"hidden"))):b.zoom=1,m=f;m&&m._next;)m=m._next;T=new ce(t,"transform",0,0,null,2),this._linkCSSP(T,null,m),T.setRatio=xe?Ie:ze,T.data=this._transform||Me(t,r,!0),T.tween=o,T.pr=-1,n.pop()}if(i){for(;f;){for(v=f._next,m=d;m&&m.pr>f.pr;)m=m._next;(f._prev=m?m._prev:g)?f._prev._next=f:d=f,(f._next=m)?m._prev=f:g=f,f=v}this._firstPT=d}return!0},l.parse=function(t,e,i,n){var a,o,l,u,p,f,c,m,d,g,v=t.style;for(a in e)f=e[a],o=h[a],o?i=o.parse(t,f,a,this,i,n,e):(p=Q(t,a,r)+"",d="string"==typeof f,"color"===a||"fill"===a||"stroke"===a||-1!==a.indexOf("Color")||d&&P.test(f)?(d||(f=le(f),f=(f.length>3?"rgba(":"rgb(")+f.join(",")+")"),i=me(v,a,p,f,!0,"transparent",i,0,n)):!d||-1===f.indexOf(" ")&&-1===f.indexOf(",")?(l=parseFloat(p),c=l||0===l?p.substr((l+"").length):"",(""===p||"auto"===p)&&("width"===a||"height"===a?(l=ie(t,a,r),c="px"):"left"===a||"top"===a?(l=H(t,a,r),c="px"):(l="opacity"!==a?0:1,c="")),g=d&&"="===f.charAt(1),g?(u=parseInt(f.charAt(0)+"1",10),f=f.substr(2),u*=parseFloat(f),m=f.replace(T,"")):(u=parseFloat(f),m=d?f.replace(T,""):""),""===m&&(m=a in s?s[a]:c),f=u||0===u?(g?u+l:u)+m:e[a],c!==m&&""!==m&&(u||0===u)&&l&&(l=$(t,a,l,c),"%"===m?(l/=$(t,a,100,"%")/100,e.strictUnits!==!0&&(p=l+"%")):"em"===m?l/=$(t,a,1,"em"):"px"!==m&&(u=$(t,a,u,m),m="px"),g&&(u||0===u)&&(f=u+l+m)),g&&(u+=l),!l&&0!==l||!u&&0!==u?void 0!==v[a]&&(f||"NaN"!=f+""&&null!=f)?(i=new ce(v,a,u||l||0,0,i,-1,a,!1,0,p,f),i.xs0="none"!==f||"display"!==a&&-1===a.indexOf("Style")?f:p):q("invalid "+a+" tween value: "+e[a]):(i=new ce(v,a,l,u-l,i,0,a,_!==!1&&("px"===m||"zIndex"===a),0,p,f),i.xs0=m)):i=me(v,a,p,f,!0,null,i,0,n)),n&&i&&!i.plugin&&(i.plugin=n);return i},l.setRatio=function(t){var e,i,s,r=this._firstPT,n=1e-6;if(1!==t||this._tween._time!==this._tween._duration&&0!==this._tween._time)if(t||this._tween._time!==this._tween._duration&&0!==this._tween._time||this._tween._rawPrevTime===-1e-6)for(;r;){if(e=r.c*t+r.s,r.r?e=Math.round(e):n>e&&e>-n&&(e=0),r.type)if(1===r.type)if(s=r.l,2===s)r.t[r.p]=r.xs0+e+r.xs1+r.xn1+r.xs2;else if(3===s)r.t[r.p]=r.xs0+e+r.xs1+r.xn1+r.xs2+r.xn2+r.xs3;else if(4===s)r.t[r.p]=r.xs0+e+r.xs1+r.xn1+r.xs2+r.xn2+r.xs3+r.xn3+r.xs4;else if(5===s)r.t[r.p]=r.xs0+e+r.xs1+r.xn1+r.xs2+r.xn2+r.xs3+r.xn3+r.xs4+r.xn4+r.xs5;else{for(i=r.xs0+e+r.xs1,s=1;r.l>s;s++)i+=r["xn"+s]+r["xs"+(s+1)];r.t[r.p]=i}else-1===r.type?r.t[r.p]=r.xs0:r.setRatio&&r.setRatio(t);else r.t[r.p]=e+r.xs0;r=r._next}else for(;r;)2!==r.type?r.t[r.p]=r.b:r.setRatio(t),r=r._next;else for(;r;)2!==r.type?r.t[r.p]=r.e:r.setRatio(t),r=r._next},l._enableTransforms=function(t){this._transform=this._transform||Me(this._target,r,!0),this._transformType=this._transform.svg&&Te||!t&&3!==this._transformType?2:3};var Xe=function(){this.t[this.p]=this.e,this.data._linkCSSP(this,this._next,null,!0)};l._addLazySet=function(t,e,i){var s=this._firstPT=new ce(t,e,0,0,this._firstPT,2);s.e=i,s.setRatio=Xe,s.data=this},l._linkCSSP=function(t,e,i,s){return t&&(e&&(e._prev=t),t._next&&(t._next._prev=t._prev),t._prev?t._prev._next=t._next:this._firstPT===t&&(this._firstPT=t._next,s=!0),i?i._next=t:s||null!==this._firstPT||(this._firstPT=t),t._next=e,t._prev=i),t},l._kill=function(e){var i,s,r,n=e;if(e.autoAlpha||e.alpha){n={};for(s in e)n[s]=e[s];n.opacity=1,n.autoAlpha&&(n.visibility=1)}return e.className&&(i=this._classNamePT)&&(r=i.xfirst,r&&r._prev?this._linkCSSP(r._prev,i._next,r._prev._prev):r===this._firstPT&&(this._firstPT=i._next),i._next&&this._linkCSSP(i._next,i._next._next,r._prev),this._classNamePT=null),t.prototype._kill.call(this,n)};var Ue=function(t,e,i){var s,r,n,a;if(t.slice)for(r=t.length;--r>-1;)Ue(t[r],e,i);else for(s=t.childNodes,r=s.length;--r>-1;)n=s[r],a=n.type,n.style&&(e.push(K(n)),i&&i.push(n)),1!==a&&9!==a&&11!==a||!n.childNodes.length||Ue(n,e,i)};return a.cascadeTo=function(t,i,s){var r,n,a,o,h=e.to(t,i,s),l=[h],_=[],u=[],p=[],f=e._internals.reservedProps;for(t=h._targets||h.target,Ue(t,_,p),h.render(i,!0,!0),Ue(t,u),h.render(0,!0,!0),h._enabled(!0),r=p.length;--r>-1;)if(n=J(p[r],_[r],u[r]),n.firstMPT){n=n.difs;for(a in s)f[a]&&(n[a]=s[a]);o={};for(a in n)o[a]=_[r][a];l.push(e.fromTo(p[r],i,o,n))}return l},t.activate([a]),a},!0),function(){var t=_gsScope._gsDefine.plugin({propName:"roundProps",priority:-1,API:2,init:function(t,e,i){return this._tween=i,!0}}),e=t.prototype;e._onInitAllProps=function(){for(var t,e,i,s=this._tween,r=s.vars.roundProps instanceof Array?s.vars.roundProps:s.vars.roundProps.split(","),n=r.length,a={},o=s._propLookup.roundProps;--n>-1;)a[r[n]]=1;for(n=r.length;--n>-1;)for(t=r[n],e=s._firstPT;e;)i=e._next,e.pg?e.t._roundProps(a,!0):e.n===t&&(this._add(e.t,t,e.s,e.c),i&&(i._prev=e._prev),e._prev?e._prev._next=i:s._firstPT===e&&(s._firstPT=i),e._next=e._prev=null,s._propLookup[t]=o),e=i;return!1},e._add=function(t,e,i,s){this._addTween(t,e,i,i+s,e,!0),this._overwriteProps.push(e)}}(),_gsScope._gsDefine.plugin({propName:"attr",API:2,version:"0.3.3",init:function(t,e){var i,s,r;if("function"!=typeof t.setAttribute)return!1;this._target=t,this._proxy={},this._start={},this._end={};for(i in e)this._start[i]=this._proxy[i]=s=t.getAttribute(i),r=this._addTween(this._proxy,i,parseFloat(s),e[i],i),this._end[i]=r?r.s+r.c:e[i],this._overwriteProps.push(i);return!0},set:function(t){this._super.setRatio.call(this,t);for(var e,i=this._overwriteProps,s=i.length,r=1===t?this._end:t?this._proxy:this._start;--s>-1;)e=i[s],this._target.setAttribute(e,r[e]+"")}}),_gsScope._gsDefine.plugin({propName:"directionalRotation",version:"0.2.1",API:2,init:function(t,e){"object"!=typeof e&&(e={rotation:e}),this.finals={};var i,s,r,n,a,o,h=e.useRadians===!0?2*Math.PI:360,l=1e-6;for(i in e)"useRadians"!==i&&(o=(e[i]+"").split("_"),s=o[0],r=parseFloat("function"!=typeof t[i]?t[i]:t[i.indexOf("set")||"function"!=typeof t["get"+i.substr(3)]?i:"get"+i.substr(3)]()),n=this.finals[i]="string"==typeof s&&"="===s.charAt(1)?r+parseInt(s.charAt(0)+"1",10)*Number(s.substr(2)):Number(s)||0,a=n-r,o.length&&(s=o.join("_"),-1!==s.indexOf("short")&&(a%=h,a!==a%(h/2)&&(a=0>a?a+h:a-h)),-1!==s.indexOf("_cw")&&0>a?a=(a+9999999999*h)%h-(0|a/h)*h:-1!==s.indexOf("ccw")&&a>0&&(a=(a-9999999999*h)%h-(0|a/h)*h)),(a>l||-l>a)&&(this._addTween(t,i,r,r+a,i),this._overwriteProps.push(i)));return!0},set:function(t){var e;if(1!==t)this._super.setRatio.call(this,t);else for(e=this._firstPT;e;)e.f?e.t[e.p](this.finals[e.p]):e.t[e.p]=this.finals[e.p],e=e._next}})._autoCSS=!0,_gsScope._gsDefine("easing.Back",["easing.Ease"],function(t){var e,i,s,r=_gsScope.GreenSockGlobals||_gsScope,n=r.com.greensock,a=2*Math.PI,o=Math.PI/2,h=n._class,l=function(e,i){var s=h("easing."+e,function(){},!0),r=s.prototype=new t;return r.constructor=s,r.getRatio=i,s},_=t.register||function(){},u=function(t,e,i,s){var r=h("easing."+t,{easeOut:new e,easeIn:new i,easeInOut:new s},!0);return _(r,t),r},p=function(t,e,i){this.t=t,this.v=e,i&&(this.next=i,i.prev=this,this.c=i.v-e,this.gap=i.t-t)},f=function(e,i){var s=h("easing."+e,function(t){this._p1=t||0===t?t:1.70158,this._p2=1.525*this._p1},!0),r=s.prototype=new t;return r.constructor=s,r.getRatio=i,r.config=function(t){return new s(t)},s},c=u("Back",f("BackOut",function(t){return(t-=1)*t*((this._p1+1)*t+this._p1)+1}),f("BackIn",function(t){return t*t*((this._p1+1)*t-this._p1)}),f("BackInOut",function(t){return 1>(t*=2)?.5*t*t*((this._p2+1)*t-this._p2):.5*((t-=2)*t*((this._p2+1)*t+this._p2)+2)})),m=h("easing.SlowMo",function(t,e,i){e=e||0===e?e:.7,null==t?t=.7:t>1&&(t=1),this._p=1!==t?e:0,this._p1=(1-t)/2,this._p2=t,this._p3=this._p1+this._p2,this._calcEnd=i===!0},!0),d=m.prototype=new t;return d.constructor=m,d.getRatio=function(t){var e=t+(.5-t)*this._p;return this._p1>t?this._calcEnd?1-(t=1-t/this._p1)*t:e-(t=1-t/this._p1)*t*t*t*e:t>this._p3?this._calcEnd?1-(t=(t-this._p3)/this._p1)*t:e+(t-e)*(t=(t-this._p3)/this._p1)*t*t*t:this._calcEnd?1:e},m.ease=new m(.7,.7),d.config=m.config=function(t,e,i){return new m(t,e,i)},e=h("easing.SteppedEase",function(t){t=t||1,this._p1=1/t,this._p2=t+1},!0),d=e.prototype=new t,d.constructor=e,d.getRatio=function(t){return 0>t?t=0:t>=1&&(t=.999999999),(this._p2*t>>0)*this._p1},d.config=e.config=function(t){return new e(t)},i=h("easing.RoughEase",function(e){e=e||{};for(var i,s,r,n,a,o,h=e.taper||"none",l=[],_=0,u=0|(e.points||20),f=u,c=e.randomize!==!1,m=e.clamp===!0,d=e.template instanceof t?e.template:null,g="number"==typeof e.strength?.4*e.strength:.4;--f>-1;)i=c?Math.random():1/u*f,s=d?d.getRatio(i):i,"none"===h?r=g:"out"===h?(n=1-i,r=n*n*g):"in"===h?r=i*i*g:.5>i?(n=2*i,r=.5*n*n*g):(n=2*(1-i),r=.5*n*n*g),c?s+=Math.random()*r-.5*r:f%2?s+=.5*r:s-=.5*r,m&&(s>1?s=1:0>s&&(s=0)),l[_++]={x:i,y:s};for(l.sort(function(t,e){return t.x-e.x}),o=new p(1,1,null),f=u;--f>-1;)a=l[f],o=new p(a.x,a.y,o);this._prev=new p(0,0,0!==o.t?o:o.next)},!0),d=i.prototype=new t,d.constructor=i,d.getRatio=function(t){var e=this._prev;if(t>e.t){for(;e.next&&t>=e.t;)e=e.next;e=e.prev}else for(;e.prev&&e.t>=t;)e=e.prev;return this._prev=e,e.v+(t-e.t)/e.gap*e.c},d.config=function(t){return new i(t)},i.ease=new i,u("Bounce",l("BounceOut",function(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}),l("BounceIn",function(t){return 1/2.75>(t=1-t)?1-7.5625*t*t:2/2.75>t?1-(7.5625*(t-=1.5/2.75)*t+.75):2.5/2.75>t?1-(7.5625*(t-=2.25/2.75)*t+.9375):1-(7.5625*(t-=2.625/2.75)*t+.984375)}),l("BounceInOut",function(t){var e=.5>t;return t=e?1-2*t:2*t-1,t=1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375,e?.5*(1-t):.5*t+.5})),u("Circ",l("CircOut",function(t){return Math.sqrt(1-(t-=1)*t)}),l("CircIn",function(t){return-(Math.sqrt(1-t*t)-1)}),l("CircInOut",function(t){return 1>(t*=2)?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)})),s=function(e,i,s){var r=h("easing."+e,function(t,e){this._p1=t>=1?t:1,this._p2=(e||s)/(1>t?t:1),this._p3=this._p2/a*(Math.asin(1/this._p1)||0),this._p2=a/this._p2},!0),n=r.prototype=new t;return n.constructor=r,n.getRatio=i,n.config=function(t,e){return new r(t,e)},r},u("Elastic",s("ElasticOut",function(t){return this._p1*Math.pow(2,-10*t)*Math.sin((t-this._p3)*this._p2)+1},.3),s("ElasticIn",function(t){return-(this._p1*Math.pow(2,10*(t-=1))*Math.sin((t-this._p3)*this._p2))},.3),s("ElasticInOut",function(t){return 1>(t*=2)?-.5*this._p1*Math.pow(2,10*(t-=1))*Math.sin((t-this._p3)*this._p2):.5*this._p1*Math.pow(2,-10*(t-=1))*Math.sin((t-this._p3)*this._p2)+1},.45)),u("Expo",l("ExpoOut",function(t){return 1-Math.pow(2,-10*t)}),l("ExpoIn",function(t){return Math.pow(2,10*(t-1))-.001}),l("ExpoInOut",function(t){return 1>(t*=2)?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*(t-1)))})),u("Sine",l("SineOut",function(t){return Math.sin(t*o)}),l("SineIn",function(t){return-Math.cos(t*o)+1}),l("SineInOut",function(t){return-.5*(Math.cos(Math.PI*t)-1)})),h("easing.EaseLookup",{find:function(e){return t.map[e]}},!0),_(r.SlowMo,"SlowMo","ease,"),_(i,"RoughEase","ease,"),_(e,"SteppedEase","ease,"),c},!0)}),_gsScope._gsDefine&&_gsScope._gsQueue.pop()(),function(t,e){"use strict";var i=t.GreenSockGlobals=t.GreenSockGlobals||t;if(!i.TweenLite){var s,r,n,a,o,h=function(t){var e,s=t.split("."),r=i;for(e=0;s.length>e;e++)r[s[e]]=r=r[s[e]]||{};return r},l=h("com.greensock"),_=1e-10,u=function(t){var e,i=[],s=t.length;for(e=0;e!==s;i.push(t[e++]));return i},p=function(){},f=function(){var t=Object.prototype.toString,e=t.call([]);return function(i){return null!=i&&(i instanceof Array||"object"==typeof i&&!!i.push&&t.call(i)===e)}}(),c={},m=function(s,r,n,a){this.sc=c[s]?c[s].sc:[],c[s]=this,this.gsClass=null,this.func=n;var o=[];this.check=function(l){for(var _,u,p,f,d=r.length,g=d;--d>-1;)(_=c[r[d]]||new m(r[d],[])).gsClass?(o[d]=_.gsClass,g--):l&&_.sc.push(this);if(0===g&&n)for(u=("com.greensock."+s).split("."),p=u.pop(),f=h(u.join("."))[p]=this.gsClass=n.apply(n,o),a&&(i[p]=f,"function"==typeof define&&define.amd?define((t.GreenSockAMDPath?t.GreenSockAMDPath+"/":"")+s.split(".").pop(),[],function(){return f}):s===e&&"undefined"!=typeof module&&module.exports&&(module.exports=f)),d=0;this.sc.length>d;d++)this.sc[d].check()},this.check(!0)},d=t._gsDefine=function(t,e,i,s){return new m(t,e,i,s)},g=l._class=function(t,e,i){return e=e||function(){},d(t,[],function(){return e},i),e};d.globals=i;var v=[0,0,1,1],y=[],T=g("easing.Ease",function(t,e,i,s){this._func=t,this._type=i||0,this._power=s||0,this._params=e?v.concat(e):v},!0),w=T.map={},x=T.register=function(t,e,i,s){for(var r,n,a,o,h=e.split(","),_=h.length,u=(i||"easeIn,easeOut,easeInOut").split(",");--_>-1;)for(n=h[_],r=s?g("easing."+n,null,!0):l.easing[n]||{},a=u.length;--a>-1;)o=u[a],w[n+"."+o]=w[o+n]=r[o]=t.getRatio?t:t[o]||new t};for(n=T.prototype,n._calcEnd=!1,n.getRatio=function(t){if(this._func)return this._params[0]=t,this._func.apply(null,this._params);var e=this._type,i=this._power,s=1===e?1-t:2===e?t:.5>t?2*t:2*(1-t);return 1===i?s*=s:2===i?s*=s*s:3===i?s*=s*s*s:4===i&&(s*=s*s*s*s),1===e?1-s:2===e?s:.5>t?s/2:1-s/2},s=["Linear","Quad","Cubic","Quart","Quint,Strong"],r=s.length;--r>-1;)n=s[r]+",Power"+r,x(new T(null,null,1,r),n,"easeOut",!0),x(new T(null,null,2,r),n,"easeIn"+(0===r?",easeNone":"")),x(new T(null,null,3,r),n,"easeInOut");w.linear=l.easing.Linear.easeIn,w.swing=l.easing.Quad.easeInOut;var b=g("events.EventDispatcher",function(t){this._listeners={},this._eventTarget=t||this});n=b.prototype,n.addEventListener=function(t,e,i,s,r){r=r||0;var n,h,l=this._listeners[t],_=0;for(null==l&&(this._listeners[t]=l=[]),h=l.length;--h>-1;)n=l[h],n.c===e&&n.s===i?l.splice(h,1):0===_&&r>n.pr&&(_=h+1);l.splice(_,0,{c:e,s:i,up:s,pr:r}),this!==a||o||a.wake()},n.removeEventListener=function(t,e){var i,s=this._listeners[t];if(s)for(i=s.length;--i>-1;)if(s[i].c===e)return s.splice(i,1),void 0},n.dispatchEvent=function(t){var e,i,s,r=this._listeners[t];if(r)for(e=r.length,i=this._eventTarget;--e>-1;)s=r[e],s&&(s.up?s.c.call(s.s||i,{type:t,target:i}):s.c.call(s.s||i))};var P=t.requestAnimationFrame,S=t.cancelAnimationFrame,k=Date.now||function(){return(new Date).getTime()},R=k();for(s=["ms","moz","webkit","o"],r=s.length;--r>-1&&!P;)P=t[s[r]+"RequestAnimationFrame"],S=t[s[r]+"CancelAnimationFrame"]||t[s[r]+"CancelRequestAnimationFrame"];g("Ticker",function(t,e){var i,s,r,n,h,l=this,u=k(),f=e!==!1&&P,c=500,m=33,d="tick",g=function(t){var e,a,o=k()-R;o>c&&(u+=o-m),R+=o,l.time=(R-u)/1e3,e=l.time-h,(!i||e>0||t===!0)&&(l.frame++,h+=e+(e>=n?.004:n-e),a=!0),t!==!0&&(r=s(g)),a&&l.dispatchEvent(d)};b.call(l),l.time=l.frame=0,l.tick=function(){g(!0)},l.lagSmoothing=function(t,e){c=t||1/_,m=Math.min(e,c,0)},l.sleep=function(){null!=r&&(f&&S?S(r):clearTimeout(r),s=p,r=null,l===a&&(o=!1))},l.wake=function(){null!==r?l.sleep():l.frame>10&&(R=k()-c+5),s=0===i?p:f&&P?P:function(t){return setTimeout(t,0|1e3*(h-l.time)+1)},l===a&&(o=!0),g(2)},l.fps=function(t){return arguments.length?(i=t,n=1/(i||60),h=this.time+n,l.wake(),void 0):i},l.useRAF=function(t){return arguments.length?(l.sleep(),f=t,l.fps(i),void 0):f},l.fps(t),setTimeout(function(){f&&5>l.frame&&l.useRAF(!1)},1500)}),n=l.Ticker.prototype=new l.events.EventDispatcher,n.constructor=l.Ticker;var A=g("core.Animation",function(t,e){if(this.vars=e=e||{},this._duration=this._totalDuration=t||0,this._delay=Number(e.delay)||0,this._timeScale=1,this._active=e.immediateRender===!0,this.data=e.data,this._reversed=e.reversed===!0,B){o||a.wake();var i=this.vars.useFrames?j:B;i.add(this,i._time),this.vars.paused&&this.paused(!0)}});a=A.ticker=new l.Ticker,n=A.prototype,n._dirty=n._gc=n._initted=n._paused=!1,n._totalTime=n._time=0,n._rawPrevTime=-1,n._next=n._last=n._onUpdate=n._timeline=n.timeline=null,n._paused=!1;var O=function(){o&&k()-R>2e3&&a.wake(),setTimeout(O,2e3)};O(),n.play=function(t,e){return null!=t&&this.seek(t,e),this.reversed(!1).paused(!1)},n.pause=function(t,e){return null!=t&&this.seek(t,e),this.paused(!0)},n.resume=function(t,e){return null!=t&&this.seek(t,e),this.paused(!1)},n.seek=function(t,e){return this.totalTime(Number(t),e!==!1)},n.restart=function(t,e){return this.reversed(!1).paused(!1).totalTime(t?-this._delay:0,e!==!1,!0)},n.reverse=function(t,e){return null!=t&&this.seek(t||this.totalDuration(),e),this.reversed(!0).paused(!1)},n.render=function(){},n.invalidate=function(){return this._time=this._totalTime=0,this._initted=this._gc=!1,this._rawPrevTime=-1,(this._gc||!this.timeline)&&this._enabled(!0),this},n.isActive=function(){var t,e=this._timeline,i=this._startTime;return!e||!this._gc&&!this._paused&&e.isActive()&&(t=e.rawTime())>=i&&i+this.totalDuration()/this._timeScale>t},n._enabled=function(t,e){return o||a.wake(),this._gc=!t,this._active=this.isActive(),e!==!0&&(t&&!this.timeline?this._timeline.add(this,this._startTime-this._delay):!t&&this.timeline&&this._timeline._remove(this,!0)),!1},n._kill=function(){return this._enabled(!1,!1)},n.kill=function(t,e){return this._kill(t,e),this},n._uncache=function(t){for(var e=t?this:this.timeline;e;)e._dirty=!0,e=e.timeline;return this},n._swapSelfInParams=function(t){for(var e=t.length,i=t.concat();--e>-1;)"{self}"===t[e]&&(i[e]=this);return i},n.eventCallback=function(t,e,i,s){if("on"===(t||"").substr(0,2)){var r=this.vars;if(1===arguments.length)return r[t];null==e?delete r[t]:(r[t]=e,r[t+"Params"]=f(i)&&-1!==i.join("").indexOf("{self}")?this._swapSelfInParams(i):i,r[t+"Scope"]=s),"onUpdate"===t&&(this._onUpdate=e)}return this},n.delay=function(t){return arguments.length?(this._timeline.smoothChildTiming&&this.startTime(this._startTime+t-this._delay),this._delay=t,this):this._delay},n.duration=function(t){return arguments.length?(this._duration=this._totalDuration=t,this._uncache(!0),this._timeline.smoothChildTiming&&this._time>0&&this._time<this._duration&&0!==t&&this.totalTime(this._totalTime*(t/this._duration),!0),this):(this._dirty=!1,this._duration)},n.totalDuration=function(t){return this._dirty=!1,arguments.length?this.duration(t):this._totalDuration},n.time=function(t,e){return arguments.length?(this._dirty&&this.totalDuration(),this.totalTime(t>this._duration?this._duration:t,e)):this._time},n.totalTime=function(t,e,i){if(o||a.wake(),!arguments.length)return this._totalTime;if(this._timeline){if(0>t&&!i&&(t+=this.totalDuration()),this._timeline.smoothChildTiming){this._dirty&&this.totalDuration();var s=this._totalDuration,r=this._timeline;if(t>s&&!i&&(t=s),this._startTime=(this._paused?this._pauseTime:r._time)-(this._reversed?s-t:t)/this._timeScale,r._dirty||this._uncache(!1),r._timeline)for(;r._timeline;)r._timeline._time!==(r._startTime+r._totalTime)/r._timeScale&&r.totalTime(r._totalTime,!0),r=r._timeline}this._gc&&this._enabled(!0,!1),(this._totalTime!==t||0===this._duration)&&(this.render(t,e,!1),I.length&&V())}return this},n.progress=n.totalProgress=function(t,e){return arguments.length?this.totalTime(this.duration()*t,e):this._time/this.duration()},n.startTime=function(t){return arguments.length?(t!==this._startTime&&(this._startTime=t,this.timeline&&this.timeline._sortChildren&&this.timeline.add(this,t-this._delay)),this):this._startTime},n.endTime=function(t){return this._startTime+(0!=t?this.totalDuration():this.duration())/this._timeScale},n.timeScale=function(t){if(!arguments.length)return this._timeScale;if(t=t||_,this._timeline&&this._timeline.smoothChildTiming){var e=this._pauseTime,i=e||0===e?e:this._timeline.totalTime();this._startTime=i-(i-this._startTime)*this._timeScale/t}return this._timeScale=t,this._uncache(!1)},n.reversed=function(t){return arguments.length?(t!=this._reversed&&(this._reversed=t,this.totalTime(this._timeline&&!this._timeline.smoothChildTiming?this.totalDuration()-this._totalTime:this._totalTime,!0)),this):this._reversed},n.paused=function(t){if(!arguments.length)return this._paused;var e,i,s=this._timeline;return t!=this._paused&&s&&(o||t||a.wake(),e=s.rawTime(),i=e-this._pauseTime,!t&&s.smoothChildTiming&&(this._startTime+=i,this._uncache(!1)),this._pauseTime=t?e:null,this._paused=t,this._active=this.isActive(),!t&&0!==i&&this._initted&&this.duration()&&this.render(s.smoothChildTiming?this._totalTime:(e-this._startTime)/this._timeScale,!0,!0)),this._gc&&!t&&this._enabled(!0,!1),this};var C=g("core.SimpleTimeline",function(t){A.call(this,0,t),this.autoRemoveChildren=this.smoothChildTiming=!0});n=C.prototype=new A,n.constructor=C,n.kill()._gc=!1,n._first=n._last=n._recent=null,n._sortChildren=!1,n.add=n.insert=function(t,e){var i,s;if(t._startTime=Number(e||0)+t._delay,t._paused&&this!==t._timeline&&(t._pauseTime=t._startTime+(this.rawTime()-t._startTime)/t._timeScale),t.timeline&&t.timeline._remove(t,!0),t.timeline=t._timeline=this,t._gc&&t._enabled(!0,!0),i=this._last,this._sortChildren)for(s=t._startTime;i&&i._startTime>s;)i=i._prev;return i?(t._next=i._next,i._next=t):(t._next=this._first,this._first=t),t._next?t._next._prev=t:this._last=t,t._prev=i,this._recent=t,this._timeline&&this._uncache(!0),this},n._remove=function(t,e){return t.timeline===this&&(e||t._enabled(!1,!0),t._prev?t._prev._next=t._next:this._first===t&&(this._first=t._next),t._next?t._next._prev=t._prev:this._last===t&&(this._last=t._prev),t._next=t._prev=t.timeline=null,t===this._recent&&(this._recent=this._last),this._timeline&&this._uncache(!0)),this},n.render=function(t,e,i){var s,r=this._first;for(this._totalTime=this._time=this._rawPrevTime=t;r;)s=r._next,(r._active||t>=r._startTime&&!r._paused)&&(r._reversed?r.render((r._dirty?r.totalDuration():r._totalDuration)-(t-r._startTime)*r._timeScale,e,i):r.render((t-r._startTime)*r._timeScale,e,i)),r=s},n.rawTime=function(){return o||a.wake(),this._totalTime};var D=g("TweenLite",function(e,i,s){if(A.call(this,i,s),this.render=D.prototype.render,null==e)throw"Cannot tween a null target.";this.target=e="string"!=typeof e?e:D.selector(e)||e;var r,n,a,o=e.jquery||e.length&&e!==t&&e[0]&&(e[0]===t||e[0].nodeType&&e[0].style&&!e.nodeType),h=this.vars.overwrite;if(this._overwrite=h=null==h?Y[D.defaultOverwrite]:"number"==typeof h?h>>0:Y[h],(o||e instanceof Array||e.push&&f(e))&&"number"!=typeof e[0])for(this._targets=a=u(e),this._propLookup=[],this._siblings=[],r=0;a.length>r;r++)n=a[r],n?"string"!=typeof n?n.length&&n!==t&&n[0]&&(n[0]===t||n[0].nodeType&&n[0].style&&!n.nodeType)?(a.splice(r--,1),this._targets=a=a.concat(u(n))):(this._siblings[r]=G(n,this,!1),1===h&&this._siblings[r].length>1&&Z(n,this,null,1,this._siblings[r])):(n=a[r--]=D.selector(n),"string"==typeof n&&a.splice(r+1,1)):a.splice(r--,1);else this._propLookup={},this._siblings=G(e,this,!1),1===h&&this._siblings.length>1&&Z(e,this,null,1,this._siblings);(this.vars.immediateRender||0===i&&0===this._delay&&this.vars.immediateRender!==!1)&&(this._time=-_,this.render(-this._delay))},!0),M=function(e){return e&&e.length&&e!==t&&e[0]&&(e[0]===t||e[0].nodeType&&e[0].style&&!e.nodeType)},z=function(t,e){var i,s={};for(i in t)U[i]||i in e&&"transform"!==i&&"x"!==i&&"y"!==i&&"width"!==i&&"height"!==i&&"className"!==i&&"border"!==i||!(!N[i]||N[i]&&N[i]._autoCSS)||(s[i]=t[i],delete t[i]);t.css=s};n=D.prototype=new A,n.constructor=D,n.kill()._gc=!1,n.ratio=0,n._firstPT=n._targets=n._overwrittenProps=n._startAt=null,n._notifyPluginsOfEnabled=n._lazy=!1,D.version="1.16.1",D.defaultEase=n._ease=new T(null,null,1,1),D.defaultOverwrite="auto",D.ticker=a,D.autoSleep=120,D.lagSmoothing=function(t,e){a.lagSmoothing(t,e)},D.selector=t.$||t.jQuery||function(e){var i=t.$||t.jQuery;return i?(D.selector=i,i(e)):"undefined"==typeof document?e:document.querySelectorAll?document.querySelectorAll(e):document.getElementById("#"===e.charAt(0)?e.substr(1):e)};var I=[],F={},E=D._internals={isArray:f,isSelector:M,lazyTweens:I},N=D._plugins={},L=E.tweenLookup={},X=0,U=E.reservedProps={ease:1,delay:1,overwrite:1,onComplete:1,onCompleteParams:1,onCompleteScope:1,useFrames:1,runBackwards:1,startAt:1,onUpdate:1,onUpdateParams:1,onUpdateScope:1,onStart:1,onStartParams:1,onStartScope:1,onReverseComplete:1,onReverseCompleteParams:1,onReverseCompleteScope:1,onRepeat:1,onRepeatParams:1,onRepeatScope:1,easeParams:1,yoyo:1,immediateRender:1,repeat:1,repeatDelay:1,data:1,paused:1,reversed:1,autoCSS:1,lazy:1,onOverwrite:1},Y={none:0,all:1,auto:2,concurrent:3,allOnStart:4,preexisting:5,"true":1,"false":0},j=A._rootFramesTimeline=new C,B=A._rootTimeline=new C,q=30,V=E.lazyRender=function(){var t,e=I.length;for(F={};--e>-1;)t=I[e],t&&t._lazy!==!1&&(t.render(t._lazy[0],t._lazy[1],!0),t._lazy=!1);I.length=0};B._startTime=a.time,j._startTime=a.frame,B._active=j._active=!0,setTimeout(V,1),A._updateRoot=D.render=function(){var t,e,i;if(I.length&&V(),B.render((a.time-B._startTime)*B._timeScale,!1,!1),j.render((a.frame-j._startTime)*j._timeScale,!1,!1),I.length&&V(),a.frame>=q){q=a.frame+(parseInt(D.autoSleep,10)||120);for(i in L){for(e=L[i].tweens,t=e.length;--t>-1;)e[t]._gc&&e.splice(t,1);0===e.length&&delete L[i]}if(i=B._first,(!i||i._paused)&&D.autoSleep&&!j._first&&1===a._listeners.tick.length){for(;i&&i._paused;)i=i._next;i||a.sleep()}}},a.addEventListener("tick",A._updateRoot);var G=function(t,e,i){var s,r,n=t._gsTweenID;if(L[n||(t._gsTweenID=n="t"+X++)]||(L[n]={target:t,tweens:[]}),e&&(s=L[n].tweens,s[r=s.length]=e,i))for(;--r>-1;)s[r]===e&&s.splice(r,1);return L[n].tweens},W=function(t,e,i,s){var r,n,a=t.vars.onOverwrite;return a&&(r=a(t,e,i,s)),a=D.onOverwrite,a&&(n=a(t,e,i,s)),r!==!1&&n!==!1},Z=function(t,e,i,s,r){var n,a,o,h;if(1===s||s>=4){for(h=r.length,n=0;h>n;n++)if((o=r[n])!==e)o._gc||W(o,e)&&o._enabled(!1,!1)&&(a=!0);else if(5===s)break;return a}var l,u=e._startTime+_,p=[],f=0,c=0===e._duration;for(n=r.length;--n>-1;)(o=r[n])===e||o._gc||o._paused||(o._timeline!==e._timeline?(l=l||Q(e,0,c),0===Q(o,l,c)&&(p[f++]=o)):u>=o._startTime&&o._startTime+o.totalDuration()/o._timeScale>u&&((c||!o._initted)&&2e-10>=u-o._startTime||(p[f++]=o)));for(n=f;--n>-1;)if(o=p[n],2===s&&o._kill(i,t,e)&&(a=!0),2!==s||!o._firstPT&&o._initted){if(2!==s&&!W(o,e))continue;o._enabled(!1,!1)&&(a=!0)}return a},Q=function(t,e,i){for(var s=t._timeline,r=s._timeScale,n=t._startTime;s._timeline;){if(n+=s._startTime,r*=s._timeScale,s._paused)return-100;s=s._timeline}return n/=r,n>e?n-e:i&&n===e||!t._initted&&2*_>n-e?_:(n+=t.totalDuration()/t._timeScale/r)>e+_?0:n-e-_};n._init=function(){var t,e,i,s,r,n=this.vars,a=this._overwrittenProps,o=this._duration,h=!!n.immediateRender,l=n.ease;if(n.startAt){this._startAt&&(this._startAt.render(-1,!0),this._startAt.kill()),r={};for(s in n.startAt)r[s]=n.startAt[s];if(r.overwrite=!1,r.immediateRender=!0,r.lazy=h&&n.lazy!==!1,r.startAt=r.delay=null,this._startAt=D.to(this.target,0,r),h)if(this._time>0)this._startAt=null;else if(0!==o)return}else if(n.runBackwards&&0!==o)if(this._startAt)this._startAt.render(-1,!0),this._startAt.kill(),this._startAt=null;else{0!==this._time&&(h=!1),i={};for(s in n)U[s]&&"autoCSS"!==s||(i[s]=n[s]);if(i.overwrite=0,i.data="isFromStart",i.lazy=h&&n.lazy!==!1,i.immediateRender=h,this._startAt=D.to(this.target,0,i),h){if(0===this._time)return}else this._startAt._init(),this._startAt._enabled(!1),this.vars.immediateRender&&(this._startAt=null)}if(this._ease=l=l?l instanceof T?l:"function"==typeof l?new T(l,n.easeParams):w[l]||D.defaultEase:D.defaultEase,n.easeParams instanceof Array&&l.config&&(this._ease=l.config.apply(l,n.easeParams)),this._easeType=this._ease._type,this._easePower=this._ease._power,this._firstPT=null,this._targets)for(t=this._targets.length;--t>-1;)this._initProps(this._targets[t],this._propLookup[t]={},this._siblings[t],a?a[t]:null)&&(e=!0);else e=this._initProps(this.target,this._propLookup,this._siblings,a);if(e&&D._onPluginEvent("_onInitAllProps",this),a&&(this._firstPT||"function"!=typeof this.target&&this._enabled(!1,!1)),n.runBackwards)for(i=this._firstPT;i;)i.s+=i.c,i.c=-i.c,i=i._next;this._onUpdate=n.onUpdate,this._initted=!0},n._initProps=function(e,i,s,r){var n,a,o,h,l,_;if(null==e)return!1;F[e._gsTweenID]&&V(),this.vars.css||e.style&&e!==t&&e.nodeType&&N.css&&this.vars.autoCSS!==!1&&z(this.vars,e);for(n in this.vars){if(_=this.vars[n],U[n])_&&(_ instanceof Array||_.push&&f(_))&&-1!==_.join("").indexOf("{self}")&&(this.vars[n]=_=this._swapSelfInParams(_,this));else if(N[n]&&(h=new N[n])._onInitTween(e,this.vars[n],this)){for(this._firstPT=l={_next:this._firstPT,t:h,p:"setRatio",s:0,c:1,f:!0,n:n,pg:!0,pr:h._priority},a=h._overwriteProps.length;--a>-1;)i[h._overwriteProps[a]]=this._firstPT;(h._priority||h._onInitAllProps)&&(o=!0),(h._onDisable||h._onEnable)&&(this._notifyPluginsOfEnabled=!0)}else this._firstPT=i[n]=l={_next:this._firstPT,t:e,p:n,f:"function"==typeof e[n],n:n,pg:!1,pr:0},l.s=l.f?e[n.indexOf("set")||"function"!=typeof e["get"+n.substr(3)]?n:"get"+n.substr(3)]():parseFloat(e[n]),l.c="string"==typeof _&&"="===_.charAt(1)?parseInt(_.charAt(0)+"1",10)*Number(_.substr(2)):Number(_)-l.s||0;l&&l._next&&(l._next._prev=l)}return r&&this._kill(r,e)?this._initProps(e,i,s,r):this._overwrite>1&&this._firstPT&&s.length>1&&Z(e,this,i,this._overwrite,s)?(this._kill(i,e),this._initProps(e,i,s,r)):(this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration)&&(F[e._gsTweenID]=!0),o)},n.render=function(t,e,i){var s,r,n,a,o=this._time,h=this._duration,l=this._rawPrevTime;if(t>=h)this._totalTime=this._time=h,this.ratio=this._ease._calcEnd?this._ease.getRatio(1):1,this._reversed||(s=!0,r="onComplete",i=i||this._timeline.autoRemoveChildren),0===h&&(this._initted||!this.vars.lazy||i)&&(this._startTime===this._timeline._duration&&(t=0),(0===t||0>l||l===_&&"isPause"!==this.data)&&l!==t&&(i=!0,l>_&&(r="onReverseComplete")),this._rawPrevTime=a=!e||t||l===t?t:_);else if(1e-7>t)this._totalTime=this._time=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0,(0!==o||0===h&&l>0)&&(r="onReverseComplete",s=this._reversed),0>t&&(this._active=!1,0===h&&(this._initted||!this.vars.lazy||i)&&(l>=0&&(l!==_||"isPause"!==this.data)&&(i=!0),this._rawPrevTime=a=!e||t||l===t?t:_)),this._initted||(i=!0);else if(this._totalTime=this._time=t,this._easeType){var u=t/h,p=this._easeType,f=this._easePower; +(1===p||3===p&&u>=.5)&&(u=1-u),3===p&&(u*=2),1===f?u*=u:2===f?u*=u*u:3===f?u*=u*u*u:4===f&&(u*=u*u*u*u),this.ratio=1===p?1-u:2===p?u:.5>t/h?u/2:1-u/2}else this.ratio=this._ease.getRatio(t/h);if(this._time!==o||i){if(!this._initted){if(this._init(),!this._initted||this._gc)return;if(!i&&this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration))return this._time=this._totalTime=o,this._rawPrevTime=l,I.push(this),this._lazy=[t,e],void 0;this._time&&!s?this.ratio=this._ease.getRatio(this._time/h):s&&this._ease._calcEnd&&(this.ratio=this._ease.getRatio(0===this._time?0:1))}for(this._lazy!==!1&&(this._lazy=!1),this._active||!this._paused&&this._time!==o&&t>=0&&(this._active=!0),0===o&&(this._startAt&&(t>=0?this._startAt.render(t,e,i):r||(r="_dummyGS")),this.vars.onStart&&(0!==this._time||0===h)&&(e||this.vars.onStart.apply(this.vars.onStartScope||this,this.vars.onStartParams||y))),n=this._firstPT;n;)n.f?n.t[n.p](n.c*this.ratio+n.s):n.t[n.p]=n.c*this.ratio+n.s,n=n._next;this._onUpdate&&(0>t&&this._startAt&&t!==-1e-4&&this._startAt.render(t,e,i),e||(this._time!==o||s)&&this._onUpdate.apply(this.vars.onUpdateScope||this,this.vars.onUpdateParams||y)),r&&(!this._gc||i)&&(0>t&&this._startAt&&!this._onUpdate&&t!==-1e-4&&this._startAt.render(t,e,i),s&&(this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[r]&&this.vars[r].apply(this.vars[r+"Scope"]||this,this.vars[r+"Params"]||y),0===h&&this._rawPrevTime===_&&a!==_&&(this._rawPrevTime=0))}},n._kill=function(t,e,i){if("all"===t&&(t=null),null==t&&(null==e||e===this.target))return this._lazy=!1,this._enabled(!1,!1);e="string"!=typeof e?e||this._targets||this.target:D.selector(e)||e;var s,r,n,a,o,h,l,_,u;if((f(e)||M(e))&&"number"!=typeof e[0])for(s=e.length;--s>-1;)this._kill(t,e[s])&&(h=!0);else{if(this._targets){for(s=this._targets.length;--s>-1;)if(e===this._targets[s]){o=this._propLookup[s]||{},this._overwrittenProps=this._overwrittenProps||[],r=this._overwrittenProps[s]=t?this._overwrittenProps[s]||{}:"all";break}}else{if(e!==this.target)return!1;o=this._propLookup,r=this._overwrittenProps=t?this._overwrittenProps||{}:"all"}if(o){if(l=t||o,_=t!==r&&"all"!==r&&t!==o&&("object"!=typeof t||!t._tempKill),i&&(D.onOverwrite||this.vars.onOverwrite)){for(n in l)o[n]&&(u||(u=[]),u.push(n));if(!W(this,i,e,u))return!1}for(n in l)(a=o[n])&&(a.pg&&a.t._kill(l)&&(h=!0),a.pg&&0!==a.t._overwriteProps.length||(a._prev?a._prev._next=a._next:a===this._firstPT&&(this._firstPT=a._next),a._next&&(a._next._prev=a._prev),a._next=a._prev=null),delete o[n]),_&&(r[n]=1);!this._firstPT&&this._initted&&this._enabled(!1,!1)}}return h},n.invalidate=function(){return this._notifyPluginsOfEnabled&&D._onPluginEvent("_onDisable",this),this._firstPT=this._overwrittenProps=this._startAt=this._onUpdate=null,this._notifyPluginsOfEnabled=this._active=this._lazy=!1,this._propLookup=this._targets?{}:[],A.prototype.invalidate.call(this),this.vars.immediateRender&&(this._time=-_,this.render(-this._delay)),this},n._enabled=function(t,e){if(o||a.wake(),t&&this._gc){var i,s=this._targets;if(s)for(i=s.length;--i>-1;)this._siblings[i]=G(s[i],this,!0);else this._siblings=G(this.target,this,!0)}return A.prototype._enabled.call(this,t,e),this._notifyPluginsOfEnabled&&this._firstPT?D._onPluginEvent(t?"_onEnable":"_onDisable",this):!1},D.to=function(t,e,i){return new D(t,e,i)},D.from=function(t,e,i){return i.runBackwards=!0,i.immediateRender=0!=i.immediateRender,new D(t,e,i)},D.fromTo=function(t,e,i,s){return s.startAt=i,s.immediateRender=0!=s.immediateRender&&0!=i.immediateRender,new D(t,e,s)},D.delayedCall=function(t,e,i,s,r){return new D(e,0,{delay:t,onComplete:e,onCompleteParams:i,onCompleteScope:s,onReverseComplete:e,onReverseCompleteParams:i,onReverseCompleteScope:s,immediateRender:!1,lazy:!1,useFrames:r,overwrite:0})},D.set=function(t,e){return new D(t,0,e)},D.getTweensOf=function(t,e){if(null==t)return[];t="string"!=typeof t?t:D.selector(t)||t;var i,s,r,n;if((f(t)||M(t))&&"number"!=typeof t[0]){for(i=t.length,s=[];--i>-1;)s=s.concat(D.getTweensOf(t[i],e));for(i=s.length;--i>-1;)for(n=s[i],r=i;--r>-1;)n===s[r]&&s.splice(i,1)}else for(s=G(t).concat(),i=s.length;--i>-1;)(s[i]._gc||e&&!s[i].isActive())&&s.splice(i,1);return s},D.killTweensOf=D.killDelayedCallsTo=function(t,e,i){"object"==typeof e&&(i=e,e=!1);for(var s=D.getTweensOf(t,e),r=s.length;--r>-1;)s[r]._kill(i,t)};var $=g("plugins.TweenPlugin",function(t,e){this._overwriteProps=(t||"").split(","),this._propName=this._overwriteProps[0],this._priority=e||0,this._super=$.prototype},!0);if(n=$.prototype,$.version="1.10.1",$.API=2,n._firstPT=null,n._addTween=function(t,e,i,s,r,n){var a,o;return null!=s&&(a="number"==typeof s||"="!==s.charAt(1)?Number(s)-i:parseInt(s.charAt(0)+"1",10)*Number(s.substr(2)))?(this._firstPT=o={_next:this._firstPT,t:t,p:e,s:i,c:a,f:"function"==typeof t[e],n:r||e,r:n},o._next&&(o._next._prev=o),o):void 0},n.setRatio=function(t){for(var e,i=this._firstPT,s=1e-6;i;)e=i.c*t+i.s,i.r?e=Math.round(e):s>e&&e>-s&&(e=0),i.f?i.t[i.p](e):i.t[i.p]=e,i=i._next},n._kill=function(t){var e,i=this._overwriteProps,s=this._firstPT;if(null!=t[this._propName])this._overwriteProps=[];else for(e=i.length;--e>-1;)null!=t[i[e]]&&i.splice(e,1);for(;s;)null!=t[s.n]&&(s._next&&(s._next._prev=s._prev),s._prev?(s._prev._next=s._next,s._prev=null):this._firstPT===s&&(this._firstPT=s._next)),s=s._next;return!1},n._roundProps=function(t,e){for(var i=this._firstPT;i;)(t[this._propName]||null!=i.n&&t[i.n.split(this._propName+"_").join("")])&&(i.r=e),i=i._next},D._onPluginEvent=function(t,e){var i,s,r,n,a,o=e._firstPT;if("_onInitAllProps"===t){for(;o;){for(a=o._next,s=r;s&&s.pr>o.pr;)s=s._next;(o._prev=s?s._prev:n)?o._prev._next=o:r=o,(o._next=s)?s._prev=o:n=o,o=a}o=e._firstPT=r}for(;o;)o.pg&&"function"==typeof o.t[t]&&o.t[t]()&&(i=!0),o=o._next;return i},$.activate=function(t){for(var e=t.length;--e>-1;)t[e].API===$.API&&(N[(new t[e])._propName]=t[e]);return!0},d.plugin=function(t){if(!(t&&t.propName&&t.init&&t.API))throw"illegal plugin definition.";var e,i=t.propName,s=t.priority||0,r=t.overwriteProps,n={init:"_onInitTween",set:"setRatio",kill:"_kill",round:"_roundProps",initAll:"_onInitAllProps"},a=g("plugins."+i.charAt(0).toUpperCase()+i.substr(1)+"Plugin",function(){$.call(this,i,s),this._overwriteProps=r||[]},t.global===!0),o=a.prototype=new $(i);o.constructor=a,a.API=t.API;for(e in n)"function"==typeof t[e]&&(o[n[e]]=t[e]);return a.version=t.version,$.activate([a]),a},s=t._gsQueue){for(r=0;s.length>r;r++)s[r]();for(n in c)c[n].func||t.console.log("GSAP encountered missing dependency: com.greensock."+n)}o=!1}}("undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window,"TweenMax"); \ No newline at end of file diff --git a/src/main/resources/static/js/earth/css_globe_PerspectiveTransform.js b/src/main/resources/static/js/earth/css_globe_PerspectiveTransform.js new file mode 100644 index 0000000..e9afa28 --- /dev/null +++ b/src/main/resources/static/js/earth/css_globe_PerspectiveTransform.js @@ -0,0 +1,220 @@ +/* + * Optimized version of PerspectiveTransform.js + * by Edan Kwan + * website: http://www.edankwan.com/ + * twitter: https://twitter.com/#!/edankwan + * Lab: www.edankwan.com/lab + * + * The original PerspectiveTransform.js is created by Israel Pastrana + * http://www.is-real.net/experiments/css3/wonder-webkit/js/real/display/PerspectiveTransform.js + * + * Matrix Libraries from a Java port of JAMA: A Java Matrix Package, http://math.nist.gov/javanumerics/jama/ + * Developed by Dr Peter Coxhead: http://www.cs.bham.ac.uk/~pxc/ + * Available here: http://www.cs.bham.ac.uk/~pxc/js/ + * + * I simply removed some irrelevant variables and functions and merge everything into a smaller function. I also added some error checking functions and bug fixing things. + */ +(function (define) { + define(function(){ + +function PerspectiveTransform(element, width, height, useBackFacing){ + + this.element = element; + this.style = element.style; + this.computedStyle = window.getComputedStyle(element); + this.width = width; + this.height = height; + this.useBackFacing = !!useBackFacing; + + this.topLeft = {x: 0, y: 0}; + this.topRight = {x: width, y: 0}; + this.bottomLeft = {x: 0, y: height}; + this.bottomRight = {x: width, y: height}; + this.calcStyle = ''; +} + +PerspectiveTransform.useDPRFix = false; +PerspectiveTransform.dpr = 1; + +PerspectiveTransform.prototype = (function(){ + + var app = { + stylePrefix: '' + }; + + var aM = [[0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0]]; + var bM = [0, 0, 0, 0, 0, 0, 0, 0]; + + function _setTransformStyleName(){ + var testStyle = document.createElement('div').style; + app.stylePrefix = + 'webkitTransform' in testStyle ? 'webkit' : + 'MozTransform' in testStyle ? 'Moz' : + 'msTransform' in testStyle ? 'ms' : + ''; + PerspectiveTransform.transformStyleName = app.stylePrefix + (app.stylePrefix.length>0?'Transform':'transform'); + PerspectiveTransform.transformDomStyleName = '-'+app.stylePrefix.toLowerCase()+'-transform'; + PerspectiveTransform.transformOriginStyleName = app.stylePrefix + (app.stylePrefix.length>0?'TransformOrigin':'transformOrigin'); + PerspectiveTransform.transformOriginDomStyleName = '-'+app.stylePrefix.toLowerCase()+'-transform-origin'; + } + + + // Check the distances between each points and if there is some points with the distance lequal to or less than 1 pixel, then return true. Otherwise return false; + function _hasDistancesError(){ + var lenX = this.topLeft.x - this.topRight.x; + var lenY = this.topLeft.y - this.topRight.y; + if(Math.sqrt(lenX * lenX + lenY * lenY)<=1) return true; + lenX = this.bottomLeft.x - this.bottomRight.x; + lenY = this.bottomLeft.y - this.bottomRight.y; + if(Math.sqrt(lenX * lenX + lenY * lenY)<=1) return true; + lenX = this.topLeft.x - this.bottomLeft.x; + lenY = this.topLeft.y - this.bottomLeft.y; + if(Math.sqrt(lenX * lenX + lenY * lenY)<=1) return true; + lenX = this.topRight.x - this.bottomRight.x; + lenY = this.topRight.y - this.bottomRight.y; + if( Math.sqrt(lenX * lenX + lenY * lenY)<=1) return true; + lenX = this.topLeft.x - this.bottomRight.x; + lenY = this.topLeft.y - this.bottomRight.y; + if( Math.sqrt(lenX * lenX + lenY * lenY)<=1) return true; + lenX = this.topRight.x - this.bottomLeft.x; + lenY = this.topRight.y - this.bottomLeft.y; + if( Math.sqrt(lenX * lenX + lenY * lenY)<=1) return true; + + return false; + } + + // Get the determinant of given 3 points + function _getDeterminant(p0, p1, p2){ + return p0.x * p1.y + p1.x * p2.y + p2.x * p0.y - p0.y * p1.x - p1.y * p2.x - p2.y * p0.x; + } + + // Return true if it is a concave polygon or if it is backfacing when the useBackFacing property is false. Otehrwise return true; + function _hasPolyonError(){ + var det1 = _getDeterminant(this.topLeft, this.topRight, this.bottomRight); + var det2 = _getDeterminant(this.bottomRight, this.bottomLeft, this.topLeft); + if(this.useBackFacing){ + if(det1*det2<=0) return true; + }else{ + if(det1<=0||det2<=0) return true; + } + var det1 = _getDeterminant(this.topRight, this.bottomRight, this.bottomLeft); + var det2 = _getDeterminant(this.bottomLeft, this.topLeft, this.topRight); + if(this.useBackFacing){ + if(det1*det2<=0) return true; + }else{ + if(det1<=0||det2<=0) return true; + } + return false; + } + + function checkError(){ + if(_hasDistancesError.apply(this)) return 1; // Points are too close to each other. + if(_hasPolyonError.apply(this)) return 2; // Concave or backfacing if the useBackFacing property is false + return 0; // no error + } + + function calc() { + var width = this.width; + var height = this.height; + + // get the offset from the transfrom origin of the element + var offsetX = 0; + var offsetY = 0; + var offset = this.computedStyle.getPropertyValue(PerspectiveTransform.transformOriginDomStyleName); + if(offset.indexOf('px')>-1){ + offset = offset.split('px'); + offsetX = -parseFloat(offset[0]); + offsetY = -parseFloat(offset[1]); + }else if(offset.indexOf('%')>-1){ + offset = offset.split('%'); + offsetX = -parseFloat(offset[0]) * width / 100; + offsetY = -parseFloat(offset[1]) * height / 100; + } + + // magic here: + var dst = [this.topLeft, this.topRight, this.bottomLeft, this.bottomRight]; + var arr = [0, 1, 2, 3, 4, 5, 6, 7]; + for(var i = 0; i < 4; i++) { + aM[i][0] = aM[i+4][3] = i & 1 ? width + offsetX : offsetX; + aM[i][1] = aM[i+4][4] = (i > 1 ? height + offsetY : offsetY); + aM[i][6] = (i & 1 ? -offsetX-width : -offsetX) * (dst[i].x + offsetX); + aM[i][7] = (i > 1 ? -offsetY-height : -offsetY) * (dst[i].x + offsetX); + aM[i+4][6] = (i & 1 ? -offsetX-width : -offsetX) * (dst[i].y + offsetY); + aM[i+4][7] = (i > 1 ? -offsetY-height : -offsetY) * (dst[i].y + offsetY); + bM[i] = (dst[i].x + offsetX); + bM[i + 4] = (dst[i].y + offsetY); + aM[i][2] = aM[i+4][5] = 1; + aM[i][3] = aM[i][4] = aM[i][5] = aM[i+4][0] = aM[i+4][1] = aM[i+4][2] = 0; + } + var kmax, sum; + var row; + var col = []; + var i, j, k, tmp; + for(var j = 0; j < 8; j++) { + for(var i = 0; i < 8; i++) col[i] = aM[i][j]; + for(i = 0; i < 8; i++) { + row = aM[i]; + kmax = i<j?i:j; + sum = 0.0; + for(var k = 0; k < kmax; k++) sum += row[k] * col[k]; + row[j] = col[i] -= sum; + } + var p = j; + for(i = j + 1; i < 8; i++) { + if(Math.abs(col[i]) > Math.abs(col[p])) p = i; + } + if(p != j) { + for(k = 0; k < 8; k++) { + tmp = aM[p][k]; + aM[p][k] = aM[j][k]; + aM[j][k] = tmp; + } + tmp = arr[p]; + arr[p] = arr[j]; + arr[j] = tmp; + } + if(aM[j][j] != 0.0) for(i = j + 1; i < 8; i++) aM[i][j] /= aM[j][j]; + } + for(i = 0; i < 8; i++) arr[i] = bM[arr[i]]; + for(k = 0; k < 8; k++) { + for(i = k + 1; i < 8; i++) arr[i] -= arr[k] * aM[i][k]; + } + for(k = 7; k > -1; k--) { + arr[k] /= aM[k][k]; + for(i = 0; i < k; i++) arr[i] -= arr[k] * aM[i][k]; + } + + return this.calcStyle = 'matrix3d(' + arr[0].toFixed(9) + ',' + arr[3].toFixed(9) + ', 0,' + arr[6].toFixed(9) + ',' + arr[1].toFixed(9) + ',' + arr[4].toFixed(9) + ', 0,' + arr[7].toFixed(9) + ',0, 0, 1, 0,' + arr[2].toFixed(9) + ',' + arr[5].toFixed(9) + ', 0, 1)'; + + } + + function update(style) { + + style = style || this.calcStyle; + + if(PerspectiveTransform.useDPRFix) { + var dpr = PerspectiveTransform.dpr; + style = 'scale(' + dpr + ',' + dpr + ')perspective(1000px)' + style + 'translateZ('+ ((1 - dpr) * 1000) + 'px)'; + } + + // use toFixed() just in case the Number became something like 3.10000001234e-9 + return this.style[PerspectiveTransform.transformStyleName] = style; + } + + _setTransformStyleName(); + + app.calc = calc; + app.update = update; + app.checkError = checkError; + + return app; + + +})(); + + + return PerspectiveTransform; + }); +}(typeof define === "function" && define.amd ? define : function (app) { + window["PerspectiveTransform"] = app(); +})); diff --git a/src/main/resources/static/js/earth/dat.gui.min.js b/src/main/resources/static/js/earth/dat.gui.min.js new file mode 100644 index 0000000..17e4a3c --- /dev/null +++ b/src/main/resources/static/js/earth/dat.gui.min.js @@ -0,0 +1,94 @@ +/** + * dat-gui JavaScript Controller Library + * http://code.google.com/p/dat-gui + * + * Copyright 2011 Data Arts Team, Google Creative Lab + * + * 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 + */ +var dat=dat||{};dat.gui=dat.gui||{};dat.utils=dat.utils||{};dat.controllers=dat.controllers||{};dat.dom=dat.dom||{};dat.color=dat.color||{};dat.utils.css=function(){return{load:function(e,a){var a=a||document,c=a.createElement("link");c.type="text/css";c.rel="stylesheet";c.href=e;a.getElementsByTagName("head")[0].appendChild(c)},inject:function(e,a){var a=a||document,c=document.createElement("style");c.type="text/css";c.innerHTML=e;a.getElementsByTagName("head")[0].appendChild(c)}}}(); +dat.utils.common=function(){var e=Array.prototype.forEach,a=Array.prototype.slice;return{BREAK:{},extend:function(c){this.each(a.call(arguments,1),function(a){for(var f in a)this.isUndefined(a[f])||(c[f]=a[f])},this);return c},defaults:function(c){this.each(a.call(arguments,1),function(a){for(var f in a)this.isUndefined(c[f])&&(c[f]=a[f])},this);return c},compose:function(){var c=a.call(arguments);return function(){for(var d=a.call(arguments),f=c.length-1;f>=0;f--)d=[c[f].apply(this,d)];return d[0]}}, +each:function(a,d,f){if(e&&a.forEach===e)a.forEach(d,f);else if(a.length===a.length+0)for(var b=0,n=a.length;b<n;b++){if(b in a&&d.call(f,a[b],b)===this.BREAK)break}else for(b in a)if(d.call(f,a[b],b)===this.BREAK)break},defer:function(a){setTimeout(a,0)},toArray:function(c){return c.toArray?c.toArray():a.call(c)},isUndefined:function(a){return a===void 0},isNull:function(a){return a===null},isNaN:function(a){return a!==a},isArray:Array.isArray||function(a){return a.constructor===Array},isObject:function(a){return a=== +Object(a)},isNumber:function(a){return a===a+0},isString:function(a){return a===a+""},isBoolean:function(a){return a===false||a===true},isFunction:function(a){return Object.prototype.toString.call(a)==="[object Function]"}}}(); +dat.controllers.Controller=function(e){var a=function(a,d){this.initialValue=a[d];this.domElement=document.createElement("div");this.object=a;this.property=d;this.__onFinishChange=this.__onChange=void 0};e.extend(a.prototype,{onChange:function(a){this.__onChange=a;return this},onFinishChange:function(a){this.__onFinishChange=a;return this},setValue:function(a){this.object[this.property]=a;this.__onChange&&this.__onChange.call(this,a);this.updateDisplay();return this},getValue:function(){return this.object[this.property]}, +updateDisplay:function(){return this},isModified:function(){return this.initialValue!==this.getValue()}});return a}(dat.utils.common); +dat.dom.dom=function(e){function a(b){if(b==="0"||e.isUndefined(b))return 0;b=b.match(d);return!e.isNull(b)?parseFloat(b[1]):0}var c={};e.each({HTMLEvents:["change"],MouseEvents:["click","mousemove","mousedown","mouseup","mouseover"],KeyboardEvents:["keydown"]},function(b,a){e.each(b,function(b){c[b]=a})});var d=/(\d+(\.\d+)?)px/,f={makeSelectable:function(b,a){if(!(b===void 0||b.style===void 0))b.onselectstart=a?function(){return false}:function(){},b.style.MozUserSelect=a?"auto":"none",b.style.KhtmlUserSelect= +a?"auto":"none",b.unselectable=a?"on":"off"},makeFullscreen:function(b,a,d){e.isUndefined(a)&&(a=true);e.isUndefined(d)&&(d=true);b.style.position="absolute";if(a)b.style.left=0,b.style.right=0;if(d)b.style.top=0,b.style.bottom=0},fakeEvent:function(b,a,d,f){var d=d||{},m=c[a];if(!m)throw Error("Event type "+a+" not supported.");var l=document.createEvent(m);switch(m){case "MouseEvents":l.initMouseEvent(a,d.bubbles||false,d.cancelable||true,window,d.clickCount||1,0,0,d.x||d.clientX||0,d.y||d.clientY|| +0,false,false,false,false,0,null);break;case "KeyboardEvents":m=l.initKeyboardEvent||l.initKeyEvent;e.defaults(d,{cancelable:true,ctrlKey:false,altKey:false,shiftKey:false,metaKey:false,keyCode:void 0,charCode:void 0});m(a,d.bubbles||false,d.cancelable,window,d.ctrlKey,d.altKey,d.shiftKey,d.metaKey,d.keyCode,d.charCode);break;default:l.initEvent(a,d.bubbles||false,d.cancelable||true)}e.defaults(l,f);b.dispatchEvent(l)},bind:function(b,a,d,c){b.addEventListener?b.addEventListener(a,d,c||false):b.attachEvent&& +b.attachEvent("on"+a,d);return f},unbind:function(b,a,d,c){b.removeEventListener?b.removeEventListener(a,d,c||false):b.detachEvent&&b.detachEvent("on"+a,d);return f},addClass:function(b,a){if(b.className===void 0)b.className=a;else if(b.className!==a){var d=b.className.split(/ +/);if(d.indexOf(a)==-1)d.push(a),b.className=d.join(" ").replace(/^\s+/,"").replace(/\s+$/,"")}return f},removeClass:function(b,a){if(a){if(b.className!==void 0)if(b.className===a)b.removeAttribute("class");else{var d=b.className.split(/ +/), +c=d.indexOf(a);if(c!=-1)d.splice(c,1),b.className=d.join(" ")}}else b.className=void 0;return f},hasClass:function(a,d){return RegExp("(?:^|\\s+)"+d+"(?:\\s+|$)").test(a.className)||false},getWidth:function(b){b=getComputedStyle(b);return a(b["border-left-width"])+a(b["border-right-width"])+a(b["padding-left"])+a(b["padding-right"])+a(b.width)},getHeight:function(b){b=getComputedStyle(b);return a(b["border-top-width"])+a(b["border-bottom-width"])+a(b["padding-top"])+a(b["padding-bottom"])+a(b.height)}, +getOffset:function(a){var d={left:0,top:0};if(a.offsetParent){do d.left+=a.offsetLeft,d.top+=a.offsetTop;while(a=a.offsetParent)}return d},isActive:function(a){return a===document.activeElement&&(a.type||a.href)}};return f}(dat.utils.common); +dat.controllers.OptionController=function(e,a,c){var d=function(f,b,e){d.superclass.call(this,f,b);var h=this;this.__select=document.createElement("select");if(c.isArray(e)){var j={};c.each(e,function(a){j[a]=a});e=j}c.each(e,function(a,b){var d=document.createElement("option");d.innerHTML=b;d.setAttribute("value",a);h.__select.appendChild(d)});this.updateDisplay();a.bind(this.__select,"change",function(){h.setValue(this.options[this.selectedIndex].value)});this.domElement.appendChild(this.__select)}; +d.superclass=e;c.extend(d.prototype,e.prototype,{setValue:function(a){a=d.superclass.prototype.setValue.call(this,a);this.__onFinishChange&&this.__onFinishChange.call(this,this.getValue());return a},updateDisplay:function(){this.__select.value=this.getValue();return d.superclass.prototype.updateDisplay.call(this)}});return d}(dat.controllers.Controller,dat.dom.dom,dat.utils.common); +dat.controllers.NumberController=function(e,a){var c=function(d,f,b){c.superclass.call(this,d,f);b=b||{};this.__min=b.min;this.__max=b.max;this.__step=b.step;d=this.__impliedStep=a.isUndefined(this.__step)?this.initialValue==0?1:Math.pow(10,Math.floor(Math.log(this.initialValue)/Math.LN10))/10:this.__step;d=d.toString();this.__precision=d.indexOf(".")>-1?d.length-d.indexOf(".")-1:0};c.superclass=e;a.extend(c.prototype,e.prototype,{setValue:function(a){if(this.__min!==void 0&&a<this.__min)a=this.__min; +else if(this.__max!==void 0&&a>this.__max)a=this.__max;this.__step!==void 0&&a%this.__step!=0&&(a=Math.round(a/this.__step)*this.__step);return c.superclass.prototype.setValue.call(this,a)},min:function(a){this.__min=a;return this},max:function(a){this.__max=a;return this},step:function(a){this.__step=a;return this}});return c}(dat.controllers.Controller,dat.utils.common); +dat.controllers.NumberControllerBox=function(e,a,c){var d=function(f,b,e){function h(){var a=parseFloat(l.__input.value);c.isNaN(a)||l.setValue(a)}function j(a){var b=o-a.clientY;l.setValue(l.getValue()+b*l.__impliedStep);o=a.clientY}function m(){a.unbind(window,"mousemove",j);a.unbind(window,"mouseup",m)}this.__truncationSuspended=false;d.superclass.call(this,f,b,e);var l=this,o;this.__input=document.createElement("input");this.__input.setAttribute("type","text");a.bind(this.__input,"change",h); +a.bind(this.__input,"blur",function(){h();l.__onFinishChange&&l.__onFinishChange.call(l,l.getValue())});a.bind(this.__input,"mousedown",function(b){a.bind(window,"mousemove",j);a.bind(window,"mouseup",m);o=b.clientY});a.bind(this.__input,"keydown",function(a){if(a.keyCode===13)l.__truncationSuspended=true,this.blur(),l.__truncationSuspended=false});this.updateDisplay();this.domElement.appendChild(this.__input)};d.superclass=e;c.extend(d.prototype,e.prototype,{updateDisplay:function(){var a=this.__input, +b;if(this.__truncationSuspended)b=this.getValue();else{b=this.getValue();var c=Math.pow(10,this.__precision);b=Math.round(b*c)/c}a.value=b;return d.superclass.prototype.updateDisplay.call(this)}});return d}(dat.controllers.NumberController,dat.dom.dom,dat.utils.common); +dat.controllers.NumberControllerSlider=function(e,a,c,d,f){var b=function(d,c,f,e,l){function o(b){b.preventDefault();var d=a.getOffset(g.__background),c=a.getWidth(g.__background);g.setValue(g.__min+(g.__max-g.__min)*((b.clientX-d.left)/(d.left+c-d.left)));return false}function y(){a.unbind(window,"mousemove",o);a.unbind(window,"mouseup",y);g.__onFinishChange&&g.__onFinishChange.call(g,g.getValue())}b.superclass.call(this,d,c,{min:f,max:e,step:l});var g=this;this.__background=document.createElement("div"); +this.__foreground=document.createElement("div");a.bind(this.__background,"mousedown",function(b){a.bind(window,"mousemove",o);a.bind(window,"mouseup",y);o(b)});a.addClass(this.__background,"slider");a.addClass(this.__foreground,"slider-fg");this.updateDisplay();this.__background.appendChild(this.__foreground);this.domElement.appendChild(this.__background)};b.superclass=e;b.useDefaultStyles=function(){c.inject(f)};d.extend(b.prototype,e.prototype,{updateDisplay:function(){this.__foreground.style.width= +(this.getValue()-this.__min)/(this.__max-this.__min)*100+"%";return b.superclass.prototype.updateDisplay.call(this)}});return b}(dat.controllers.NumberController,dat.dom.dom,dat.utils.css,dat.utils.common,".slider {\n box-shadow: inset 0 2px 4px rgba(0,0,0,0.15);\n height: 1em;\n border-radius: 1em;\n background-color: #eee;\n padding: 0 0.5em;\n overflow: hidden;\n}\n\n.slider-fg {\n padding: 1px 0 2px 0;\n background-color: #aaa;\n height: 1em;\n margin-left: -0.5em;\n padding-right: 0.5em;\n border-radius: 1em 0 0 1em;\n}\n\n.slider-fg:after {\n display: inline-block;\n border-radius: 1em;\n background-color: #fff;\n border: 1px solid #aaa;\n content: '';\n float: right;\n margin-right: -1em;\n margin-top: -1px;\n height: 0.9em;\n width: 0.9em;\n}"); +dat.controllers.FunctionController=function(e,a,c){var d=function(c,b,e){d.superclass.call(this,c,b);var h=this;this.__button=document.createElement("div");this.__button.innerHTML=e===void 0?"Fire":e;a.bind(this.__button,"click",function(a){a.preventDefault();h.fire();return false});a.addClass(this.__button,"button");this.domElement.appendChild(this.__button)};d.superclass=e;c.extend(d.prototype,e.prototype,{fire:function(){this.__onChange&&this.__onChange.call(this);this.__onFinishChange&&this.__onFinishChange.call(this, +this.getValue());this.getValue().call(this.object)}});return d}(dat.controllers.Controller,dat.dom.dom,dat.utils.common); +dat.controllers.BooleanController=function(e,a,c){var d=function(c,b){d.superclass.call(this,c,b);var e=this;this.__prev=this.getValue();this.__checkbox=document.createElement("input");this.__checkbox.setAttribute("type","checkbox");a.bind(this.__checkbox,"change",function(){e.setValue(!e.__prev)},false);this.domElement.appendChild(this.__checkbox);this.updateDisplay()};d.superclass=e;c.extend(d.prototype,e.prototype,{setValue:function(a){a=d.superclass.prototype.setValue.call(this,a);this.__onFinishChange&& +this.__onFinishChange.call(this,this.getValue());this.__prev=this.getValue();return a},updateDisplay:function(){this.getValue()===true?(this.__checkbox.setAttribute("checked","checked"),this.__checkbox.checked=true):this.__checkbox.checked=false;return d.superclass.prototype.updateDisplay.call(this)}});return d}(dat.controllers.Controller,dat.dom.dom,dat.utils.common); +dat.color.toString=function(e){return function(a){if(a.a==1||e.isUndefined(a.a)){for(a=a.hex.toString(16);a.length<6;)a="0"+a;return"#"+a}else return"rgba("+Math.round(a.r)+","+Math.round(a.g)+","+Math.round(a.b)+","+a.a+")"}}(dat.utils.common); +dat.color.interpret=function(e,a){var c,d,f=[{litmus:a.isString,conversions:{THREE_CHAR_HEX:{read:function(a){a=a.match(/^#([A-F0-9])([A-F0-9])([A-F0-9])$/i);return a===null?false:{space:"HEX",hex:parseInt("0x"+a[1].toString()+a[1].toString()+a[2].toString()+a[2].toString()+a[3].toString()+a[3].toString())}},write:e},SIX_CHAR_HEX:{read:function(a){a=a.match(/^#([A-F0-9]{6})$/i);return a===null?false:{space:"HEX",hex:parseInt("0x"+a[1].toString())}},write:e},CSS_RGB:{read:function(a){a=a.match(/^rgb\(\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*\)/); +return a===null?false:{space:"RGB",r:parseFloat(a[1]),g:parseFloat(a[2]),b:parseFloat(a[3])}},write:e},CSS_RGBA:{read:function(a){a=a.match(/^rgba\(\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*\,\s*(.+)\s*\)/);return a===null?false:{space:"RGB",r:parseFloat(a[1]),g:parseFloat(a[2]),b:parseFloat(a[3]),a:parseFloat(a[4])}},write:e}}},{litmus:a.isNumber,conversions:{HEX:{read:function(a){return{space:"HEX",hex:a,conversionName:"HEX"}},write:function(a){return a.hex}}}},{litmus:a.isArray,conversions:{RGB_ARRAY:{read:function(a){return a.length!= +3?false:{space:"RGB",r:a[0],g:a[1],b:a[2]}},write:function(a){return[a.r,a.g,a.b]}},RGBA_ARRAY:{read:function(a){return a.length!=4?false:{space:"RGB",r:a[0],g:a[1],b:a[2],a:a[3]}},write:function(a){return[a.r,a.g,a.b,a.a]}}}},{litmus:a.isObject,conversions:{RGBA_OBJ:{read:function(b){return a.isNumber(b.r)&&a.isNumber(b.g)&&a.isNumber(b.b)&&a.isNumber(b.a)?{space:"RGB",r:b.r,g:b.g,b:b.b,a:b.a}:false},write:function(a){return{r:a.r,g:a.g,b:a.b,a:a.a}}},RGB_OBJ:{read:function(b){return a.isNumber(b.r)&& +a.isNumber(b.g)&&a.isNumber(b.b)?{space:"RGB",r:b.r,g:b.g,b:b.b}:false},write:function(a){return{r:a.r,g:a.g,b:a.b}}},HSVA_OBJ:{read:function(b){return a.isNumber(b.h)&&a.isNumber(b.s)&&a.isNumber(b.v)&&a.isNumber(b.a)?{space:"HSV",h:b.h,s:b.s,v:b.v,a:b.a}:false},write:function(a){return{h:a.h,s:a.s,v:a.v,a:a.a}}},HSV_OBJ:{read:function(b){return a.isNumber(b.h)&&a.isNumber(b.s)&&a.isNumber(b.v)?{space:"HSV",h:b.h,s:b.s,v:b.v}:false},write:function(a){return{h:a.h,s:a.s,v:a.v}}}}}];return function(){d= +false;var b=arguments.length>1?a.toArray(arguments):arguments[0];a.each(f,function(e){if(e.litmus(b))return a.each(e.conversions,function(e,f){c=e.read(b);if(d===false&&c!==false)return d=c,c.conversionName=f,c.conversion=e,a.BREAK}),a.BREAK});return d}}(dat.color.toString,dat.utils.common); +dat.GUI=dat.gui.GUI=function(e,a,c,d,f,b,n,h,j,m,l,o,y,g,i){function q(a,b,r,c){if(b[r]===void 0)throw Error("Object "+b+' has no property "'+r+'"');c.color?b=new l(b,r):(b=[b,r].concat(c.factoryArgs),b=d.apply(a,b));if(c.before instanceof f)c.before=c.before.__li;t(a,b);g.addClass(b.domElement,"c");r=document.createElement("span");g.addClass(r,"property-name");r.innerHTML=b.property;var e=document.createElement("div");e.appendChild(r);e.appendChild(b.domElement);c=s(a,e,c.before);g.addClass(c,k.CLASS_CONTROLLER_ROW); +g.addClass(c,typeof b.getValue());p(a,c,b);a.__controllers.push(b);return b}function s(a,b,d){var c=document.createElement("li");b&&c.appendChild(b);d?a.__ul.insertBefore(c,params.before):a.__ul.appendChild(c);a.onResize();return c}function p(a,d,c){c.__li=d;c.__gui=a;i.extend(c,{options:function(b){if(arguments.length>1)return c.remove(),q(a,c.object,c.property,{before:c.__li.nextElementSibling,factoryArgs:[i.toArray(arguments)]});if(i.isArray(b)||i.isObject(b))return c.remove(),q(a,c.object,c.property, +{before:c.__li.nextElementSibling,factoryArgs:[b]})},name:function(a){c.__li.firstElementChild.firstElementChild.innerHTML=a;return c},listen:function(){c.__gui.listen(c);return c},remove:function(){c.__gui.remove(c);return c}});if(c instanceof j){var e=new h(c.object,c.property,{min:c.__min,max:c.__max,step:c.__step});i.each(["updateDisplay","onChange","onFinishChange"],function(a){var b=c[a],H=e[a];c[a]=e[a]=function(){var a=Array.prototype.slice.call(arguments);b.apply(c,a);return H.apply(e,a)}}); +g.addClass(d,"has-slider");c.domElement.insertBefore(e.domElement,c.domElement.firstElementChild)}else if(c instanceof h){var f=function(b){return i.isNumber(c.__min)&&i.isNumber(c.__max)?(c.remove(),q(a,c.object,c.property,{before:c.__li.nextElementSibling,factoryArgs:[c.__min,c.__max,c.__step]})):b};c.min=i.compose(f,c.min);c.max=i.compose(f,c.max)}else if(c instanceof b)g.bind(d,"click",function(){g.fakeEvent(c.__checkbox,"click")}),g.bind(c.__checkbox,"click",function(a){a.stopPropagation()}); +else if(c instanceof n)g.bind(d,"click",function(){g.fakeEvent(c.__button,"click")}),g.bind(d,"mouseover",function(){g.addClass(c.__button,"hover")}),g.bind(d,"mouseout",function(){g.removeClass(c.__button,"hover")});else if(c instanceof l)g.addClass(d,"color"),c.updateDisplay=i.compose(function(a){d.style.borderLeftColor=c.__color.toString();return a},c.updateDisplay),c.updateDisplay();c.setValue=i.compose(function(b){a.getRoot().__preset_select&&c.isModified()&&B(a.getRoot(),true);return b},c.setValue)} +function t(a,b){var c=a.getRoot(),d=c.__rememberedObjects.indexOf(b.object);if(d!=-1){var e=c.__rememberedObjectIndecesToControllers[d];e===void 0&&(e={},c.__rememberedObjectIndecesToControllers[d]=e);e[b.property]=b;if(c.load&&c.load.remembered){c=c.load.remembered;if(c[a.preset])c=c[a.preset];else if(c[w])c=c[w];else return;if(c[d]&&c[d][b.property]!==void 0)d=c[d][b.property],b.initialValue=d,b.setValue(d)}}}function I(a){var b=a.__save_row=document.createElement("li");g.addClass(a.domElement, +"has-save");a.__ul.insertBefore(b,a.__ul.firstChild);g.addClass(b,"save-row");var c=document.createElement("span");c.innerHTML=" ";g.addClass(c,"button gears");var d=document.createElement("span");d.innerHTML="Save";g.addClass(d,"button");g.addClass(d,"save");var e=document.createElement("span");e.innerHTML="New";g.addClass(e,"button");g.addClass(e,"save-as");var f=document.createElement("span");f.innerHTML="Revert";g.addClass(f,"button");g.addClass(f,"revert");var m=a.__preset_select=document.createElement("select"); +a.load&&a.load.remembered?i.each(a.load.remembered,function(b,c){C(a,c,c==a.preset)}):C(a,w,false);g.bind(m,"change",function(){for(var b=0;b<a.__preset_select.length;b++)a.__preset_select[b].innerHTML=a.__preset_select[b].value;a.preset=this.value});b.appendChild(m);b.appendChild(c);b.appendChild(d);b.appendChild(e);b.appendChild(f);if(u){var b=document.getElementById("dg-save-locally"),l=document.getElementById("dg-local-explain");b.style.display="block";b=document.getElementById("dg-local-storage"); +localStorage.getItem(document.location.href+".isLocal")==="true"&&b.setAttribute("checked","checked");var o=function(){l.style.display=a.useLocalStorage?"block":"none"};o();g.bind(b,"change",function(){a.useLocalStorage=!a.useLocalStorage;o()})}var h=document.getElementById("dg-new-constructor");g.bind(h,"keydown",function(a){a.metaKey&&(a.which===67||a.keyCode==67)&&x.hide()});g.bind(c,"click",function(){h.innerHTML=JSON.stringify(a.getSaveObject(),void 0,2);x.show();h.focus();h.select()});g.bind(d, +"click",function(){a.save()});g.bind(e,"click",function(){var b=prompt("Enter a new preset name.");b&&a.saveAs(b)});g.bind(f,"click",function(){a.revert()})}function J(a){function b(f){f.preventDefault();e=f.clientX;g.addClass(a.__closeButton,k.CLASS_DRAG);g.bind(window,"mousemove",c);g.bind(window,"mouseup",d);return false}function c(b){b.preventDefault();a.width+=e-b.clientX;a.onResize();e=b.clientX;return false}function d(){g.removeClass(a.__closeButton,k.CLASS_DRAG);g.unbind(window,"mousemove", +c);g.unbind(window,"mouseup",d)}a.__resize_handle=document.createElement("div");i.extend(a.__resize_handle.style,{width:"6px",marginLeft:"-3px",height:"200px",cursor:"ew-resize",position:"absolute"});var e;g.bind(a.__resize_handle,"mousedown",b);g.bind(a.__closeButton,"mousedown",b);a.domElement.insertBefore(a.__resize_handle,a.domElement.firstElementChild)}function D(a,b){a.domElement.style.width=b+"px";if(a.__save_row&&a.autoPlace)a.__save_row.style.width=b+"px";if(a.__closeButton)a.__closeButton.style.width= +b+"px"}function z(a,b){var c={};i.each(a.__rememberedObjects,function(d,e){var f={};i.each(a.__rememberedObjectIndecesToControllers[e],function(a,c){f[c]=b?a.initialValue:a.getValue()});c[e]=f});return c}function C(a,b,c){var d=document.createElement("option");d.innerHTML=b;d.value=b;a.__preset_select.appendChild(d);if(c)a.__preset_select.selectedIndex=a.__preset_select.length-1}function B(a,b){var c=a.__preset_select[a.__preset_select.selectedIndex];c.innerHTML=b?c.value+"*":c.value}function E(a){a.length!= +0&&o(function(){E(a)});i.each(a,function(a){a.updateDisplay()})}e.inject(c);var w="Default",u;try{u="localStorage"in window&&window.localStorage!==null}catch(K){u=false}var x,F=true,v,A=false,G=[],k=function(a){function b(){localStorage.setItem(document.location.href+".gui",JSON.stringify(d.getSaveObject()))}function c(){var a=d.getRoot();a.width+=1;i.defer(function(){a.width-=1})}var d=this;this.domElement=document.createElement("div");this.__ul=document.createElement("ul");this.domElement.appendChild(this.__ul); +g.addClass(this.domElement,"dg");this.__folders={};this.__controllers=[];this.__rememberedObjects=[];this.__rememberedObjectIndecesToControllers=[];this.__listening=[];a=a||{};a=i.defaults(a,{autoPlace:true,width:k.DEFAULT_WIDTH});a=i.defaults(a,{resizable:a.autoPlace,hideable:a.autoPlace});if(i.isUndefined(a.load))a.load={preset:w};else if(a.preset)a.load.preset=a.preset;i.isUndefined(a.parent)&&a.hideable&&G.push(this);a.resizable=i.isUndefined(a.parent)&&a.resizable;if(a.autoPlace&&i.isUndefined(a.scrollable))a.scrollable= +true;var e=u&&localStorage.getItem(document.location.href+".isLocal")==="true";Object.defineProperties(this,{parent:{get:function(){return a.parent}},scrollable:{get:function(){return a.scrollable}},autoPlace:{get:function(){return a.autoPlace}},preset:{get:function(){return d.parent?d.getRoot().preset:a.load.preset},set:function(b){d.parent?d.getRoot().preset=b:a.load.preset=b;for(b=0;b<this.__preset_select.length;b++)if(this.__preset_select[b].value==this.preset)this.__preset_select.selectedIndex= +b;d.revert()}},width:{get:function(){return a.width},set:function(b){a.width=b;D(d,b)}},name:{get:function(){return a.name},set:function(b){a.name=b;if(m)m.innerHTML=a.name}},closed:{get:function(){return a.closed},set:function(b){a.closed=b;a.closed?g.addClass(d.__ul,k.CLASS_CLOSED):g.removeClass(d.__ul,k.CLASS_CLOSED);this.onResize();if(d.__closeButton)d.__closeButton.innerHTML=b?k.TEXT_OPEN:k.TEXT_CLOSED}},load:{get:function(){return a.load}},useLocalStorage:{get:function(){return e},set:function(a){u&& +((e=a)?g.bind(window,"unload",b):g.unbind(window,"unload",b),localStorage.setItem(document.location.href+".isLocal",a))}}});if(i.isUndefined(a.parent)){a.closed=false;g.addClass(this.domElement,k.CLASS_MAIN);g.makeSelectable(this.domElement,false);if(u&&e){d.useLocalStorage=true;var f=localStorage.getItem(document.location.href+".gui");if(f)a.load=JSON.parse(f)}this.__closeButton=document.createElement("div");this.__closeButton.innerHTML=k.TEXT_CLOSED;g.addClass(this.__closeButton,k.CLASS_CLOSE_BUTTON); +this.domElement.appendChild(this.__closeButton);g.bind(this.__closeButton,"click",function(){d.closed=!d.closed})}else{if(a.closed===void 0)a.closed=true;var m=document.createTextNode(a.name);g.addClass(m,"controller-name");f=s(d,m);g.addClass(this.__ul,k.CLASS_CLOSED);g.addClass(f,"title");g.bind(f,"click",function(a){a.preventDefault();d.closed=!d.closed;return false});if(!a.closed)this.closed=false}a.autoPlace&&(i.isUndefined(a.parent)&&(F&&(v=document.createElement("div"),g.addClass(v,"dg"),g.addClass(v, +k.CLASS_AUTO_PLACE_CONTAINER),document.body.appendChild(v),F=false),v.appendChild(this.domElement),g.addClass(this.domElement,k.CLASS_AUTO_PLACE)),this.parent||D(d,a.width));g.bind(window,"resize",function(){d.onResize()});g.bind(this.__ul,"webkitTransitionEnd",function(){d.onResize()});g.bind(this.__ul,"transitionend",function(){d.onResize()});g.bind(this.__ul,"oTransitionEnd",function(){d.onResize()});this.onResize();a.resizable&&J(this);d.getRoot();a.parent||c()};k.toggleHide=function(){A=!A;i.each(G, +function(a){a.domElement.style.zIndex=A?-999:999;a.domElement.style.opacity=A?0:1})};k.CLASS_AUTO_PLACE="a";k.CLASS_AUTO_PLACE_CONTAINER="ac";k.CLASS_MAIN="main";k.CLASS_CONTROLLER_ROW="cr";k.CLASS_TOO_TALL="taller-than-window";k.CLASS_CLOSED="closed";k.CLASS_CLOSE_BUTTON="close-button";k.CLASS_DRAG="drag";k.DEFAULT_WIDTH=245;k.TEXT_CLOSED="Close Controls";k.TEXT_OPEN="Open Controls";g.bind(window,"keydown",function(a){document.activeElement.type!=="text"&&(a.which===72||a.keyCode==72)&&k.toggleHide()}, +false);i.extend(k.prototype,{add:function(a,b){return q(this,a,b,{factoryArgs:Array.prototype.slice.call(arguments,2)})},addColor:function(a,b){return q(this,a,b,{color:true})},remove:function(a){this.__ul.removeChild(a.__li);this.__controllers.slice(this.__controllers.indexOf(a),1);var b=this;i.defer(function(){b.onResize()})},destroy:function(){this.autoPlace&&v.removeChild(this.domElement)},addFolder:function(a){if(this.__folders[a]!==void 0)throw Error('You already have a folder in this GUI by the name "'+ +a+'"');var b={name:a,parent:this};b.autoPlace=this.autoPlace;if(this.load&&this.load.folders&&this.load.folders[a])b.closed=this.load.folders[a].closed,b.load=this.load.folders[a];b=new k(b);this.__folders[a]=b;a=s(this,b.domElement);g.addClass(a,"folder");return b},open:function(){this.closed=false},close:function(){this.closed=true},onResize:function(){var a=this.getRoot();if(a.scrollable){var b=g.getOffset(a.__ul).top,c=0;i.each(a.__ul.childNodes,function(b){a.autoPlace&&b===a.__save_row||(c+= +g.getHeight(b))});window.innerHeight-b-20<c?(g.addClass(a.domElement,k.CLASS_TOO_TALL),a.__ul.style.height=window.innerHeight-b-20+"px"):(g.removeClass(a.domElement,k.CLASS_TOO_TALL),a.__ul.style.height="auto")}a.__resize_handle&&i.defer(function(){a.__resize_handle.style.height=a.__ul.offsetHeight+"px"});if(a.__closeButton)a.__closeButton.style.width=a.width+"px"},remember:function(){if(i.isUndefined(x))x=new y,x.domElement.innerHTML=a;if(this.parent)throw Error("You can only call remember on a top level GUI."); +var b=this;i.each(Array.prototype.slice.call(arguments),function(a){b.__rememberedObjects.length==0&&I(b);b.__rememberedObjects.indexOf(a)==-1&&b.__rememberedObjects.push(a)});this.autoPlace&&D(this,this.width)},getRoot:function(){for(var a=this;a.parent;)a=a.parent;return a},getSaveObject:function(){var a=this.load;a.closed=this.closed;if(this.__rememberedObjects.length>0){a.preset=this.preset;if(!a.remembered)a.remembered={};a.remembered[this.preset]=z(this)}a.folders={};i.each(this.__folders,function(b, +c){a.folders[c]=b.getSaveObject()});return a},save:function(){if(!this.load.remembered)this.load.remembered={};this.load.remembered[this.preset]=z(this);B(this,false)},saveAs:function(a){if(!this.load.remembered)this.load.remembered={},this.load.remembered[w]=z(this,true);this.load.remembered[a]=z(this);this.preset=a;C(this,a,true)},revert:function(a){i.each(this.__controllers,function(b){this.getRoot().load.remembered?t(a||this.getRoot(),b):b.setValue(b.initialValue)},this);i.each(this.__folders, +function(a){a.revert(a)});a||B(this.getRoot(),false)},listen:function(a){var b=this.__listening.length==0;this.__listening.push(a);b&&E(this.__listening)}});return k}(dat.utils.css,'<div id="dg-save" class="dg dialogue">\n\n Here\'s the new load parameter for your <code>GUI</code>\'s constructor:\n\n <textarea id="dg-new-constructor"></textarea>\n\n <div id="dg-save-locally">\n\n <input id="dg-local-storage" type="checkbox"/> Automatically save\n values to <code>localStorage</code> on exit.\n\n <div id="dg-local-explain">The values saved to <code>localStorage</code> will\n override those passed to <code>dat.GUI</code>\'s constructor. This makes it\n easier to work incrementally, but <code>localStorage</code> is fragile,\n and your friends may not see the same values you do.\n \n </div>\n \n </div>\n\n</div>', +".dg ul{list-style:none;margin:0;padding:0;width:100%;clear:both}.dg.ac{position:fixed;top:0;left:0;right:0;height:0;z-index:0}.dg:not(.ac) .main{overflow:hidden}.dg.main{-webkit-transition:opacity 0.1s linear;-o-transition:opacity 0.1s linear;-moz-transition:opacity 0.1s linear;transition:opacity 0.1s linear}.dg.main.taller-than-window{overflow-y:auto}.dg.main.taller-than-window .close-button{opacity:1;margin-top:-1px;border-top:1px solid #2c2c2c}.dg.main ul.closed .close-button{opacity:1 !important}.dg.main:hover .close-button,.dg.main .close-button.drag{opacity:1}.dg.main .close-button{-webkit-transition:opacity 0.1s linear;-o-transition:opacity 0.1s linear;-moz-transition:opacity 0.1s linear;transition:opacity 0.1s linear;border:0;position:absolute;line-height:19px;height:20px;cursor:pointer;text-align:center;background-color:#000}.dg.main .close-button:hover{background-color:#111}.dg.a{float:right;margin-right:15px;overflow-x:hidden}.dg.a.has-save ul{margin-top:27px}.dg.a.has-save ul.closed{margin-top:0}.dg.a .save-row{position:fixed;top:0;z-index:1002}.dg li{-webkit-transition:height 0.1s ease-out;-o-transition:height 0.1s ease-out;-moz-transition:height 0.1s ease-out;transition:height 0.1s ease-out}.dg li:not(.folder){cursor:auto;height:27px;line-height:27px;overflow:hidden;padding:0 4px 0 5px}.dg li.folder{padding:0;border-left:4px solid rgba(0,0,0,0)}.dg li.title{cursor:pointer;margin-left:-4px}.dg .closed li:not(.title),.dg .closed ul li,.dg .closed ul li > *{height:0;overflow:hidden;border:0}.dg .cr{clear:both;padding-left:3px;height:27px}.dg .property-name{cursor:default;float:left;clear:left;width:40%;overflow:hidden;text-overflow:ellipsis}.dg .c{float:left;width:60%}.dg .c input[type=text]{border:0;margin-top:4px;padding:3px;width:100%;float:right}.dg .has-slider input[type=text]{width:30%;margin-left:0}.dg .slider{float:left;width:66%;margin-left:-5px;margin-right:0;height:19px;margin-top:4px}.dg .slider-fg{height:100%}.dg .c input[type=checkbox]{margin-top:9px}.dg .c select{margin-top:5px}.dg .cr.function,.dg .cr.function .property-name,.dg .cr.function *,.dg .cr.boolean,.dg .cr.boolean *{cursor:pointer}.dg .selector{display:none;position:absolute;margin-left:-9px;margin-top:23px;z-index:10}.dg .c:hover .selector,.dg .selector.drag{display:block}.dg li.save-row{padding:0}.dg li.save-row .button{display:inline-block;padding:0px 6px}.dg.dialogue{background-color:#222;width:460px;padding:15px;font-size:13px;line-height:15px}#dg-new-constructor{padding:10px;color:#222;font-family:Monaco, monospace;font-size:10px;border:0;resize:none;box-shadow:inset 1px 1px 1px #888;word-wrap:break-word;margin:12px 0;display:block;width:440px;overflow-y:scroll;height:100px;position:relative}#dg-local-explain{display:none;font-size:11px;line-height:17px;border-radius:3px;background-color:#333;padding:8px;margin-top:10px}#dg-local-explain code{font-size:10px}#dat-gui-save-locally{display:none}.dg{color:#eee;font:11px 'Lucida Grande', sans-serif;text-shadow:0 -1px 0 #111}.dg.main::-webkit-scrollbar{width:5px;background:#1a1a1a}.dg.main::-webkit-scrollbar-corner{height:0;display:none}.dg.main::-webkit-scrollbar-thumb{border-radius:5px;background:#676767}.dg li:not(.folder){background:#1a1a1a;border-bottom:1px solid #2c2c2c}.dg li.save-row{line-height:25px;background:#dad5cb;border:0}.dg li.save-row select{margin-left:5px;width:108px}.dg li.save-row .button{margin-left:5px;margin-top:1px;border-radius:2px;font-size:9px;line-height:7px;padding:4px 4px 5px 4px;background:#c5bdad;color:#fff;text-shadow:0 1px 0 #b0a58f;box-shadow:0 -1px 0 #b0a58f;cursor:pointer}.dg li.save-row .button.gears{background:#c5bdad url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAANCAYAAAB/9ZQ7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQJJREFUeNpiYKAU/P//PwGIC/ApCABiBSAW+I8AClAcgKxQ4T9hoMAEUrxx2QSGN6+egDX+/vWT4e7N82AMYoPAx/evwWoYoSYbACX2s7KxCxzcsezDh3evFoDEBYTEEqycggWAzA9AuUSQQgeYPa9fPv6/YWm/Acx5IPb7ty/fw+QZblw67vDs8R0YHyQhgObx+yAJkBqmG5dPPDh1aPOGR/eugW0G4vlIoTIfyFcA+QekhhHJhPdQxbiAIguMBTQZrPD7108M6roWYDFQiIAAv6Aow/1bFwXgis+f2LUAynwoIaNcz8XNx3Dl7MEJUDGQpx9gtQ8YCueB+D26OECAAQDadt7e46D42QAAAABJRU5ErkJggg==) 2px 1px no-repeat;height:7px;width:8px}.dg li.save-row .button:hover{background-color:#bab19e;box-shadow:0 -1px 0 #b0a58f}.dg li.folder{border-bottom:0}.dg li.title{padding-left:16px;background:#000 url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlI+hKgFxoCgAOw==) 6px 10px no-repeat;cursor:pointer;border-bottom:1px solid rgba(255,255,255,0.2)}.dg .closed li.title{background-image:url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlGIWqMCbWAEAOw==)}.dg .cr.boolean{border-left:3px solid #806787}.dg .cr.function{border-left:3px solid #e61d5f}.dg .cr.number{border-left:3px solid #2fa1d6}.dg .cr.number input[type=text]{color:#2fa1d6}.dg .cr.string{border-left:3px solid #1ed36f}.dg .cr.string input[type=text]{color:#1ed36f}.dg .cr.function:hover,.dg .cr.boolean:hover{background:#111}.dg .c input[type=text]{background:#303030;outline:none}.dg .c input[type=text]:hover{background:#3c3c3c}.dg .c input[type=text]:focus{background:#494949;color:#fff}.dg .c .slider{background:#303030;cursor:ew-resize}.dg .c .slider-fg{background:#2fa1d6}.dg .c .slider:hover{background:#3c3c3c}.dg .c .slider:hover .slider-fg{background:#44abda}\n", +dat.controllers.factory=function(e,a,c,d,f,b,n){return function(h,j,m,l){var o=h[j];if(n.isArray(m)||n.isObject(m))return new e(h,j,m);if(n.isNumber(o))return n.isNumber(m)&&n.isNumber(l)?new c(h,j,m,l):new a(h,j,{min:m,max:l});if(n.isString(o))return new d(h,j);if(n.isFunction(o))return new f(h,j,"");if(n.isBoolean(o))return new b(h,j)}}(dat.controllers.OptionController,dat.controllers.NumberControllerBox,dat.controllers.NumberControllerSlider,dat.controllers.StringController=function(e,a,c){var d= +function(c,b){function e(){h.setValue(h.__input.value)}d.superclass.call(this,c,b);var h=this;this.__input=document.createElement("input");this.__input.setAttribute("type","text");a.bind(this.__input,"keyup",e);a.bind(this.__input,"change",e);a.bind(this.__input,"blur",function(){h.__onFinishChange&&h.__onFinishChange.call(h,h.getValue())});a.bind(this.__input,"keydown",function(a){a.keyCode===13&&this.blur()});this.updateDisplay();this.domElement.appendChild(this.__input)};d.superclass=e;c.extend(d.prototype, +e.prototype,{updateDisplay:function(){if(!a.isActive(this.__input))this.__input.value=this.getValue();return d.superclass.prototype.updateDisplay.call(this)}});return d}(dat.controllers.Controller,dat.dom.dom,dat.utils.common),dat.controllers.FunctionController,dat.controllers.BooleanController,dat.utils.common),dat.controllers.Controller,dat.controllers.BooleanController,dat.controllers.FunctionController,dat.controllers.NumberControllerBox,dat.controllers.NumberControllerSlider,dat.controllers.OptionController, +dat.controllers.ColorController=function(e,a,c,d,f){function b(a,b,c,d){a.style.background="";f.each(j,function(e){a.style.cssText+="background: "+e+"linear-gradient("+b+", "+c+" 0%, "+d+" 100%); "})}function n(a){a.style.background="";a.style.cssText+="background: -moz-linear-gradient(top, #ff0000 0%, #ff00ff 17%, #0000ff 34%, #00ffff 50%, #00ff00 67%, #ffff00 84%, #ff0000 100%);";a.style.cssText+="background: -webkit-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);"; +a.style.cssText+="background: -o-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);";a.style.cssText+="background: -ms-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);";a.style.cssText+="background: linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);"}var h=function(e,l){function o(b){q(b);a.bind(window,"mousemove",q);a.bind(window, +"mouseup",j)}function j(){a.unbind(window,"mousemove",q);a.unbind(window,"mouseup",j)}function g(){var a=d(this.value);a!==false?(p.__color.__state=a,p.setValue(p.__color.toOriginal())):this.value=p.__color.toString()}function i(){a.unbind(window,"mousemove",s);a.unbind(window,"mouseup",i)}function q(b){b.preventDefault();var c=a.getWidth(p.__saturation_field),d=a.getOffset(p.__saturation_field),e=(b.clientX-d.left+document.body.scrollLeft)/c,b=1-(b.clientY-d.top+document.body.scrollTop)/c;b>1?b= +1:b<0&&(b=0);e>1?e=1:e<0&&(e=0);p.__color.v=b;p.__color.s=e;p.setValue(p.__color.toOriginal());return false}function s(b){b.preventDefault();var c=a.getHeight(p.__hue_field),d=a.getOffset(p.__hue_field),b=1-(b.clientY-d.top+document.body.scrollTop)/c;b>1?b=1:b<0&&(b=0);p.__color.h=b*360;p.setValue(p.__color.toOriginal());return false}h.superclass.call(this,e,l);this.__color=new c(this.getValue());this.__temp=new c(0);var p=this;this.domElement=document.createElement("div");a.makeSelectable(this.domElement, +false);this.__selector=document.createElement("div");this.__selector.className="selector";this.__saturation_field=document.createElement("div");this.__saturation_field.className="saturation-field";this.__field_knob=document.createElement("div");this.__field_knob.className="field-knob";this.__field_knob_border="2px solid ";this.__hue_knob=document.createElement("div");this.__hue_knob.className="hue-knob";this.__hue_field=document.createElement("div");this.__hue_field.className="hue-field";this.__input= +document.createElement("input");this.__input.type="text";this.__input_textShadow="0 1px 1px ";a.bind(this.__input,"keydown",function(a){a.keyCode===13&&g.call(this)});a.bind(this.__input,"blur",g);a.bind(this.__selector,"mousedown",function(){a.addClass(this,"drag").bind(window,"mouseup",function(){a.removeClass(p.__selector,"drag")})});var t=document.createElement("div");f.extend(this.__selector.style,{width:"122px",height:"102px",padding:"3px",backgroundColor:"#222",boxShadow:"0px 1px 3px rgba(0,0,0,0.3)"}); +f.extend(this.__field_knob.style,{position:"absolute",width:"12px",height:"12px",border:this.__field_knob_border+(this.__color.v<0.5?"#fff":"#000"),boxShadow:"0px 1px 3px rgba(0,0,0,0.5)",borderRadius:"12px",zIndex:1});f.extend(this.__hue_knob.style,{position:"absolute",width:"15px",height:"2px",borderRight:"4px solid #fff",zIndex:1});f.extend(this.__saturation_field.style,{width:"100px",height:"100px",border:"1px solid #555",marginRight:"3px",display:"inline-block",cursor:"pointer"});f.extend(t.style, +{width:"100%",height:"100%",background:"none"});b(t,"top","rgba(0,0,0,0)","#000");f.extend(this.__hue_field.style,{width:"15px",height:"100px",display:"inline-block",border:"1px solid #555",cursor:"ns-resize"});n(this.__hue_field);f.extend(this.__input.style,{outline:"none",textAlign:"center",color:"#fff",border:0,fontWeight:"bold",textShadow:this.__input_textShadow+"rgba(0,0,0,0.7)"});a.bind(this.__saturation_field,"mousedown",o);a.bind(this.__field_knob,"mousedown",o);a.bind(this.__hue_field,"mousedown", +function(b){s(b);a.bind(window,"mousemove",s);a.bind(window,"mouseup",i)});this.__saturation_field.appendChild(t);this.__selector.appendChild(this.__field_knob);this.__selector.appendChild(this.__saturation_field);this.__selector.appendChild(this.__hue_field);this.__hue_field.appendChild(this.__hue_knob);this.domElement.appendChild(this.__input);this.domElement.appendChild(this.__selector);this.updateDisplay()};h.superclass=e;f.extend(h.prototype,e.prototype,{updateDisplay:function(){var a=d(this.getValue()); +if(a!==false){var e=false;f.each(c.COMPONENTS,function(b){if(!f.isUndefined(a[b])&&!f.isUndefined(this.__color.__state[b])&&a[b]!==this.__color.__state[b])return e=true,{}},this);e&&f.extend(this.__color.__state,a)}f.extend(this.__temp.__state,this.__color.__state);this.__temp.a=1;var h=this.__color.v<0.5||this.__color.s>0.5?255:0,j=255-h;f.extend(this.__field_knob.style,{marginLeft:100*this.__color.s-7+"px",marginTop:100*(1-this.__color.v)-7+"px",backgroundColor:this.__temp.toString(),border:this.__field_knob_border+ +"rgb("+h+","+h+","+h+")"});this.__hue_knob.style.marginTop=(1-this.__color.h/360)*100+"px";this.__temp.s=1;this.__temp.v=1;b(this.__saturation_field,"left","#fff",this.__temp.toString());f.extend(this.__input.style,{backgroundColor:this.__input.value=this.__color.toString(),color:"rgb("+h+","+h+","+h+")",textShadow:this.__input_textShadow+"rgba("+j+","+j+","+j+",.7)"})}});var j=["-moz-","-o-","-webkit-","-ms-",""];return h}(dat.controllers.Controller,dat.dom.dom,dat.color.Color=function(e,a,c,d){function f(a, +b,c){Object.defineProperty(a,b,{get:function(){if(this.__state.space==="RGB")return this.__state[b];n(this,b,c);return this.__state[b]},set:function(a){if(this.__state.space!=="RGB")n(this,b,c),this.__state.space="RGB";this.__state[b]=a}})}function b(a,b){Object.defineProperty(a,b,{get:function(){if(this.__state.space==="HSV")return this.__state[b];h(this);return this.__state[b]},set:function(a){if(this.__state.space!=="HSV")h(this),this.__state.space="HSV";this.__state[b]=a}})}function n(b,c,e){if(b.__state.space=== +"HEX")b.__state[c]=a.component_from_hex(b.__state.hex,e);else if(b.__state.space==="HSV")d.extend(b.__state,a.hsv_to_rgb(b.__state.h,b.__state.s,b.__state.v));else throw"Corrupted color state";}function h(b){var c=a.rgb_to_hsv(b.r,b.g,b.b);d.extend(b.__state,{s:c.s,v:c.v});if(d.isNaN(c.h)){if(d.isUndefined(b.__state.h))b.__state.h=0}else b.__state.h=c.h}var j=function(){this.__state=e.apply(this,arguments);if(this.__state===false)throw"Failed to interpret color arguments";this.__state.a=this.__state.a|| +1};j.COMPONENTS="r,g,b,h,s,v,hex,a".split(",");d.extend(j.prototype,{toString:function(){return c(this)},toOriginal:function(){return this.__state.conversion.write(this)}});f(j.prototype,"r",2);f(j.prototype,"g",1);f(j.prototype,"b",0);b(j.prototype,"h");b(j.prototype,"s");b(j.prototype,"v");Object.defineProperty(j.prototype,"a",{get:function(){return this.__state.a},set:function(a){this.__state.a=a}});Object.defineProperty(j.prototype,"hex",{get:function(){if(!this.__state.space!=="HEX")this.__state.hex= +a.rgb_to_hex(this.r,this.g,this.b);return this.__state.hex},set:function(a){this.__state.space="HEX";this.__state.hex=a}});return j}(dat.color.interpret,dat.color.math=function(){var e;return{hsv_to_rgb:function(a,c,d){var e=a/60-Math.floor(a/60),b=d*(1-c),n=d*(1-e*c),c=d*(1-(1-e)*c),a=[[d,c,b],[n,d,b],[b,d,c],[b,n,d],[c,b,d],[d,b,n]][Math.floor(a/60)%6];return{r:a[0]*255,g:a[1]*255,b:a[2]*255}},rgb_to_hsv:function(a,c,d){var e=Math.min(a,c,d),b=Math.max(a,c,d),e=b-e;if(b==0)return{h:NaN,s:0,v:0}; +a=a==b?(c-d)/e:c==b?2+(d-a)/e:4+(a-c)/e;a/=6;a<0&&(a+=1);return{h:a*360,s:e/b,v:b/255}},rgb_to_hex:function(a,c,d){a=this.hex_with_component(0,2,a);a=this.hex_with_component(a,1,c);return a=this.hex_with_component(a,0,d)},component_from_hex:function(a,c){return a>>c*8&255},hex_with_component:function(a,c,d){return d<<(e=c*8)|a&~(255<<e)}}}(),dat.color.toString,dat.utils.common),dat.color.interpret,dat.utils.common),dat.utils.requestAnimationFrame=function(){return window.webkitRequestAnimationFrame|| +window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){window.setTimeout(e,1E3/60)}}(),dat.dom.CenteredDiv=function(e,a){var c=function(){this.backgroundElement=document.createElement("div");a.extend(this.backgroundElement.style,{backgroundColor:"rgba(0,0,0,0.8)",top:0,left:0,display:"none",zIndex:"1000",opacity:0,WebkitTransition:"opacity 0.2s linear"});e.makeFullscreen(this.backgroundElement);this.backgroundElement.style.position="fixed";this.domElement= +document.createElement("div");a.extend(this.domElement.style,{position:"fixed",display:"none",zIndex:"1001",opacity:0,WebkitTransition:"-webkit-transform 0.2s ease-out, opacity 0.2s linear"});document.body.appendChild(this.backgroundElement);document.body.appendChild(this.domElement);var c=this;e.bind(this.backgroundElement,"click",function(){c.hide()})};c.prototype.show=function(){var c=this;this.backgroundElement.style.display="block";this.domElement.style.display="block";this.domElement.style.opacity= +0;this.domElement.style.webkitTransform="scale(1.1)";this.layout();a.defer(function(){c.backgroundElement.style.opacity=1;c.domElement.style.opacity=1;c.domElement.style.webkitTransform="scale(1)"})};c.prototype.hide=function(){var a=this,c=function(){a.domElement.style.display="none";a.backgroundElement.style.display="none";e.unbind(a.domElement,"webkitTransitionEnd",c);e.unbind(a.domElement,"transitionend",c);e.unbind(a.domElement,"oTransitionEnd",c)};e.bind(this.domElement,"webkitTransitionEnd", +c);e.bind(this.domElement,"transitionend",c);e.bind(this.domElement,"oTransitionEnd",c);this.backgroundElement.style.opacity=0;this.domElement.style.opacity=0;this.domElement.style.webkitTransform="scale(1.1)"};c.prototype.layout=function(){this.domElement.style.left=window.innerWidth/2-e.getWidth(this.domElement)/2+"px";this.domElement.style.top=window.innerHeight/2-e.getHeight(this.domElement)/2+"px"};return c}(dat.dom.dom,dat.utils.common),dat.dom.dom,dat.utils.common); \ No newline at end of file diff --git a/src/main/resources/static/js/earth/modernizr.min.js b/src/main/resources/static/js/earth/modernizr.min.js new file mode 100644 index 0000000..40dd2a9 --- /dev/null +++ b/src/main/resources/static/js/earth/modernizr.min.js @@ -0,0 +1 @@ +window.Modernizr=function(e,t,n){function r(e){b.cssText=e}function o(e,t){return r(S.join(e+";")+(t||""))}function a(e,t){return typeof e===t}function i(e,t){return!!~(""+e).indexOf(t)}function c(e,t){for(var r in e){var o=e[r];if(!i(o,"-")&&b[o]!==n)return"pfx"==t?o:!0}return!1}function s(e,t,r){for(var o in e){var i=t[e[o]];if(i!==n)return r===!1?e[o]:a(i,"function")?i.bind(r||t):i}return!1}function u(e,t,n){var r=e.charAt(0).toUpperCase()+e.slice(1),o=(e+" "+k.join(r+" ")+r).split(" ");return a(t,"string")||a(t,"undefined")?c(o,t):(o=(e+" "+T.join(r+" ")+r).split(" "),s(o,t,n))}function l(){p.input=function(n){for(var r=0,o=n.length;o>r;r++)j[n[r]]=!!(n[r]in E);return j.list&&(j.list=!(!t.createElement("datalist")||!e.HTMLDataListElement)),j}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),p.inputtypes=function(e){for(var r,o,a,i=0,c=e.length;c>i;i++)E.setAttribute("type",o=e[i]),r="text"!==E.type,r&&(E.value=x,E.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(o)&&E.style.WebkitAppearance!==n?(g.appendChild(E),a=t.defaultView,r=a.getComputedStyle&&"textfield"!==a.getComputedStyle(E,null).WebkitAppearance&&0!==E.offsetHeight,g.removeChild(E)):/^(search|tel)$/.test(o)||(r=/^(url|email)$/.test(o)?E.checkValidity&&E.checkValidity()===!1:E.value!=x)),P[e[i]]=!!r;return P}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var d,f,m="2.8.3",p={},h=!0,g=t.documentElement,v="modernizr",y=t.createElement(v),b=y.style,E=t.createElement("input"),x=":)",w={}.toString,S=" -webkit- -moz- -o- -ms- ".split(" "),C="Webkit Moz O ms",k=C.split(" "),T=C.toLowerCase().split(" "),N={svg:"http://www.w3.org/2000/svg"},M={},P={},j={},$=[],D=$.slice,F=function(e,n,r,o){var a,i,c,s,u=t.createElement("div"),l=t.body,d=l||t.createElement("body");if(parseInt(r,10))for(;r--;)c=t.createElement("div"),c.id=o?o[r]:v+(r+1),u.appendChild(c);return a=["­",'<style id="s',v,'">',e,"</style>"].join(""),u.id=v,(l?u:d).innerHTML+=a,d.appendChild(u),l||(d.style.background="",d.style.overflow="hidden",s=g.style.overflow,g.style.overflow="hidden",g.appendChild(d)),i=n(u,e),l?u.parentNode.removeChild(u):(d.parentNode.removeChild(d),g.style.overflow=s),!!i},z=function(t){var n=e.matchMedia||e.msMatchMedia;if(n)return n(t)&&n(t).matches||!1;var r;return F("@media "+t+" { #"+v+" { position: absolute; } }",function(t){r="absolute"==(e.getComputedStyle?getComputedStyle(t,null):t.currentStyle).position}),r},A=function(){function e(e,o){o=o||t.createElement(r[e]||"div"),e="on"+e;var i=e in o;return i||(o.setAttribute||(o=t.createElement("div")),o.setAttribute&&o.removeAttribute&&(o.setAttribute(e,""),i=a(o[e],"function"),a(o[e],"undefined")||(o[e]=n),o.removeAttribute(e))),o=null,i}var r={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return e}(),L={}.hasOwnProperty;f=a(L,"undefined")||a(L.call,"undefined")?function(e,t){return t in e&&a(e.constructor.prototype[t],"undefined")}:function(e,t){return L.call(e,t)},Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if("function"!=typeof t)throw new TypeError;var n=D.call(arguments,1),r=function(){if(this instanceof r){var o=function(){};o.prototype=t.prototype;var a=new o,i=t.apply(a,n.concat(D.call(arguments)));return Object(i)===i?i:a}return t.apply(e,n.concat(D.call(arguments)))};return r}),M.flexbox=function(){return u("flexWrap")},M.flexboxlegacy=function(){return u("boxDirection")},M.canvas=function(){var e=t.createElement("canvas");return!(!e.getContext||!e.getContext("2d"))},M.canvastext=function(){return!(!p.canvas||!a(t.createElement("canvas").getContext("2d").fillText,"function"))},M.webgl=function(){return!!e.WebGLRenderingContext},M.touch=function(){var n;return"ontouchstart"in e||e.DocumentTouch&&t instanceof DocumentTouch?n=!0:F(["@media (",S.join("touch-enabled),("),v,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(e){n=9===e.offsetTop}),n},M.geolocation=function(){return"geolocation"in navigator},M.postmessage=function(){return!!e.postMessage},M.websqldatabase=function(){return!!e.openDatabase},M.indexedDB=function(){return!!u("indexedDB",e)},M.hashchange=function(){return A("hashchange",e)&&(t.documentMode===n||t.documentMode>7)},M.history=function(){return!(!e.history||!history.pushState)},M.draganddrop=function(){var e=t.createElement("div");return"draggable"in e||"ondragstart"in e&&"ondrop"in e},M.websockets=function(){return"WebSocket"in e||"MozWebSocket"in e},M.rgba=function(){return r("background-color:rgba(150,255,150,.5)"),i(b.backgroundColor,"rgba")},M.hsla=function(){return r("background-color:hsla(120,40%,100%,.5)"),i(b.backgroundColor,"rgba")||i(b.backgroundColor,"hsla")},M.multiplebgs=function(){return r("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(b.background)},M.backgroundsize=function(){return u("backgroundSize")},M.borderimage=function(){return u("borderImage")},M.borderradius=function(){return u("borderRadius")},M.boxshadow=function(){return u("boxShadow")},M.textshadow=function(){return""===t.createElement("div").style.textShadow},M.opacity=function(){return o("opacity:.55"),/^0.55$/.test(b.opacity)},M.cssanimations=function(){return u("animationName")},M.csscolumns=function(){return u("columnCount")},M.cssgradients=function(){var e="background-image:",t="gradient(linear,left top,right bottom,from(#9f9),to(white));",n="linear-gradient(left top,#9f9, white);";return r((e+"-webkit- ".split(" ").join(t+e)+S.join(n+e)).slice(0,-e.length)),i(b.backgroundImage,"gradient")},M.cssreflections=function(){return u("boxReflect")},M.csstransforms=function(){return!!u("transform")},M.csstransforms3d=function(){var e=!!u("perspective");return e&&"webkitPerspective"in g.style&&F("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(t){e=9===t.offsetLeft&&3===t.offsetHeight}),e},M.csstransitions=function(){return u("transition")},M.fontface=function(){var e;return F('@font-face {font-family:"font";src:url("https://")}',function(n,r){var o=t.getElementById("smodernizr"),a=o.sheet||o.styleSheet,i=a?a.cssRules&&a.cssRules[0]?a.cssRules[0].cssText:a.cssText||"":"";e=/src/i.test(i)&&0===i.indexOf(r.split(" ")[0])}),e},M.generatedcontent=function(){var e;return F(["#",v,"{font:0/0 a}#",v,':after{content:"',x,'";visibility:hidden;font:3px/1 a}'].join(""),function(t){e=t.offsetHeight>=3}),e},M.video=function(){var e=t.createElement("video"),n=!1;try{(n=!!e.canPlayType)&&(n=new Boolean(n),n.ogg=e.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),n.h264=e.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),n.webm=e.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,""))}catch(r){}return n},M.audio=function(){var e=t.createElement("audio"),n=!1;try{(n=!!e.canPlayType)&&(n=new Boolean(n),n.ogg=e.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),n.mp3=e.canPlayType("audio/mpeg;").replace(/^no$/,""),n.wav=e.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),n.m4a=(e.canPlayType("audio/x-m4a;")||e.canPlayType("audio/aac;")).replace(/^no$/,""))}catch(r){}return n},M.localstorage=function(){try{return localStorage.setItem(v,v),localStorage.removeItem(v),!0}catch(e){return!1}},M.sessionstorage=function(){try{return sessionStorage.setItem(v,v),sessionStorage.removeItem(v),!0}catch(e){return!1}},M.webworkers=function(){return!!e.Worker},M.applicationcache=function(){return!!e.applicationCache},M.svg=function(){return!!t.createElementNS&&!!t.createElementNS(N.svg,"svg").createSVGRect},M.inlinesvg=function(){var e=t.createElement("div");return e.innerHTML="<svg/>",(e.firstChild&&e.firstChild.namespaceURI)==N.svg},M.smil=function(){return!!t.createElementNS&&/SVGAnimate/.test(w.call(t.createElementNS(N.svg,"animate")))},M.svgclippaths=function(){return!!t.createElementNS&&/SVGClipPath/.test(w.call(t.createElementNS(N.svg,"clipPath")))};for(var H in M)f(M,H)&&(d=H.toLowerCase(),p[d]=M[H](),$.push((p[d]?"":"no-")+d));return p.input||l(),p.addTest=function(e,t){if("object"==typeof e)for(var r in e)f(e,r)&&p.addTest(r,e[r]);else{if(e=e.toLowerCase(),p[e]!==n)return p;t="function"==typeof t?t():t,"undefined"!=typeof h&&h&&(g.className+=" "+(t?"":"no-")+e),p[e]=t}return p},r(""),y=E=null,function(e,t){function n(e,t){var n=e.createElement("p"),r=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x<style>"+t+"</style>",r.insertBefore(n.lastChild,r.firstChild)}function r(){var e=y.elements;return"string"==typeof e?e.split(" "):e}function o(e){var t=v[e[h]];return t||(t={},g++,e[h]=g,v[g]=t),t}function a(e,n,r){if(n||(n=t),l)return n.createElement(e);r||(r=o(n));var a;return a=r.cache[e]?r.cache[e].cloneNode():p.test(e)?(r.cache[e]=r.createElem(e)).cloneNode():r.createElem(e),!a.canHaveChildren||m.test(e)||a.tagUrn?a:r.frag.appendChild(a)}function i(e,n){if(e||(e=t),l)return e.createDocumentFragment();n=n||o(e);for(var a=n.frag.cloneNode(),i=0,c=r(),s=c.length;s>i;i++)a.createElement(c[i]);return a}function c(e,t){t.cache||(t.cache={},t.createElem=e.createElement,t.createFrag=e.createDocumentFragment,t.frag=t.createFrag()),e.createElement=function(n){return y.shivMethods?a(n,e,t):t.createElem(n)},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+r().join().replace(/[\w\-]+/g,function(e){return t.createElem(e),t.frag.createElement(e),'c("'+e+'")'})+");return n}")(y,t.frag)}function s(e){e||(e=t);var r=o(e);return!y.shivCSS||u||r.hasCSS||(r.hasCSS=!!n(e,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||c(e,r),e}var u,l,d="3.7.0",f=e.html5||{},m=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,h="_html5shiv",g=0,v={};!function(){try{var e=t.createElement("a");e.innerHTML="<xyz></xyz>",u="hidden"in e,l=1==e.childNodes.length||function(){t.createElement("a");var e=t.createDocumentFragment();return"undefined"==typeof e.cloneNode||"undefined"==typeof e.createDocumentFragment||"undefined"==typeof e.createElement}()}catch(n){u=!0,l=!0}}();var y={elements:f.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:d,shivCSS:f.shivCSS!==!1,supportsUnknownElements:l,shivMethods:f.shivMethods!==!1,type:"default",shivDocument:s,createElement:a,createDocumentFragment:i};e.html5=y,s(t)}(this,t),p._version=m,p._prefixes=S,p._domPrefixes=T,p._cssomPrefixes=k,p.mq=z,p.hasEvent=A,p.testProp=function(e){return c([e])},p.testAllProps=u,p.testStyles=F,p.prefixed=function(e,t,n){return t?u(e,t,n):u(e,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(h?" js "+$.join(" "):""),p}(this,this.document); \ No newline at end of file diff --git a/src/main/resources/static/js/earth/prefixfree.min.js b/src/main/resources/static/js/earth/prefixfree.min.js new file mode 100644 index 0000000..74916fe --- /dev/null +++ b/src/main/resources/static/js/earth/prefixfree.min.js @@ -0,0 +1,5 @@ +/** + * StyleFix 1.0.3 & PrefixFree 1.0.7 + * @author Lea Verou + * MIT license + */(function(){function t(e,t){return[].slice.call((t||document).querySelectorAll(e))}if(!window.addEventListener)return;var e=window.StyleFix={link:function(t){try{if(t.rel!=="stylesheet"||t.hasAttribute("data-noprefix"))return}catch(n){return}var r=t.href||t.getAttribute("data-href"),i=r.replace(/[^\/]+$/,""),s=t.parentNode,o=new XMLHttpRequest,u;o.onreadystatechange=function(){o.readyState===4&&u()};u=function(){var n=o.responseText;if(n&&t.parentNode&&(!o.status||o.status<400||o.status>600)){n=e.fix(n,!0,t);if(i){n=n.replace(/url\(\s*?((?:"|')?)(.+?)\1\s*?\)/gi,function(e,t,n){return/^([a-z]{3,10}:|\/|#)/i.test(n)?e:'url("'+i+n+'")'});var r=i.replace(/([\\\^\$*+[\]?{}.=!:(|)])/g,"\\$1");n=n.replace(RegExp("\\b(behavior:\\s*?url\\('?\"?)"+r,"gi"),"$1")}var u=document.createElement("style");u.textContent=n;u.media=t.media;u.disabled=t.disabled;u.setAttribute("data-href",t.getAttribute("href"));s.insertBefore(u,t);s.removeChild(t);u.media=t.media}};try{o.open("GET",r);o.send(null)}catch(n){if(typeof XDomainRequest!="undefined"){o=new XDomainRequest;o.onerror=o.onprogress=function(){};o.onload=u;o.open("GET",r);o.send(null)}}t.setAttribute("data-inprogress","")},styleElement:function(t){if(t.hasAttribute("data-noprefix"))return;var n=t.disabled;t.textContent=e.fix(t.textContent,!0,t);t.disabled=n},styleAttribute:function(t){var n=t.getAttribute("style");n=e.fix(n,!1,t);t.setAttribute("style",n)},process:function(){t('link[rel="stylesheet"]:not([data-inprogress])').forEach(StyleFix.link);t("style").forEach(StyleFix.styleElement);t("[style]").forEach(StyleFix.styleAttribute)},register:function(t,n){(e.fixers=e.fixers||[]).splice(n===undefined?e.fixers.length:n,0,t)},fix:function(t,n,r){for(var i=0;i<e.fixers.length;i++)t=e.fixers[i](t,n,r)||t;return t},camelCase:function(e){return e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()}).replace("-","")},deCamelCase:function(e){return e.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()})}};(function(){setTimeout(function(){t('link[rel="stylesheet"]').forEach(StyleFix.link)},10);document.addEventListener("DOMContentLoaded",StyleFix.process,!1)})()})();(function(e){function t(e,t,r,i,s){e=n[e];if(e.length){var o=RegExp(t+"("+e.join("|")+")"+r,"gi");s=s.replace(o,i)}return s}if(!window.StyleFix||!window.getComputedStyle)return;var n=window.PrefixFree={prefixCSS:function(e,r,i){var s=n.prefix;n.functions.indexOf("linear-gradient")>-1&&(e=e.replace(/(\s|:|,)(repeating-)?linear-gradient\(\s*(-?\d*\.?\d*)deg/ig,function(e,t,n,r){return t+(n||"")+"linear-gradient("+(90-r)+"deg"}));e=t("functions","(\\s|:|,)","\\s*\\(","$1"+s+"$2(",e);e=t("keywords","(\\s|:)","(\\s|;|\\}|$)","$1"+s+"$2$3",e);e=t("properties","(^|\\{|\\s|;)","\\s*:","$1"+s+"$2:",e);if(n.properties.length){var o=RegExp("\\b("+n.properties.join("|")+")(?!:)","gi");e=t("valueProperties","\\b",":(.+?);",function(e){return e.replace(o,s+"$1")},e)}if(r){e=t("selectors","","\\b",n.prefixSelector,e);e=t("atrules","@","\\b","@"+s+"$1",e)}e=e.replace(RegExp("-"+s,"g"),"-");e=e.replace(/-\*-(?=[a-z]+)/gi,n.prefix);return e},property:function(e){return(n.properties.indexOf(e)?n.prefix:"")+e},value:function(e,r){e=t("functions","(^|\\s|,)","\\s*\\(","$1"+n.prefix+"$2(",e);e=t("keywords","(^|\\s)","(\\s|$)","$1"+n.prefix+"$2$3",e);return e},prefixSelector:function(e){return e.replace(/^:{1,2}/,function(e){return e+n.prefix})},prefixProperty:function(e,t){var r=n.prefix+e;return t?StyleFix.camelCase(r):r}};(function(){var e={},t=[],r={},i=getComputedStyle(document.documentElement,null),s=document.createElement("div").style,o=function(n){if(n.charAt(0)==="-"){t.push(n);var r=n.split("-"),i=r[1];e[i]=++e[i]||1;while(r.length>3){r.pop();var s=r.join("-");u(s)&&t.indexOf(s)===-1&&t.push(s)}}},u=function(e){return StyleFix.camelCase(e)in s};if(i.length>0)for(var a=0;a<i.length;a++)o(i[a]);else for(var f in i)o(StyleFix.deCamelCase(f));var l={uses:0};for(var c in e){var h=e[c];l.uses<h&&(l={prefix:c,uses:h})}n.prefix="-"+l.prefix+"-";n.Prefix=StyleFix.camelCase(n.prefix);n.properties=[];for(var a=0;a<t.length;a++){var f=t[a];if(f.indexOf(n.prefix)===0){var p=f.slice(n.prefix.length);u(p)||n.properties.push(p)}}n.Prefix=="Ms"&&!("transform"in s)&&!("MsTransform"in s)&&"msTransform"in s&&n.properties.push("transform","transform-origin");n.properties.sort()})();(function(){function i(e,t){r[t]="";r[t]=e;return!!r[t]}var e={"linear-gradient":{property:"backgroundImage",params:"red, teal"},calc:{property:"width",params:"1px + 5%"},element:{property:"backgroundImage",params:"#foo"},"cross-fade":{property:"backgroundImage",params:"url(a.png), url(b.png), 50%"}};e["repeating-linear-gradient"]=e["repeating-radial-gradient"]=e["radial-gradient"]=e["linear-gradient"];var t={initial:"color","zoom-in":"cursor","zoom-out":"cursor",box:"display",flexbox:"display","inline-flexbox":"display",flex:"display","inline-flex":"display"};n.functions=[];n.keywords=[];var r=document.createElement("div").style;for(var s in e){var o=e[s],u=o.property,a=s+"("+o.params+")";!i(a,u)&&i(n.prefix+a,u)&&n.functions.push(s)}for(var f in t){var u=t[f];!i(f,u)&&i(n.prefix+f,u)&&n.keywords.push(f)}})();(function(){function s(e){i.textContent=e+"{}";return!!i.sheet.cssRules.length}var t={":read-only":null,":read-write":null,":any-link":null,"::selection":null},r={keyframes:"name",viewport:null,document:'regexp(".")'};n.selectors=[];n.atrules=[];var i=e.appendChild(document.createElement("style"));for(var o in t){var u=o+(t[o]?"("+t[o]+")":"");!s(u)&&s(n.prefixSelector(u))&&n.selectors.push(o)}for(var a in r){var u=a+" "+(r[a]||"");!s("@"+u)&&s("@"+n.prefix+u)&&n.atrules.push(a)}e.removeChild(i)})();n.valueProperties=["transition","transition-property"];e.className+=" "+n.prefix;StyleFix.register(n.prefixCSS)})(document.documentElement); diff --git a/src/main/resources/static/js/earth/script.js b/src/main/resources/static/js/earth/script.js new file mode 100644 index 0000000..6ac411f --- /dev/null +++ b/src/main/resources/static/js/earth/script.js @@ -0,0 +1,352 @@ +var config = { + percent: 0, + lat: 0, + lng: 0, + segX: 14, + segY: 12, + isHaloVisible: true, + isPoleVisible: true, + autoSpin: true, + zoom: 0, + + skipPreloaderAnimation: false, + + goToHongKong: function() { + goTo(22.28552,114.15769); + } +}; + +var stats; +var imgs; +var preloader; +var preloadPercent; +var globeDoms; +var vertices; + +var world; +var worldBg; +var globe; +var globeContainer; +var globePole; +var globeHalo; + +var pixelExpandOffset = 1.5; +var rX = 0; +var rY = 0; +var rZ = 0; +var sinRX; +var sinRY; +var sinRZ; +var cosRX; +var cosRY; +var cosRZ; +var dragX; +var dragY; +var dragLat; +var dragLng; + +var isMouseDown = false; +var isTweening = false; +var tick = 1; + +var URLS = { + bg: '', + diffuse: '../images/earth/css_globe_diffuse.jpg', + halo: '../images/earth/css_globe_halo.png', +}; + +var transformStyleName = PerspectiveTransform.transformStyleName; + +function init(ref) { + + world = document.querySelector('.world'); + worldBg = document.querySelector('.world-bg'); + worldBg.style.backgroundImage = 'url(' + URLS.bg + ')'; + globe = document.querySelector('.world-globe'); + globeContainer = document.querySelector('.world-globe-doms-container'); + globePole = document.querySelector('.world-globe-pole'); + globeHalo = document.querySelector('.world-globe-halo'); + globeHalo.style.backgroundImage = 'url(' + URLS.halo + ')'; + + + regenerateGlobe(); + + // var gui = new dat.GUI(); + // gui.add(config, 'lat', -90, 90).listen(); + // gui.add(config, 'lng', -180, 180).listen(); + // gui.add(config, 'isHaloVisible'); + // gui.add(config, 'isPoleVisible'); + // gui.add(config, 'autoSpin'); + // gui.add(config, 'goToHongKong'); + // gui.add(config, 'zoom', 0, 1).listen(); + + stats = new Stats(); + stats.domElement.style.position = 'absolute'; + stats.domElement.style.left = 0; + stats.domElement.style.top = 0; + stats.domElement.style.display="none" + document.body.appendChild( stats.domElement ); + + // events + world.ondragstart = function () {return false;}; + world.addEventListener('mousedown', onMouseDown); + world.addEventListener('mousemove', onMouseMove); + world.addEventListener('mouseup', onMouseUp); + world.addEventListener('touchstart', touchPass(onMouseDown)); + world.addEventListener('touchmove', touchPass(onMouseMove)); + world.addEventListener('touchend', touchPass(onMouseUp)); + + loop(); +} + +function touchPass(func) { + return function(evt) { + evt.preventDefault(); + func.call(this, {pageX: evt.changedTouches[0].pageX, pageY: evt.changedTouches[0].pageY}); + }; +} + +function onMouseDown(evt) { + isMouseDown = true; + dragX = evt.pageX; + dragY = evt.pageY; + dragLat = config.lat; + dragLng = config.lng; +} + +function onMouseMove(evt) { + if(isMouseDown) { + var dX = evt.pageX - dragX; + var dY = evt.pageY - dragY; + config.lat = clamp(dragLat + dY * 0.5, -90, 90); + config.lng = clampLng(dragLng - dX * 0.5, -180, 180); + } +} + +function onMouseUp(evt) { + if(isMouseDown) { + isMouseDown = false; + } +} + +function regenerateGlobe() { + var dom, domStyle; + var x, y; + globeDoms = []; + while (dom = globeContainer.firstChild) { + globeContainer.removeChild(dom); + } + + var segX = config.segX; + var segY = config.segY; + var diffuseImgBackgroundStyle = 'url(' + URLS.diffuse + ')'; + var segWidth = 1600 / segX | 0; + var segHeight = 800 / segY | 0; + + vertices = []; + + var verticesRow; + var radius = (536) / 2; + + var phiStart = 0; + var phiLength = Math.PI * 2; + + var thetaStart = 0; + var thetaLength = Math.PI; + + for ( y = 0; y <= segY; y ++ ) { + + verticesRow = []; + + for ( x = 0; x <= segX; x ++ ) { + + var u = x / segX; + var v = 0.05 + y / segY * (1 - 0.1); + + var vertex = { + x: - radius * Math.cos( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength ), + y: -radius * Math.cos( thetaStart + v * thetaLength ), + z: radius * Math.sin( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength ), + phi: phiStart + u * phiLength, + theta: thetaStart + v * thetaLength + }; + verticesRow.push( vertex ); + } + vertices.push( verticesRow ); + } + + for ( y = 0; y < segY; ++y ) { + for ( x = 0; x < segX; ++x ) { + dom = document.createElement('div'); + domStyle = dom.style; + domStyle.position = 'absolute'; + domStyle.width = segWidth + 'px'; + domStyle.height = segHeight + 'px'; + domStyle.overflow = 'hidden'; + domStyle[PerspectiveTransform.transformOriginStyleName] = '0 0'; + domStyle.backgroundImage = diffuseImgBackgroundStyle; + dom.perspectiveTransform = new PerspectiveTransform(dom , segWidth, segHeight); + dom.topLeft = vertices[ y ][ x ]; + dom.topRight = vertices[ y ][ x + 1]; + dom.bottomLeft = vertices[ y + 1 ][ x ]; + dom.bottomRight = vertices[ y + 1 ][ x + 1 ]; + domStyle.backgroundPosition = (-segWidth * x) + 'px ' + (-segHeight * y) + 'px'; + globeContainer.appendChild(dom); + globeDoms.push(dom); + } + } + +} + +function loop() { + requestAnimationFrame(loop); + stats.begin(); + render(); + stats.end(); +} + +function render() { + + if(config.autoSpin && !isMouseDown && !isTweening) { + config.lng = clampLng(config.lng - 0.2); + } + + rX = config.lat / 180 * Math. PI; + rY = (clampLng(config.lng) - 270) / 180 * Math. PI; + + globePole.style.display = config.isPoleVisible ? 'block' : 'none'; + globeHalo.style.display = config.isHaloVisible ? 'block' : 'none'; + + var ratio = Math.pow(config.zoom, 1.5); + pixelExpandOffset = 1.5 + (ratio) * -1.25; + ratio = 1 + ratio * 3; + globe.style[transformStyleName] = 'scale3d(' + ratio + ',' + ratio + ',1)'; + ratio = 1 + Math.pow(config.zoom, 3) * 0.3; + worldBg.style[transformStyleName] = 'scale3d(' + ratio + ',' + ratio + ',1)'; + + transformGlobe(); +} + +function clamp(x, min, max) { + return x < min ? min : x > max ? max : x; +} + +function clampLng(lng) { + return ((lng + 180) % 360) - 180; +} + +function transformGlobe() { + + var dom, perspectiveTransform; + var x, y, v1, v2, v3, v4, vertex, verticesRow, i, len; + if(tick ^= 1) { + sinRY = Math.sin(rY); + sinRX = Math.sin(-rX); + sinRZ = Math.sin(rZ); + cosRY = Math.cos(rY); + cosRX = Math.cos(-rX); + cosRZ = Math.cos(rZ); + + var segX = config.segX; + var segY = config.segY; + + for ( y = 0; y <= segY; y ++ ) { + verticesRow = vertices[y]; + for ( x = 0; x <= segX; x ++ ) { + rotate(vertex = verticesRow[x], vertex.x, vertex.y, vertex.z); + } + } + + for ( y = 0; y < segY; y ++ ) { + for ( x = 0; x < segX; x ++ ) { + dom = globeDoms[x + segX * y]; + + v1 = dom.topLeft; + v2 = dom.topRight; + v3 = dom.bottomLeft; + v4 = dom.bottomRight; + + expand(v1, v2); + expand(v2, v3); + expand(v3, v4); + expand(v4, v1); + + perspectiveTransform = dom.perspectiveTransform; + perspectiveTransform.topLeft.x = v1.tx; + perspectiveTransform.topLeft.y = v1.ty; + perspectiveTransform.topRight.x = v2.tx; + perspectiveTransform.topRight.y = v2.ty; + perspectiveTransform.bottomLeft.x = v3.tx; + perspectiveTransform.bottomLeft.y = v3.ty; + perspectiveTransform.bottomRight.x = v4.tx; + perspectiveTransform.bottomRight.y = v4.ty; + perspectiveTransform.hasError = perspectiveTransform.checkError(); + + if(!(perspectiveTransform.hasError = perspectiveTransform.checkError())) { + perspectiveTransform.calc(); + } + } + } + } else { + for ( i = 0, len = globeDoms.length; i < len; i ++ ) { + perspectiveTransform = globeDoms[i].perspectiveTransform; + if(!perspectiveTransform.hasError) { + perspectiveTransform.update(); + } else { + perspectiveTransform.style[transformStyleName] = 'translate3d(-8192px, 0, 0)'; + } + } + } +} + +function goTo(lat, lng) { + var dX = lat - config.lat; + var dY = lng - config.lng; + var roughDistance = Math.sqrt(dX * dX + dY * dY); + isTweening = true; + TweenMax.to(config, roughDistance * 0.01, {lat: lat, lng: lng, ease:'easeInOutSine'}); + TweenMax.to(config, 1, {delay: roughDistance * 0.01, zoom: 1, ease:'easeInOutSine', onComplete: function(){ + isTweening = false; + }}); +} + +function rotate(vertex, x, y, z) { + x0 = x * cosRY - z * sinRY; + z0 = z * cosRY + x * sinRY; + y0 = y * cosRX - z0 * sinRX; + z0 = z0 * cosRX + y * sinRX; + + var offset = 1 + (z0 / 4000); + x1 = x0 * cosRZ - y0 * sinRZ; + y0 = y0 * cosRZ + x0 * sinRZ; + + vertex.px = x1 * offset; + vertex.py = y0 * offset; +} + +// shameless stole and edited from threejs CanvasRenderer +function expand( v1, v2 ) { + + var x = v2.px - v1.px, y = v2.py - v1.py, + det = x * x + y * y, idet; + + if ( det === 0 ) { + v1.tx = v1.px; + v1.ty = v1.py; + v2.tx = v2.px; + v2.ty = v2.py; + return; + } + + idet = pixelExpandOffset / Math.sqrt( det ); + + x *= idet; y *= idet; + + v2.tx = v2.px + x; + v2.ty = v2.py + y; + v1.tx = v1.px - x; + v1.ty = v1.py - y; + +} + +init(); \ No newline at end of file diff --git a/src/main/resources/static/js/echarts.min.js b/src/main/resources/static/js/echarts.min.js new file mode 100644 index 0000000..d340686 --- /dev/null +++ b/src/main/resources/static/js/echarts.min.js @@ -0,0 +1,20 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ +(function(T,Ma){"object"===typeof exports&&"undefined"!==typeof module?Ma(exports):"function"===typeof define&&define.amd?define(["exports"],Ma):(T="undefined"!==typeof globalThis?globalThis:T||self,Ma(T.echarts={}))})(this,function(T){var Ma,Nh,Oh;function x(b,a){function c(){this.constructor=b}qk(b,a);b.prototype=null===a?Object.create(a):(c.prototype=a.prototype,new c)}function Pp(){for(var b=0,a=0,c=arguments.length;a<c;a++)b+=arguments[a].length;for(var b=Array(b),d=0,a=0;a<c;a++)for(var e=arguments[a],f=0,g=e.length;f<g;f++,d++)b[d]=e[f];return b}function cA(b,a){var c=a.browser,d=b.match(/Firefox\/([\d.]+)/),e=b.match(/MSIE\s([\d.]+)/)||b.match(/Trident\/.+?rv:(([\d.]+))/),f=b.match(/Edge?\/([\d.]+)/),g=/micromessenger/i.test(b);d&&(c.firefox=!0,c.version=d[1]);e&&(c.ie=!0,c.version=e[1]);f&&(c.edge=!0,c.version=f[1],c.newEdge=18<+f[1].split(".")[0]);g&&(c.weChat=!0);a.canvasSupported=!!document.createElement("canvas").getContext;a.svgSupported="undefined"!==typeof SVGRect;a.touchEventsSupported="ontouchstart"in window&&!c.ie&&!c.edge;a.pointerEventsSupported="onpointerdown"in window&&(c.edge||c.ie&&11<=+c.version);a.domSupported="undefined"!==typeof document}function yb(){for(var b=[],a=0;a<arguments.length;a++)b[a]=arguments[a];"undefined"!==typeof console&&console.error.apply(console,b)}function J(b){if(null==b||"object"!==typeof b)return b;var a=b,c=Fe.call(b);if("[object Array]"===c){if(!b[Cd])for(var a=[],c=0,d=b.length;c<d;c++)a[c]=J(b[c])}else if(Qp[c]){if(!b[Cd])if(a=b.constructor,a.from)a=a.from(b);else for(a=new a(b.length),c=0,d=b.length;c<d;c++)a[c]=J(b[c])}else if(!Rp[c]&&!b[Cd]&&!Dd(b))for(d in a={},b)b.hasOwnProperty(d)&&(a[d]=J(b[d]));return a}function U(b,a,c){if(!N(a)||!N(b))return c?J(a):b;for(var d in a)if(a.hasOwnProperty(d)){var e=b[d],f=a[d];!N(f)||!N(e)||A(f)||A(e)||Dd(f)||Dd(e)||rk(f)||rk(e)||f[Cd]||e[Cd]?!c&&d in b||(b[d]=J(a[d])):U(e,f,c)}return b}function Ph(b,a){for(var c=b[0],d=1,e=b.length;d<e;d++)c=U(c,b[d],a);return c}function F(b,a){if(Object.assign)Object.assign(b,a);else for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function K(b,a,c){for(var d=ia(a),e=0;e<d.length;e++){var f=d[e];if(c?null!=a[f]:null==b[f])b[f]=a[f]}return b}function ba(b,a){if(b){if(b.indexOf)return b.indexOf(a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c}return-1}function Qh(b,a){function c(){}var d=b.prototype;c.prototype=a.prototype;b.prototype=new c;for(var e in d)d.hasOwnProperty(e)&&(b.prototype[e]=d[e]);b.prototype.constructor=b;b.superClass=a}function wa(b,a,c){b="prototype"in b?b.prototype:b;a="prototype"in a?a.prototype:a;if(Object.getOwnPropertyNames)for(var d=Object.getOwnPropertyNames(a),e=0;e<d.length;e++){var f=d[e];"constructor"!==f&&(c?null!=a[f]:null==b[f])&&(b[f]=a[f])}else K(b,a,c)}function Xa(b){return b&&"string"!==typeof b?"number"===typeof b.length:!1}function r(b,a,c){if(b&&a)if(b.forEach&&b.forEach===dA)b.forEach(a,c);else if(b.length===+b.length)for(var d=0,e=b.length;d<e;d++)a.call(c,b[d],d,b);else for(d in b)b.hasOwnProperty(d)&&a.call(c,b[d],d,b)}function C(b,a,c){if(!b)return[];if(!a)return Nf(b);if(b.map&&b.map===eA)return b.map(a,c);for(var d=[],e=0,f=b.length;e<f;e++)d.push(a.call(c,b[e],e,b));return d}function Ed(b,a,c,d){if(b&&a){for(var e=0,f=b.length;e<f;e++)c=a.call(d,c,b[e],e,b);return c}}function ta(b,a,c){if(!b)return[];if(!a)return Nf(b);if(b.filter&&b.filter===fA)return b.filter(a,c);for(var d=[],e=0,f=b.length;e<f;e++)a.call(c,b[e],e,b)&&d.push(b[e]);return d}function Sp(b,a,c){if(b&&a)for(var d=0,e=b.length;d<e;d++)if(a.call(c,b[d],d,b))return b[d]}function ia(b){if(!b)return[];if(Object.keys)return Object.keys(b);var a=[],c;for(c in b)b.hasOwnProperty(c)&&a.push(c);return a}function gA(b,a){for(var c=[],d=2;d<arguments.length;d++)c[d-2]=arguments[d];return function(){return b.apply(a,c.concat(sk.call(arguments)))}}function P(b){for(var a=[],c=1;c<arguments.length;c++)a[c-1]=arguments[c];return function(){return b.apply(this,a.concat(sk.call(arguments)))}}function A(b){return Array.isArray?Array.isArray(b):"[object Array]"===Fe.call(b)}function fa(b){return"function"===typeof b}function da(b){return"string"===typeof b}function Of(b){return"[object String]"===Fe.call(b)}function Rh(b){return"number"===typeof b}function N(b){var a=typeof b;return"function"===a||!!b&&"object"===a}function rk(b){return!!Rp[Fe.call(b)]}function db(b){return!!Qp[Fe.call(b)]}function Dd(b){return"object"===typeof b&&"number"===typeof b.nodeType&&"object"===typeof b.ownerDocument}function Tp(b){return null!=b.colorStops}function Up(b){return null!=b.image}function tk(b){return"[object RegExp]"===Fe.call(b)}function Nc(b){return b!==b}function Ba(){for(var b=[],a=0;a<arguments.length;a++)b[a]=arguments[a];for(var a=0,c=b.length;a<c;a++)if(null!=b[a])return b[a]}function ka(b,a){return null!=b?b:a}function zb(b,a,c){return null!=b?b:null!=a?a:c}function Nf(b){for(var a=[],c=1;c<arguments.length;c++)a[c-1]=arguments[c];return sk.apply(b,a)}function Sh(b){if("number"===typeof b)return[b,b,b,b];var a=b.length;return 2===a?[b[0],b[1],b[0],b[1]]:3===a?[b[0],b[1],b[2],b[1]]:b}function O(b,a){if(!b)throw Error(a);}function Va(b){return null==b?null:"function"===typeof b.trim?b.trim():b.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}function Ge(b){b[Cd]=!0}function R(b){return new Vp(b)}function uk(b,a){for(var c=new b.constructor(b.length+a.length),d=0;d<b.length;d++)c[d]=b[d];for(var e=b.length,d=0;d<a.length;d++)c[d+e]=a[d];return c}function He(b,a){var c;Object.create?c=Object.create(b):(c=function(){},c.prototype=b,c=new c);a&&F(c,a);return c}function hc(){}function Oc(b,a){null==b&&(b=0);null==a&&(a=0);return[b,a]}function Na(b,a){b[0]=a[0];b[1]=a[1];return b}function ic(b){return[b[0],b[1]]}function Wp(b,a,c){b[0]=a;b[1]=c;return b}function vk(b,a,c){b[0]=a[0]+c[0];b[1]=a[1]+c[1];return b}function Th(b,a,c,d){b[0]=a[0]+c[0]*d;b[1]=a[1]+c[1]*d;return b}function Pc(b,a,c){b[0]=a[0]-c[0];b[1]=a[1]-c[1];return b}function Pf(b){return Math.sqrt(wk(b))}function wk(b){return b[0]*b[0]+b[1]*b[1]}function Uh(b,a,c){b[0]=a[0]*c;b[1]=a[1]*c;return b}function Ie(b,a){var c=Pf(a);0===c?(b[0]=0,b[1]=0):(b[0]=a[0]/c,b[1]=a[1]/c);return b}function Qf(b,a){return Math.sqrt((b[0]-a[0])*(b[0]-a[0])+(b[1]-a[1])*(b[1]-a[1]))}function Xp(b,a){return(b[0]-a[0])*(b[0]-a[0])+(b[1]-a[1])*(b[1]-a[1])}function Rf(b,a,c,d){b[0]=a[0]+d*(c[0]-a[0]);b[1]=a[1]+d*(c[1]-a[1]);return b}function Qa(b,a,c){var d=a[0];a=a[1];b[0]=c[0]*d+c[2]*a+c[4];b[1]=c[1]*d+c[3]*a+c[5];return b}function Qc(b,a,c){b[0]=Math.min(a[0],c[0]);b[1]=Math.min(a[1],c[1]);return b}function Rc(b,a,c){b[0]=Math.max(a[0],c[0]);b[1]=Math.max(a[1],c[1]);return b}function xk(b,a,c,d,e,f){var g=d+"-"+e,h=b.length;if(f.hasOwnProperty(g))return f[g];if(1===a)return b[c][Math.round(Math.log((1<<h)-1&~e)/hA)];for(var k=d|1<<c,l=c+1;d&1<<l;)l++;for(var m=d=0,n=0;m<h;m++){var p=1<<m;p&e||(d+=(n%2?-1:1)*b[c][m]*xk(b,a-1,l,k,e|p,f),n++)}return f[g]=d}function Yp(b,a){var c=[[b[0],b[1],1,0,0,0,-a[0]*b[0],-a[0]*b[1]],[0,0,0,b[0],b[1],1,-a[1]*b[0],-a[1]*b[1]],[b[2],b[3],1,0,0,0,-a[2]*b[2],-a[2]*b[3]],[0,0,0,b[2],b[3],1,-a[3]*b[2],-a[3]*b[3]],[b[4],b[5],1,0,0,0,-a[4]*b[4],-a[4]*b[5]],[0,0,0,b[4],b[5],1,-a[5]*b[4],-a[5]*b[5]],[b[6],b[7],1,0,0,0,-a[6]*b[6],-a[6]*b[7]],[0,0,0,b[6],b[7],1,-a[7]*b[6],-a[7]*b[7]]],d={},e=xk(c,8,0,0,0,d);if(0!==e){for(var f=[],g=0;8>g;g++)for(var h=0;8>h;h++)null==f[h]&&(f[h]=0),f[h]+=((g+h)%2?-1:1)*xk(c,7,0===g?1:0,1<<g,1<<h,d)/e*a[g];return function(c,a,d){var b=a*f[6]+d*f[7]+1;c[0]=(a*f[0]+d*f[1]+f[2])/b;c[1]=(a*f[3]+d*f[4]+f[5])/b}}}function yk(b,a,c,d,e){if(a.getBoundingClientRect&&X.domSupported&&"CANVAS"!==a.nodeName.toUpperCase()){var f=a.___zrEVENTSAVED||(a.___zrEVENTSAVED={});var g=f.markers;if(!g)for(var g=f.markers=[],h=["left","right"],k=["top","bottom"],l=0;4>l;l++){var m=document.createElement("div"),n=l%2,p=(l>>1)%2;m.style.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",h[n]+":0",k[p]+":0",h[1-n]+":auto",k[1-p]+":auto",""].join("!important;");a.appendChild(m);g.push(m)}a=g;g=e?"invTrans":"trans";h=f[g];k=f.srcCoords;l=[];m=[];n=!0;for(p=0;4>p;p++){var q=a[p].getBoundingClientRect(),t=2*p,u=q.left,q=q.top;l.push(u,q);n=n&&k&&u===k[t]&&q===k[t+1];m.push(a[p].offsetLeft,a[p].offsetTop)}if(e=n&&h?h:(f.srcCoords=l,f[g]=e?Yp(m,l):Yp(l,m)))return e(b,c,d),!0}return!1}function zk(b,a,c,d){c=c||{};d||!X.canvasSupported?Zp(b,a,c):X.browser.firefox&&null!=a.layerX&&a.layerX!==a.offsetX?(c.zrX=a.layerX,c.zrY=a.layerY):null!=a.offsetX?(c.zrX=a.offsetX,c.zrY=a.offsetY):Zp(b,a,c);return c}function Zp(b,a,c){if(X.domSupported&&b.getBoundingClientRect){var d=a.clientX;a=a.clientY;if("CANVAS"===b.nodeName.toUpperCase()){b=b.getBoundingClientRect();c.zrX=d-b.left;c.zrY=a-b.top;return}if(yk(Ak,b,d,a)){c.zrX=Ak[0];c.zrY=Ak[1];return}}c.zrX=c.zrY=0}function Ab(b,a,c){a=a||window.event;if(null!=a.zrX)return a;var d=a.type;d&&0<=d.indexOf("touch")?(d="touchend"!==d?a.targetTouches[0]:a.changedTouches[0])&&zk(b,d,a,c):(zk(b,a,a,c),b=a.wheelDelta,b||(c=a.deltaX,d=a.deltaY,b=null==c||null==d?b:3*(0!==d?Math.abs(d):Math.abs(c))*(0<d?-1:0>d?1:0<c?-1:1)),a.zrDelta=b?b/120:-(a.detail||0)/3);b=a.button;null==a.which&&void 0!==b&&iA.test(a.type)&&(a.which=b&1?1:b&2?3:b&4?2:0);return a}function Bk(b,a,c,d){Ck?b.addEventListener(a,c,d):b.attachEvent("on"+a,c)}function $p(b){var a=b[1][0]-b[0][0];b=b[1][1]-b[0][1];return Math.sqrt(a*a+b*b)}function jA(){Bc(this.event)}function aq(b,a,c){b=b.painter;return 0>a||a>b.getWidth()||0>c||c>b.getHeight()}function nb(){return[1,0,0,1,0,0]}function Sc(b){b[0]=1;b[1]=0;b[2]=0;b[3]=1;b[4]=0;b[5]=0;return b}function Je(b,a){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];return b}function Fd(b,a,c){var d=a[1]*c[0]+a[3]*c[1],e=a[0]*c[2]+a[2]*c[3],f=a[1]*c[2]+a[3]*c[3],g=a[0]*c[4]+a[2]*c[5]+a[4],h=a[1]*c[4]+a[3]*c[5]+a[5];b[0]=a[0]*c[0]+a[2]*c[1];b[1]=d;b[2]=e;b[3]=f;b[4]=g;b[5]=h;return b}function Rb(b,a,c){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4]+c[0];b[5]=a[5]+c[1];return b}function Tc(b,a,c){var d=a[0],e=a[2],f=a[4],g=a[1],h=a[3];a=a[5];var k=Math.sin(c);c=Math.cos(c);b[0]=d*c+g*k;b[1]=-d*k+g*c;b[2]=e*c+h*k;b[3]=-e*k+c*h;b[4]=c*f+k*a;b[5]=c*a-k*f;return b}function Vh(b,a,c){var d=c[0];c=c[1];b[0]=a[0]*d;b[1]=a[1]*c;b[2]=a[2]*d;b[3]=a[3]*c;b[4]=a[4]*d;b[5]=a[5]*c;return b}function Ke(b,a){var c=a[0],d=a[2],e=a[4],f=a[1],g=a[3],h=a[5],k=c*g-f*d;if(!k)return null;k=1/k;b[0]=g*k;b[1]=-f*k;b[2]=-d*k;b[3]=c*k;b[4]=(d*h-g*e)*k;b[5]=(f*e-c*h)*k;return b}function bq(b){var a=nb();Je(a,b);return a}function Gd(b){return 5E-5<b||-5E-5>b}function Sb(b){b=Math.round(b);return 0>b?0:255<b?255:b}function Sf(b){return 0>b?0:1<b?1:b}function Dk(b){return b.length&&"%"===b.charAt(b.length-1)?Sb(parseFloat(b)/100*255):Sb(parseInt(b,10))}function Le(b){return b.length&&"%"===b.charAt(b.length-1)?Sf(parseFloat(b)/100):Sf(parseFloat(b))}function Ek(b,a,c){0>c?c+=1:1<c&&--c;return 1>6*c?b+(a-b)*c*6:1>2*c?a:2>3*c?b+(a-b)*(2/3-c)*6:b}function Uc(b,a,c){return b+(a-b)*c}function Bb(b,a,c,d,e){b[0]=a;b[1]=c;b[2]=d;b[3]=e;return b}function Fk(b,a){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b}function Me(b,a){Wh&&Fk(Wh,a);Wh=cq.put(b,Wh||a.slice())}function eb(b,a){if(b){a=a||[];var c=cq.get(b);if(c)return Fk(a,c);b+="";c=b.replace(/ /g,"").toLowerCase();if(c in dq)return Fk(a,dq[c]),Me(b,a),a;var d=c.length;if("#"===c.charAt(0)){if(4===d||5===d){var e=parseInt(c.slice(1,4),16);if(!(0<=e&&4095>=e)){Bb(a,0,0,0,1);return}Bb(a,(e&3840)>>4|(e&3840)>>8,e&240|(e&240)>>4,e&15|(e&15)<<4,5===d?parseInt(c.slice(4),16)/15:1);Me(b,a);return a}if(7===d||9===d){e=parseInt(c.slice(1,7),16);if(0<=e&&16777215>=e)return Bb(a,(e&16711680)>>16,(e&65280)>>8,e&255,9===d?parseInt(c.slice(7),16)/255:1),Me(b,a),a;Bb(a,0,0,0,1)}}else{var e=c.indexOf("("),f=c.indexOf(")");if(-1!==e&&f+1===d)switch(d=c.substr(0,e),c=c.substr(e+1,f-(e+1)).split(","),e=1,d){case "rgba":if(4!==c.length)return 3===c.length?Bb(a,+c[0],+c[1],+c[2],1):Bb(a,0,0,0,1);e=Le(c.pop());case "rgb":if(3!==c.length){Bb(a,0,0,0,1);return}Bb(a,Dk(c[0]),Dk(c[1]),Dk(c[2]),e);Me(b,a);return a;case "hsla":if(4!==c.length){Bb(a,0,0,0,1);return}c[3]=Le(c[3]);Gk(c,a);Me(b,a);return a;case "hsl":if(3!==c.length){Bb(a,0,0,0,1);return}Gk(c,a);Me(b,a);return a;default:return}Bb(a,0,0,0,1)}}}function Gk(b,a){var c=(parseFloat(b[0])%360+360)%360/360,d=Le(b[1]),e=Le(b[2]),d=.5>=e?e*(d+1):e+d-e*d,e=2*e-d;a=a||[];Bb(a,Sb(255*Ek(e,d,c+1/3)),Sb(255*Ek(e,d,c)),Sb(255*Ek(e,d,c-1/3)),1);4===b.length&&(a[3]=b[3]);return a}function Hk(b,a){var c=eb(b);if(c){for(var d=0;3>d;d++)c[d]=0>a?c[d]*(1-a)|0:(255-c[d])*a+c[d]|0,255<c[d]?c[d]=255:0>c[d]&&(c[d]=0);return Tb(c,4===c.length?"rgba":"rgb")}}function Ik(b){if(b=eb(b))return(16777216+(b[0]<<16)+(b[1]<<8)+ +b[2]).toString(16).slice(1)}function Tf(b,a,c){if(a&&a.length&&0<=b&&1>=b){c=c||[];var d=b*(a.length-1),e=Math.floor(d);b=a[e];a=a[Math.ceil(d)];d-=e;c[0]=Sb(Uc(b[0],a[0],d));c[1]=Sb(Uc(b[1],a[1],d));c[2]=Sb(Uc(b[2],a[2],d));c[3]=Sf(Uc(b[3],a[3],d));return c}}function eq(b,a,c){if(a&&a.length&&0<=b&&1>=b){b*=a.length-1;var d=Math.floor(b),e=Math.ceil(b),f=eb(a[d]);a=eb(a[e]);var g=b-d,f=Tb([Sb(Uc(f[0],a[0],g)),Sb(Uc(f[1],a[1],g)),Sb(Uc(f[2],a[2],g)),Sf(Uc(f[3],a[3],g))],"rgba");return c?{color:f,leftIndex:d,rightIndex:e,value:b}:f}}function Ne(b,a,c,d){var e=eb(b);if(b){if(e){b=e[0]/255;var f=e[1]/255,g=e[2]/255,h=Math.min(b,f,g),k=Math.max(b,f,g),l=k-h,m=(k+h)/2,n;if(0===l)h=n=0;else{var h=.5>m?l/(k+h):l/(2-k-h),p=((k-b)/6+l/2)/l,q=((k-f)/6+l/2)/l,l=((k-g)/6+l/2)/l;b===k?n=l-q:f===k?n=1/3+p-l:g===k&&(n=2/3+q-p);0>n&&(n+=1);1<n&&--n}n=[360*n,h,m];null!=e[3]&&n.push(e[3]);e=n}else e=void 0;null!=a&&(a=Math.round(a),e[0]=0>a?0:360<a?360:a);null!=c&&(e[1]=Le(c));null!=d&&(e[2]=Le(d));return Tb(Gk(e),"rgba")}}function Uf(b,a){var c=eb(b);if(c&&null!=a)return c[3]=Sf(a),Tb(c,"rgba")}function Tb(b,a){if(b&&b.length){var c=b[0]+","+b[1]+","+b[2];if("rgba"===a||"hsva"===a||"hsla"===a)c+=","+b[3];return a+"("+c+")"}}function Vf(b,a){var c=eb(b);return c?(.299*c[0]+.587*c[1]+.114*c[2])*c[3]/255+(1-c[3])*a:0}function Xh(b,a,c){return(a-b)*c+b}function fq(b,a,c,d){for(var e=a.length,f=0;f<e;f++)b[f]=Xh(a[f],c[f],d)}function Yh(b,a,c,d){for(var e=a.length,f=0;f<e;f++)b[f]=a[f]+c[f]*d;return b}function gq(b,a,c,d){for(var e=a.length,f=e&&a[0].length,g=0;g<e;g++){b[g]||(b[g]=[]);for(var h=0;h<f;h++)b[g][h]=a[g][h]+c[g][h]*d}return b}function kA(b,a,c){if(b.push&&a.push){var d=b.length,e=a.length;if(d!==e)if(d>e)b.length=e;else for(;d<e;d++)b.push(1===c?a[d]:Jk.call(a[d]));e=b[0]&&b[0].length;for(d=0;d<b.length;d++)if(1===c)isNaN(b[d])&&(b[d]=a[d]);else for(var f=0;f<e;f++)isNaN(b[d][f])&&(b[d][f]=a[d][f])}}function hq(b,a){var c=b.length;if(c!==a.length)return!1;for(var d=0;d<c;d++)if(b[d]!==a[d])return!1;return!0}function Zh(b,a,c,d,e,f,g){b=.5*(c-b);d=.5*(d-a);return(2*(a-c)+b+d)*g+(-3*(a-c)-2*b-d)*f+b*e+a}function Wf(b){if(Xa(b)){var a=b.length;if(Xa(b[0])){for(var c=[],d=0;d<a;d++)c.push(Jk.call(b[d]));return c}return Jk.call(b)}return b}function Xf(b){b[0]=Math.floor(b[0]);b[1]=Math.floor(b[1]);b[2]=Math.floor(b[2]);return"rgba("+b.join(",")+")"}function Ya(b,a){a=a||"12px sans-serif";var c=iq[a];c||(c=iq[a]=new Yf(500));var d=c.get(b);null==d&&(d=lA.measureText(b,a).width,c.put(b,d));return d}function jq(b,a,c,d){b=Ya(b,a);a=Ya("\u56fd",a);c=Zf(0,b,c);d=Oe(0,a,d);return new aa(c,d,b,a)}function $f(b,a,c,d){b=((b||"")+"").split("\n");if(1===b.length)return jq(b[0],a,c,d);for(var e=new aa(0,0,0,0),f=0;f<b.length;f++){var g=jq(b[f],a,c,d);0===f?e.copy(g):e.union(g)}return e}function Zf(b,a,c){"right"===c?b-=a:"center"===c&&(b-=a/2);return b}function Oe(b,a,c){"middle"===c?b-=a/2:"bottom"===c&&(b-=a);return b}function Ub(b,a){return"string"===typeof b?0<=b.lastIndexOf("%")?parseFloat(b)/100*a:parseFloat(b):b}function kq(b,a,c){var d=a.position||"inside";a=null!=a.distance?a.distance:5;var e=c.height,f=c.width,g=e/2,h=c.x,k=c.y,l="left",m="top";if(d instanceof Array)h+=Ub(d[0],c.width),k+=Ub(d[1],c.height),m=l=null;else switch(d){case "left":h-=a;k+=g;l="right";m="middle";break;case "right":h+=a+f;k+=g;m="middle";break;case "top":h+=f/2;k-=a;l="center";m="bottom";break;case "bottom":h+=f/2;k+=e+a;l="center";break;case "inside":h+=f/2;k+=g;l="center";m="middle";break;case "insideLeft":h+=a;k+=g;m="middle";break;case "insideRight":h+=f-a;k+=g;l="right";m="middle";break;case "insideTop":h+=f/2;k+=a;l="center";break;case "insideBottom":h+=f/2;k+=e-a;l="center";m="bottom";break;case "insideTopLeft":h+=a;k+=a;break;case "insideTopRight":h+=f-a;k+=a;l="right";break;case "insideBottomLeft":h+=a;k+=e-a;m="bottom";break;case "insideBottomRight":h+=f-a,k+=e-a,l="right",m="bottom"}b=b||{};b.x=h;b.y=k;b.align=l;b.verticalAlign=m;return b}function Kk(b,a,c,d,e){c=c||{};var f=[];lq(b,"",b,a,c,d,f,e);var g=f.length,h=!1,k=c.done,l=c.aborted;b=function(){h=!0;g--;0>=g&&(h?k&&k():l&&l())};a=function(){g--;0>=g&&(h?k&&k():l&&l())};g||k&&k();0<f.length&&c.during&&f[0].during(function(a,d){c.during(d)});for(d=0;d<f.length;d++)e=f[d],b&&e.done(b),a&&e.aborted(a),e.start(c.easing,c.force);return f}function Lk(b,a,c){for(var d=0;d<c;d++)b[d]=a[d]}function lq(b,a,c,d,e,f,g,h){for(var k=[],l=[],m=ia(d),n=e.duration,p=e.delay,q=e.additive,t=e.setToFinal,u=!N(f),w=0;w<m.length;w++){var v=m[w];null!=c[v]&&null!=d[v]&&(u||f[v])?N(d[v])&&!Xa(d[v])?a?h||(c[v]=d[v],b.updateDuringAnimation(a)):lq(b,v,c[v],d[v],e,f&&f[v],g,h):(k.push(v),l.push(v)):h||(c[v]=d[v],b.updateDuringAnimation(a),l.push(v))}f=k.length;if(0<f||e.force&&!g.length){w=b.animators;m=[];for(u=0;u<w.length;u++)w[u].targetName===a&&m.push(w[u]);if(!q&&m.length)for(u=0;u<m.length;u++)if(m[u].stopTracks(l)){var z=ba(w,m[u]);w.splice(z,1)}z=w=l=void 0;if(h)for(w={},t&&(l={}),u=0;u<f;u++)v=k[u],w[v]=c[v],t?l[v]=d[v]:c[v]=d[v];else if(t)for(z={},u=0;u<f;u++){v=k[u];z[v]=Wf(c[v]);var B=c,y=d,L=v;if(Xa(y[L]))if(Xa(B[L])||(B[L]=[]),db(y[L]))v=y[L].length,B[L].length!==v&&(B[L]=new y[L].constructor(v),Lk(B[L],y[L],v));else{v=y[L];B=B[L];y=v.length;if(Xa(v[0]))for(var L=v[0].length,D=0;D<y;D++)B[D]?Lk(B[D],v[D],L):B[D]=Array.prototype.slice.call(v[D]);else Lk(B,v,y);B.length=v.length}else B[L]=y[L]}c=new Mk(c,!1,q?m:null);c.targetName=a;e.scope&&(c.scope=e.scope);t&&l&&c.whenWithKeys(0,l,k);z&&c.whenWithKeys(0,z,k);c.whenWithKeys(null==n?500:n,h?w:d,k).delay(p||0);b.addAnimator(c,a);g.push(c)}}function mq(b,a,c,d){var e=a+1;if(e===c)return 1;if(0>d(b[e++],b[a])){for(;e<c&&0>d(b[e],b[e-1]);)e++;c=a;d=e;for(d--;c<d;){var f=b[c];b[c++]=b[d];b[d--]=f}}else for(;e<c&&0<=d(b[e],b[e-1]);)e++;return e-a}function nq(b,a,c,d,e){for(d===a&&d++;d<c;d++){for(var f=b[d],g=a,h=d,k;g<h;)k=g+h>>>1,0>e(f,b[k])?h=k:g=k+1;h=d-g;switch(h){case 3:b[g+3]=b[g+2];case 2:b[g+2]=b[g+1];case 1:b[g+1]=b[g];break;default:for(;0<h;)b[g+h]=b[g+h-1],h--}b[g]=f}}function Nk(b,a,c,d,e,f){var g=0,h=1;if(0<f(b,a[c+e])){for(d-=e;h<d&&0<f(b,a[c+e+h]);)g=h,h=(h<<1)+1,0>=h&&(h=d);h>d&&(h=d);g+=e;h+=e}else{for(d=e+1;h<d&&0>=f(b,a[c+e-h]);)g=h,h=(h<<1)+1,0>=h&&(h=d);h>d&&(h=d);d=g;g=e-h;h=e-d}for(g++;g<h;)e=g+(h-g>>>1),0<f(b,a[c+e])?g=e+1:h=e;return h}function Ok(b,a,c,d,e,f){var g=0,h=1;if(0>f(b,a[c+e])){for(d=e+1;h<d&&0>f(b,a[c+e-h]);)g=h,h=(h<<1)+1,0>=h&&(h=d);h>d&&(h=d);d=g;g=e-h;h=e-d}else{for(d-=e;h<d&&0<=f(b,a[c+e+h]);)g=h,h=(h<<1)+1,0>=h&&(h=d);h>d&&(h=d);g+=e;h+=e}for(g++;g<h;)e=g+(h-g>>>1),0>f(b,a[c+e])?h=e:g=e+1;return h}function mA(b,a){function c(c){var k=e[c],m=f[c],n=e[c+1],p=f[c+1];f[c]=m+p;c===g-3&&(e[c+1]=e[c+2],f[c+1]=f[c+2]);g--;c=Ok(b[n],b,k,m,0,a);k+=c;m-=c;if(0!==m&&(p=Nk(b[k+m-1],b,n,p,p-1,a),0!==p))if(m<=p){for(var q=k,k=m,m=p,p=0;p<k;p++)h[p]=b[q+p];c=0;b[q++]=b[n++];if(0===--m)for(p=0;p<k;p++)b[q+p]=h[c+p];else if(1===k){for(p=0;p<m;p++)b[q+p]=b[n+p];b[q+m]=h[c]}else{for(var t=d,u,w,v;;){w=u=0;v=!1;do if(0>a(b[n],h[c])){if(b[q++]=b[n++],w++,u=0,0===--m){v=!0;break}}else if(b[q++]=h[c++],u++,w=0,1===--k){v=!0;break}while((u|w)<t);if(v)break;do{u=Ok(b[n],h,c,k,0,a);if(0!==u){for(p=0;p<u;p++)b[q+p]=h[c+p];q+=u;c+=u;k-=u;if(1>=k){v=!0;break}}b[q++]=b[n++];if(0===--m){v=!0;break}w=Nk(h[c],b,n,m,0,a);if(0!==w){for(p=0;p<w;p++)b[q+p]=b[n+p];q+=w;n+=w;m-=w;if(0===m){v=!0;break}}b[q++]=h[c++];if(1===--k){v=!0;break}t--}while(7<=u||7<=w);if(v)break;0>t&&(t=0);t+=2}d=t;1>d&&(d=1);if(1===k){for(p=0;p<m;p++)b[q+p]=b[n+p];b[q+m]=h[c]}else{if(0===k)throw Error();for(p=0;p<k;p++)b[q+p]=h[c+p]}}}else{for(c=0;c<p;c++)h[c]=b[n+c];q=k+m-1;t=p-1;n=n+p-1;b[n--]=b[q--];if(0===--m)for(u=n-(p-1),c=0;c<p;c++)b[u+c]=h[c];else if(1===p){n-=m;w=n+1;u=q-m+1;for(c=m-1;0<=c;c--)b[w+c]=b[u+c];b[n]=h[t]}else{for(v=d;;){var z=0,B=0,y=!1;do if(0>a(h[t],b[q])){if(b[n--]=b[q--],z++,B=0,0===--m){y=!0;break}}else if(b[n--]=h[t--],B++,z=0,1===--p){y=!0;break}while((z|B)<v);if(y)break;do{z=m-Ok(h[t],b,k,m,m-1,a);if(0!==z){n-=z;q-=z;m-=z;w=n+1;u=q+1;for(c=z-1;0<=c;c--)b[w+c]=b[u+c];if(0===m){y=!0;break}}b[n--]=h[t--];if(1===--p){y=!0;break}B=p-Nk(b[q],h,0,p,p-1,a);if(0!==B){n-=B;t-=B;p-=B;w=n+1;u=t+1;for(c=0;c<B;c++)b[w+c]=h[u+c];if(1>=p){y=!0;break}}b[n--]=b[q--];if(0===--m){y=!0;break}v--}while(7<=z||7<=B);if(y)break;0>v&&(v=0);v+=2}d=v;1>d&&(d=1);if(1===p){n-=m;w=n+1;u=q-m+1;for(c=m-1;0<=c;c--)b[w+c]=b[u+c];b[n]=h[t]}else{if(0===p)throw Error();u=n-(p-1);for(c=0;c<p;c++)b[u+c]=h[c]}}}}var d=7,e,f,g=0,h=[];e=[];f=[];return{mergeRuns:function(){for(;1<g;){var a=g-2;if(1<=a&&f[a-1]<=f[a]+f[a+1]||2<=a&&f[a-2]<=f[a]+f[a-1])f[a-1]<f[a+1]&&a--;else if(f[a]>f[a+1])break;c(a)}},forceMergeRuns:function(){for(;1<g;){var a=g-2;0<a&&f[a-1]<f[a+1]&&a--;c(a)}},pushRun:function(c,a){e[g]=c;f[g]=a;g+=1}}}function Pk(b,a,c,d){c||(c=0);d||(d=b.length);var e=d-c;if(!(2>e)){var f;if(32>e)f=mq(b,c,d,a),nq(b,c,d,c+f,a);else{var g=mA(b,a),h;f=e;for(h=0;32<=f;)h|=f&1,f>>=1;h=f+h;do{f=mq(b,c,d,a);if(f<h){var k=e;k>h&&(k=h);nq(b,c,c+k,c+f,a);f=k}g.pushRun(c,f);g.mergeRuns();e-=f;c+=f}while(0!==e);g.forceMergeRuns()}}}function Qk(){oq||(oq=!0,console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))}function pq(b,a){return b.zlevel===a.zlevel?b.z===a.z?b.z2-a.z2:b.z-a.z:b.zlevel-a.zlevel}function Rk(b){b=b.pointerType;return"pen"===b||"touch"===b}function nA(b){b.touching=!0;null!=b.touchTimer&&(clearTimeout(b.touchTimer),b.touchTimer=null);b.touchTimer=setTimeout(function(){b.touching=!1;b.touchTimer=null},700)}function qq(b,a){for(var c=a,d=!1;c&&9!==c.nodeType&&!(d=c.domBelongToZr||c!==a&&c===b.painterRoot);)c=c.parentNode;return d}function oA(b,a){var c=a.domHandlers;X.pointerEventsSupported?r(Sk.pointer,function(d){$h(a,d,function(a){c[d].call(b,a)})}):(X.touchEventsSupported&&r(Sk.touch,function(d){$h(a,d,function(e){c[d].call(b,e);nA(a)})}),r(Sk.mouse,function(d){$h(a,d,function(e){e=e||window.event;a.touching||c[d].call(b,e)})}))}function pA(b,a){function c(c){$h(a,c,function(d){d=d||window.event;qq(b,d.target)||(d=Ab(b.dom,new qA(b,d),!0),a.domHandlers[c].call(b,d))},{capture:!0})}X.pointerEventsSupported?r(rq.pointer,c):X.touchEventsSupported||r(rq.mouse,c)}function $h(b,a,c,d){b.mounted[a]=c;b.listenerOpts[a]=d;Bk(b.domTarget,a,c,d)}function Tk(b){var a=b.mounted,c;for(c in a)if(a.hasOwnProperty(c)){var d=b.domTarget,e=c,f=a[c];Ck?d.removeEventListener(e,f,b.listenerOpts[c]):d.detachEvent("on"+e,f)}b.mounted={}}function rA(b){if(!b)return!1;if("string"===typeof b)return.4>Vf(b,1);if(b.colorStops){b=b.colorStops;for(var a=0,c=b.length,d=0;d<c;d++)a+=Vf(b[d].color,1);return.4>a/c}return!1}function Uk(b,a){var c=new sA(Vk++,b,a);return Hd[c.id]=c}function ga(b,a,c,d){var e=a[1]-a[0],f=c[1]-c[0];if(0===e)return 0===f?c[0]:(c[0]+c[1])/2;if(d)if(0<e){if(b<=a[0])return c[0];if(b>=a[1])return c[1]}else{if(b>=a[0])return c[0];if(b<=a[1])return c[1]}else{if(b===a[0])return c[0];if(b===a[1])return c[1]}return(b-a[0])/e*f+c[0]}function H(b,a){switch(b){case "center":case "middle":b="50%";break;case "left":case "top":b="0%";break;case "right":case "bottom":b="100%"}return"string"===typeof b?b.replace(/^\s+|\s+$/g,"").match(/%$/)?parseFloat(b)/100*a:parseFloat(b):null==b?NaN:+b}function sa(b,a,c){null==a&&(a=10);a=Math.min(Math.max(0,a),20);b=(+b).toFixed(a);return c?b:+b}function Cb(b){b.sort(function(a,c){return a-c});return b}function sq(b){b=+b;if(isNaN(b))return 0;for(var a=1,c=0;Math.round(b*a)/a!==b;)a*=10,c++;return c}function Db(b){b=b.toString();var a=b.indexOf("e");if(0<a)return b=+b.slice(a+1),0>b?-b:0;a=b.indexOf(".");return 0>a?0:b.length-1-a}function Wk(b,a){var c=Math.log,d=Math.LN10,e=Math.floor(c(b[1]-b[0])/d),c=Math.round(c(Math.abs(a[1]-a[0]))/d),e=Math.min(Math.max(-e+c,0),20);return isFinite(e)?e:20}function tq(b,a,c){if(!b[a])return 0;var d=Ed(b,function(c,a){return c+(isNaN(a)?0:a)},0);if(0===d)return 0;var e=Math.pow(10,c),f=C(b,function(c){return(isNaN(c)?0:c)/d*e*100});b=100*e;var g=C(f,function(c){return Math.floor(c)});c=Ed(g,function(c,a){return c+a},0);for(f=C(f,function(c,a){return c-g[a]});c<b;){for(var h=Number.NEGATIVE_INFINITY,k=null,l=0,m=f.length;l<m;++l)f[l]>h&&(h=f[l],k=l);++g[k];f[k]=0;++c}return g[a]/e}function Xk(b){var a=2*Math.PI;return(b%a+a)%a}function ag(b){return-1E-4<b&&1E-4>b}function qb(b){if(b instanceof Date)return b;if("string"===typeof b){b=tA.exec(b);if(!b)return new Date(NaN);if(b[8]){var a=+b[4]||0;"Z"!==b[8].toUpperCase()&&(a-=+b[8].slice(0,3));return new Date(Date.UTC(+b[1],+(b[2]||1)-1,+b[3]||1,a,+(b[5]||0),+b[6]||0,+b[7]||0))}return new Date(+b[1],+(b[2]||1)-1,+b[3]||1,+b[4]||0,+(b[5]||0),+b[6]||0,+b[7]||0)}return null==b?new Date(NaN):new Date(Math.round(b))}function uq(b){return Math.pow(10,Yk(b))}function Yk(b){if(0===b)return 0;var a=Math.floor(Math.log(b)/Math.LN10);10<=b/Math.pow(10,a)&&a++;return a}function Zk(b,a){var c=Yk(b),d=Math.pow(10,c),e=b/d;b=(a?1.5>e?1:2.5>e?2:4>e?3:7>e?5:10:1>e?1:2>e?2:3>e?3:5>e?5:10)*d;return-20<=c?+b.toFixed(0>c?-c:0):b}function ai(b,a){var c=(b.length-1)*a+1,d=Math.floor(c),e=+b[d-1];return(c-=d)?e+c*(b[d]-e):e}function $k(b){function a(c,d,b){return c.interval[b]<d.interval[b]||c.interval[b]===d.interval[b]&&(c.close[b]-d.close[b]===(b?-1:1)||!b&&a(c,d,1))}b.sort(function(c,d){return a(c,d,0)?-1:1});for(var c=-Infinity,d=1,e=0;e<b.length;){for(var f=b[e].interval,g=b[e].close,h=0;2>h;h++)f[h]<=c&&(f[h]=c,g[h]=h?1:1-d),c=f[h],d=g[h];f[0]===f[1]&&1!==g[0]*g[1]?b.splice(e,1):e++}return b}function jc(b){var a=parseFloat(b);return a==b&&(0!==a||"string"!==typeof b||0>=b.indexOf("x"))?a:NaN}function bi(b){return!isNaN(jc(b))}function vq(b,a){return 0===a?b:vq(a,b%a)}function wq(b,a){return null==b?a:null==a?b:b*a/vq(b,a)}function Pe(b){ci&&console.warn("[ECharts] "+b)}function Vb(b){!xq[b]&&ci&&(xq[b]=!0,console.warn("[ECharts] DEPRECATED: "+b))}function Sa(b,a,c){Vb((c?"["+c+"]":"")+(b+" is deprecated, use "+a+" instead."))}function uA(){for(var b=[],a=0;a<arguments.length;a++)b[a]=arguments[a];"undefined"!==typeof console&&console.log&&console.log.apply(console,b)}function gb(){for(var b=[],a=0;a<arguments.length;a++)b[a]=arguments[a];var a="",c=function(c){return void 0===c?"undefined":Infinity===c?"Infinity":-Infinity===c?"-Infinity":Nc(c)?"NaN":c instanceof Date?"Date("+c.toISOString()+")":fa(c)?"function () { ... }":tk(c)?c+"":null};return a=C(b,function(a){if(da(a))return a;var d=c(a);if(null!=d)return d;if("undefined"!==typeof JSON&&JSON.stringify)try{return JSON.stringify(a,function(a,d){var b=c(d);return null==b?d:b})}catch(f){return"?"}else return"?"}).join(" ")}function ja(b){throw Error(b);}function xa(b){return b instanceof Array?b:null==b?[]:[b]}function Id(b,a,c){if(b){b[a]=b[a]||{};b.emphasis=b.emphasis||{};b.emphasis[a]=b.emphasis[a]||{};for(var d=0,e=c.length;d<e;d++){var f=c[d];!b.emphasis[a].hasOwnProperty(f)&&b[a].hasOwnProperty(f)&&(b.emphasis[a][f]=b[a][f])}}}function bg(b){return!N(b)||A(b)||b instanceof Date?b:b.value}function yq(b,a,c){var d="normalMerge"===c,e="replaceMerge"===c,f="replaceAll"===c;b=b||[];a=(a||[]).slice();var g=R();r(a,function(c,d){N(c)?(null==c.id||zq(c.id)||Aq(c.id),null==c.name||zq(c.name)||Aq(c.name)):a[d]=null});c=vA(b,g,c);(d||e)&&wA(c,b,g,a);d&&xA(c,a);d||e?yA(c,a,e):f&&zA(c,a);AA(c);return c}function vA(b,a,c){var d=[];if("replaceAll"===c)return d;for(var e=0;e<b.length;e++){var f=b[e];f&&null!=f.id&&a.set(f.id,e);d.push({existing:"replaceMerge"===c||Qe(f)?null:f,newOption:null,keyInfo:null,brandNew:null})}return d}function wA(b,a,c,d){r(d,function(e,f){if(e&&null!=e.id){var g=cg(e.id),h=c.get(g);if(null!=h){var k=b[h];O(!k.newOption,'Duplicated option on id "'+g+'".');k.newOption=e;k.existing=a[h];d[f]=null}}})}function xA(b,a){r(a,function(c,d){if(c&&null!=c.name)for(var e=0;e<b.length;e++){var f=b[e].existing;if(!(b[e].newOption||!f||null!=f.id&&null!=c.id||Qe(c)||Qe(f))&&Bq("name",f,c)){b[e].newOption=c;a[d]=null;break}}})}function yA(b,a,c){r(a,function(a){if(a){for(var d,f=0;(d=b[f])&&(d.newOption||Qe(d.existing)||d.existing&&null!=a.id&&!Bq("id",a,d.existing));)f++;d?(d.newOption=a,d.brandNew=c):b.push({newOption:a,brandNew:c,existing:null,keyInfo:null})}})}function zA(b,a){r(a,function(c){b.push({newOption:c,brandNew:!0,existing:null,keyInfo:null})})}function AA(b){var a=R();r(b,function(c){var d=c.existing;d&&a.set(d.id,c)});r(b,function(c){var d=c.newOption;O(!d||null==d.id||!a.get(d.id)||a.get(d.id)===c,"id duplicates: "+(d&&d.id));d&&null!=d.id&&a.set(d.id,c);!c.keyInfo&&(c.keyInfo={})});r(b,function(c,d){var b=c.existing,f=c.newOption,g=c.keyInfo;if(N(f)){g.name=null!=f.name?cg(f.name):b?b.name:"series\x00"+d;if(b)g.id=cg(b.id);else if(null!=f.id)g.id=cg(f.id);else{b=0;do g.id="\x00"+g.name+"\x00"+b++;while(a.get(g.id))}a.set(g.id,c)}})}function Bq(b,a,c){a=Ea(a[b],null);b=Ea(c[b],null);return null!=a&&null!=b&&a===b}function cg(b){if(null==b)throw Error();return Ea(b,"")}function Ea(b,a){if(null==b)return a;var c=typeof b;return"string"===c?b:"number"===c||Of(b)?b+"":a}function Aq(b){Pe("`"+b+"` is invalid id or name. Must be a string or number.")}function zq(b){return Of(b)||bi(b)}function al(b){b=b.name;return!(!b||!b.indexOf("series\x00"))}function Qe(b){return b&&null!=b.id&&0===cg(b.id).indexOf("\x00_ec_\x00")}function BA(b,a,c){r(b,function(d){var b=d.newOption;if(N(b)){d.keyInfo.mainType=a;var f=d.keyInfo;d=d.existing;b=b.type?b.type:d?d.subType:c.determineSubType(a,b);f.subType=b}})}function CA(b,a){function c(c,a,d){for(var b=0,e=c.length;b<e;b++){var f=Ea(c[b].seriesId,null);if(null==f)break;for(var g=xa(c[b].dataIndex),h=d&&d[f],k=0,u=g.length;k<u;k++){var w=g[k];h&&h[w]?h[w]=null:(a[f]||(a[f]={}))[w]=1}}}function d(c,a){var b=[],e;for(e in c)if(c.hasOwnProperty(e)&&null!=c[e])if(a)b.push(+e);else{var f=d(c[e],!0);f.length&&b.push({seriesId:e,dataIndex:f})}return b}var e={},f={};c(b||[],e);c(a||[],f,e);return[d(e),d(f)]}function Jd(b,a){if(null!=a.dataIndexInside)return a.dataIndexInside;if(null!=a.dataIndex)return A(a.dataIndex)?C(a.dataIndex,function(c){return b.indexOfRawIndex(c)}):b.indexOfRawIndex(a.dataIndex);if(null!=a.name)return A(a.name)?C(a.name,function(c){return b.indexOfName(c)}):b.indexOfName(a.name)}function ma(){var b="__ec_inner_"+DA++;return function(a){return a[b]||(a[b]={})}}function Vc(b,a,c){if(da(a)){var d={};d[a+"Index"]=0;a=d}var e=R(),f={},g=!1;r(a,function(a,d){if("dataIndex"===d||"dataIndexInside"===d)f[d]=a;else{var b=d.match(/^(\w+)(Index|Id|Name)$/)||[],h=b[1],b=(b[2]||"").toLowerCase();!h||!b||c&&c.includeMainTypes&&0>ba(c.includeMainTypes,h)||(g=g||!!h,(e.get(h)||e.set(h,{}))[b]=a)}});var h=c?c.defaultMainType:null;!g&&h&&e.set(h,{});e.each(function(a,d){var e=di(b,d,a,{useDefault:h===d,enableAll:c&&null!=c.enableAll?c.enableAll:!0,enableNone:c&&null!=c.enableNone?c.enableNone:!0});f[d+"Models"]=e.models;f[d+"Model"]=e.models[0]});return f}function di(b,a,c,d){d=d||Da;var e=c.index,f=c.id,g=c.name;c={models:null,specified:null!=e||null!=f||null!=g};if(!c.specified)return e=void 0,c.models=d.useDefault&&(e=b.getComponent(a))?[e]:[],c;if("none"===e||!1===e)return O(d.enableNone,'`"none"` or `false` is not a valid value on index option.'),c.models=[],c;"all"===e&&(O(d.enableAll,'`"all"` is not a valid value on index option.'),e=f=g=null);c.models=b.queryComponents({mainType:a,index:e,id:f,name:g});return c}function Cq(b,a,c){b.setAttribute?b.setAttribute(a,c):b[a]=c}function bl(b,a){var c=R(),d=[];r(b,function(b){var e=a(b);(c.get(e)||(d.push(e),c.set(e,[]))).push(b)});return{keys:d,buckets:c}}function Dq(b,a,c,d,e){var f=null==a||"auto"===a;if(null==d)return d;if("number"===typeof d){var g=Xh(c||0,d,e);return sa(g,f?Math.max(Db(c||0),Db(d)):a)}if("string"===typeof d)return 1>e?c:d;for(var h=[],k=Math.max(c?c.length:0,d.length),l=0;l<k;++l)if("ordinal"===b.getDimensionInfo(l).type)h[l]=(1>e&&c?c:d)[l];else{var m=c&&c[l]?c[l]:0,n=d[l],g=(n-m)*e+m;h[l]=sa(g,f?Math.max(Db(m),Db(n)):a)}return h}function kc(b){var a={main:"",sub:""};b&&(b=b.split("."),a.main=b[0]||"",a.sub=b[1]||"");return a}function cl(b,a){b.$constructor=b;b.extend=function(c){function d(){for(var a=[],e=0;e<arguments.length;e++)a[e]=arguments[e];if(c.$constructor)c.$constructor.apply(this,arguments);else{if("function"===typeof b&&/^class\s/.test(Function.prototype.toString.call(b)))return He(d.prototype,new (b.bind.apply(b,Pp([void 0],a))));b.apply(this,arguments)}}r(a,function(a){c[a]||console.warn("Method `"+a+"` should be implemented"+(c.type?" in "+c.type:"")+".")});var b=this;d.___EC__EXTENDED_CLASS___=!0;F(d.prototype,c);d.extend=this.extend;d.superCall=EA;d.superApply=FA;Qh(d,this);d.superClass=b;return d}}function EA(b,a){for(var c=[],d=2;d<arguments.length;d++)c[d-2]=arguments[d];return this.superClass.prototype[a].apply(b,c)}function FA(b,a,c){return this.superClass.prototype[a].apply(b,c)}function ei(b){var a={};b.registerClass=function(c){var d=c.type||c.prototype.type;if(d)if(O(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(d),'componentType "'+d+'" illegal'),c.prototype.type=d,d=kc(d),!d.sub)a[d.main]&&console.warn(d.main+" exists."),a[d.main]=c;else if("___EC__COMPONENT__CONTAINER___"!==d.sub){var b=a[d.main];b&&b.___EC__COMPONENT__CONTAINER___||(b=a[d.main]={},b.___EC__COMPONENT__CONTAINER___=!0);b[d.sub]=c}return c};b.getClass=function(c,d,b){var e=a[c];e&&e.___EC__COMPONENT__CONTAINER___&&(e=d?e[d]:null);if(b&&!e)throw Error(d?"Component "+c+"."+(d||"")+" not exists. Load it first.":c+".type should be specified.");return e};b.getClassesByMainType=function(c){c=kc(c);var d=[];(c=a[c.main])&&c.___EC__COMPONENT__CONTAINER___?r(c,function(c,a){"___EC__COMPONENT__CONTAINER___"!==a&&d.push(c)}):d.push(c);return d};b.hasClass=function(c){c=kc(c);return!!a[c.main]};b.getAllClassMainTypes=function(){var c=[];r(a,function(a,b){c.push(b)});return c};b.hasSubTypes=function(c){c=kc(c);return(c=a[c.main])&&c.___EC__COMPONENT__CONTAINER___}}function Kd(b,a){for(var c=0;c<b.length;c++)b[c][1]||(b[c][1]=b[c][0]);a=a||!1;return function(c,e,f){for(var d={},h=0;h<b.length;h++){var k=b[h][1];e&&0<=ba(e,k)||f&&0>ba(f,k)||(k=c.getShallow(k,a),null!=k&&(d[b[h][0]]=k))}return d}}function dl(b,a,c,d,e){if(b){if("string"===typeof b){if(a&&a.__zrImageSrc===b||!c)return a;var f=el.get(b);c={hostEl:c,cb:d,cbPayload:e};f?(a=f.image)&&a.width&&a.height||f.pending.push(c):(a=new Image,a.onload=a.onerror=GA,el.put(b,a.__cachedImgObj={image:a,pending:[c]}),a.src=a.__zrImageSrc=b);return a}return b}return a}function GA(){var b=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var a=0;a<b.pending.length;a++){var c=b.pending[a],d=c.cb;d&&d(this,c.cbPayload);c.hostEl.dirty()}b.pending.length=0}function Eq(b,a,c,d,e){if(!a)return"";b=(b+"").split("\n");e=Fq(a,c,d,e);a=0;for(c=b.length;a<c;a++)b[a]=Gq(b[a],e);return b.join("\n")}function Fq(b,a,c,d){d=d||{};var e=F({},d);e.font=a;c=ka(c,"...");e.maxIterations=ka(d.maxIterations,2);var f=e.minChar=ka(d.minChar,0);e.cnCharWidth=Ya("\u56fd",a);var g=e.ascCharWidth=Ya("a",a);e.placeholder=ka(d.placeholder,"");d=b=Math.max(0,b-1);for(var h=0;h<f&&d>=g;h++)d-=g;a=Ya(c,a);a>d&&(c="",a=0);e.ellipsis=c;e.ellipsisWidth=a;e.contentWidth=b-a;e.containerWidth=b;return e}function Gq(b,a){var c=a.containerWidth,d=a.font,e=a.contentWidth;if(!c)return"";var f=Ya(b,d);if(f<=c)return b;for(c=0;;c++){if(f<=e||c>=a.maxIterations){b+=a.ellipsis;break}if(0===c){for(var f=b,g=e,h=a.ascCharWidth,k=a.cnCharWidth,l=0,m=0,n=f.length;m<n&&l<g;m++)var p=f.charCodeAt(m),l=l+(0<=p&&127>=p?h:k);f=m}else f=0<f?Math.floor(b.length*e/f):0;b=b.substr(0,f);f=Ya(b,d)}""===b&&(b=a.placeholder);return b}function fl(b,a,c,d,e){var f=""===a,g=e&&c.rich[e]||{};b=b.lines;c=g.font||c.font;var h=!1,k,l;if(d){var m=g.padding,m=m?m[1]+m[3]:0;if(null!=g.width&&"auto"!==g.width){var n;n=g.width;var p=d.width;n="string"===typeof n?0<=n.lastIndexOf("%")?parseFloat(n)/100*p:parseFloat(n):n;m=n+m;0<b.length&&m+d.accumWidth>d.width&&(k=a.split("\n"),h=!0);d.accumWidth=m}else k=Hq(a,c,d.width,d.breakAll,d.accumWidth),d.accumWidth=k.accumWidth+m,l=k.linesWidths,k=k.lines}else k=a.split("\n");for(d=0;d<k.length;d++)a=k[d],m=new HA,m.styleName=e,m.text=a,m.isLineHolder=!a&&!f,m.width="number"===typeof g.width?g.width:l?l[d]:Ya(a,c),d||h?b.push(new Iq([m])):(n=(b[b.length-1]||(b[0]=new Iq)).tokens,p=n.length,1===p&&n[0].isLineHolder?n[0]=m:(a||!p||f)&&n.push(m))}function Hq(b,a,c,d,e){for(var f=[],g=[],h="",k="",l=0,m=0,n=0;n<b.length;n++){var p=b.charAt(n);if("\n"===p)k&&(h+=k,m+=l),f.push(h),g.push(m),k=h="",m=l=0;else{var q=Ya(p,a),t;if(d)t=!1;else{t=p;var u=t.charCodeAt(0);t=33<=u&&255>=u?IA[t]?!0:!1:!0;t=!t}if(f.length?m+q>c:e+m+q>c)if(!m)t?(f.push(k),g.push(l),k=p,l=q):(f.push(p),g.push(q));else{if(h||k)t?(h||(h=k,k="",m=l=0),f.push(h),g.push(m-l),k+=p,l+=q,h="",m=l):(k&&(h+=k,m+=l,k="",l=0),f.push(h),g.push(m),h=p,m=q)}else m+=q,t?(k+=p,l+=q):(k&&(h+=k,k="",l=0),h+=p)}}f.length||h||(h=b,k="");k&&(h+=k);h&&(f.push(h),g.push(m));1===f.length&&(m+=e);return{accumWidth:m,lines:f,linesWidths:g}}function Oa(b,a,c,d,e){var f=1-e;return f*f*(f*b+3*e*a)+e*e*(e*d+3*f*c)}function Jq(b,a,c,d,e){var f=1-e;return 3*(((a-b)*f+2*(c-a)*e)*f+(d-c)*e*e)}function gl(b,a,c,d,e,f){d=d+3*(a-c)-b;c=3*(c-2*a+b);var g=3*(a-b),h=b-e;e=c*c-3*d*g;a=c*g-9*d*h;b=0;if(-1E-8<e&&1E-8>e&&-1E-8<a&&1E-8>a)-1E-8<c&&1E-8>c?f[0]=0:(e=-g/c,0<=e&&1>=e&&(f[b++]=e));else if(g=a*a-4*e*(g*g-3*c*h),-1E-8<g&&1E-8>g)a/=e,e=-c/d+a,a=-a/2,0<=e&&1>=e&&(f[b++]=e),0<=a&&1>=a&&(f[b++]=a);else if(0<g)h=Wc(g),g=e*c+1.5*d*(-a+h),e=e*c+1.5*d*(-a-h),g=0>g?-fi(-g,gi):fi(g,gi),e=0>e?-fi(-e,gi):fi(e,gi),e=(-c-(g+e))/(3*d),0<=e&&1>=e&&(f[b++]=e);else{a=(2*e*c-3*d*a)/(2*Wc(e*e*e));var g=Math.acos(a)/3,h=Wc(e),k=Math.cos(g);e=(-c-2*h*k)/(3*d);a=(-c+h*(k+Kq*Math.sin(g)))/(3*d);d=(-c+h*(k-Kq*Math.sin(g)))/(3*d);0<=e&&1>=e&&(f[b++]=e);0<=a&&1>=a&&(f[b++]=a);0<=d&&1>=d&&(f[b++]=d)}return b}function Lq(b,a,c,d,e){var f=6*c-12*a+6*b;c=9*a+3*d-3*b-9*c;a=3*a-3*b;b=0;if(-1E-8<c&&1E-8>c){if(1E-8<f||-1E-8>f)a=-a/f,0<=a&&1>=a&&(e[b++]=a)}else a=f*f-4*c*a,-1E-8<a&&1E-8>a?e[0]=-f/(2*c):0<a&&(d=Wc(a),a=(-f+d)/(2*c),f=(-f-d)/(2*c),0<=a&&1>=a&&(e[b++]=a),0<=f&&1>=f&&(e[b++]=f));return b}function Re(b,a,c,d,e,f){var g=(a-b)*e+b,h=(c-a)*e+a;c=(d-c)*e+c;a=(h-g)*e+g;h=(c-h)*e+h;e=(h-a)*e+a;f[0]=b;f[1]=g;f[2]=a;f[3]=e;f[4]=e;f[5]=h;f[6]=c;f[7]=d}function Mq(b,a,c,d,e,f,g,h,k,l,m){var n,p=.005,q=Infinity,t;lc[0]=k;lc[1]=l;for(k=0;1>k;k+=.05)Eb[0]=Oa(b,c,e,g,k),Eb[1]=Oa(a,d,f,h,k),l=Xc(lc,Eb),l<q&&(n=k,q=l);for(var q=Infinity,u=0;32>u&&!(1E-4>p);u++)t=n-p,k=n+p,Eb[0]=Oa(b,c,e,g,t),Eb[1]=Oa(a,d,f,h,t),l=Xc(Eb,lc),0<=t&&l<q?(n=t,q=l):(Se[0]=Oa(b,c,e,g,k),Se[1]=Oa(a,d,f,h,k),l=Xc(Se,lc),1>=k&&l<q?(n=k,q=l):p*=.5);m&&(m[0]=Oa(b,c,e,g,n),m[1]=Oa(a,d,f,h,n));return Wc(q)}function Za(b,a,c,d){var e=1-d;return e*(e*b+2*d*a)+d*d*c}function hi(b,a,c,d){return 2*((1-d)*(a-b)+d*(c-a))}function Nq(b,a,c){c=b+c-2*a;return 0===c?.5:(b-a)/c}function Yc(b,a,c,d,e){var f=(a-b)*d+b;a=(c-a)*d+a;d=(a-f)*d+f;e[0]=b;e[1]=f;e[2]=d;e[3]=d;e[4]=a;e[5]=c}function Oq(b,a,c,d,e,f,g,h,k){var l,m=.005,n=Infinity;lc[0]=g;lc[1]=h;for(h=0;1>h;h+=.05)Eb[0]=Za(b,c,e,h),Eb[1]=Za(a,d,f,h),g=Xc(lc,Eb),g<n&&(l=h,n=g);n=Infinity;for(h=0;32>h&&!(1E-4>m);h++){var p=l-m,q=l+m;Eb[0]=Za(b,c,e,p);Eb[1]=Za(a,d,f,p);g=Xc(Eb,lc);0<=p&&g<n?(l=p,n=g):(Se[0]=Za(b,c,e,q),Se[1]=Za(a,d,f,q),g=Xc(Se,lc),1>=q&&g<n?(l=q,n=g):m*=.5)}k&&(k[0]=Za(b,c,e,l),k[1]=Za(a,d,f,l));return Wc(n)}function hl(b,a,c){if(0!==b.length){for(var d=b[0],e=d[0],f=d[0],g=d[1],h=d[1],k=1;k<b.length;k++)d=b[k],e=$a(e,d[0]),f=Ta(f,d[0]),g=$a(g,d[1]),h=Ta(h,d[1]);a[0]=e;a[1]=g;c[0]=f;c[1]=h}}function Pq(b,a){var c=Math.round(b[0]/Ld*1E8)/1E8%2*Ld;0>c&&(c+=Zc);var d=b[1],d=d+(c-b[0]);!a&&d-c>=Zc?d=c+Zc:a&&c-d>=Zc?d=c-Zc:!a&&c>d?d=c+(Zc-Math.round((c-d)/Ld*1E8)/1E8%2*Ld):a&&c<d&&(d=c-(Zc-Math.round((d-c)/Ld*1E8)/1E8%2*Ld));b[0]=c;b[1]=d}function $c(b,a,c,d,e,f,g){if(0===e)return!1;var h;if(g>a+e&&g>d+e||g<a-e&&g<d-e||f>b+e&&f>c+e||f<b-e&&f<c-e)return!1;if(b!==c)h=(a-d)/(b-c);else return Math.abs(f-b)<=e/2;b=h*f-g+(b*d-c*a)/(b-c);return b*b/(h*h+1)<=e/2*e/2}function Qq(b,a,c,d,e,f,g,h,k){return 0===g||k>a+g&&k>d+g&&k>f+g||k<a-g&&k<d-g&&k<f-g||h>b+g&&h>c+g&&h>e+g||h<b-g&&h<c-g&&h<e-g?!1:Oq(b,a,c,d,e,f,h,k,null)<=g/2}function ad(b){b%=Rq;0>b&&(b+=Rq);return b}function Cc(b,a,c,d,e,f){if(f>a&&f>d||f<a&&f<d||d===a)return 0;var g=(f-a)/(d-a);f=d<a?1:-1;if(1===g||0===g)f=d<a?.5:-.5;b=g*(c-b)+b;return b===e?Infinity:b>e?f:0}function Sq(b,a,c,d,e){for(var f=b.data,g=b.len(),h=0,k=0,l=0,m=0,n=0,p,q,t=0;t<g;){var u=f[t++],w=1===t;u===bd.M&&1<t&&(c||(h+=Cc(k,l,m,n,d,e)));w&&(k=f[t],l=f[t+1],m=k,n=l);switch(u){case bd.M:m=f[t++];n=f[t++];k=m;l=n;break;case bd.L:if(c){if($c(k,l,f[t],f[t+1],a,d,e))return!0}else h+=Cc(k,l,f[t],f[t+1],d,e)||0;k=f[t++];l=f[t++];break;case bd.C:if(c){var v;var z=f[t++],B=f[t++],y=f[t++],L=f[t++],D=f[t],r=f[t+1];if(0===a)v=!1;else{var E=a;v=e>l+E&&e>B+E&&e>L+E&&e>r+E||e<l-E&&e<B-E&&e<L-E&&e<r-E||d>k+E&&d>z+E&&d>y+E&&d>D+E||d<k-E&&d<z-E&&d<y-E&&d<D-E?!1:Mq(k,l,z,B,y,L,D,r,d,e,null)<=E/2}if(v)return!0}else{var G=h,x;var mc=k,A=l,F=f[t++],C=f[t++],H=f[t++],I=f[t++],K=f[t],J=f[t+1],fb=d;if(e>A&&e>C&&e>I&&e>J||e<A&&e<C&&e<I&&e<J)x=0;else{var O=gl(A,C,I,J,e,hb);if(0===O)x=0;else{for(var M=0,N=-1,P=void 0,R=void 0,T=0;T<O;T++){var U=hb[T],S=0===U||1===U?.5:1;if(!(Oa(mc,F,H,K,U)<fb)){if(0>N){N=Lq(A,C,I,J,Fb);if(Fb[1]<Fb[0]&&1<N){var X=Fb[0];Fb[0]=Fb[1];Fb[1]=X}P=Oa(A,C,I,J,Fb[0]);1<N&&(R=Oa(A,C,I,J,Fb[1]))}M=2===N?U<Fb[0]?M+(P<A?S:-S):U<Fb[1]?M+(R<P?S:-S):M+(J<R?S:-S):U<Fb[0]?M+(P<A?S:-S):M+(J<P?S:-S)}}x=M}}h=G+(x||0)}k=f[t++];l=f[t++];break;case bd.Q:if(c){if(Qq(k,l,f[t++],f[t++],f[t],f[t+1],a,d,e))return!0}else{var aa=h,W;var ba=k,V=l,ca=f[t++],Y=f[t++],da=f[t],Z=f[t+1],ga=d;if(e>V&&e>Y&&e>Z||e<V&&e<Y&&e<Z)W=0;else{var ha,ea=hb,ja=V-2*Y+Z,fa=2*(Y-V),la=V-e,ka=0;if(-1E-8<ja&&1E-8>ja){if(1E-8<fa||-1E-8>fa){var ia=-la/fa;0<=ia&&1>=ia&&(ea[ka++]=ia)}}else{var ma=fa*fa-4*ja*la;if(-1E-8<ma&&1E-8>ma)ia=-fa/(2*ja),0<=ia&&1>=ia&&(ea[ka++]=ia);else if(0<ma){var oa=Wc(ma),ia=(-fa+oa)/(2*ja),ra=(-fa-oa)/(2*ja);0<=ia&&1>=ia&&(ea[ka++]=ia);0<=ra&&1>=ra&&(ea[ka++]=ra)}}ha=ka;if(0===ha)W=0;else{var pa=Nq(V,Y,Z);if(0<=pa&&1>=pa){for(var sa=0,va=Za(V,Y,Z,pa),qa=0;qa<ha;qa++){var na=0===hb[qa]||1===hb[qa]?.5:1,xa=Za(ba,ca,da,hb[qa]);xa<ga||(sa=hb[qa]<pa?sa+(va<V?na:-na):sa+(Z<va?na:-na))}W=sa}else na=0===hb[0]||1===hb[0]?.5:1,xa=Za(ba,ca,da,hb[0]),W=xa<ga?0:Z<V?na:-na}}h=aa+(W||0)}k=f[t++];l=f[t++];break;case bd.A:var ta=f[t++],za=f[t++],Ba=f[t++],ua=f[t++],wa=f[t++],Ca=f[t++],t=t+1,Ja=!!(1-f[t++]);p=Math.cos(wa)*Ba+ta;q=Math.sin(wa)*ua+za;w?(m=p,n=q):h+=Cc(k,l,p,q,d,e);var Ka=(d-ta)*ua/Ba+ta;if(c){var Da;var Aa=wa,ya=wa+Ca,Ea=Ka,Ga=e;if(0===a)Da=!1;else{var Pa=a,Ea=Ea-ta,Ga=Ga-za,Qa=Math.sqrt(Ea*Ea+Ga*Ga);if(Qa-Pa>ua||Qa+Pa<ua)Da=!1;else if(1E-4>Math.abs(Aa-ya)%dg)Da=!0;else{if(Ja)var Sa=Aa,Aa=ad(ya),ya=ad(Sa);else Aa=ad(Aa),ya=ad(ya);Aa>ya&&(ya+=dg);var Ha=Math.atan2(Ga,Ea);0>Ha&&(Ha+=dg);Da=Ha>=Aa&&Ha<=ya||Ha+dg>=Aa&&Ha+dg<=ya}}if(Da)return!0}else{var Ua=h,La;var Ra=ta,Fa=wa,Ma=wa+Ca,Xa=Ja,Va=Ka,Na=e,Na=Na-za;if(Na>ua||Na<-ua)La=0;else{var Ya=Math.sqrt(ua*ua-Na*Na);hb[0]=-Ya;hb[1]=Ya;var $a=Math.abs(Fa-Ma);if(1E-4>$a)La=0;else if($a>=Te-1E-4){var Ta;La=Va>=hb[0]+Ra&&Va<=hb[1]+Ra?Xa?1:-1:0}else{if(Fa>Ma)var cb=Fa,Fa=Ma,Ma=cb;0>Fa&&(Fa+=Te,Ma+=Te);for(var ab=0,Wa=0;2>Wa;Wa++){var bb=hb[Wa];if(bb+Ra>Va){var Ia=Math.atan2(Na,bb);Ta=Xa?1:-1;0>Ia&&(Ia=Te+Ia);if(Ia>=Fa&&Ia<=Ma||Ia+Te>=Fa&&Ia+Te<=Ma)Ia>Math.PI/2&&Ia<1.5*Math.PI&&(Ta=-Ta),ab+=Ta}}La=ab}}h=Ua+La}k=Math.cos(wa+Ca)*Ba+ta;l=Math.sin(wa+Ca)*ua+za;break;case bd.R:var m=k=f[t++],n=l=f[t++],db=f[t++],eb=f[t++];p=m+db;q=n+eb;if(c){if($c(m,n,p,n,a,d,e)||$c(p,n,p,q,a,d,e)||$c(p,q,m,q,a,d,e)||$c(m,q,m,n,a,d,e))return!0}else h+=Cc(p,n,p,q,d,e),h+=Cc(m,q,m,n,d,e);break;case bd.Z:if(c){if($c(k,l,m,n,a,d,e))return!0}else h+=Cc(k,l,m,n,d,e);k=m;l=n}}c||1E-4>Math.abs(l-n)||(h+=Cc(k,l,m,n,d,e)||0);return 0!==h}function Tq(b,a,c){if(a){var d=a.x1,e=a.x2,f=a.y1;a=a.y2;b.x1=d;b.x2=e;b.y1=f;b.y2=a;c=c&&c.lineWidth;if(!c)return b;Ue(2*d)===Ue(2*e)&&(b.x1=b.x2=Md(d,c,!0));Ue(2*f)===Ue(2*a)&&(b.y1=b.y2=Md(f,c,!0));return b}}function Uq(b,a,c){if(a){var d=a.x,e=a.y,f=a.width;a=a.height;b.x=d;b.y=e;b.width=f;b.height=a;c=c&&c.lineWidth;if(!c)return b;b.x=Md(d,c,!0);b.y=Md(e,c,!0);b.width=Math.max(Md(d+f,c,!1)-b.x,0===f?0:1);b.height=Math.max(Md(e+a,c,!1)-b.y,0===a?0:1);return b}}function Md(b,a,c){if(!a)return b;b=Ue(2*b);return 0===(b+Ue(a))%2?b/2:(b+(c?1:-1))/2}function Vq(b){if(b){b.font=ha.makeFont(b);var a=b.align;"middle"===a&&(a="center");b.align=null==a||JA[a]?a:"left";a=b.verticalAlign;"center"===a&&(a="middle");b.verticalAlign=null==a||KA[a]?a:"top";b.padding&&(b.padding=Sh(b.padding))}}function il(b,a){return null==b||0>=a||"transparent"===b||"none"===b?null:b.image||b.colorStops?"#000":b}function Wq(b,a,c){return"right"===a?b-c[1]:"center"===a?b+c[3]/2-c[1]/2:b+c[3]}function Xq(b){b=b.text;null!=b&&(b+="");return b}function jl(b){return!!(b.backgroundColor||b.borderWidth&&b.borderColor)}function Ve(b){return null!=b&&"none"!==b}function Yq(b){if("string"!==typeof b)return b;var a=Zq.get(b);a||(a=Hk(b,-.1),Zq.put(b,a));return a}function ii(b,a,c){if(b.onHoverStateChange&&(b.hoverState||0)!==c)b.onHoverStateChange(a);b.hoverState=c}function $q(b){ii(b,"emphasis",2)}function ar(b){2===b.hoverState&&ii(b,"normal",0)}function kl(b){ii(b,"blur",1)}function ll(b){1===b.hoverState&&ii(b,"normal",0)}function br(b){b.selected=!0}function cr(b){b.selected=!1}function rb(b,a,c){a(b,c);b.isGroup&&b.traverse(function(d){a(d,c)})}function ml(b,a){switch(a){case "emphasis":b.hoverState=2;break;case "normal":b.hoverState=0;break;case "blur":b.hoverState=1;break;case "select":b.selected=!0}}function nl(b,a){var c=this.states[b];if(this.style){if("emphasis"===b){var d=a&&0<=ba(a,"select"),e=!1;if(this instanceof Y){var f=dr(this),g=d?f.selectFill||f.normalFill:f.normalFill,d=d?f.selectStroke||f.normalStroke:f.normalStroke;if(Ve(g)||Ve(d))c=c||{},f=c.style||{},!Ve(f.fill)&&Ve(g)?(e=!0,c=F({},c),f=F({},f),f.fill=Yq(g)):!Ve(f.stroke)&&Ve(d)&&(e||(c=F({},c),f=F({},f)),f.stroke=Yq(d)),c.style=f}c&&null==c.z2&&(e||(c=F({},c)),e=this.z2EmphasisLift,c.z2=this.z2+(null!=e?e:10));return c}if("blur"===b){e=0<=ba(this.currentStates,b);g=this.style.opacity;if(e)d=null;else{for(var d=["opacity"],h={opacity:1},k=this.style,f={},l=0;l<d.length;l++){var m=d[l],n=k[m];f[m]=null==n?h&&h[m]:n}for(l=0;l<this.animators.length;l++)h=this.animators[l],h.__fromStateTransition&&0>h.__fromStateTransition.indexOf(b)&&"style"===h.targetName&&h.saveFinalToTarget(f,d);d=f}c=c||{};f=c.style||{};null==f.opacity&&(c=F({},c),f=F({opacity:e?g:.1*d.opacity},f),c.style=f);return c}"select"===b&&c&&null==c.z2&&(c=F({},c),e=this.z2SelectLift,c.z2=this.z2+(null!=e?e:9))}return c}function eg(b){b.stateProxy=nl;var a=b.getTextContent();b=b.getTextGuideLine();a&&(a.stateProxy=nl);b&&(b.stateProxy=nl)}function nc(b,a){b.__highByOuter|=1<<(a||0);rb(b,$q)}function oc(b,a){!(b.__highByOuter&=~(1<<(a||0)))&&rb(b,ar)}function LA(b){b.getModel().eachComponent(function(a,c){("series"===a?b.getViewOfSeriesModel(c):b.getViewOfComponentModel(c)).group.traverse(function(c){ll(c)})})}function ji(b,a,c,d,e){function f(c,a){for(var d=0;d<a.length;d++){var b=c.getItemGraphicEl(a[d]);b&&rb(b,ll)}}var g=d.getModel();c=c||"coordinateSystem";if(!e)LA(d);else if(null!=b&&a&&"none"!==a){var h=g.getSeriesByIndex(b),k=h.coordinateSystem;k&&k.master&&(k=k.master);var l=[];g.eachSeries(function(b){var e=h===b,g=b.coordinateSystem;g&&g.master&&(g=g.master);g=g&&k?g===k:e;if(!("series"===c&&!e||"coordinateSystem"===c&&!g||"series"===a&&e)){d.getViewOfSeriesModel(b).group.traverse(function(c){kl(c)});if(Xa(a))f(b.getData(),a);else if(N(a))for(e=ia(a),g=0;g<e.length;g++)f(b.getData(e[g]),a[e[g]]);l.push(b)}});g.eachComponent(function(c,a){if("series"!==c){var b=d.getViewOfComponentModel(a);b&&b.blurSeries&&b.blurSeries(l,g)}})}}function er(b){var a=b.getAllData();r(a,function(c){var a=c.type;c.data.eachItemGraphicEl(function(c,d){b.isSelected(d,a)?rb(c,br):rb(c,cr)})})}function MA(b){var a=[];b.eachSeries(function(c){var d=c.getAllData();r(d,function(d){d=d.type;var b=c.getSelectedDataIndices();0<b.length&&(b={dataIndex:b,seriesIndex:c.seriesIndex},null!=d&&(b.dataType=d),a.push(b))})});return a}function va(b,a,c){We(b,!0);rb(b,eg);ol(b,a,c)}function ol(b,a,c){b=S(b);null!=a?(b.focus=a,b.blurScope=c):b.focus&&(b.focus=null)}function Fa(b,a,c,d){c=c||"itemStyle";for(var e=0;e<fr.length;e++){var f=fr[e],g=a.getModel([f,c]);b.ensureState(f).style=d?d(g):g[NA[c]]()}}function We(b,a){var c=!1===a;b.highDownSilentOnTouch&&(b.__highDownSilentOnTouch=b.highDownSilentOnTouch);if(!c||b.__highDownDispatcher)b.__highByOuter=b.__highByOuter||0,b.__highDownDispatcher=!c}function ki(b){return!(!b||!b.__highDownDispatcher)}function OA(b){var a=gr[b];null==a&&32>=hr&&(a=gr[b]=hr++);return a}function pl(b){b=b.type;return"select"===b||"unselect"===b||"toggleSelect"===b}function ql(b){b=b.type;return"highlight"===b||"downplay"===b}function rl(b,a){return(b[0]*a[0]+b[1]*a[1])/(Math.sqrt(b[0]*b[0]+b[1]*b[1])*Math.sqrt(a[0]*a[0]+a[1]*a[1]))}function ir(b,a){return(b[0]*a[1]<b[1]*a[0]?-1:1)*Math.acos(rl(b,a))}function jr(b,a,c,d,e,f,g,h,k,l,m){k*=fg/180;var n=li(k)*(b-c)/2+mi(k)*(a-d)/2,p=-1*mi(k)*(b-c)/2+li(k)*(a-d)/2,q=n*n/(g*g)+p*p/(h*h);1<q&&(g*=sl(q),h*=sl(q));q=(e===f?-1:1)*sl((g*g*h*h-g*g*p*p-h*h*n*n)/(g*g*p*p+h*h*n*n))||0;e=q*g*p/h;q=q*-h*n/g;b=(b+c)/2+li(k)*e-mi(k)*q;a=(a+d)/2+mi(k)*e+li(k)*q;d=ir([1,0],[(n-e)/g,(p-q)/h]);c=[(n-e)/g,(p-q)/h];n=[(-1*n-e)/g,(-1*p-q)/h];p=ir(c,n);-1>=rl(c,n)&&(p=fg);1<=rl(c,n)&&(p=0);0>p&&(p=2*fg+Math.round(p/fg*1E6)/1E6%2*fg);m.addData(l,b,a,g,h,d,p,k,f)}function PA(b){var a=new pc;if(!b)return a;var c=0,d=0,e=c,f=d,g,h=pc.CMD;b=b.match(QA);if(!b)return a;for(var k=0;k<b.length;k++){for(var l=b[k],m=l.charAt(0),n=void 0,l=l.match(RA)||[],p=l.length,q=0;q<p;q++)l[q]=parseFloat(l[q]);for(q=0;q<p;){var t,u,w,v,z,B,y;switch(m){case "l":c+=l[q++];d+=l[q++];n=h.L;a.addData(n,c,d);break;case "L":c=l[q++];d=l[q++];n=h.L;a.addData(n,c,d);break;case "m":c+=l[q++];d+=l[q++];n=h.M;a.addData(n,c,d);e=c;f=d;m="l";break;case "M":c=l[q++];d=l[q++];n=h.M;a.addData(n,c,d);e=c;f=d;m="L";break;case "h":c+=l[q++];n=h.L;a.addData(n,c,d);break;case "H":c=l[q++];n=h.L;a.addData(n,c,d);break;case "v":d+=l[q++];n=h.L;a.addData(n,c,d);break;case "V":d=l[q++];n=h.L;a.addData(n,c,d);break;case "C":n=h.C;a.addData(n,l[q++],l[q++],l[q++],l[q++],l[q++],l[q++]);c=l[q-2];d=l[q-1];break;case "c":n=h.C;a.addData(n,l[q++]+c,l[q++]+d,l[q++]+c,l[q++]+d,l[q++]+c,l[q++]+d);c+=l[q-2];d+=l[q-1];break;case "S":t=c;u=d;n=a.len();B=a.data;g===h.C&&(t+=c-B[n-4],u+=d-B[n-3]);n=h.C;B=l[q++];y=l[q++];c=l[q++];d=l[q++];a.addData(n,t,u,B,y,c,d);break;case "s":t=c;u=d;n=a.len();B=a.data;g===h.C&&(t+=c-B[n-4],u+=d-B[n-3]);n=h.C;B=c+l[q++];y=d+l[q++];c+=l[q++];d+=l[q++];a.addData(n,t,u,B,y,c,d);break;case "Q":B=l[q++];y=l[q++];c=l[q++];d=l[q++];n=h.Q;a.addData(n,B,y,c,d);break;case "q":B=l[q++]+c;y=l[q++]+d;c+=l[q++];d+=l[q++];n=h.Q;a.addData(n,B,y,c,d);break;case "T":t=c;u=d;n=a.len();B=a.data;g===h.Q&&(t+=c-B[n-4],u+=d-B[n-3]);c=l[q++];d=l[q++];n=h.Q;a.addData(n,t,u,c,d);break;case "t":t=c;u=d;n=a.len();B=a.data;g===h.Q&&(t+=c-B[n-4],u+=d-B[n-3]);c+=l[q++];d+=l[q++];n=h.Q;a.addData(n,t,u,c,d);break;case "A":t=l[q++];u=l[q++];w=l[q++];v=l[q++];z=l[q++];B=c;y=d;c=l[q++];d=l[q++];n=h.A;jr(B,y,c,d,v,z,t,u,w,n,a);break;case "a":t=l[q++],u=l[q++],w=l[q++],v=l[q++],z=l[q++],B=c,y=d,c+=l[q++],d+=l[q++],n=h.A,jr(B,y,c,d,v,z,t,u,w,n,a)}}if("z"===m||"Z"===m)n=h.Z,a.addData(n),c=e,d=f;g=n}a.toStatic();return a}function tl(b,a){var c=PA(b),d=F({},a);d.buildPath=function(a){if(null!=a.setData){a.setData(c.data);var d=a.getContext();d&&a.rebuildPath(d,1)}else c.rebuildPath(a,1)};d.applyTransform=function(a){var d=c.data,b=c.len(),e,k,l,m,n=Xe.M,p=Xe.C,q=Xe.L,t=Xe.R,u=Xe.A,w=Xe.Q;for(l=0;l<b;){e=d[l++];m=l;k=0;switch(e){case n:k=1;break;case q:k=1;break;case p:k=3;break;case w:k=2;break;case u:m=a[4];e=a[5];var v=kr(a[0]*a[0]+a[1]*a[1]),z=kr(a[2]*a[2]+a[3]*a[3]),B=SA(-a[1]/z,a[0]/v);d[l]*=v;d[l++]+=m;d[l]*=z;d[l++]+=e;d[l++]*=v;d[l++]*=z;d[l++]+=B;d[l++]+=B;m=l+=2;break;case t:(void 0)[0]=d[l++],(void 0)[1]=d[l++],Qa(void 0,void 0,a),d[m++]=(void 0)[0],d[m++]=(void 0)[1],(void 0)[0]+=d[l++],(void 0)[1]+=d[l++],Qa(void 0,void 0,a),d[m++]=(void 0)[0],d[m++]=(void 0)[1]}for(e=0;e<k;e++)v=TA[e],v[0]=d[l++],v[1]=d[l++],Qa(v,v,a),d[m++]=v[0],d[m++]=v[1]}c.increaseVersion();this.dirtyShape()};return d}function ni(b,a,c,d,e,f,g){var h=b-c,k=a-d;g=(g?f:-f)/gg(h*h+k*k);var k=g*k,h=-g*h,l=b+k,m=a+h,n=c+k,p=d+h;c=(l+n)/2;d=(m+p)/2;a=n-l;b=p-m;g=a*a+b*b;f=e-f;var p=l*p-n*m,q=(0>b?-1:1)*gg(ul(0,f*f*g-p*p)),l=(p*b-a*q)/g,m=(-p*a-b*q)/g,n=(p*b+a*q)/g;a=(-p*a+b*q)/g;b=l-c;g=m-d;c=n-c;d=a-d;b*b+g*g>c*c+d*d&&(l=n,m=a);return{cx:l,cy:m,x01:-k,y01:-h,x11:l*(e/f-1),y11:m*(e/f-1)}}function lr(b,a,c,d,e,f,g){b=.5*(c-b);d=.5*(d-a);return(2*(a-c)+b+d)*g+(-3*(a-c)-2*b-d)*f+b*e+a}function mr(b,a,c){var d=a.smooth,e=a.points;if(e&&2<=e.length){if(d&&"spline"!==d){var f=e,g=a.smoothConstraint;a=[];var h=[],k=[],l=[],m,n,p,q;if(g){p=[Infinity,Infinity];q=[-Infinity,-Infinity];for(var t=0,u=f.length;t<u;t++)Qc(p,p,f[t]),Rc(q,q,f[t]);Qc(p,p,g[0]);Rc(q,q,g[1])}t=0;for(u=f.length;t<u;t++){var w=f[t];if(c)m=f[t?t-1:u-1],n=f[(t+1)%u];else if(0===t||t===u-1){a.push(ic(f[t]));continue}else m=f[t-1],n=f[t+1];Pc(h,n,m);Uh(h,h,d);m=Qf(w,m);n=Qf(w,n);var v=m+n;0!==v&&(m/=v,n/=v);Uh(k,h,-m);Uh(l,h,n);m=vk([],w,k);w=vk([],w,l);g&&(Rc(m,m,p),Qc(m,m,q),Rc(w,w,p),Qc(w,w,q));a.push(m);a.push(w)}c&&a.push(a.shift());b.moveTo(e[0][0],e[0][1]);f=e.length;for(d=0;d<(c?f:f-1);d++)p=a[2*d],q=a[2*d+1],g=e[(d+1)%f],b.bezierCurveTo(p[0],p[1],q[0],q[1],g[0],g[1])}else{if("spline"===d){a=e.length;d=[];p=0;for(f=1;f<a;f++)p+=Qf(e[f-1],e[f]);p/=2;p=p<a?a:p;for(f=0;f<p;f++)q=f/(p-1)*(c?a:a-1),l=Math.floor(q),q-=l,h=e[l%a],c?(g=e[(l-1+a)%a],k=e[(l+1)%a],l=e[(l+2)%a]):(g=e[0===l?l:l-1],k=e[l>a-2?a-1:l+1],l=e[l>a-3?a-1:l+2]),t=q*q,u=q*t,d.push([lr(g[0],h[0],k[0],l[0],q,t,u),lr(g[1],h[1],k[1],l[1],q,t,u)]);e=d}b.moveTo(e[0][0],e[0][1]);d=1;for(a=e.length;d<a;d++)b.lineTo(e[d][0],e[d][1])}c&&b.closePath()}}function nr(b,a,c){var d=b.cpy2;return null===b.cpx2||null===d?[(c?Jq:Oa)(b.x1,b.cpx1,b.cpx2,b.x2,a),(c?Jq:Oa)(b.y1,b.cpy1,b.cpy2,b.y2,a)]:[(c?hi:Za)(b.x1,b.cpx1,b.x2,a),(c?hi:Za)(b.y1,b.cpy1,b.y2,a)]}function or(b){return Y.extend(b)}function pr(b,a){return UA(b,a)}function qr(b,a){sb[b]=a}function oi(b){if(sb.hasOwnProperty(b))return sb[b]}function hg(b,a,c,d){b=new vl(tl(b,a));c&&("center"===d&&(c=rr(c,b.getBoundingRect())),wl(b,c));return b}function xl(b,a,c){var d=new Ga({style:{image:b,x:a.x,y:a.y,width:a.width,height:a.height},onload:function(b){"center"===c&&d.setStyle(rr(a,{width:b.width,height:b.height}))}});return d}function rr(b,a){var c=a.width/a.height,d=b.height*c;d<=b.width?c=b.height:(d=b.width,c=d/c);return{x:b.x+b.width/2-d/2,y:b.y+b.height/2-c/2,width:d,height:c}}function wl(b,a){if(b.applyTransform){var c=b.getBoundingRect().calculateTransform(a);b.applyTransform(c)}}function yl(b,a,c,d,e,f,g){var h=!1,k;"function"===typeof e?(g=f,f=e,e=null):N(e)&&(f=e.cb,g=e.during,h=e.isFrom,k=e.removeOpt,e=e.dataIndex);var l="update"===b,m="remove"===b,n;d&&d.ecModel&&(n=(n=d.ecModel.getUpdatePayload())&&n.animation);var p=d&&d.isAnimationEnabled();m||a.stopAnimation("remove");p?(n?(m=n.duration||0,k=n.easing||"cubicOut",l=n.delay||0):m?(k=k||{},m=ka(k.duration,200),k=ka(k.easing,"cubicOut"),l=0):(m=d.getShallow(l?"animationDurationUpdate":"animationDuration"),k=d.getShallow(l?"animationEasingUpdate":"animationEasing"),l=d.getShallow(l?"animationDelayUpdate":"animationDelay")),"function"===typeof l&&(l=l(e,d.getAnimationDelayParams?d.getAnimationDelayParams(a,e):null)),"function"===typeof m&&(m=m(e)),0<m?h?a.animateFrom(c,{duration:m,delay:l||0,easing:k,done:f,force:!!f||!!g,scope:b,during:g}):a.animateTo(c,{duration:m,delay:l||0,easing:k,done:f,force:!!f||!!g,setToFinal:!0,scope:b,during:g}):(a.stopAnimation(),!h&&a.attr(c),f&&f())):(a.stopAnimation(),!h&&a.attr(c),g&&g(1),f&&f())}function ea(b,a,c,d,e,f){yl("update",b,a,c,d,e,f)}function za(b,a,c,d,e,f){yl("init",b,a,c,d,e,f)}function cd(b,a,c,d,e,f){Ye(b)||yl("remove",b,a,c,d,e,f)}function sr(b,a,c,d){b.removeTextContent();b.removeTextGuideLine();cd(b,{style:{opacity:0}},a,c,d)}function ig(b,a,c){function d(){b.parent&&b.parent.remove(b)}b.isGroup?b.traverse(function(b){b.isGroup||sr(b,a,c,d)}):sr(b,a,c,d)}function Ye(b){if(!b.__zr)return!0;for(var a=0;a<b.animators.length;a++)if("remove"===b.animators[a].scope)return!0;return!1}function dd(b,a){for(var c=Sc([]);b&&b!==a;)Fd(c,b.getLocalTransform(),c),b=b.parent;return c}function Wb(b,a,c){a&&!Xa(a)&&(a=Dc.getLocalTransform(a));c&&(a=Ke([],a));return Qa([],b,a)}function pi(b,a,c){var d=0===a[4]||0===a[5]||0===a[0]?1:Math.abs(2*a[4]/a[0]),e=0===a[4]||0===a[5]||0===a[2]?1:Math.abs(2*a[4]/a[2]);b=["left"===b?-d:"right"===b?d:0,"top"===b?-e:"bottom"===b?e:0];b=Wb(b,a,c);return Math.abs(b[0])>Math.abs(b[1])?0<b[0]?"right":"left":0<b[1]?"bottom":"top"}function jg(b,a,c){function d(c){var a={x:c.x,y:c.y,rotation:c.rotation};null!=c.shape&&(a.shape=F({},c.shape));return a}if(b&&a){var e=function(c){var a={};c.traverse(function(c){!c.isGroup&&c.anid&&(a[c.anid]=c)});return a}(b);a.traverse(function(a){if(!a.isGroup&&a.anid){var b=e[a.anid];if(b){var f=d(a);a.attr(d(b));ea(a,f,c,S(a).dataIndex)}}})}}function zl(b,a){return C(b,function(c){var d=c[0],d=qi(d,a.x),d=ri(d,a.x+a.width);c=c[1];c=qi(c,a.y);c=ri(c,a.y+a.height);return[d,c]})}function tr(b,a){var c=qi(b.x,a.x),d=ri(b.x+b.width,a.x+a.width),e=qi(b.y,a.y),f=ri(b.y+b.height,a.y+a.height);if(d>=c&&f>=e)return{x:c,y:e,width:d-c,height:f-e}}function Ze(b,a,c){a=F({rectHover:!0},a);var d=a.style={strokeNoScale:!0};c=c||{x:-1,y:-1,width:2,height:2};if(b)return 0===b.indexOf("image://")?(d.image=b.slice(8),K(d,c),new Ga(a)):hg(b.replace("path://",""),a,c,"center")}function kg(b,a,c,d,e){for(var f=0,g=e[e.length-1];f<e.length;f++){var h=e[f];if(ur(b,a,c,d,h[0],h[1],g[0],g[1]))return!0;g=h}}function ur(b,a,c,d,e,f,g,h){c-=b;d-=a;g-=e;h-=f;var k=g*d-c*h;if(1E-6>=k&&-1E-6<=k)return!1;b-=e;a-=f;f=(b*d-c*a)/k;if(0>f||1<f)return!1;a=(b*h-g*a)/k;return 0>a||1<a?!1:!0}function vr(b,a){for(var c=0;c<tb.length;c++){var d=tb[c],e=a[d],d=b.ensureState(d);d.style=d.style||{};d.style.text=e}c=b.currentStates.slice();b.clearStates(!0);b.setStyle({text:a.normal});b.useStates(c,!0)}function Al(b,a,c){var d=b.labelFetcher,e=b.labelDataIndex,f=b.labelDimIndex,g=a.normal,h;d&&(h=d.getFormattedLabel(e,"normal",null,f,g&&g.get("formatter"),null!=c?{interpolatedValue:c}:null));null==h&&(h=fa(b.defaultText)?b.defaultText(e,b,c):b.defaultText);b={normal:h};for(c=0;c<tb.length;c++){var g=tb[c],k=a[g];b[g]=ka(d?d.getFormattedLabel(e,g,null,f,k&&k.get("formatter")):null,h)}return b}function cb(b,a,c,d){c=c||si;for(var e=b instanceof ha,f=!1,g=0;g<Nd.length;g++){var h=a[Nd[g]];if(h&&h.getShallow("show")){f=!0;break}}var k=e?b:b.getTextContent();if(f){e||(k||(k=new ha,b.setTextContent(k)),b.stateProxy&&(k.stateProxy=b.stateProxy));var f=Al(c,a),l=a.normal,m=!!l.getShallow("show"),n=Ja(l,d&&d.normal,c,!1,!e);n.text=f.normal;e||b.setTextConfig(ti(l,c,!1));for(g=0;g<tb.length;g++){var p=tb[g];if(h=a[p]){var q=k.ensureState(p),t=!!ka(h.getShallow("show"),m);t!==m&&(q.ignore=!t);q.style=Ja(h,d&&d[p],c,!0,!e);q.style.text=f[p];e||(b.ensureState(p).textConfig=ti(h,c,!0))}}k.silent=!!l.getShallow("silent");null!=k.style.x&&(n.x=k.style.x);null!=k.style.y&&(n.y=k.style.y);k.ignore=!m;k.useStyle(n);k.dirty();c.enableTextSetter&&(lg(k).setLabelText=function(d){d=Al(c,a,d);vr(k,d)})}else k&&(k.ignore=!0);b.dirty()}function Ra(b,a){a=a||"label";for(var c={normal:b.getModel(a)},d=0;d<tb.length;d++){var e=tb[d];c[e]=b.getModel([e,a])}return c}function Ja(b,a,c,d,e){var f={};c=c||si;for(var g=b.ecModel,g=g&&g.option.textStyle,h,k=b;k&&k!==k.ecModel;){var l=(k.option||si).rich;if(l){h=h||{};for(var l=ia(l),m=0;m<l.length;m++)h[l[m]]=1}k=k.parentModel}var n;if(h){n={};for(var p in h)h.hasOwnProperty(p)&&(k=b.getModel(["rich",p]),wr(n[p]={},k,g,c,d,e,!1,!0))}n&&(f.rich=n);if(n=b.get("overflow"))f.overflow=n;n=b.get("minMargin");null!=n&&(f.margin=n);wr(f,b,g,c,d,e,!0,!1);a&&F(f,a);return f}function ti(b,a,c){a=a||{};var d={},e=b.getShallow("rotate"),f=ka(b.getShallow("distance"),c?null:5),g=b.getShallow("offset");c=b.getShallow("position")||(c?null:"inside");"outside"===c&&(c=a.defaultOutsidePosition||"top");null!=c&&(d.position=c);null!=g&&(d.offset=g);null!=e&&(e*=Math.PI/180,d.rotation=e);null!=f&&(d.distance=f);d.outsideFill="inherit"===b.get("color")?a.inheritColor||null:"auto";return d}function wr(b,a,c,d,e,f,g,h){c=!e&&c||si;var k=d&&d.inheritColor,l=a.getShallow("color"),m=a.getShallow("textBorderColor"),n=ka(a.getShallow("opacity"),c.opacity);if("inherit"===l||"auto"===l)"auto"===l&&Sa("color: 'auto'","color: 'inherit'"),l=k?k:null;if("inherit"===m||"auto"===m)"auto"===m&&Sa("color: 'auto'","color: 'inherit'"),m=k?k:null;f||(l=l||c.color,m=m||c.textBorderColor);null!=l&&(b.fill=l);null!=m&&(b.stroke=m);l=ka(a.getShallow("textBorderWidth"),c.textBorderWidth);null!=l&&(b.lineWidth=l);l=ka(a.getShallow("textBorderType"),c.textBorderType);null!=l&&(b.lineDash=l);l=ka(a.getShallow("textBorderDashOffset"),c.textBorderDashOffset);null!=l&&(b.lineDashOffset=l);e||null!=n||h||(n=d&&d.defaultOpacity);null!=n&&(b.opacity=n);e||f||null!=b.fill||!d.inheritColor||(b.fill=d.inheritColor);for(e=0;e<xr.length;e++)f=xr[e],h=ka(a.getShallow(f),c[f]),null!=h&&(b[f]=h);for(e=0;e<yr.length;e++)f=yr[e],h=a.getShallow(f),null!=h&&(b[f]=h);null==b.verticalAlign&&(c=a.getShallow("baseline"),null!=c&&(b.verticalAlign=c));if(!g||!d.disableBox){for(e=0;e<zr.length;e++)f=zr[e],h=a.getShallow(f),null!=h&&(b[f]=h);a=a.getShallow("borderType");null!=a&&(b.borderDash=a);"auto"!==b.backgroundColor&&"inherit"!==b.backgroundColor||!k||("auto"===b.backgroundColor&&Sa("backgroundColor: 'auto'","backgroundColor: 'inherit'"),b.backgroundColor=k);"auto"!==b.borderColor&&"inherit"!==b.borderColor||!k||("auto"===b.borderColor&&Sa("borderColor: 'auto'","borderColor: 'inherit'"),b.borderColor=k)}}function Ar(b,a){var c=a&&a.getModel("textStyle");return Va([b.fontStyle||c&&c.getShallow("fontStyle")||"",b.fontWeight||c&&c.getShallow("fontWeight")||"",(b.fontSize||c&&c.getShallow("fontSize")||12)+"px",b.fontFamily||c&&c.getShallow("fontFamily")||"sans-serif"].join(" "))}function Br(b,a,c,d){b&&(b=lg(b),b.prevValue=b.value,b.value=c,c=a.normal,b.valueAnimation=c.get("valueAnimation"),b.valueAnimation&&(b.precision=c.get("precision"),b.defaultInterpolatedText=d,b.statesModels=a))}function Cr(b,a,c,d,e){var f=lg(b);if(f.valueAnimation){var g=f.defaultInterpolatedText,h=ka(f.interpolatedValue,f.prevValue),k=f.value;(null==h?za:ea)(b,{},d,a,null,function(d){var l=Dq(c,f.precision,h,k,d);f.interpolatedValue=1===d?null:l;d=Al({labelDataIndex:a,labelFetcher:e,defaultText:g?g(l):l+""},f.statesModels,l);vr(b,d)})}}function $e(b){return[b||"",VA++].join("_")}function ed(b,a){return U(U({},b,!0),a,!0)}function Bl(b,a){b=b.toUpperCase();Cl[b]=new la(a);ui[b]=a}function WA(b){if(da(b)){var a=ui[b.toUpperCase()]||{};return"ZH"===b||"EN"===b?J(a):U(J(a),J(ui.EN),!1)}return U(J(b),J(ui.EN),!1)}function ub(b,a){b+="";return"0000".substr(0,a-b.length)+b}function af(b){switch(b){case "half-year":case "quarter":return"month";case "week":case "half-week":return"day";case "half-day":case "quarter-day":return"hour";default:return b}}function XA(b){return b===af(b)}function mg(b,a,c,d){var e=qb(b);b=e[Dl(c)]();var f=e[bf(c)]()+1,g=Math.floor((f-1)/4)+1,h=e[vi(c)](),k=e["get"+(c?"UTC":"")+"Day"](),l=e[ng(c)](),m=(l-1)%12+1,n=e[wi(c)](),p=e[xi(c)]();c=e[yi(c)]();var q=(d instanceof la?d:Cl[d||Dr]||Cl.EN).getModel("time");d=q.get("month");var e=q.get("monthAbbr"),t=q.get("dayOfWeek"),q=q.get("dayOfWeekAbbr");return(a||"").replace(/{yyyy}/g,b+"").replace(/{yy}/g,b%100+"").replace(/{Q}/g,g+"").replace(/{MMMM}/g,d[f-1]).replace(/{MMM}/g,e[f-1]).replace(/{MM}/g,ub(f,2)).replace(/{M}/g,f+"").replace(/{dd}/g,ub(h,2)).replace(/{d}/g,h+"").replace(/{eeee}/g,t[k]).replace(/{ee}/g,q[k]).replace(/{e}/g,k+"").replace(/{HH}/g,ub(l,2)).replace(/{H}/g,l+"").replace(/{hh}/g,ub(m+"",2)).replace(/{h}/g,m+"").replace(/{mm}/g,ub(n,2)).replace(/{m}/g,n+"").replace(/{ss}/g,ub(p,2)).replace(/{s}/g,p+"").replace(/{SSS}/g,ub(c,3)).replace(/{S}/g,c+"")}function Er(b,a){var c=qb(b),d=c[bf(a)]()+1,e=c[vi(a)](),f=c[ng(a)](),g=c[wi(a)](),h=c[xi(a)]();return(e=(f=(g=(h=(c=0===c[yi(a)]())&&0===h)&&0===g)&&0===f)&&1===e)&&1===d?"year":e?"month":f?"day":g?"hour":h?"minute":c?"second":"millisecond"}function Fr(b,a,c){var d="number"===typeof b?qb(b):b;a=a||Er(b,c);switch(a){case "year":return d[Dl(c)]();case "half-year":return 6<=d[bf(c)]()?1:0;case "quarter":return Math.floor((d[bf(c)]()+1)/4);case "month":return d[bf(c)]();case "day":return d[vi(c)]();case "half-day":return d[ng(c)]()/24;case "hour":return d[ng(c)]();case "minute":return d[wi(c)]();case "second":return d[xi(c)]();case "millisecond":return d[yi(c)]()}}function Dl(b){return b?"getUTCFullYear":"getFullYear"}function bf(b){return b?"getUTCMonth":"getMonth"}function vi(b){return b?"getUTCDate":"getDate"}function ng(b){return b?"getUTCHours":"getHours"}function wi(b){return b?"getUTCMinutes":"getMinutes"}function xi(b){return b?"getUTCSeconds":"getSeconds"}function yi(b){return b?"getUTCSeconds":"getSeconds"}function El(b){if(!bi(b))return da(b)?b:"-";b=(b+"").split(".");return b[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(1<b.length?"."+b[1]:"")}function Gr(b,a){b=(b||"").toLowerCase().replace(/-(.)/g,function(c,a){return a.toUpperCase()});a&&b&&(b=b.charAt(0).toUpperCase()+b.slice(1));return b}function fd(b){return null==b?"":(b+"").replace(YA,function(a,c){return ZA[c]})}function zi(b,a,c){function d(c){return c&&Va(c)?c:"-"}function e(c){return!(null==c||isNaN(c)||!isFinite(c))}var f="time"===a,g=b instanceof Date;if(f||g){f=f?qb(b):b;if(!isNaN(+f))return mg(f,"yyyy-MM-dd hh:mm:ss",c);if(g)return"-"}if("ordinal"===a)return Of(b)?d(b):Rh(b)?e(b)?b+"":"-":"-";a=jc(b);return e(a)?El(a):Of(b)?d(b):"-"}function Fl(b,a,c){A(a)||(a=[a]);var d=a.length;if(!d)return"";for(var e=a[0].$vars||[],f=0;f<e.length;f++){var g=Hr[f];b=b.replace("{"+g+"}","{"+g+0+"}")}for(f=0;f<d;f++)for(g=0;g<e.length;g++){var h=a[f][e[g]];b=b.replace("{"+Hr[g]+(null==f?"":f)+"}",c?fd(h):h)}return b}function $A(b,a,c){r(a,function(a,e){b=b.replace("{"+e+"}",c?fd(a):a)});return b}function Ir(b,a){var c=da(b)?{color:b,extraCssText:a}:b||{},d=c.color,e=c.type;a=c.extraCssText;var f=c.renderMode||"html";return d?"html"===f?"subItem"===e?'\x3cspan style\x3d"display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+fd(d)+";"+(a||"")+'"\x3e\x3c/span\x3e':'\x3cspan style\x3d"display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:'+fd(d)+";"+(a||"")+'"\x3e\x3c/span\x3e':{renderMode:f,content:"{"+(c.markerId||"markerX")+"|} ",style:"subItem"===e?{width:4,height:4,borderRadius:2,backgroundColor:d}:{width:10,height:10,borderRadius:5,backgroundColor:d}}:""}function og(b,a){a=a||"transparent";return da(b)?b:N(b)?b.colorStops&&(b.colorStops[0]||{}).color||a:a}function Ai(b,a){if("_blank"===a||"blank"===a){var c=window.open();c.opener=null;c.location.href=b}else window.open(b,a)}function Gl(b,a,c,d,e){var f=0,g=0;null==d&&(d=Infinity);null==e&&(e=Infinity);var h=0;a.eachChild(function(k,l){var m=k.getBoundingRect(),n=a.childAt(l+1),n=n&&n.getBoundingRect(),p,q;"horizontal"===b?(n=m.width+(n?-n.x+m.x:0),p=f+n,p>d||k.newline?(f=0,p=n,g+=h+c,h=m.height):h=Math.max(h,m.height)):(n=m.height+(n?-n.y+m.y:0),q=g+n,q>e||k.newline?(f+=h+c,g=0,q=n,h=m.width):h=Math.max(h,m.width));k.newline||(k.x=f,k.y=g,k.markRedraw(),"horizontal"===b?f=p+c:g=q+c)})}function Aa(b,a,c){c=Od(c||0);var d=a.width;a=a.height;var e=H(b.left,d),f=H(b.top,a),g=H(b.right,d),h=H(b.bottom,a),k=H(b.width,d),l=H(b.height,a),m=c[2]+c[0],n=c[1]+c[3],p=b.aspect;isNaN(k)&&(k=d-g-n-e);isNaN(l)&&(l=a-h-m-f);null!=p&&(isNaN(k)&&isNaN(l)&&(p>d/a?k=.8*d:l=.8*a),isNaN(k)&&(k=p*l),isNaN(l)&&(l=k/p));isNaN(e)&&(e=d-g-k-n);isNaN(f)&&(f=a-h-l-m);switch(b.left||b.right){case "center":e=d/2-k/2-c[3];break;case "right":e=d-k-n}switch(b.top||b.bottom){case "middle":case "center":f=a/2-l/2-c[0];break;case "bottom":f=a-l-m}e=e||0;f=f||0;isNaN(k)&&(k=d-n-e-(g||0));isNaN(l)&&(l=a-m-f-(h||0));b=new aa(e+c[3],f+c[0],k,l);b.margin=c;return b}function Bi(b,a,c,d,e){var f=!e||!e.hv||e.hv[0],g=!e||!e.hv||e.hv[1];e=e&&e.boundingMode||"all";if(f||g){var h;if("raw"===e)h="group"===b.type?new aa(0,0,+a.width||0,+a.height||0):b.getBoundingRect();else if(h=b.getBoundingRect(),b.needLocalTransform()){var k=b.getLocalTransform();h=h.clone();h.applyTransform(k)}a=Aa(K({width:h.width,height:h.height},a),c,d);f=f?a.x-h.x:0;g=g?a.y-h.y:0;"raw"===e?(b.x=f,b.y=g):(b.x+=f,b.y+=g);b.markRedraw()}}function pg(b){b=b.layoutMode||b.constructor.layoutMode;return N(b)?b:b?{type:b}:null}function gd(b,a,c){function d(c,d){var f={},h=0,k={},l=0;Ci(c,function(c){k[c]=b[c]});Ci(c,function(c){a.hasOwnProperty(c)&&(f[c]=k[c]=a[c]);e(f,c)&&h++;e(k,c)&&l++});if(g[d])return e(a,c[1])?k[c[2]]=null:e(a,c[2])&&(k[c[1]]=null),k;if(2!==l&&h){if(!(2<=h))for(var t=0;t<c.length;t++){var u=c[t];if(!f.hasOwnProperty(u)&&b.hasOwnProperty(u)){f[u]=b[u];break}}return f}return k}function e(c,a){return null!=c[a]&&"auto"!==c[a]}function f(c,a,d){Ci(c,function(c){a[c]=d[c]})}var g=c&&c.ignoreSize;!A(g)&&(g=[g,g]);c=d(Pd[0],0);var h=d(Pd[1],1);f(Pd[0],b,c);f(Pd[1],b,h)}function Qd(b,a){a&&b&&Ci(Jr,function(c){a.hasOwnProperty(c)&&(b[c]=a[c])});return b}function Kr(b,a,c){function d(c,a,d){for(var b=0;b<d;b++)c.push(a+b)}function e(c){return(c=c.dimsDef)?c.length:1}var f={},g=Hl(a);if(!g||!b)return f;var h=[],k=[];a=Lr(a.ecModel).datasetMap;c=g.uid+"_"+c.seriesLayoutBy;var l,m;b=b.slice();r(b,function(c,a){var d=N(c)?c:b[a]={name:c};"ordinal"===d.type&&null==l&&(l=a,m=e(d));f[d.name]=[]});var n=a.get(c)||a.set(c,{categoryWayDim:m,valueWayDim:0});r(b,function(c,a){var b=c.name,g=e(c);if(null==l){var m=n.valueWayDim;d(f[b],m,g);d(k,m,g);n.valueWayDim+=g}else l===a?(d(f[b],0,g),d(h,0,g)):(m=n.categoryWayDim,d(f[b],m,g),d(k,m,g),n.categoryWayDim+=g)});h.length&&(f.itemName=h);k.length&&(f.seriesName=k);return f}function Il(b,a,c){var d={};if(!Hl(b))return d;var e=a.sourceFormat,f=a.dimensionsDefine,g;"objectRows"!==e&&"keyedColumns"!==e||r(f,function(c,a){"name"===(N(c)?c.name:c)&&(g=a)});if(b=function(){for(var d={},b={},l=[],m=0,n=Math.min(5,c);m<n;m++){var p=Mr(a.data,e,a.seriesLayoutBy,f,a.startIndex,m);l.push(p);var q=p===ib.Not;q&&null==d.v&&m!==g&&(d.v=m);if(null==d.n||d.n===d.v||!q&&l[d.n]===ib.Not)d.n=m;if(null!=d.v&&null!=d.n&&l[d.n]!==ib.Not)return d;q||(p===ib.Might&&null==b.v&&m!==g&&(b.v=m),null!=b.n&&b.n!==b.v)||(b.n=m)}return null!=d.v&&null!=d.n?d:null!=b.v&&null!=b.n?b:null}())d.value=[b.v],b=null!=g?g:b.n,d.itemName=[b],d.seriesName=[b];return d}function Hl(b){if(!b.get("data",!0))return di(b.ecModel,"dataset",{index:b.get("datasetIndex",!0),id:b.get("datasetId",!0)},Da).models[0]}function aB(b){return b.get("transform",!0)||b.get("fromTransformResult",!0)?di(b.ecModel,"dataset",{index:b.get("fromDatasetIndex",!0),id:b.get("fromDatasetId",!0)},Da).models:[]}function Mr(b,a,c,d,e,f){function g(c){var a=da(c);if(null!=c&&isFinite(c)&&""!==c)return a?ib.Might:ib.Not;if(a&&"-"!==c)return ib.Must}var h;if(db(b))return ib.Not;var k,l;d&&(d=d[f],N(d)?(k=d.name,l=d.type):da(d)&&(k=d));if(null!=l)return"ordinal"===l?ib.Must:ib.Not;if("arrayRows"===a)if("row"===c)for(b=b[f],a=0;a<(b||[]).length&&5>a;a++){if(null!=(h=g(b[e+a])))return h}else for(a=0;a<b.length&&5>a;a++){if((k=b[e+a])&&null!=(h=g(k[f])))return h}else if("objectRows"===a){if(!k)return ib.Not;for(a=0;a<b.length&&5>a;a++)if((e=b[a])&&null!=(h=g(e[k])))return h}else if("keyedColumns"===a){if(!k)return ib.Not;b=b[k];if(!b||db(b))return ib.Not;for(a=0;a<b.length&&5>a;a++)if(null!=(h=g(b[a])))return h}else if("original"===a)for(a=0;a<b.length&&5>a;a++){e=b[a];h=bg(e);if(!A(h))break;if(null!=(h=g(h[f])))return h}return ib.Not}function bB(b,a,c){a=Jl.get(a);if(!a)return c;b=a(b);if(!b)return c;for(a=0;a<b.length;a++)O(Qe(b[a]));return c.concat(b)}function Kl(b,a,c,d){var e=xa(b.get(["aria","decal","decals"]));return Nr(b,cB,e,null,a,c,d)}function Nr(b,a,c,d,e,f,g){b=a(f||b);a=b.paletteIdx||0;f=b.paletteNameMap=b.paletteNameMap||{};if(f.hasOwnProperty(e))return f[e];if(null!=g&&d)a:{for(var h=d.length,k=0;k<h;k++)if(d[k].length>g){d=d[k];break a}d=d[h-1]}else d=c;if((c=d||c)&&c.length)return d=c[a],e&&(f[e]=d),b.paletteIdx=(a+1)%c.length,d}function dB(b,a){var c=b.color&&!b.colorLayer;r(a,function(a,e){"colorLayer"===e&&c||W.hasClass(e)||("object"===typeof a?b[e]=b[e]?U(b[e],a,!1):J(a):null==b[e]&&(b[e]=a))})}function Or(b,a,c){if(A(a)){var d=R();r(a,function(c){null!=c&&null!=Ea(c,null)&&d.set(c,!0)});return ta(c,function(c){return c&&d.get(c[b])})}var e=Ea(a,null);return ta(c,function(c){return c&&null!=e&&c[b]===e})}function Pr(b,a){return a.hasOwnProperty("subType")?ta(b,function(c){return c&&c.subType===a.subType}):b}function Qr(b){var a=R();b&&r(xa(b.replaceMerge),function(c){O(W.hasClass(c),'"'+c+'" is not valid component main type in "replaceMerge"');a.set(c,!0)});return{replaceMergeMainTypeMap:a}}function eB(b,a,c){function d(d){r(a,function(a){a(d,c)})}var e=[],f,g=b.baseOption,h=b.timeline,k=b.options,l=b.media,m=!!b.media,n=!!(k||h||g&&g.timeline);if(g)b=g,b.timeline||(b.timeline=h);else if(n||m)b.options=b.media=null;m&&(A(l)?r(l,function(c){c&&!c.option&&N(c.query)&&N(c.query.option)&&ci&&console.error("[ECharts] Illegal media option. Must be like { media: [ { query: {}, option: {} } ] }");c&&c.option&&(c.query?e.push(c):f||(f=c))}):ci&&console.error("[ECharts] Illegal media option. Must be an array. Like { media: [ {...}, {...} ] }"));d(b);r(k,function(c){return d(c)});r(e,function(c){return d(c.option)});return{baseOption:b,timelineOptions:k||[],mediaDefault:f,mediaList:e}}function fB(b,a,c){var d={width:a,height:c,aspectratio:a/c},e=!0;r(b,function(c,a){var b=a.match(gB);if(b&&b[1]&&b[2]){var f=b[1],b=b[2].toLowerCase();b=d[b];("min"===f?b>=c:"max"===f?b<=c:b===c)||(e=!1)}});return e}function hB(b,a){return b.join(",")===a.join(",")}function Ll(b){var a=b&&b.itemStyle;if(a)for(var c=0,d=Rr.length;c<d;c++){var e=Rr[c],f=a.normal,g=a.emphasis;f&&f[e]&&(Sa("itemStyle.normal."+e,e),b[e]=b[e]||{},b[e].normal?U(b[e].normal,f[e]):b[e].normal=f[e],f[e]=null);g&&g[e]&&(Sa("itemStyle.emphasis."+e,"emphasis."+e),b[e]=b[e]||{},b[e].emphasis?U(b[e].emphasis,g[e]):b[e].emphasis=g[e],g[e]=null)}}function ab(b,a,c){if(b&&b[a]&&(b[a].normal||b[a].emphasis)){var d=b[a].normal,e=b[a].emphasis;d&&(Vb("'normal' hierarchy in "+a+" has been removed since 4.0. All style properties are configured in "+a+" directly now."),c?(b[a].normal=b[a].emphasis=null,K(b[a],d)):b[a]=d);e&&(Vb(a+".emphasis has been changed to emphasis."+a+" since 4.0"),b.emphasis=b.emphasis||{},b.emphasis[a]=e,e.focus&&(b.emphasis.focus=e.focus),e.blurScope&&(b.emphasis.blurScope=e.blurScope))}}function qg(b){ab(b,"itemStyle");ab(b,"lineStyle");ab(b,"areaStyle");ab(b,"label");ab(b,"labelLine");ab(b,"upperLabel");ab(b,"edgeLabel")}function ya(b,a){var c=rg(b)&&b[a],d=rg(c)&&c.textStyle;if(d){Vb("textStyle hierarchy in "+a+" has been removed since 4.0. All textStyle properties are configured in "+a+" directly now.");for(var e=0,f=Sr.length;e<f;e++){var g=Sr[e];d.hasOwnProperty(g)&&(c[g]=d[g])}}}function Gb(b){b&&(qg(b),ya(b,"label"),b.emphasis&&ya(b.emphasis,"label"))}function iB(b){if(rg(b)){Ll(b);qg(b);ya(b,"label");ya(b,"upperLabel");ya(b,"edgeLabel");b.emphasis&&(ya(b.emphasis,"label"),ya(b.emphasis,"upperLabel"),ya(b.emphasis,"edgeLabel"));var a=b.markPoint;a&&(Ll(a),Gb(a));if(a=b.markLine)Ll(a),Gb(a);(a=b.markArea)&&Gb(a);var c=b.data;if("graph"===b.type){var c=c||b.nodes,d=b.links||b.edges;if(d&&!db(d))for(a=0;a<d.length;a++)Gb(d[a]);r(b.categories,function(c){qg(c)})}if(c&&!db(c))for(a=0;a<c.length;a++)Gb(c[a]);if((a=b.markPoint)&&a.data)for(c=a.data,a=0;a<c.length;a++)Gb(c[a]);if((a=b.markLine)&&a.data)for(c=a.data,a=0;a<c.length;a++)A(c[a])?(Gb(c[a][0]),Gb(c[a][1])):Gb(c[a]);"gauge"===b.type?(ya(b,"axisLabel"),ya(b,"title"),ya(b,"detail")):"treemap"===b.type?(ab(b.breadcrumb,"itemStyle"),r(b.levels,function(c){qg(c)})):"tree"===b.type&&qg(b.leaves)}}function Ec(b){return A(b)?b:b?[b]:[]}function Tr(b){return(A(b)?b[0]:b)||{}}function jB(b,a){Xb(Ec(b.series),function(c){rg(c)&&iB(c)});var c="xAxis yAxis radiusAxis angleAxis singleAxis parallelAxis radar".split(" ");a&&c.push("valueAxis","categoryAxis","logAxis","timeAxis");Xb(c,function(c){Xb(Ec(b[c]),function(c){c&&(ya(c,"axisLabel"),ya(c.axisPointer,"label"))})});Xb(Ec(b.parallel),function(c){c=c&&c.parallelAxisDefault;ya(c,"axisLabel");ya(c&&c.axisPointer,"label")});Xb(Ec(b.calendar),function(c){ab(c,"itemStyle");ya(c,"dayLabel");ya(c,"monthLabel");ya(c,"yearLabel")});Xb(Ec(b.radar),function(c){ya(c,"name");c.name&&null==c.axisName&&(c.axisName=c.name,delete c.name,Vb("name property in radar component has been changed to axisName"));null!=c.nameGap&&null==c.axisNameGap&&(c.axisNameGap=c.nameGap,delete c.nameGap,Vb("nameGap property in radar component has been changed to axisNameGap"))});Xb(Ec(b.geo),function(c){rg(c)&&(Gb(c),Xb(Ec(c.regions),function(c){Gb(c)}))});Xb(Ec(b.timeline),function(c){Gb(c);ab(c,"label");ab(c,"itemStyle");ab(c,"controlStyle",!0);c=c.data;A(c)&&r(c,function(c){N(c)&&(ab(c,"label"),ab(c,"itemStyle"))})});Xb(Ec(b.toolbox),function(c){ab(c,"iconStyle");Xb(c.feature,function(c){ab(c,"iconStyle")})});ya(Tr(b.axisPointer),"label");ya(Tr(b.tooltip).axisPointer,"label")}function Ur(b){b&&r(kB,function(a){a[0]in b&&!(a[1]in b)&&(b[a[1]]=b[a[0]])})}function sg(b){if(b=b&&b.itemStyle)for(var a=0;a<Ml.length;a++){var c=Ml[a][1],d=Ml[a][0];null!=b[c]&&(b[d]=b[c],Sa(c,d))}}function Vr(b){b&&"edge"===b.alignTo&&null!=b.margin&&null==b.edgeDistance&&(Sa("label.margin","label.edgeDistance","pie"),b.edgeDistance=b.margin)}function Wr(b){b&&b.downplay&&!b.blur&&(b.blur=b.downplay,Sa("downplay","blur","sunburst"))}function Xr(b,a){if(b)for(var c=0;c<b.length;c++)a(b[c]),b[c]&&Xr(b[c].children,a)}function Yr(b,a){jB(b,a);b.series=xa(b.series);r(b.series,function(c){if(N(c)){var a=c.type;if("line"===a)null!=c.clipOverflow&&(c.clip=c.clipOverflow,Sa("clipOverflow","clip","line"));else if("pie"===a||"gauge"===a){null!=c.clockWise&&(c.clockwise=c.clockWise,Sa("clockWise","clockwise"));Vr(c.label);if((a=c.data)&&!db(a))for(var b=0;b<a.length;b++)Vr(a[b]);null!=c.hoverOffset&&(c.emphasis=c.emphasis||{},c.emphasis.scaleSize=null)}else if("gauge"===a){for(var a=["pointer.color"],b=c,f=0;f<a.length&&(b=b&&b[a[f]],null!=b);f++);a=b;if(null!=a){for(var b=["itemStyle.color"],f=c,g,h=0;h<b.length-1;h++)g=b[h],null==f[g]&&(f[g]={}),f=f[g];null==f[b[h]]&&(f[b[h]]=a)}}else if("bar"===a){if(sg(c),sg(c.backgroundStyle),sg(c.emphasis),(a=c.data)&&!db(a))for(b=0;b<a.length;b++)"object"===typeof a[b]&&(sg(a[b]),sg(a[b]&&a[b].emphasis))}else if("sunburst"===a){if(a=c.highlightPolicy)c.emphasis=c.emphasis||{},c.emphasis.focus||(c.emphasis.focus=a,Sa("highlightPolicy","emphasis.focus","sunburst"));Wr(c);Xr(c.data,Wr)}else"graph"===a||"sankey"===a?c&&null!=c.focusNodeAdjacency&&(c.emphasis=c.emphasis||{},null==c.emphasis.focus&&(Sa("focusNodeAdjacency","emphasis: { focus: 'adjacency'}","graph/sankey"),c.emphasis.focus="adjacency")):"map"===a&&(c.mapType&&!c.map&&(Sa("mapType","map","map"),c.map=c.mapType),c.mapLocation&&(Vb("`mapLocation` is not used anymore."),K(c,c.mapLocation)));null!=c.hoverAnimation&&(c.emphasis=c.emphasis||{},c.emphasis&&null==c.emphasis.scale&&(Sa("hoverAnimation","emphasis.scale"),c.emphasis.scale=c.hoverAnimation));Ur(c)}});b.dataRange&&(b.visualMap=b.dataRange);r(lB,function(c){if(c=b[c])A(c)||(c=[c]),r(c,function(c){Ur(c)})})}function mB(b){r(b,function(a,c){var d=[],e=[NaN,NaN],f=a.data,g=a.isStackedByIndex,h=f.map([a.stackResultDimension,a.stackedOverDimension],function(h,l,m){h=f.get(a.stackedDimension,m);if(isNaN(h))return e;var k,p;g?p=f.getRawIndex(m):k=f.get(a.stackedByDimension,m);m=NaN;for(l=c-1;0<=l;l--){var q=b[l];g||(p=q.data.rawIndexOf(q.stackedByDimension,k));if(0<=p&&(q=q.data.getByRawIndex(q.stackResultDimension,p),0<=h&&0<q||0>=h&&0>q)){h+=q;m=q;break}}d[0]=h;d[1]=m;return d});f.hostModel.setData(h);a.data=h})}function Nl(b,a,c,d){c=c||Zr(b);var e=a.seriesLayoutBy,f=nB(b,c,e,a.sourceHeader,a.dimensions);return new Rd({data:b,sourceFormat:c,seriesLayoutBy:e,dimensionsDefine:f.dimensionsDefine,startIndex:f.startIndex,dimensionsDetectedCount:f.dimensionsDetectedCount,encodeDefine:d?R(d):null,metaRawOption:J(a)})}function Ol(b){return new Rd({data:b,sourceFormat:db(b)?"typedArray":"original"})}function oB(b){var a=b.data,c=b.sourceFormat,d=b.seriesLayoutBy,e=J(b.dimensionsDefine),f=b.startIndex,g=b.dimensionsDetectedCount;b=(b=b.encodeDefine)?R(b):null;return new Rd({data:a,sourceFormat:c,seriesLayoutBy:d,dimensionsDefine:e,startIndex:f,dimensionsDetectedCount:g,encodeDefine:b})}function Zr(b){var a="unknown";if(db(b))a="typedArray";else if(A(b)){0===b.length&&(a="arrayRows");for(var c=0,d=b.length;c<d;c++){var e=b[c];if(null!=e)if(A(e)){a="arrayRows";break}else if(N(e)){a="objectRows";break}}}else if(N(b))for(c in b)if(b.hasOwnProperty(c)&&Xa(b[c])){a="keyedColumns";break}return a}function nB(b,a,c,d,e){var f,g;if(!b)return{dimensionsDefine:$r(e),startIndex:g,dimensionsDetectedCount:f};"arrayRows"===a?("auto"===d||null==d?as(function(c){null!=c&&"-"!==c&&(da(c)?null==g&&(g=1):g=0)},c,b,10):g=Rh(d)?d:d?1:0,e||1!==g||(e=[],as(function(c,a){e[a]=null!=c?c+"":""},c,b,Infinity)),f=e?e.length:"row"===c?b.length:b[0]?b[0].length:null):"objectRows"===a?e||(e=pB(b)):"keyedColumns"===a?e||(e=[],r(b,function(c,a){e.push(a)})):"original"===a?(b=bg(b[0]),f=A(b)&&b.length||1):"typedArray"===a&&O(!!e,"dimensions must be given if data is TypedArray.");return{startIndex:g,dimensionsDefine:$r(e),dimensionsDetectedCount:f}}function pB(b){for(var a=0,c;a<b.length&&!(c=b[a++]););if(c){var d=[];r(c,function(c,a){d.push(a)});return d}}function $r(b){if(b){var a=R();return C(b,function(c,b){c=N(c)?c:{name:c};var d={name:c.name,displayName:c.displayName,type:c.type};if(null==d.name)return d;d.name+="";null==d.displayName&&(d.displayName=d.name);var f=a.get(d.name);f?d.name+="-"+f.count++:a.set(d.name,{count:1});return d})}}function as(b,a,c,d){if("row"===a)for(a=0;a<c.length&&a<d;a++)b(c[a]?c[a][0]:null,a);else for(c=c[0]||[],a=0;a<c.length&&a<d;a++)b(c[a],a)}function bs(b,a){var c=qB["arrayRows"===b?b+"_"+a:b];O(c,'Do not suppport get item on "'+b+'", "'+a+'".');return c}function cs(b,a){var c=rB["arrayRows"===b?b+"_"+a:b];O(c,'Do not suppport count on "'+b+'", "'+a+'".');return c}function ds(b){var a=sB[b];O(a,'Do not suppport get value on "'+b+'".');return a}function Sd(b,a,c){if(b&&(a=b.getRawDataItem(a),null!=a)){var d=b.getProvider().getSource().sourceFormat,e,f;if(b=b.getDimensionInfo(c))e=b.name,f=b.index;return ds(d)(a,f,e)}}function es(b){var a,c;N(b)?b.type?c=b:console.warn("The return type of `formatTooltip` is not supported: "+gb(b)):a=b;return{markupText:a,markupFragment:c}}function Di(b,a){var c=a&&a.type;if("ordinal"===c)return(c=a&&a.ordinalMeta)?c.parseAndCollect(b):b;"time"===c&&"number"!==typeof b&&null!=b&&"-"!==b&&(b=+qb(b));return null==b||""===b?NaN:+b}function tB(b,a){var c=new uB,d=b.data,e=c.sourceFormat=b.sourceFormat,f=b.startIndex;"column"!==b.seriesLayoutBy&&ja('`seriesLayoutBy` of upstream dataset can only be "column" in data transform.');var g=[],h={},k=b.dimensionsDefine;if(k)r(k,function(c,a){var b=c.name,d={index:a,name:b,displayName:c.displayName};g.push(d);null!=b&&(h.hasOwnProperty(b)&&ja('dimension name "'+b+'" duplicated.'),h[b]=d)});else for(k=0;k<b.dimensionsDetectedCount;k++)g.push({index:k});var l=bs(e,"column");a.__isBuiltIn&&(c.getRawDataItem=function(c){return l(d,f,g,c)},c.getRawData=I(vB,null,b));c.cloneRawData=I(wB,null,b);k=cs(e,"column");c.count=I(k,null,d,f,g);var m=ds(e);c.retrieveValue=function(c,a){var b=l(d,f,g,c);return n(b,a)};var n=c.retrieveValueFromItem=function(c,a){if(null!=c){var b=g[a];if(b)return m(c,a,b.name)}};c.getDimensionInfo=I(xB,null,g,h);c.cloneAllDimensionInfo=I(yB,null,g);return c}function vB(b){var a=b.sourceFormat;"arrayRows"!==a&&"objectRows"!==a&&ja("`getRawData` is not supported in source format "+a);return b.data}function wB(b){var a=b.sourceFormat;b=b.data;"arrayRows"!==a&&"objectRows"!==a&&ja("`cloneRawData` is not supported in source format "+a);if("arrayRows"===a){for(var a=[],c=0,d=b.length;c<d;c++)a.push(b[c].slice());return a}if("objectRows"===a){a=[];c=0;for(d=b.length;c<d;c++)a.push(F({},b[c]));return a}}function xB(b,a,c){if(null!=c){if("number"===typeof c||!isNaN(c)&&!a.hasOwnProperty(c))return b[c];if(a.hasOwnProperty(c))return a[c]}}function yB(b){return J(b)}function zB(b,a,c){b=xa(b);var d=b.length;d||ja("If `transform` declared, it should at least contain one transform.");for(var e=0;e<d;e++)a=AB(b[e],a,c,1===d?null:e),e!==d-1&&(a.length=Math.max(a.length,1));return a}function AB(b,a,c,d){a.length||ja("Must have at least one upstream dataset.");N(b)||ja("transform declaration must be an object rather than "+typeof b+".");var e=b.type,f=fs.get(e);f||ja('Can not find transform on type "'+e+'".');e=C(a,function(c){return tB(c,f)});e=xa(f.transform({upstream:e[0],upstreamList:e,config:J(b.config)}));b.print&&(b=C(e,function(a){return["\x3d\x3d\x3d dataset index: "+c.datasetIndex+(null!=d?" \x3d\x3d\x3d pipe index: "+d:"")+" \x3d\x3d\x3d","- transform result data:",gb(a.data),"- transform result dimensions:",gb(a.dimensions)].join("\n")}).join("\n"),uA(b));return C(e,function(c,b){N(c)||ja("A transform should not return some empty results.");c.data||ja("Transform result data should be not be null or undefined");var d=Zr(c.data);"arrayRows"!==d&&"objectRows"!==d&&ja("Transform result data should be array rows or object rows.");if((d=a[0])&&0===b&&!c.dimensions){var e=d.startIndex;e&&(c.data=d.data.slice(0,e).concat(c.data));d={seriesLayoutBy:"column",sourceHeader:e,dimensions:d.metaRawOption.dimensions}}else d={seriesLayoutBy:"column",sourceHeader:0,dimensions:c.dimensions};return Nl(c.data,d,null,null)})}function gs(b,a){var c=b.color||"#6e7079",d=b.fontSize||12,e=b.fontWeight||"400",f=b.color||"#464646",g=b.fontSize||14,h=b.fontWeight||"900";return"html"===a?{nameStyle:"font-size:"+d+"px;color:"+c+";font-weight:"+e,valueStyle:"font-size:"+g+"px;color:"+f+";font-weight:"+h}:{nameStyle:{fontSize:d,fill:c,fontWeight:e},valueStyle:{fontSize:g,fill:f,fontWeight:h}}}function Ha(b,a){a.type=b;return a}function Pl(b){return hs.hasOwnProperty(b.type)&&hs[b.type]}function BB(b,a,c,d){var e=[],f=a.blocks||[];O(!f||A(f));var f=f||[],g=b.orderMode;if(a.sortBlocks&&g){var f=f.slice(),h={valueAsc:"asc",valueDesc:"desc"};if(h.hasOwnProperty(g)){var k=new is(h[g],null);f.sort(function(c,a){return k.evaluate(c.sortParam,a.sortParam)})}else"seriesDesc"===g&&f.reverse()}var l=js(a);r(f,function(c,a){var f=Pl(c).build(b,c,0<a?l.html:0,d);null!=f&&e.push(f)});if(e.length)return"richText"===b.renderMode?e.join(l.richText):Ql(e.join(""),c)}function ks(b,a,c,d,e,f){if(b){var g=Pl(b);g.planLayout(b);return g.build({useUTC:e,renderMode:c,orderMode:d,markupStyleCreator:a},b,0,f)}}function js(b){b=b.__gapLevelBetweenSubBlocks;return{html:CB[b],richText:DB[b]}}function Ql(b,a){return'\x3cdiv style\x3d"'+("margin: "+a+"px 0 0")+';line-height:1;"\x3e'+b+'\x3cdiv style\x3d"clear:both"\x3e\x3c/div\x3e\x3c/div\x3e'}function EB(b,a,c,d){return'\x3cspan style\x3d"'+(a?"float:right;margin-left:"+(c?"10px":"20px"):"")+";"+d+'"\x3e'+C(b,function(c){return fd(c)}).join("\x26nbsp;\x26nbsp;")+"\x3c/span\x3e"}function FB(b,a,c,d,e){e=[e];c&&e.push({padding:[0,0,0,d?10:20],align:"right"});return b.markupStyleCreator.wrapRichTextStyle(a.join(" "),e)}function ls(b,a){var c=b.getData().getItemVisual(a,"style")[b.visualDrawType];return og(c)}function ms(b,a){var c=b.get("padding");return null!=c?c:"richText"===a?[8,10]:10}function ns(b){var a=b.series,c=b.dataIndex;b=b.multipleSeries;var d=a.getData(),e=d.mapDimensionsAll("defaultedTooltip"),f=e.length,g=a.getRawValue(c),h=A(g),k=ls(a,c),l,m;1<f||h&&!f?(f=GB(g,a,c,e,k),e=f.inlineValues,l=f.inlineValueTypes,m=f.blocks,f=f.inlineValues[0]):f?(l=d.getDimensionInfo(e[0]),f=e=Sd(d,c,e[0]),l=l.type):f=e=h?g[0]:g;a=(g=al(a))&&a.name||"";c=d.getName(c);c=b?a:c;return Ha("section",{header:a,noHeader:b||!g,sortParam:f,blocks:[Ha("nameValue",{markerType:"item",markerColor:k,name:c,noName:!Va(c),value:e,valueType:l})].concat(m||[])})}function GB(b,a,c,d,e){function f(c,a){var b=g.getDimensionInfo(a);b&&!1!==b.otherDims.tooltip&&(h?m.push(Ha("nameValue",{markerType:"subItem",markerColor:e,name:b.displayName,value:c,valueType:b.type})):(k.push(c),l.push(b.type)))}var g=a.getData(),h=Ed(b,function(c,a,b){a=g.getDimensionInfo(b);return c||a&&!1!==a.tooltip&&null!=a.displayName},!1),k=[],l=[],m=[];d.length?r(d,function(a){f(Sd(g,c,a),a)}):r(b,f);return{inlineValues:k,inlineValueTypes:l,blocks:m}}function Ei(b,a){return b.getName(a)||b.getId(a)}function os(b){var a=b.name;al(b)||(b.name=HB(b)||a)}function HB(b){var a=b.getRawData();b=a.mapDimensionsAll("seriesName");var c=[];r(b,function(b){b=a.getDimensionInfo(b);b.displayName&&c.push(b.displayName)});return c.join(" ")}function IB(b){return b.model.getRawData().count()}function JB(b){b=b.model;b.setData(b.getRawData().cloneShallow());return KB}function KB(b,a){a.outputData&&b.end>a.outputData.count()&&a.model.getRawData().cloneShallow(a.outputData)}function ps(b,a){r(Pp(b.CHANGABLE_METHODS,b.DOWNSAMPLE_METHODS),function(c){b.wrapMethod(c,P(LB,a))})}function LB(b,a){var c=Rl(b);c&&c.setOutputEnd((a||this).count());return a}function Rl(b){var a=(b.ecModel||{}).scheduler;if(a=a&&a.getPipeline(b.uid)){if(a=a.currentTask){var c=a.agentStubMap;c&&(a=c.get(b.uid))}return a}}function cf(){var b=ma();return function(a){var c=b(a),d=a.pipelineContext;a=!!c.large;var e=!!c.progressiveRender,f=c.large=!(!d||!d.large),c=c.progressiveRender=!(!d||!d.progressiveRender);return!(a===f&&e===c)&&"reset"}}function qs(b,a,c){var d=Jd(b,a),e=a&&null!=a.highlightKey?OA(a.highlightKey):null;null!=d?r(xa(d),function(a){(a=b.getItemGraphicEl(a))&&("emphasis"===c?nc:oc)(a,e)}):b.eachItemGraphicEl(function(a){a&&("emphasis"===c?nc:oc)(a,e)})}function MB(b){return NB(b.model)}function OB(b){var a=b.model,c=b.ecModel,d=b.api,e=b.payload,f=a.pipelineContext.progressiveRender;b=b.view;var g=e&&rs(e).updateMethod,f=f?"incrementalPrepareRender":g&&b[g]?g:"render";if("render"!==f)b[f](a,c,d,e);return PB[f]}function Fi(b,a,c){function d(){g=(new Date).getTime();h=null;b.apply(l,m||[])}var e,f=0,g=0,h=null,k,l,m,n;a=a||0;var p=function(){for(var b=[],p=0;p<arguments.length;p++)b[p]=arguments[p];e=(new Date).getTime();l=this;m=b;b=n||a;p=n||c;n=null;k=e-(p?f:g)-b;clearTimeout(h);p?h=setTimeout(d,b):0<=k?d():h=setTimeout(d,-k);f=e};p.clear=function(){h&&(clearTimeout(h),h=null)};p.debounceNextCall=function(c){n=c};return p}function tg(b,a,c,d){var e=b[a];if(e){var f=e["\x00__throttleOriginMethod"]||e,g=e["\x00__throttleType"];if(e["\x00__throttleRate"]!==c||g!==d){if(null==c||!d)return b[a]=f;e=b[a]=Fi(f,c,"debounce"===d);e["\x00__throttleOriginMethod"]=f;e["\x00__throttleType"]=d;e["\x00__throttleRate"]=c}return e}}function ss(b,a){var c=b.visualStyleMapper||ts[a];return c?c:(console.warn("Unkown style type '"+a+"'."),ts.itemStyle)}function us(b,a){var c=b.visualDrawType||QB[a];return c?c:(console.warn("Unkown style type '"+a+"'."),"fill")}function RB(b){b.overallReset(b.ecModel,b.api,b.payload)}function SB(b){return b.overallProgress&&TB}function TB(){this.agent.dirty();this.getDownstream().dirty()}function UB(){this.agent&&this.agent.dirty()}function VB(b){return b.plan?b.plan(b.model,b.ecModel,b.api,b.payload):null}function WB(b){b.useClearVisual&&b.data.clearAllVisual();b=b.resetDefines=xa(b.reset(b.model,b.ecModel,b.api,b.payload));return 1<b.length?C(b,function(a,c){return vs(c)}):XB}function vs(b){return function(a,c){var d=c.data,e=c.resetDefines[b];if(e&&e.dataEach)for(var f=a.start;f<a.end;f++)e.dataEach(d,f);else e&&e.progress&&e.progress(a,d)}}function YB(b){return b.data.count()}function ws(b,a){for(var c in a.prototype)b[c]=hc}function xs(b){da(b)&&(b=(new DOMParser).parseFromString(b,"text/xml"));9===b.nodeType&&(b=b.firstChild);for(;"svg"!==b.nodeName.toLowerCase()||1!==b.nodeType;)b=b.nextSibling;return b}function Sl(b,a,c){switch(c){case "color":return b.getItemVisual(a,"style")[b.getVisual("drawType")];case "opacity":return b.getItemVisual(a,"style").opacity;case "symbol":case "symbolSize":case "liftZ":return b.getItemVisual(a,c);default:console.warn("Unknown visual type "+c)}}function ug(b,a){switch(a){case "color":return b.getVisual("style")[b.getVisual("drawType")];case "opacity":return b.getVisual("style").opacity;case "symbol":case "symbolSize":case "liftZ":return b.getVisual(a);default:console.warn("Unknown visual type "+a)}}function ys(b,a,c,d){switch(c){case "color":b.ensureUniqueItemVisual(a,"style")[b.getVisual("drawType")]=d;b.setItemVisual(a,"colorFromPalette",!1);break;case "opacity":b.ensureUniqueItemVisual(a,"style").opacity=d;break;case "symbol":case "symbolSize":case "liftZ":b.setItemVisual(a,c,d);break;default:console.warn("Unknown visual type "+c)}}function Gi(b,a,c,d,e,f,g,h){c-=b;d-=a;var k=Math.sqrt(c*c+d*d);c/=k;d/=k;var l=((e-b)*c+(f-a)*d)/k;h&&(l=Math.min(Math.max(l,0),1));l*=k;b=g[0]=b+l*c;a=g[1]=a+l*d;return Math.sqrt((b-e)*(b-e)+(a-f)*(a-f))}function zs(b,a,c,d,e,f,g){0>c&&(b+=c,c=-c);0>d&&(a+=d,d=-d);b=g[0]=Math.min(Math.max(e,b),b+c);a=g[1]=Math.min(Math.max(f,a),a+d);return Math.sqrt((b-e)*(b-e)+(a-f)*(a-f))}function As(b,a){if(b){var c=b.getTextGuideLine(),d=b.getTextContent();if(d&&c){var e=b.textGuideLineConfig||{},f=[[0,0],[0,0],[0,0]],g=e.candidates||ZB,h=d.getBoundingRect().clone();h.applyTransform(d.getComputedTransform());var d=Infinity,e=e.anchor,k=b.getComputedTransform(),l=k&&Ke([],k),m=a.get("length2")||0;e&&Ka.copy(e);for(var n=0;n<g.length;n++){var p=h,q=Yb,t=qc,u=p.width,w=p.height;switch(g[n]){case "top":q.set(p.x+u/2,p.y-0);t.set(0,-1);break;case "bottom":q.set(p.x+u/2,p.y+w+0);t.set(0,1);break;case "left":q.set(p.x-0,p.y+w/2);t.set(-1,0);break;case "right":q.set(p.x+u+0,p.y+w/2),t.set(1,0)}V.scaleAndAdd(pa,Yb,qc,m);pa.transform(l);q=b.getBoundingRect();if(e)p=e.distance(pa);else if(b instanceof Y){for(var p=Ka,v=0,z=0,t=q=0,B,y,u=Infinity,w=b.path.data,L=pa.x,D=pa.y,r=0;r<w.length;){var E=w[r++];1===r&&(v=w[r],z=w[r+1],q=v,t=z);var G=u;switch(E){case Td.M:q=w[r++];t=w[r++];v=q;z=t;break;case Td.L:G=Gi(v,z,w[r],w[r+1],L,D,Zb,!0);v=w[r++];z=w[r++];break;case Td.C:G=Mq(v,z,w[r++],w[r++],w[r++],w[r++],w[r],w[r+1],L,D,Zb);v=w[r++];z=w[r++];break;case Td.Q:G=Oq(v,z,w[r++],w[r++],w[r],w[r+1],L,D,Zb);v=w[r++];z=w[r++];break;case Td.A:var v=w[r++],z=w[r++],x=w[r++],E=w[r++],mc=w[r++],A=w[r++],r=r+1,G=!!(1-w[r++]);B=Math.cos(mc)*x+v;y=Math.sin(mc)*E+z;1>=r&&(q=B,t=y);var C=v,F=z,H=E,I=mc,J=mc+A,K=G;B=(L-v)*E/x+v;y=D;G=Zb;B-=C;y-=F;var fb=Math.sqrt(B*B+y*y);B/=fb;y/=fb;var M=B*H+C,N=y*H+F;1E-4>Math.abs(I-J)%vg?(G[0]=M,G[1]=N,G=fb-H):(K?(K=I,I=ad(J),J=ad(K)):(I=ad(I),J=ad(J)),I>J&&(J+=vg),K=Math.atan2(y,B),0>K&&(K+=vg),K>=I&&K<=J||K+vg>=I&&K+vg<=J?(G[0]=M,G[1]=N,G=fb-H):(fb=H*Math.cos(I)+C,I=H*Math.sin(I)+F,C=H*Math.cos(J)+C,F=H*Math.sin(J)+F,H=(fb-B)*(fb-B)+(I-y)*(I-y),B=(C-B)*(C-B)+(F-y)*(F-y),H<B?(G[0]=fb,G[1]=I,G=Math.sqrt(H)):(G[0]=C,G[1]=F,G=Math.sqrt(B))));v=Math.cos(mc+A)*x+v;z=Math.sin(mc+A)*E+z;break;case Td.R:q=v=w[r++];t=z=w[r++];E=w[r++];mc=w[r++];G=zs(q,t,E,mc,L,D,Zb);break;case Td.Z:G=Gi(v,z,q,t,L,D,Zb,!0),v=q,z=t}G<u&&(u=G,p.set(Zb[0],Zb[1]))}p=u}else p=Ka,q=zs(q.x,q.y,q.width,q.height,pa.x,pa.y,Zb),p.set(Zb[0],Zb[1]),p=q;p<d&&(d=p,pa.transform(k),Ka.transform(k),Ka.toArray(f[0]),pa.toArray(f[1]),Yb.toArray(f[2]))}Bs(f,a.get("minTurnAngle"));c.setShape({points:f})}}}function Bs(b,a){if(180>=a&&0<a){a=a/180*Math.PI;Yb.fromArray(b[0]);pa.fromArray(b[1]);Ka.fromArray(b[2]);V.sub(qc,Yb,pa);V.sub(rc,Ka,pa);var c=qc.len(),d=rc.len();.001>c||.001>d||(qc.scale(1/c),rc.scale(1/d),c=qc.dot(rc),Math.cos(a)<c&&(c=Gi(pa.x,pa.y,Ka.x,Ka.y,Yb.x,Yb.y,Hi,!1),jb.fromArray(Hi),jb.scaleAndAdd(rc,c/Math.tan(Math.PI-a)),c=Ka.x!==pa.x?(jb.x-pa.x)/(Ka.x-pa.x):(jb.y-pa.y)/(Ka.y-pa.y),isNaN(c)||(0>c?V.copy(jb,pa):1<c&&V.copy(jb,Ka),jb.toArray(b[1]))))}}function $B(b,a,c){if(180>=c&&0<c){c=c/180*Math.PI;Yb.fromArray(b[0]);pa.fromArray(b[1]);Ka.fromArray(b[2]);V.sub(qc,pa,Yb);V.sub(rc,Ka,pa);var d=qc.len(),e=rc.len();if(!(.001>d||.001>e)&&(qc.scale(1/d),rc.scale(1/e),qc.dot(a)<Math.cos(c))){d=Gi(pa.x,pa.y,Ka.x,Ka.y,Yb.x,Yb.y,Hi,!1);jb.fromArray(Hi);e=Math.PI/2;a=Math.acos(rc.dot(a));c=e+a-c;if(c>=e)V.copy(jb,Ka);else{jb.scaleAndAdd(rc,d/Math.tan(Math.PI/2-c));c=Ka.x!==pa.x?(jb.x-pa.x)/(Ka.x-pa.x):(jb.y-pa.y)/(Ka.y-pa.y);if(isNaN(c))return;0>c?V.copy(jb,pa):1<c&&V.copy(jb,Ka)}jb.toArray(b[1])}}}function Cs(b,a,c,d){var e="normal"===c;c=e?b:b.ensureState(c);c.ignore=a;(a=d.get("smooth"))&&!0===a&&(a=.3);c.shape=c.shape||{};0<a&&(c.shape.smooth=a);d=d.getModel("lineStyle").getLineStyle();e?b.useStyle(d):c.style=d}function aC(b,a){var c=a.smooth,d=a.points;if(d)if(b.moveTo(d[0][0],d[0][1]),0<c&&3<=d.length){var e=Fc(d[0],d[1]),f=Fc(d[1],d[2]);e&&f?(c*=Math.min(e,f),e=Rf([],d[1],d[0],c/e),f=Rf([],d[1],d[2],c/f),c=Rf([],e,f,.5),b.bezierCurveTo(e[0],e[1],e[0],e[1],c[0],c[1]),b.bezierCurveTo(f[0],f[1],f[0],f[1],d[2][0],d[2][1])):(b.lineTo(d[1][0],d[1][1]),b.lineTo(d[2][0],d[2][1]))}else for(f=1;f<d.length;f++)b.lineTo(d[f][0],d[f][1])}function Tl(b,a,c){var d=b.getTextGuideLine(),e=b.getTextContent();if(e){for(var f=a.normal,g=f.get("show"),h=e.ignore,k=0;k<Nd.length;k++){var l=Nd[k],m=a[l],n="normal"===l;if(m){var p=m.get("show");if((n?h:ka(e.states[l]&&e.states[l].ignore,h))||!ka(p,g)){if(l=n?d:d&&d.states.normal)l.ignore=!0}else d||(d=new kb,b.setTextGuideLine(d),n||!h&&g||Cs(d,!0,"normal",a.normal),b.stateProxy&&(d.stateProxy=b.stateProxy)),Cs(d,!1,l,m)}}d&&(K(d.style,c),d.style.fill=null,a=f.get("showAbove"),(b.textGuideLineConfig=b.textGuideLineConfig||{}).showAbove=a||!1,d.buildPath=aC)}else d&&b.removeTextGuideLine()}function Ul(b,a){a=a||"labelLine";for(var c={normal:b.getModel(a)},d=0;d<tb.length;d++){var e=tb[d];c[e]=b.getModel([e,a])}return c}function bC(b){for(var a=[],c=0;c<b.length;c++){var d=b[c];if(!d.defaultAttr.ignore){var e=d.label,f=e.getComputedTransform(),g=e.getBoundingRect(),h=!f||1E-5>f[1]&&1E-5>f[2],k=e.style.margin||0,l=g.clone();l.applyTransform(f);l.x-=k/2;l.y-=k/2;l.width+=k;l.height+=k;k=h?new Ii(g,f):null;a.push({label:e,labelLine:d.labelLine,rect:l,localRect:g,obb:k,priority:d.priority,defaultAttr:d.defaultAttr,layoutOption:d.computedLayoutOption,axisAligned:h,transform:f})}}return a}function Vl(b,a,c,d,e,f){function g(){y=z.rect[a]-d;r=e-B.rect[a]-B.rect[c]}function h(c,a,b){0>c&&(a=Math.min(a,-c),0<a?(k(a*b,0,n),c=a+c,0>c&&l(-c*b,1)):l(-c*b,1))}function k(c,d,e){for(0!==c&&(q=!0);d<e;d++){var f=b[d];f.rect[a]+=c;f.label[a]+=c}}function l(d,e){for(var f=[],g=0,h=1;h<n;h++){var l=b[h-1].rect,l=Math.max(b[h].rect[a]-l[a]-l[c],0);f.push(l);g+=l}if(g)if(g=Math.min(Math.abs(d)/g,e),0<d)for(h=0;h<n-1;h++)l=f[h]*g,k(l,0,h+1);else for(h=n-1;0<h;h--)l=f[h-1]*g,k(-l,h,n)}function m(c){var a=0>c?-1:1;c=Math.abs(c);for(var b=Math.ceil(c/(n-1)),d=0;d<n-1&&!(0<a?k(b,0,d+1):k(-b,n-d-1,n),c-=b,0>=c);d++);}var n=b.length;if(!(2>n)){b.sort(function(c,b){return c.rect[a]-b.rect[a]});for(var p=0,q=!1,t=0,u=0;u<n;u++){var w=b[u],v=w.rect,p=v[a]-p;0>p&&(v[a]-=p,w.label[a]-=p,q=!0);t+=Math.max(-p,0);p=v[a]+v[c]}0<t&&f&&k(-t/n,0,n);var z=b[0],B=b[n-1],y,r;g();0>y&&l(-y,.8);0>r&&l(r,.8);g();h(y,r,1);h(r,y,-1);g();0>y&&m(-y);0>r&&m(r);return q}}function cC(b){function a(c){if(!c.ignore){var a=c.ensureState("emphasis");null==a.ignore&&(a.ignore=!1)}c.ignore=!0}var c=[];b.sort(function(c,a){return a.priority-c.priority});for(var d=new aa(0,0,0,0),e=0;e<b.length;e++){var f=b[e],g=f.axisAligned,h=f.localRect,k=f.transform,l=f.label,m=f.labelLine;d.copy(f.rect);d.width-=.1;d.height-=.1;d.x+=.05;d.y+=.05;for(var n=f.obb,p=!1,q=0;q<c.length;q++){var t=c[q];if(d.intersect(t.rect)){if(g&&t.axisAligned){p=!0;break}t.obb||(t.obb=new Ii(t.localRect,t.transform));n||(n=new Ii(h,k));if(n.intersect(t.obb)){p=!0;break}}}p?(a(l),m&&a(m)):(l.attr("ignore",f.defaultAttr.ignore),m&&m.attr("ignore",f.defaultAttr.labelGuideIgnore),c.push(f))}}function dC(b,a){var c=b.label,d=a&&a.getTextGuideLine(),e=b.dataIndex,f=b.dataType,g=b.seriesModel.seriesIndex,h=b.label.style.text,k=b.hostRect,l=b.rect,m=c.style.align,c=c.style.verticalAlign;if(d=d&&d.shape.points){for(var n=[],p=0;p<d.length;p++)n.push(d[p].slice());d=n}else d=void 0;return{dataIndex:e,dataType:f,seriesIndex:g,text:h,rect:k,labelRect:l,align:m,verticalAlign:c,labelLinePoints:d}}function Ji(b,a,c){for(var d=0;d<c.length;d++){var e=c[d];null!=a[e]&&(b[e]=a[e])}}function Ds(b,a){function c(c,a){var d=[];c.eachComponent({mainType:"series",subType:b,query:a},function(c){d.push(c.seriesIndex)});return d}r([[b+"ToggleSelect","toggleSelect"],[b+"Select","select"],[b+"UnSelect","unselect"]],function(b){a(b[0],function(a,d,g){a=F({},a);Sa(a.type,b[1]);g.dispatchAction(F(a,{type:b[1],seriesIndex:c(d,a)}))})})}function df(b,a,c,d,e){var f=b+a;c.isSilent(f)||(Vb("event "+f+" is deprecated."),d.eachComponent({mainType:"series",subType:"pie"},function(a){for(var b=a.seriesIndex,d=e.selected,g=0;g<d.length;g++)if(d[g].seriesIndex===b){var m=a.getData(),n=Jd(m,e.fromActionPayload);c.trigger(f,{type:f,seriesId:a.id,name:A(n)?m.getName(n[0]):m.getName(n),selected:F({},a.option.selectedMap)})}}))}function eC(b,a,c){b.on("selectchanged",function(b){var d=c.getModel();b.isFromClick?(df("map","selectchanged",a,d,b),df("pie","selectchanged",a,d,b)):"select"===b.fromAction?(df("map","selected",a,d,b),df("pie","selected",a,d,b)):"unselect"===b.fromAction&&(df("map","unselected",a,d,b),df("pie","unselected",a,d,b))})}function ef(b,a,c){for(var d;b&&(!a(b)||(d=b,!c));)b=b.__hostTarget||b.parent;return d}function fC(b,a){if("image"!==this.type){var c=this.style;this.__isEmptyBrush?(c.stroke=b,c.fill=a||"#fff",c.lineWidth=2):c.fill=b;this.markRedraw()}}function Pa(b,a,c,d,e,f,g){var h=0===b.indexOf("empty");h&&(b=b.substr(5,1).toLowerCase()+b.substr(6));b=0===b.indexOf("image://")?xl(b.slice(8),new aa(a,c,d,e),g?"center":"cover"):0===b.indexOf("path://")?hg(b.slice(7),{},new aa(a,c,d,e),g?"center":"cover"):new gC({shape:{symbolType:b,x:a,y:c,width:d,height:e}});b.__isEmptyBrush=h;b.setColor=fC;f&&b.setColor(f);return b}function Wl(b,a,c){if("radial"===a.type){var d=c.width,e=c.height,f=Math.min(d,e),g=null==a.x?.5:a.x,h=null==a.y?.5:a.y,k=null==a.r?.5:a.r;a.global||(g=g*d+c.x,h=h*e+c.y,k*=f);b=b.createRadialGradient(g,h,0,g,h,k)}else d=null==a.x?0:a.x,e=null==a.x2?1:a.x2,f=null==a.y?0:a.y,g=null==a.y2?0:a.y2,a.global||(d=d*c.width+c.x,e=e*c.width+c.x,f=f*c.height+c.y,g=g*c.height+c.y),d=isNaN(d)?0:d,e=isNaN(e)?1:e,f=isNaN(f)?0:f,g=isNaN(g)?0:g,b=b.createLinearGradient(d,f,e,g);a=a.colorStops;for(c=0;c<a.length;c++)b.addColorStop(a[c].offset,a[c].color);return b}function Es(b,a){if(b===a||!b&&!a)return!1;if(!b||!a||b.length!==a.length)return!0;for(var c=0;c<b.length;c++)if(b[c]!==a[c])return!0;return!1}function Xl(b,a){if(!(b&&"solid"!==b&&0<a))return null;a=a||1;return"dashed"===b?[4*a,2*a]:"dotted"===b?[a]:Rh(b)?[b]:A(b)?b:null}function Ki(b){var a=b.stroke;return!(null==a||"none"===a||!(0<b.lineWidth))}function Li(b){b=b.fill;return null!=b&&"none"!==b}function Fs(b,a){if(null!=a.fillOpacity&&1!==a.fillOpacity){var c=b.globalAlpha;b.globalAlpha=a.fillOpacity*a.opacity;b.fill();b.globalAlpha=c}else b.fill()}function Gs(b,a){if(null!=a.strokeOpacity&&1!==a.strokeOpacity){var c=b.globalAlpha;b.globalAlpha=a.strokeOpacity*a.opacity;b.stroke();b.globalAlpha=c}else b.stroke()}function Yl(b,a,c){if((c=dl(a.image,a.__image,c))&&c.width&&c.height)return b=b.createPattern(c,a.repeat||"repeat"),"function"===typeof DOMMatrix&&(c=new DOMMatrix,c.rotateSelf(0,0,(a.rotation||0)/Math.PI*180),c.scaleSelf(a.scaleX||1,a.scaleY||1),c.translateSelf(a.x||0,a.y||0),b.setTransform(c)),b}function hC(b,a,c,d){var e=Ki(c),f=Li(c),g=c.strokePercent,h=1>g,k=!a.path;a.silent&&!h||!k||a.createPathProxy();var l=a.path||iC;if(!d){var m=c.fill,n=c.stroke,p=f&&!!m.colorStops,q=e&&!!n.colorStops,t=f&&!!m.image,u=e&&!!n.image,w=void 0,v=void 0,z=void 0,B=void 0,y=void 0;if(p||q)y=a.getBoundingRect();p&&(w=a.__dirty?Wl(b,m,y):a.__canvasFillGradient,a.__canvasFillGradient=w);q&&(v=a.__dirty?Wl(b,n,y):a.__canvasStrokeGradient,a.__canvasStrokeGradient=v);t&&(z=a.__dirty||!a.__canvasFillPattern?Yl(b,m,a):a.__canvasFillPattern,a.__canvasFillPattern=z);u&&(B=a.__dirty||!a.__canvasStrokePattern?Yl(b,n,a):a.__canvasStrokePattern,a.__canvasStrokePattern=z);p?b.fillStyle=w:t&&(z?b.fillStyle=z:f=!1);q?b.strokeStyle=v:u&&(B?b.strokeStyle=B:e=!1)}m=c.lineDash&&0<c.lineWidth&&Xl(c.lineDash,c.lineWidth);n=c.lineDashOffset;p=!!b.setLineDash;q=a.getGlobalScale();l.setScale(q[0],q[1],a.segmentIgnoreThreshold);if(m){var r=c.strokeNoScale&&a.getLineScale?a.getLineScale():1;r&&1!==r&&(m=C(m,function(c){return c/r}),n/=r)}q=!0;if(k||a.__dirty&Y.SHAPE_CHANGED_BIT||m&&!p&&e)l.setDPR(b.dpr),h?l.setContext(null):(l.setContext(b),q=!1),l.reset(),m&&!p&&(l.setLineDash(m),l.setLineDashOffset(n)),a.buildPath(l,a.shape,d),l.toStatic(),a.pathUpdated();q&&l.rebuildPath(b,h?g:1);m&&p&&(b.setLineDash(m),b.lineDashOffset=n);d||(c.strokeFirst?(e&&Gs(b,c),f&&Fs(b,c)):(f&&Fs(b,c),e&&Gs(b,c)));m&&p&&b.setLineDash([])}function jC(b,a,c){var d=c.text;null!=d&&(d+="");if(d){b.font=c.font||"12px sans-serif";b.textAlign=c.textAlign;b.textBaseline=c.textBaseline;var e=void 0;if(b.setLineDash){var f=c.lineDash&&0<c.lineWidth&&Xl(c.lineDash,c.lineWidth),g=c.lineDashOffset;if(f){var h=c.strokeNoScale&&a.getLineScale?a.getLineScale():1;h&&1!==h&&(f=C(f,function(c){return c/h}),g/=h);b.setLineDash(f);b.lineDashOffset=g;e=!0}}c.strokeFirst?(Ki(c)&&b.strokeText(d,c.x,c.y),Li(c)&&b.fillText(d,c.x,c.y)):(Li(c)&&b.fillText(d,c.x,c.y),Ki(c)&&b.strokeText(d,c.x,c.y));e&&b.setLineDash([])}}function Hs(b,a,c,d,e){var f=!1;if(!d&&(c=c||{},a===c))return!1;if(d||a.opacity!==c.opacity)f||(ob(b,e),f=!0),b.globalAlpha=null==a.opacity?Ud.opacity:a.opacity;if(d||a.blend!==c.blend)f||(ob(b,e),f=!0),b.globalCompositeOperation=a.blend||Ud.blend;for(var g=0;g<Is.length;g++){var h=Is[g];if(d||a[h]!==c[h])f||(ob(b,e),f=!0),b[h]=b.dpr*(a[h]||0)}if(d||a.shadowColor!==c.shadowColor)f||(ob(b,e),f=!0),b.shadowColor=a.shadowColor||Ud.shadowColor;return f}function Js(b,a,c,d,e){var f=wg(a,e.inHover);c=d?null:c&&wg(c,e.inHover)||{};if(f===c)return!1;var g=Hs(b,f,c,d,e);if(d||f.fill!==c.fill)g||(ob(b,e),g=!0),b.fillStyle=f.fill;if(d||f.stroke!==c.stroke)g||(ob(b,e),g=!0),b.strokeStyle=f.stroke;if(d||f.opacity!==c.opacity)g||(ob(b,e),g=!0),b.globalAlpha=null==f.opacity?1:f.opacity;a.hasStroke()&&(a=f.lineWidth/(f.strokeNoScale&&a&&a.getLineScale?a.getLineScale():1),b.lineWidth!==a&&(g||(ob(b,e),g=!0),b.lineWidth=a));for(a=0;a<Ks.length;a++){var h=Ks[a],k=h[0];if(d||f[k]!==c[k])g||(ob(b,e),g=!0),b[k]=f[k]||h[1]}return g}function Ls(b,a){var c=a.transform,d=b.dpr||1;c?b.setTransform(d*c[0],d*c[1],d*c[2],d*c[3],d*c[4],d*c[5]):b.setTransform(d,0,0,d,0,0)}function ob(b,a){a.batchFill&&b.fill();a.batchStroke&&b.stroke();a.batchFill="";a.batchStroke=""}function wg(b,a){return a?b.__hoverStyle||b.style:b.style}function Zl(b,a){hd(b,a,{inHover:!1,viewWidth:0,viewHeight:0},!0)}function hd(b,a,c,d){var e=a.transform;if(a.shouldBePainted(c.viewWidth,c.viewHeight,!1,!1)){var f=a.__clipPaths,g=c.prevElClipPaths,h=!1,k=!1;if(!g||Es(f,g)){g&&g.length&&(ob(b,c),b.restore(),k=h=!0,c.prevElClipPaths=null,c.allClipped=!1,c.prevEl=null);if(f&&f.length){ob(b,c);b.save();g=!1;for(h=0;h<f.length;h++){var l=f[h],g=g||l.isZeroArea();Ls(b,l);b.beginPath();l.buildPath(b,l.shape);b.clip()}c.allClipped=g;h=!0}c.prevElClipPaths=f}if(c.allClipped)a.__isRendered=!1;else{a.beforeBrush&&a.beforeBrush();a.innerBeforeBrush();(g=c.prevEl)||(k=h=!0);if(f=a instanceof Y&&a.autoBatch)var f=a.style,l=Li(f),m=Ki(f),f=!(f.lineDash||!(+l^+m)||l&&"string"!==typeof f.fill||m&&"string"!==typeof f.stroke||1>f.strokePercent||1>f.strokeOpacity||1>f.fillOpacity);h||(h=g.transform,h=e&&h?e[0]!==h[0]||e[1]!==h[1]||e[2]!==h[2]||e[3]!==h[3]||e[4]!==h[4]||e[5]!==h[5]:e||h?!0:!1);h?(ob(b,c),Ls(b,a)):f||ob(b,c);e=wg(a,c.inHover);if(a instanceof Y)1!==c.lastDrawType&&(k=!0,c.lastDrawType=1),Js(b,a,g,k,c),f&&(c.batchFill||c.batchStroke)||b.beginPath(),hC(b,a,e,f),f&&(c.batchFill=e.fill||"",c.batchStroke=e.stroke||"");else if(a instanceof Vd)3!==c.lastDrawType&&(k=!0,c.lastDrawType=3),Js(b,a,g,k,c),jC(b,a,e);else if(a instanceof Ga){if(2!==c.lastDrawType&&(k=!0,c.lastDrawType=2),Hs(b,wg(a,c.inHover),g&&wg(g,c.inHover),k,c),(k=a.__image=dl(e.image,a.__image,a,a.onload))&&k&&k.width&&k.height){var g=e.x||0,h=e.y||0,l=a.getWidth(),m=a.getHeight(),n=k.width/k.height;null==l&&null!=m?l=m*n:null==m&&null!=l?m=l/n:null==l&&null==m&&(l=k.width,m=k.height);if(e.sWidth&&e.sHeight){var n=e.sx||0,p=e.sy||0;b.drawImage(k,n,p,e.sWidth,e.sHeight,g,h,l,m)}else e.sx&&e.sy?(n=e.sx,p=e.sy,b.drawImage(k,n,p,l-n,m-p,g,h,l,m)):b.drawImage(k,g,h,l,m)}}else if(a instanceof xg){4!==c.lastDrawType&&(c.lastDrawType=4);h=a.getDisplayables();k=a.getTemporalDisplayables();b.save();e={prevElClipPaths:null,prevEl:null,allClipped:!1,viewWidth:c.viewWidth,viewHeight:c.viewHeight,inHover:c.inHover};l=a.getCursor();for(m=h.length;l<m;l++)g=h[l],g.beforeBrush&&g.beforeBrush(),g.innerBeforeBrush(),hd(b,g,e,l===m-1),g.innerAfterBrush(),g.afterBrush&&g.afterBrush(),e.prevEl=g;h=0;for(l=k.length;h<l;h++)g=k[h],g.beforeBrush&&g.beforeBrush(),g.innerBeforeBrush(),hd(b,g,e,h===l-1),g.innerAfterBrush(),g.afterBrush&&g.afterBrush(),e.prevEl=g;a.clearTemporalDisplayables();a.notClear=!0;b.restore()}f&&d&&ob(b,c);a.innerAfterBrush();a.afterBrush&&a.afterBrush();c.prevEl=a;a.__dirty=0;a.__isRendered=!0}}else a.__dirty&=~Hb.REDARAW_BIT,a.__isRendered=!1}function yg(b,a){if("none"===b)return null;var c=a.getDevicePixelRatio(),d=a.getZr(),e="svg"===d.painter.type;if(b.dirty)$l["delete"](b);var f=$l.get(b);if(f)return f;var g=K(b,{symbol:"rect",symbolSize:1,symbolKeepAspect:!0,color:"rgba(0, 0, 0, 0.2)",backgroundColor:null,dashArrayX:5,dashArrayY:5,rotation:0,maxTileWidth:512,maxTileHeight:512});"none"===g.backgroundColor&&(g.backgroundColor=null);f={repeat:"repeat"};(function(a){for(var b=[c],f=!0,h=0;h<Ms.length;++h){var n=g[Ms[h]],p=typeof n;if(null!=n&&!A(n)&&"string"!==p&&"number"!==p&&"boolean"!==p){f=!1;break}b.push(n)}var q;f&&(q=b.join(",")+(e?"-svg":""),b=Ns.get(q))&&(e?a.svgElement=b:a.image=b);var t=Os(g.dashArrayX),u=kC(g.dashArrayY),w=Ps(g.symbol),v=lC(t),z=Qs(u),B=!e&&Wd(),y=e&&d.painter.createSVGElement("g"),r=function(){for(var c=1,a=0,b=v.length;a<b;++a)c=wq(c,v[a]);for(var d=1,a=0,b=w.length;a<b;++a)d=wq(d,w[a].length);c*=d;a=z*v.length*w.length;b=function(c){console.warn("Calculated decal size is greater than "+c+" due to decal option settings so "+c+" is used for the decal size. Please consider changing the decal option to make a smaller decal or set "+c+" to be larger to avoid incontinuity.")};c>g.maxTileWidth&&b("maxTileWidth");a>g.maxTileHeight&&b("maxTileHeight");return{width:Math.max(1,Math.min(c,g.maxTileWidth)),height:Math.max(1,Math.min(a,g.maxTileHeight))}}(),D;B&&(B.width=r.width*c,B.height=r.height*c,D=B.getContext("2d"));(function(){D&&(D.clearRect(0,0,B.width,B.height),g.backgroundColor&&(D.fillStyle=g.backgroundColor,D.fillRect(0,0,B.width,B.height)));for(var a=0,b=0;b<u.length;++b)a+=u[b];if(!(0>=a))for(var a=-z,f=0,h=0,k=0;a<r.height;){if(0===f%2){for(var l=h/2%w.length,m=0,n=0,p=0;m<2*r.width;){for(var q=0,b=0;b<t[k].length;++b)q+=t[k][b];if(0>=q)break;0===n%2&&(b=.5*(1-g.symbolSize),q=e?1:c,b=Pa(w[l][p/2%w[l].length],(m+t[k][n]*b)*q,(a+u[f]*b)*q,t[k][n]*g.symbolSize*q,u[f]*g.symbolSize*q,g.color,g.symbolKeepAspect),e?y.appendChild(d.painter.paintOne(b)):Zl(D,b));m+=t[k][n];++p;++n;n===t[k].length&&(n=0)}++k;k===t.length&&(k=0)}a+=u[f];++h;++f;f===u.length&&(f=0)}})();f&&Ns.put(q,B||y);a.image=B;a.svgElement=y;a.svgWidth=r.width;a.svgHeight=r.height})(f);f.rotation=g.rotation;f.scaleX=f.scaleY=e?1:1/c;$l.set(b,f);b.dirty=!1;return f}function Ps(b){if(!b||0===b.length)return[["rect"]];if("string"===typeof b)return[[b]];for(var a=!0,c=0;c<b.length;++c)if("string"!==typeof b[c]){a=!1;break}if(a)return Ps([b]);a=[];for(c=0;c<b.length;++c)"string"===typeof b[c]?a.push([b[c]]):a.push(b[c]);return a}function Os(b){if(!b||0===b.length)return[[0,0]];if("number"===typeof b){var a=Math.ceil(b);return[[a,a]]}for(var a=!0,c=0;c<b.length;++c)if("number"!==typeof b[c]){a=!1;break}if(a)return Os([b]);for(var d=[],c=0;c<b.length;++c)"number"===typeof b[c]?(a=Math.ceil(b[c]),d.push([a,a])):(a=C(b[c],function(c){return Math.ceil(c)}),1===a.length%2?d.push(a.concat(a)):d.push(a));return d}function kC(b){if(!b||"object"===typeof b&&0===b.length)return[0,0];if("number"===typeof b)return b=Math.ceil(b),[b,b];var a=C(b,function(c){return Math.ceil(c)});return b.length%2?a.concat(a):a}function lC(b){return C(b,function(a){return Qs(a)})}function Qs(b){for(var a=0,c=0;c<b.length;++c)a+=b[c];return 1===b.length%2?2*a:a}function Rs(b){return function(){for(var a=[],c=0;c<arguments.length;c++)a[c]=arguments[c];if(this.isDisposed())vb(this.id);else return Ss(this,b,a)}}function Ts(b){return function(){for(var a=[],c=0;c<arguments.length;c++)a[c]=arguments[c];return Ss(this,b,a)}}function Ss(b,a,c){c[0]=c[0]&&c[0].toLowerCase();return $b.prototype[a].apply(b,c)}function vb(b){console.warn("Instance "+b+" has been disposed")}function Us(b){Mi[b]=!1}function am(b){var a=Xd,c=bm;b=b.getAttribute?b.getAttribute(c):b[c];return a[b]}function cm(b){0>Ni(dm,b)&&dm.push(b)}function em(b,a){fm(gm,b,a,2E3)}function Vs(b){0>Ni(hm,b)&&b&&hm.push(b)}function Ws(b){0>Ni(im,b)&&b&&im.push(b)}function ac(b,a,c){"function"===typeof a&&(c=a,a="");var d=zg(b)?b.type:[b,b={event:a}][0];b.event=(b.event||d).toLowerCase();a=b.event;Ag[a]||(ff(Xs.test(d)&&Xs.test(a)),Oi[d]||(Oi[d]={action:c,actionInfo:b}),Ag[a]=d)}function Ys(b,a){Yd.register(b,a)}function Zs(b,a){fm(Pi,b,a,1E3,"layout")}function id(b,a){fm(Pi,b,a,3E3,"visual")}function fm(b,a,c,d,e){if(mC(a)||zg(a))c=a,a=d;if(isNaN(a)||null==a)throw Error("Illegal priority");Ca(b,function(a){ff(a.__raw!==c)});0<=Ni($s,c)||($s.push(c),d=at.wrapStageHandler(c,e),d.__prio=a,d.__raw=c,b.push(d))}function bt(b,a){Qi[b]=a}function ct(b,a,c){Ri.registerMap(b,a,c)}function ca(b){A(b)?r(b,function(a){ca(a)}):0<=ba(dt,b)||(dt.push(b),fa(b)&&(b={install:b}),b.install(nC))}function Bg(b){return null==b?0:b.length||1}function et(b){return b}function oC(b){var a={},c=a.encode={},d=R(),e=[],f=[],g=a.userOutput={dimensionNames:b.dimensions.slice(),encode:{}};r(b.dimensions,function(a){var h=b.getDimensionInfo(a),k=h.coordDim;if(k){O(null==jm.get(k));var l=h.coordDimIndex;km(c,k)[l]=a;h.isExtraCoord||(d.set(k,1),pC(h.type)&&(e[0]=a),km(g.encode,k)[l]=h.index);h.defaultTooltip&&f.push(a)}jm.each(function(a,b){var d=km(c,b),e=h.otherDims[b];null!=e&&!1!==e&&(d[e]=h.name)})});var h=[],k={};d.each(function(a,b){var d=c[b];k[b]=d[0];h=h.concat(d)});a.dataDimsOnCoord=h;a.encodeFirstDimNotExtra=k;var l=c.label;l&&l.length&&(e=l.slice());(l=c.tooltip)&&l.length?f=l.slice():f.length||(f=e.slice());c.defaultedLabel=e;c.defaultedTooltip=f;return a}function km(b,a){b.hasOwnProperty(a)||(b[a]=[]);return b[a]}function Si(b){return"category"===b?"ordinal":"time"===b?"time":"float"}function pC(b){return!("ordinal"===b||"time"===b)}function qC(b,a,c){function d(c,a,b){null!=jm.get(a)?c.otherDims[a]=b:(c.coordDim=a,c.coordDimIndex=b,g.set(a,!0))}a instanceof Rd||(a=Ol(a));c=c||{};b=(b||[]).slice();for(var e=(c.dimsDef||[]).slice(),f=R(),g=R(),h=[],k=rC(a,b,e,c.dimCount),l=0;l<k;l++){var m=e[l],n=e[l]=F({},N(m)?m:{name:m}),p=n.name,m=h[l]=new Cg;null!=p&&null==f.get(p)&&(m.name=m.displayName=p,f.set(p,l));null!=n.type&&(m.type=n.type);null!=n.displayName&&(m.displayName=n.displayName)}m=c.encodeDef;!m&&c.encodeDefaulter&&(m=c.encodeDefaulter(a,k));var q=R(m);q.each(function(c,a){var b=xa(c).slice();if(1===b.length&&!da(b[0])&&0>b[0])q.set(a,!1);else{var e=q.set(a,[]);r(b,function(c,b){var g=da(c)?f.get(c):c;null!=g&&g<k&&(e[b]=g,d(h[g],a,b))})}});var t=0;r(b,function(c){var a,b,e,f;da(c)?(a=c,f={}):(f=c,a=f.name,c=f.ordinalMeta,f.ordinalMeta=null,f=J(f),f.ordinalMeta=c,b=f.dimsDef,e=f.otherDims,f.name=f.coordDim=f.coordDimIndex=f.dimsDef=f.otherDims=null);c=q.get(a);if(!1!==c){c=xa(c);if(!c.length)for(var g=0;g<(b&&b.length||1);g++){for(;t<h.length&&null!=h[t].coordDim;)t++;t<h.length&&c.push(t++)}r(c,function(c,g){var k=h[c];d(K(k,f),a,g);if(null==k.name&&b){var l=b[g];!N(l)&&(l={name:l});k.name=k.displayName=l.name;k.defaultTooltip=l.defaultTooltip}e&&K(k.otherDims,e)})}});b=c.generateCoord;c=c.generateCoordCount;e=null!=c;c=b?c||1:0;l=b||"value";for(n=0;n<k;n++){m=h[n]=h[n]||new Cg;if(null==m.coordDim){m.coordDim=ft(l,g,e);m.coordDimIndex=0;if(!b||0>=c)m.isExtraCoord=!0;c--}null==m.name&&(m.name=ft(m.coordDim,f,!1));null!=m.type||Mr(a.data,a.sourceFormat,a.seriesLayoutBy,a.dimensionsDefine,a.startIndex,n)!==ib.Must&&(!m.isExtraCoord||null==m.otherDims.itemName&&null==m.otherDims.seriesName)||(m.type="ordinal")}return h}function rC(b,a,c,d){var e=Math.max(b.dimensionsDetectedCount||1,a.length,c.length,d||0);r(a,function(c){var a;N(c)&&(a=c.dimsDef)&&(e=Math.max(e,a.length))});return e}function ft(b,a,c){if(c||null!=a.get(b)){for(c=0;null!=a.get(b+c);)c++;b+=c}a.set(b,!0);return b}function gf(b,a){a=a||{};return qC(a.coordDimensions||[],b,{dimsDef:a.dimensionsDefine||b.dimensionsDefine,encodeDef:a.encodeDefine||b.encodeDefine,dimCount:a.dimensionsCount,encodeDefaulter:a.encodeDefaulter,generateCoord:a.generateCoord,generateCoordCount:a.generateCoordCount})}function sC(b){var a=b.get("coordinateSystem"),c=new tC(a);if(a=uC[a])return a(b,c,c.axisMap,c.categoryAxisMap),c}function hf(b){return"category"===b.get("type")}function gt(b,a,c){c=c||{};var d=c.byIndex,e=c.stackedCoordDimension,f=!(!b||!b.get("stack")),g,h,k,l;r(a,function(c,b){da(c)&&(a[b]=c={name:c});f&&!c.isExtraCoord&&(d||g||!c.ordinalMeta||(g=c),h||"ordinal"===c.type||"time"===c.type||e&&e!==c.coordDim||(h=c))});!h||d||g||(d=!0);if(h){k="__\x00ecstackresult";l="__\x00ecstackedover";g&&(g.createInvertedIndices=!0);var m=h.coordDim;b=h.type;var n=0;r(a,function(c){c.coordDim===m&&n++});a.push({name:k,coordDim:m,coordDimIndex:n,type:b,isExtraCoord:!0,isCalculationCoord:!0});n++;a.push({name:l,coordDim:l,coordDimIndex:n,type:b,isExtraCoord:!0,isCalculationCoord:!0})}return{stackedDimension:h&&h.name,stackedByDimension:g&&g.name,isStackedByIndex:d,stackedOverDimension:l,stackResultDimension:k}}function Gc(b,a){return!!a&&a===b.getCalculationInfo("stackedDimension")}function lm(b,a){return Gc(b,a)?b.getCalculationInfo("stackResultDimension"):a}function sc(b,a,c){c=c||{};b instanceof Rd||(b=Ol(b));var d=a.get("coordinateSystem"),d=Yd.get(d),e=sC(a),f;e&&e.coordSysDims&&(f=C(e.coordSysDims,function(c){var a={name:c};if(c=e.axisMap.get(c))c=c.get("type"),a.type=Si(c);return a}));f||(f=d&&(d.getDimensionsInfo?d.getDimensionsInfo():d.dimensions.slice())||["x","y"]);var d=c.useEncodeDefaulter,d=gf(b,{coordDimensions:f,generateCoord:c.generateCoord,encodeDefaulter:fa(d)?d:d?P(Kr,f,a):null}),g,h;e&&r(d,function(a,b){var d=e.categoryAxisMap.get(a.coordDim);d&&(null==g&&(g=b),a.ordinalMeta=d.getOrdinalMeta(),c.createInvertedIndices&&(a.createInvertedIndices=!0));null!=a.otherDims.itemName&&(h=!0)});h||null==g||(d[g].otherDims.itemName=0);f=gt(a,d);a=new Wa(d,a);a.setCalculationInfo(f);f=null!=g&&vC(b)?function(c,a,b,d){return d===g?b:this.defaultDimValueGetter(c,a,b,d)}:null;a.hasItemOption=!1;a.initData(b,null,f);return a}function vC(b){if("original"===b.sourceFormat){b=b.data||[];for(var a=0;a<b.length&&null==b[a];)a++;b=b[a];return null!=b&&!A(bg(b))}}function wC(b){return N(b)&&null!=b.value?b.value:b+""}function Ti(b,a){return b>=a[0]&&b<=a[1]}function Ui(b,a){return a[1]===a[0]?.5:(b-a[0])/(a[1]-a[0])}function Vi(b,a){return b*(a[1]-a[0])+a[0]}function mm(b){return b.get("stack")||"__ec_stack_"+b.seriesIndex}function ht(b,a){var c=[];a.eachSeriesByType(b,function(a){!a.coordinateSystem||"cartesian2d"!==a.coordinateSystem.type||a.pipelineContext&&a.pipelineContext.large||c.push(a)});return c}function xC(b){var a={};r(b,function(c){var b=c.coordinateSystem.getBaseAxis();if("time"===b.type||"value"===b.type){c=c.getData();for(var d=b.dim+"_"+b.index,b=c.mapDimension(b.dim),e=0,f=c.count();e<f;++e){var g=c.get(b,e);a[d]?a[d].push(g):a[d]=[g]}}});b={};for(var c in a)if(a.hasOwnProperty(c)){var d=a[c];if(d){d.sort(function(c,a){return c-a});for(var e=null,f=1;f<d.length;++f){var g=d[f]-d[f-1];0<g&&(e=null===e?g:Math.min(e,g))}b[c]=e}}return b}function nm(b){var a=xC(b),c=[];r(b,function(b){var d=b.coordinateSystem.getBaseAxis(),f=d.getExtent(),g;if("category"===d.type)g=d.getBandWidth();else if("value"===d.type||"time"===d.type){g=a[d.dim+"_"+d.index];var f=Math.abs(f[1]-f[0]),h=d.scale.getExtent(),h=Math.abs(h[1]-h[0]);g=g?f/h*g:f}else g=b.getData(),g=Math.abs(f[1]-f[0])/g.count();var f=H(b.get("barWidth"),g),h=H(b.get("barMaxWidth"),g),k=H(b.get("barMinWidth")||1,g),l=b.get("barGap"),m=b.get("barCategoryGap");c.push({bandWidth:g,barWidth:f,barMaxWidth:h,barMinWidth:k,barGap:l,barCategoryGap:m,axisKey:d.dim+d.index,stackId:mm(b)})});return it(c)}function it(b){var a={};r(b,function(c,b){var d=c.axisKey,e=c.bandWidth,e=a[d]||{bandWidth:e,remainedWidth:e,autoWidthCount:0,categoryGap:null,gap:"20%",stacks:{}},h=e.stacks;a[d]=e;d=c.stackId;h[d]||e.autoWidthCount++;h[d]=h[d]||{width:0,maxWidth:0};var k=c.barWidth;k&&!h[d].width&&(h[d].width=k,k=Math.min(e.remainedWidth,k),e.remainedWidth-=k);(k=c.barMaxWidth)&&(h[d].maxWidth=k);(k=c.barMinWidth)&&(h[d].minWidth=k);h=c.barGap;null!=h&&(e.gap=h);h=c.barCategoryGap;null!=h&&(e.categoryGap=h)});var c={};r(a,function(a,b){c[b]={};var d=a.stacks,e=a.bandWidth,h=a.categoryGap;null==h&&(h=ia(d).length,h=Math.max(35-4*h,15)+"%");var h=H(h,e),k=H(a.gap,1),l=a.remainedWidth,m=a.autoWidthCount,n=(l-h)/(m+(m-1)*k),n=Math.max(n,0);r(d,function(c){var a=c.maxWidth,b=c.minWidth;if(c.width)d=c.width,a&&(d=Math.min(d,a)),b&&(d=Math.max(d,b)),c.width=d,l-=d+k*d,m--;else{var d=n;a&&a<d&&(d=Math.min(a,l));b&&b>d&&(d=b);d!==n&&(c.width=d,l-=d+k*d,m--)}});var n=(l-h)/(m+(m-1)*k),n=Math.max(n,0),p=0,q;r(d,function(c,a){c.width||(c.width=n);q=c;p+=c.width*(1+k)});q&&(p-=q.width*k);var t=-p/2;r(d,function(a,d){c[b][d]=c[b][d]||{bandWidth:e,offset:t,width:a.width};t+=a.width*(1+k)})});return c}function jt(b,a,c){if(b&&a)return b=b[a.dim+a.index],null!=b&&null!=c?b[mm(c)]:b}function kt(b,a){var c=ht(b,a),d=nm(c),e={};r(c,function(c){var a=c.getData(),b=c.coordinateSystem,f=b.getBaseAxis(),l=mm(c),m=d[f.dim+f.index][l],n=m.offset,p=m.width,q=b.getOtherAxis(f);c=c.get("barMinHeight")||0;e[l]=e[l]||[];a.setLayout({bandWidth:m.bandWidth,offset:n,size:p});for(var m=a.mapDimension(q.dim),f=a.mapDimension(f.dim),t=Gc(a,m),u=q.isHorizontal(),q=q.toGlobalCoord(q.dataToCoord("log"===q.type?1:0)),w=0,v=a.count();w<v;w++){var z=a.get(m,w),B=a.get(f,w),y=0<=z?"p":"n",r=q;t&&(e[l][B]||(e[l][B]={p:q,n:q}),r=e[l][B][y]);var D,Q;u?(Q=b.dataToPoint([z,B]),z=r,r=Q[1]+n,D=Q[0]-q,Q=p,Math.abs(D)<c&&(D=(0>D?-1:1)*c),isNaN(D)||t&&(e[l][B][y]+=D)):(Q=b.dataToPoint([B,z]),z=Q[0]+n,D=p,Q=Q[1]-q,Math.abs(Q)<c&&(Q=(0>=Q?-1:1)*c),isNaN(Q)||t&&(e[l][B][y]+=Q));a.setItemLayout(w,{x:z,y:r,width:D,height:Q})}})}function yC(b,a,c,d){var e=qb(a),f=qb(c),g=function(c){return Fr(e,c,d)===Fr(f,c,d)},h=function(){return g("year")&&g("month")};a=function(){return h()&&g("day")&&g("hour")&&g("minute")};switch(b){case "year":return g("year");case "month":return h();case "day":return h()&&g("day");case "hour":return h()&&g("day")&&g("hour");case "minute":return a();case "second":return a()&&g("second");case "millisecond":return a()&&g("second")&&g("millisecond")}}function lt(b,a){b/=a?6E4:1E3;return 30<b?30:20<b?20:15<b?15:10<b?10:5<b?5:2<b?2:1}function zC(b,a,c,d){function e(b,e,f){var g=[],h=!e.length;if(!yC(af(b),d[0],d[1],c)){if(h){e=new Date(new Date(d[0]));switch(af(b)){case "year":case "month":e[c?"setUTCMonth":"setMonth"](0);case "day":e[c?"setUTCDate":"setDate"](1);case "hour":e[c?"setUTCHours":"setHours"](0);case "minute":e[c?"setUTCMinutes":"setMinutes"](0);case "second":e[c?"setUTCSeconds":"setSeconds"](0),e[c?"setUTCSeconds":"setSeconds"](0)}e=[{value:e.getTime()},{value:d[1]}]}for(h=0;h<e.length-1;h++){var k=e[h].value,l=e[h+1].value;if(k!==l){var m=void 0,n=void 0,p=void 0;switch(b){case "year":m=Math.max(1,Math.round(a/864E5/365));n=Dl(c);p=c?"setUTCFullYear":"setFullYear";break;case "half-year":case "quarter":case "month":m=a;m/=2592E6;m=6<m?6:3<m?3:2<m?2:1;n=bf(c);p=c?"setUTCMonth":"setMonth";break;case "week":case "half-week":case "day":m=a;m/=864E5;m=16<m?16:7.5<m?7:3.5<m?4:1.5<m?2:1;n=vi(c);p=c?"setUTCDate":"setDate";break;case "half-day":case "quarter-day":case "hour":m=a;m/=36E5;m=12<m?12:6<m?6:3.5<m?4:2<m?2:1;n=ng(c);p=c?"setUTCHours":"setHours";break;case "minute":m=lt(a,!0);n=wi(c);p=c?"setUTCMinutes":"setMinutes";break;case "second":m=lt(a,!1);n=xi(c);p=c?"setUTCSeconds":"setSeconds";break;case "millisecond":m=Zk(a,!0),n=yi(c),p=c?"setUTCSeconds":"setSeconds"}for(var q=m,t=g,u=new Date(k),n=u[n]();k<l&&k<=d[1];)t.push({value:k}),n+=q,u[p](n),k=u.getTime();t.push({value:k,notAdd:!0});"year"===b&&1<f.length&&0===h&&f.unshift({value:f[0].value-m})}}for(h=0;h<g.length;h++)f.push(g[h]);return g}}for(var f=mt,g=0,h=[],k=[],l=0,m=0,n=0;n<f.length&&1E4>g++;++n)if(m=af(f[n]),XA(f[n])){e(f[n],h[h.length-1]||[],k);var p=f[n+1]?af(f[n+1]):null;if(m!==p){if(k.length){m=l;k.sort(function(c,a){return c.value-a.value});for(var p=[],q=0;q<k.length;++q){var t=k[q].value;if(0===q||k[q-1].value!==t)p.push(k[q]),t>=d[0]&&t<=d[1]&&l++}k=(d[1]-d[0])/a;if(l>1.5*k&&m>k/1.5)break;h.push(p);if(l>k||b===f[n])break}k=[]}}1E4<=g&&Pe("Exceed safe limit.");f=ta(C(h,function(c){return ta(c,function(c){return c.value>=d[0]&&c.value<=d[1]&&!c.notAdd})}),function(c){return 0<c.length});b=[];g=f.length-1;for(n=0;n<f.length;++n)for(h=f[n],l=0;l<h.length;++l)b.push({value:h[l].value,level:g-n});b.sort(function(c,a){return c.value-a.value});f=[];for(n=0;n<b.length;++n)0!==n&&b[n].value===b[n-1].value||f.push(b[n]);return f}function nt(b,a,c){var d=b.rawExtentInfo;if(d)return d;d=new AC(b,a,c);return b.rawExtentInfo=d}function jf(b,a){return null==a?null:Nc(a)?NaN:b.parse(a)}function ot(b,a){var c=b.type,d=nt(b,a,b.getExtent()).calculate();b.setBlank(d.isBlank);var e=d.min,f=d.max,g=a.ecModel;if(g&&"time"===c){var c=ht("bar",g),h=!1;r(c,function(c){h=h||c.getBaseAxis()===a.axis});h&&(c=nm(c),f=BC(e,f,a,c),e=f.min,f=f.max)}return{extent:[e,f],fixMin:d.minFixed,fixMax:d.maxFixed}}function BC(b,a,c,d){var e=c.axis.getExtent(),e=e[1]-e[0];c=jt(d,c.axis);if(void 0===c)return{min:b,max:a};var f=Infinity;r(c,function(c){f=Math.min(c.offset,f)});var g=-Infinity;r(c,function(c){g=Math.max(c.offset+c.width,g)});f=Math.abs(f);g=Math.abs(g);c=f+g;d=a-b;e=d/(1-(f+g)/e)-d;return{min:b-f/c*e,max:a+g/c*e}}function jd(b,a){var c=ot(b,a),d=c.extent,e=a.get("splitNumber");b instanceof om&&(b.base=a.get("logBase"));var f=b.type;b.setExtent(d[0],d[1]);b.niceExtent({splitNumber:e,fixMin:c.fixMin,fixMax:c.fixMax,minInterval:"interval"===f||"time"===f?a.get("minInterval"):null,maxInterval:"interval"===f||"time"===f?a.get("maxInterval"):null});c=a.get("interval");null!=c&&b.setInterval&&b.setInterval(c)}function Dg(b,a){if(a=a||b.get("type"))switch(a){case "category":return new Wi({ordinalMeta:b.getOrdinalMeta?b.getOrdinalMeta():b.getCategories(),extent:[Infinity,-Infinity]});case "time":return new pm({locale:b.ecModel.getLocaleModel(),useUTC:b.ecModel.get("useUTC")});default:return new (tc.getClass(a)||Zd)}}function Eg(b){var a=b.getLabelModel().get("formatter"),c="category"===b.type?b.scale.getExtent()[0]:null;return"time"===b.scale.type?function(c){return function(a,d){return b.scale.getFormattedLabel(a,d,c)}}(a):"string"===typeof a?function(c){return function(a){a=b.scale.getLabel(a);return c.replace("{value}",null!=a?a:"")}}(a):"function"===typeof a?function(a){return function(d,f){null!=c&&(f=d.value-c);return a(qm(b,d),f,null!=d.level?{level:d.level}:null)}}(a):function(c){return b.scale.getLabel(c)}}function qm(b,a){return"category"===b.type?b.scale.getLabel(a):a.value}function rm(b){b=b.get("interval");return null==b?"auto":b}function pt(b){return"category"===b.type&&0===rm(b.getLabelModel())}function Xi(b,a){var c={};r(b.mapDimensionsAll(a),function(a){c[lm(b,a)]=!0});return ia(c)}function CC(b,a,c){a&&r(Xi(a,c),function(c){c=a.getApproximateExtent(c);c[0]<b[0]&&(b[0]=c[0]);c[1]>b[1]&&(b[1]=c[1])})}function $d(b,a,c){var d=0,e=b[0];if(!e)return!1;for(var f=1;f<b.length;f++)var g=b[f],d=d+Cc(e[0],e[1],g[0],g[1],a,c),e=g;b=b[0];1E-8>Math.abs(e[0]-b[0])&&1E-8>Math.abs(e[1]-b[1])||(d+=Cc(e[0],e[1],b[0],b[1],a,c));return 0!==d}function DC(b){if(!b.UTF8Encoding)return b;var a=b.UTF8Scale;null==a&&(a=1024);for(var c=b.features,d=0;d<c.length;d++){var e=c[d].geometry;if("Polygon"===e.type)for(var f=e.coordinates,g=0;g<f.length;g++)f[g]=qt(f[g],e.encodeOffsets[g],a);else if("MultiPolygon"===e.type)for(f=e.coordinates,g=0;g<f.length;g++)for(var h=f[g],k=0;k<h.length;k++)h[k]=qt(h[k],e.encodeOffsets[g][k],a)}b.UTF8Encoding=!1;return b}function qt(b,a,c){var d=[],e=a[0];a=a[1];for(var f=0;f<b.length;f+=2){var g=b.charCodeAt(f)-64,h=b.charCodeAt(f+1)-64,g=g>>1^-(g&1),h=h>>1^-(h&1),g=g+e,h=h+a,e=g;a=h;d.push([g/c,h/c])}return d}function sm(b,a){b=DC(b);return C(ta(b.features,function(c){return c.geometry&&c.properties&&0<c.geometry.coordinates.length}),function(c){var b=c.properties;c=c.geometry;var e=[];if("Polygon"===c.type){var f=c.coordinates;e.push({type:"polygon",exterior:f[0],interiors:f.slice(1)})}"MultiPolygon"===c.type&&(f=c.coordinates,r(f,function(c){c[0]&&e.push({type:"polygon",exterior:c[0],interiors:c.slice(1)})}));c=new rt(b[a||"name"],e,b.cp);c.properties=b;return c})}function EC(b,a){return"category"===b.type?FC(b,a):{ticks:C(b.scale.getTicks(),function(c){return c.value})}}function st(b,a){var c=tt(b,"labels"),d=rm(a),e=ut(c,d);if(e)return e;var f;fa(d)?e=vt(b,d):("auto"===d?(f=Fg(b).autoInterval,f=null!=f?f:Fg(b).autoInterval=b.calculateCategoryInterval()):f=d,e=wt(b,f));return xt(c,d,{labels:e,labelCategoryInterval:f})}function FC(b,a){var c=tt(b,"ticks"),d=rm(a),e=ut(c,d);if(e)return e;var f;if(!a.get("show")||b.scale.isBlank())e=[];fa(d)?e=vt(b,d,!0):"auto"===d?(e=st(b,b.getLabelModel()),f=e.labelCategoryInterval,e=C(e.labels,function(c){return c.tickValue})):(f=d,e=wt(b,f,!0));return xt(c,d,{ticks:e,tickCategoryInterval:f})}function GC(b){var a=b.scale.getTicks(),c=Eg(b);return{labels:C(a,function(a,e){return{formattedLabel:c(a,e),rawLabel:b.scale.getLabel(a),tickValue:a.value}})}}function tt(b,a){return Fg(b)[a]||(Fg(b)[a]=[])}function ut(b,a){for(var c=0;c<b.length;c++)if(b[c].key===a)return b[c].value}function xt(b,a,c){b.push({key:a,value:c});return c}function wt(b,a,c){function d(a){var b={value:a};k.push(c?a:{formattedLabel:e(b),rawLabel:f.getLabel(b),tickValue:a})}var e=Eg(b),f=b.scale,g=f.getExtent(),h=b.getLabelModel(),k=[];a=Math.max((a||0)+1,1);var l=g[0],m=f.count();0!==l&&1<a&&2<m/a&&(l=Math.round(Math.ceil(l/a)*a));m=pt(b);b=h.get("showMinLabel")||m;h=h.get("showMaxLabel")||m;for(b&&l!==g[0]&&d(g[0]);l<=g[1];l+=a)d(l);h&&l-a!==g[1]&&d(g[1]);return k}function vt(b,a,c){var d=b.scale,e=Eg(b),f=[];r(d.getTicks(),function(b){var g=d.getLabel(b),k=b.value;a(b.value,g)&&f.push(c?k:{formattedLabel:e(b),rawLabel:g,tickValue:k})});return f}function yt(b,a){var c=(b[1]-b[0])/a/2;b[0]+=c;b[1]-=c}function HC(b,a,c,d){function e(c,a){c=sa(c);a=sa(a);return h?c>a:c<a}var f=a.length;if(b.onBand&&!c&&f){c=b.getExtent();if(1===f)a[0].coord=c[0],f=a[1]={coord:c[0]};else{var g=(a[f-1].coord-a[0].coord)/(a[f-1].tickValue-a[0].tickValue);r(a,function(c){c.coord-=g/2});b=1+b.scale.getExtent()[1]-a[f-1].tickValue;f={coord:a[f-1].coord+g*b};a.push(f)}var h=c[0]>c[1];e(a[0].coord,c[0])&&(d?a[0].coord=c[0]:a.shift());d&&e(c[0],a[0].coord)&&a.unshift({coord:c[0]});e(c[1],f.coord)&&(d?f.coord=c[1]:a.pop());d&&e(f.coord,c[1])&&a.push({coord:c[1]})}}function uc(b){return document.createElementNS("http://www.w3.org/2000/svg",b)}function IC(b,a,c){function d(){for(var d=-1*g;d<=g;d+=2){var h;h=k[d-1];var l=k[d+1],q=(l?l.newPos:0)-d;h&&(k[d-1]=void 0);var t=h&&h.newPos+1<e,q=l&&0<=q&&q<f;if(t||q){!t||q&&h.newPos<l.newPos?(h={newPos:l.newPos,components:l.components.slice(0)},zt(h.components,!1,!0)):(h.newPos++,zt(h.components,!0,!1));q=At(h,a,b,d,c);if(h.newPos+1>=e&&q+1>=f){d=h.components;h=0;l=d.length;for(t=q=0;h<l;h++){var u=d[h];if(u.removed){for(v=t;v<t+u.count;v++)u.indices.push(v);t+=u.count}else{for(var w=[],v=q;v<q+u.count;v++)w.push(v);u.indices=w;q+=u.count;u.added||(t+=u.count)}}return d}k[d]=h}else k[d]=void 0}g++}c||(c=function(c,a){return c===a});b=b.slice();a=a.slice();var e=a.length,f=b.length,g=1,h=e+f,k=[{newPos:-1,components:[]}],l=At(k[0],a,b,0,c);if(k[0].newPos+1>=e&&l+1>=f){h=[];for(l=0;l<a.length;l++)h.push(l);return[{indices:h,count:a.length,added:!1,removed:!1}]}for(;g<=h;)if(l=d())return l}function At(b,a,c,d,e){var f=a.length,g=c.length,h=b.newPos;d=h-d;for(var k=0;h+1<f&&d+1<g&&e(a[h+1],c[d+1]);)h++,d++,k++;k&&b.components.push({count:k,added:!1,removed:!1,indices:[]});b.newPos=h;return d}function zt(b,a,c){var d=b[b.length-1];d&&d.added===a&&d.removed===c?b[b.length-1]={count:d.count+1,added:a,removed:c,indices:[]}:b.push({count:1,added:a,removed:c,indices:[]})}function Hc(b){return ae(1E4*b)/1E4}function JC(b){b=b.fill;return null!=b&&"none"!==b}function KC(b){b=b.stroke;return null!=b&&"none"!==b}function tm(b,a){a&&ua(b,"transform","matrix("+ae(1E3*a[0])/1E3+","+ae(1E3*a[1])/1E3+","+ae(1E3*a[2])/1E3+","+ae(1E3*a[3])/1E3+","+Hc(a[4])+","+Hc(a[5])+")")}function ua(b,a,c){(!c||"linear"!==c.type&&"radial"!==c.type)&&b.setAttribute(a,c)}function um(b,a,c){var d=null==a.opacity?1:a.opacity;if(c instanceof Ga)b.style.opacity=d+"";else{if(JC(a)){var e=a.fill;ua(b,"fill","transparent"===e?"none":e);ua(b,"fill-opacity",(null!=a.fillOpacity?a.fillOpacity*d:d)+"")}else ua(b,"fill","none");if(KC(a)){e=a.stroke;ua(b,"stroke","transparent"===e?"none":e);var e=a.lineWidth,f=a.strokeNoScale?c.getLineScale():1;ua(b,"stroke-width",(f?e/f:0)+"");ua(b,"paint-order",a.strokeFirst?"stroke":"fill");ua(b,"stroke-opacity",(null!=a.strokeOpacity?a.strokeOpacity*d:d)+"");(c=a.lineDash&&0<e&&Xl(a.lineDash,e))?(d=a.lineDashOffset,f&&1!==f&&(c=C(c,function(c){return c/f}),d&&(d=ae(d/f))),ua(b,"stroke-dasharray",c.join(",")),ua(b,"stroke-dashoffset",(d||0)+"")):ua(b,"stroke-dasharray","");a.lineCap&&ua(b,"stroke-linecap",a.lineCap);a.lineJoin&&ua(b,"stroke-linejoin",a.lineJoin);a.miterLimit&&ua(b,"stroke-miterlimit",a.miterLimit+"")}else ua(b,"stroke","none")}}function Bt(b){return b&&("linear"===b.type||"radial"===b.type)}function Gg(b){return b&&(!!b.image||!!b.svgElement)}function Ct(b){return(b=b.__clipPaths)&&0<b.length}function Dt(b){return b instanceof Y?Yi:b instanceof Ga?Et:b instanceof Vd?Ft:Yi}function Gt(b,a,c){a&&b&&a.parentNode!==b&&c&&((c=c.nextSibling)?b.insertBefore(a,c):b.appendChild(a))}function Ht(b,a){if(a&&b&&a.parentNode!==b){var c=b.firstChild;c?b.insertBefore(a,c):b.appendChild(a)}}function vm(b){return function(){yb('In SVG mode painter not support method "'+b+'"')}}function LC(){return!1}function It(b,a,c){var d=Wd(),e=a.getWidth();a=a.getHeight();var f=d.style;f&&(f.position="absolute",f.left="0",f.top="0",f.width=e+"px",f.height=a+"px",d.setAttribute("data-zr-dom-id",b));d.width=e*c;d.height=a*c;return d}function kf(b,a){var c=b.mapDimensionsAll("defaultedLabel"),d=c.length;if(1===d)return c=Sd(b,a,c[0]),null!=c?c+"":null;if(d){for(var d=[],e=0;e<c.length;e++)d.push(Sd(b,a,c[e]));return d.join(" ")}}function Jt(b,a){var c=b.mapDimensionsAll("defaultedLabel");if(!A(a))return a+"";for(var d=[],e=0;e<c.length;e++){var f=b.getDimensionInfo(c[e]);f&&d.push(a[f.index])}return d.join(" ")}function MC(b,a){this.parent.drift(b,a)}function wm(b,a,c,d){return a&&!isNaN(a[0])&&!isNaN(a[1])&&!(d.isIgnore&&d.isIgnore(c))&&!(d.clipShape&&!d.clipShape.contain(a[0],a[1]))&&"none"!==b.getItemVisual(c,"symbol")}function Kt(b){null==b||N(b)||(b={isIgnore:b});return b||{}}function Lt(b){b=b.hostModel;var a=b.getModel("emphasis");return{emphasisItemStyle:a.getModel("itemStyle").getItemStyle(),blurItemStyle:b.getModel(["blur","itemStyle"]).getItemStyle(),selectItemStyle:b.getModel(["select","itemStyle"]).getItemStyle(),focus:a.get("focus"),blurScope:a.get("blurScope"),symbolRotate:b.get("symbolRotate"),symbolOffset:b.get("symbolOffset"),hoverScale:a.get("scale"),labelStatesModels:Ra(b),cursorStyle:b.get("cursor")}}function xm(b,a,c){var d=b.getBaseAxis(),e=b.getOtherAxis(d);c=NC(e,c);var d=d.dim,e=e.dim,f=a.mapDimension(e),g=a.mapDimension(d),h="x"===e||"radius"===e?1:0;b=C(b.dimensions,function(c){return a.mapDimension(c)});var k=!1,l=a.getCalculationInfo("stackResultDimension");Gc(a,b[0])&&(k=!0,b[0]=l);Gc(a,b[1])&&(k=!0,b[1]=l);return{dataDimsForPoint:b,valueStart:c,valueAxisDim:e,baseAxisDim:d,stacked:!!k,valueDim:f,baseDim:g,baseDataOffset:h,stackedOverDimension:a.getCalculationInfo("stackedOverDimension")}}function NC(b,a){var c=0,d=b.scale.getExtent();"start"===a?c=d[0]:"end"===a?c=d[1]:0<d[0]?c=d[0]:0>d[1]&&(c=d[1]);return c}function ym(b,a,c,d){var e=NaN;b.stacked&&(e=c.get(c.getCalculationInfo("stackedOverDimension"),d));isNaN(e)&&(e=b.valueStart);var f=b.baseDataOffset,g=[];g[f]=c.get(b.baseDim,d);g[1-f]=e;return a.dataToPoint(g)}function lf(b){return A(b)?Mt?new Float32Array(b):b:new OC(b)}function PC(b,a){var c=[];a.diff(b).add(function(a){c.push({cmd:"+",idx:a})}).update(function(a,b){c.push({cmd:"\x3d",idx:b,idx1:a})}).remove(function(a){c.push({cmd:"-",idx:a})}).execute();return c}function QC(b,a,c,d,e,f,g,h){var k=PC(b,a),l=[],m=[],n=[],p=[],q=[],t=[],u=[];g=xm(e,a,g);var w=xm(f,b,h),v=b.getLayout("points")||[],z=a.getLayout("points")||[];for(h=0;h<k.length;h++){var B=k[h],y=!0,r=void 0,D=void 0;switch(B.cmd){case "\x3d":var r=2*B.idx,D=2*B.idx1,Q=v[r],E=v[r+1],G=z[D],x=z[D+1];if(isNaN(Q)||isNaN(E))Q=G,E=x;l.push(Q,E);m.push(G,x);n.push(c[r],c[r+1]);p.push(d[D],d[D+1]);u.push(a.getRawIndex(B.idx1));break;case "+":r=B.idx;D=g.dataDimsForPoint;Q=e.dataToPoint([a.get(D[0],r),a.get(D[1],r)]);D=2*r;l.push(Q[0],Q[1]);m.push(z[D],z[D+1]);Q=ym(g,e,a,r);n.push(Q[0],Q[1]);p.push(d[D],d[D+1]);u.push(a.getRawIndex(r));break;case "-":Q=B.idx,D=b.getRawIndex(Q),E=w.dataDimsForPoint,r=2*Q,D!==Q?(E=f.dataToPoint([b.get(E[0],Q),b.get(E[1],Q)]),Q=ym(w,f,b,Q),l.push(v[r],v[r+1]),m.push(E[0],E[1]),n.push(c[r],c[r+1]),p.push(Q[0],Q[1]),u.push(D)):y=!1}y&&(q.push(B),t.push(t.length))}t.sort(function(c,a){return u[c]-u[a]});h=l.length;b=lf(h);a=lf(h);c=lf(h);d=lf(h);e=[];for(h=0;h<t.length;h++)f=t[h],k=2*h,g=2*f,b[k]=l[g],b[k+1]=l[g+1],a[k]=m[g],a[k+1]=m[g+1],c[k]=n[g],c[k+1]=n[g+1],d[k]=p[g],d[k+1]=p[g+1],e[h]=q[f];return{current:b,next:a,stackedOnCurrent:c,stackedOnNext:d,status:e}}function be(b,a){return isNaN(b)||isNaN(a)}function zm(b,a,c,d,e,f,g,h,k){for(var l,m,n,p,q,t,u=c,w=0;w<d;w++){var v=a[2*u],z=a[2*u+1];if(u>=e||0>u)break;if(be(v,z)){if(k){u+=f;continue}break}if(u===c)b[0<f?"moveTo":"lineTo"](v,z),n=v,p=z;else{q=v-l;t=z-m;if(.5>q*q+t*t){u+=f;continue}if(0<g){var B=u+f;q=a[2*B];t=a[2*B+1];var y=w+1;if(k)for(;be(q,t)&&y<d;)y++,B+=f,q=a[2*B],t=a[2*B+1];var r,D;D=B=void 0;if(y>=d||be(q,t))q=v,t=z;else{B=q-l;D=t-m;var y=v-l,Q=q-v,E=z-m;r=t-z;"x"===h?(y=Math.abs(y),q=v-y*g,t=z,B=v+y*g,D=z):"y"===h?(y=Math.abs(E),q=v,t=z-y*g,B=v,D=z+y*g):(y=Math.sqrt(y*y+E*E),Q=Math.sqrt(Q*Q+r*r),r=Q/(Q+y),B=v+B*g*r,D=z+D*g*r,B=kd(B,ld(q,v)),D=kd(D,ld(t,z)),B=ld(B,kd(q,v)),D=ld(D,kd(t,z)),B-=v,D-=z,q=v-B*y/Q,t=z-D*y/Q,q=kd(q,ld(l,v)),t=kd(t,ld(m,z)),q=ld(q,kd(l,v)),t=ld(t,kd(m,z)),B=v-q,D=z-t,B=v+B*Q/y,D=z+D*Q/y)}b.bezierCurveTo(n,p,q,t,v,z);n=B;p=D}else b.lineTo(v,z)}l=v;m=z;u+=f}return w}function Nt(b,a,c,d,e){var f=b.getArea(),g=f.x,h=f.y,k=f.width,f=f.height,l=c.get(["lineStyle","width"])||2,h=h-l/2,f=f+l,g=Math.floor(g-l/2),k=Math.round(k+l),m=new Z({shape:{x:g,y:h,width:k,height:f}});a&&(a=b.getBaseAxis(),b=a.isHorizontal(),a=a.inverse,b?(a&&(m.shape.x+=k),m.shape.width=0):(a||(m.shape.y+=f),m.shape.height=0),za(m,{shape:{width:k,height:f,x:g,y:h}},c,null,d,"function"===typeof e?function(c){e(c,m)}:null));return m}function Ot(b,a,c){var d=b.getArea(),e=sa(d.r0,1),f=sa(d.r,1),g=new lb({shape:{cx:sa(b.cx,1),cy:sa(b.cy,1),r0:e,r:f,startAngle:d.startAngle,endAngle:d.endAngle,clockwise:d.clockwise}});a&&("angle"===b.getBaseAxis().dim?g.shape.endAngle=d.startAngle:g.shape.r=e,za(g,{shape:{endAngle:d.endAngle,r:f}},c));return g}function Zi(b,a,c,d,e){if(b){if("polar"===b.type)return Ot(b,a,c);if("cartesian2d"===b.type)return Nt(b,a,c,d,e)}return null}function Pt(b,a){if(b.length===a.length){for(var c=0;c<b.length;c++)if(b[c]!==a[c])return;return!0}}function Qt(b){for(var a=Infinity,c=Infinity,d=-Infinity,e=-Infinity,f=0;f<b.length;){var g=b[f++],h=b[f++];isNaN(g)||(a=Math.min(g,a),d=Math.max(g,d));isNaN(h)||(c=Math.min(h,c),e=Math.max(h,e))}return[[a,c],[d,e]]}function Rt(b,a){var c=Qt(b),d=c[0],c=c[1],e=Qt(a),f=e[0],e=e[1];return Math.max(Math.abs(d[0]-f[0]),Math.abs(d[1]-f[1]),Math.abs(c[0]-e[0]),Math.abs(c[1]-e[1]))}function St(b){return"number"===typeof b?b:b?.5:0}function RC(b,a,c){if(!c.valueDim)return[];for(var d=a.count(),e=lf(2*d),f=0;f<d;f++){var g=ym(c,b,a,f);e[2*f]=g[0];e[2*f+1]=g[1]}return e}function md(b,a,c){a=a.getBaseAxis();a="x"===a.dim||"radius"===a.dim?0:1;for(var d=[],e=0,f=[],g=[],h=[];e<b.length-2;e+=2)switch(h[0]=b[e+2],h[1]=b[e+3],g[0]=b[e],g[1]=b[e+1],d.push(g[0],g[1]),c){case "end":f[a]=h[a];f[1-a]=g[1-a];d.push(f[0],f[1]);break;case "middle":var k=[];f[a]=k[a]=(g[a]+h[a])/2;f[1-a]=g[1-a];k[1-a]=h[1-a];d.push(f[0],f[1]);d.push(k[0],k[1]);break;default:f[a]=g[a],f[1-a]=h[1-a],d.push(f[0],f[1])}d.push(b[e++],b[e++]);return d}function SC(b,a){var c=b.getVisual("visualMeta");if(c&&c.length&&b.count())if("cartesian2d"!==a.type)console.warn("Visual map on line style is only supported on cartesian2d.");else{for(var d,e,f=c.length-1;0<=f;f--)if(d=(d=b.getDimensionInfo(b.dimensions[c[f].dimension]))&&d.coordDim,"x"===d||"y"===d){e=c[f];break}if(e){var g=a.getAxis(d),c=C(e.stops,function(c){return{offset:0,coord:g.toGlobalCoord(g.dataToCoord(c.value)),color:c.color}}),f=c.length,h=e.outerColors.slice();f&&c[0].coord>c[f-1].coord&&(c.reverse(),h.reverse());var k=c[0].coord-10;e=c[f-1].coord+10;var l=e-k;if(.001>l)return"transparent";r(c,function(c){c.offset=(c.coord-k)/l});c.push({offset:f?c[f-1].offset:.5,color:h[1]||"transparent"});c.unshift({offset:f?c[0].offset:.5,color:h[0]||"transparent"});c=new mf(0,0,0,0,c,!0);c[d]=k;c[d+"2"]=e;return c}console.warn("Visual map on line style only support x or y dimension.")}}function TC(b,a,c){b=b.get("showAllSymbol");var d="auto"===b;if(!b||d){var e=c.getAxesByScale("ordinal")[0];if(e&&(!d||!UC(e,a))){var f=a.mapDimension(e.dim),g={};r(e.getViewLabels(),function(c){c=e.scale.getRawOrdinalNumber(c.tickValue);g[c]=1});return function(c){return!g.hasOwnProperty(a.get(f,c))}}}}function UC(b,a){var c=b.getExtent(),c=Math.abs(c[1]-c[0])/b.scale.count();isNaN(c)&&(c=0);for(var d=a.count(),e=Math.max(1,Math.round(d/5)),f=0;f<d;f+=e)if(1.5*Hg.getSymbolSize(a,f)[b.isHorizontal()?1:0]>c)return!1;return!0}function VC(b){for(var a=b.length/2;0<a;a--){var c=b[2*a-1];if(!isNaN(b[2*a-2])&&!isNaN(c))break}return a-1}function Tt(b,a,c,d){if("cartesian2d"===a.type){var e=d.getModel("endLabel"),f=e.get("show"),g=e.get("valueAnimation"),h=d.getData(),k={lastFrameIndex:0},f=f?function(c,d){b._endLabelOnDuring(c,d,h,k,g,e,a)}:null,l=a.getBaseAxis().isHorizontal(),m=Nt(a,c,d,function(){var a=b._endLabel;a&&c&&null!=k.originalX&&a.attr({x:k.originalX,y:k.originalY})},f);if(!d.get("clip",!0)){d=m.shape;var n=Math.max(d.width,d.height);l?(d.y-=n,d.height+=2*n):(d.x-=n,d.width+=2*n)}f&&f(1,m);return m}d.get(["endLabel","show"])&&console.warn("endLabel is not supported for lines in polar systems.");return Ot(a,c,d)}function WC(b,a){var c=a.getBaseAxis(),d=c.isHorizontal(),e=c.inverse,c=d?e?"right":"left":"center",d=d?"middle":e?"top":"bottom";return{normal:{align:b.get("align")||c,verticalAlign:b.get("verticalAlign")||d}}}function Ig(b,a){return{seriesType:b,plan:cf(),reset:function(c){var b=c.getData(),e=c.coordinateSystem;c=c.pipelineContext;var f=a||c.large;if(e){c=C(e.dimensions,function(c){return b.mapDimension(c)}).slice(0,2);var g=c.length,h=b.getCalculationInfo("stackResultDimension");Gc(b,c[0])&&(c[0]=h);Gc(b,c[1])&&(c[1]=h);h=b.getDimensionInfo(c[0]);c=b.getDimensionInfo(c[1]);var k=h&&h.index,l=c&&c.index;return g&&{progress:function(c,a){for(var b=c.end-c.start,b=f&&lf(b*g),d=[],h=[],m=c.start,n=0;m<c.end;m++){var v;1===g?(v=a.getByDimIdx(k,m),v=e.dataToPoint(v,null,h)):(d[0]=a.getByDimIdx(k,m),d[1]=a.getByDimIdx(l,m),v=e.dataToPoint(d,null,h));f?(b[n++]=v[0],b[n++]=v[1]):a.setItemLayout(m,v.slice())}f&&a.setLayout("points",b)}}}}}}function Ut(b){return{seriesType:b,reset:function(a,c,b){c=a.getData();var d=a.get("sampling"),f=a.coordinateSystem,g=c.count();if(10<g&&"cartesian2d"===f.type&&d){var h=f.getBaseAxis(),f=f.getOtherAxis(h),h=h.getExtent();b=b.getDevicePixelRatio();b=Math.round(g/(Math.abs(h[1]-h[0])*(b||1)));1<b&&("lttb"===d&&a.setData(c.lttbDownSample(c.mapDimension(f.dim),1/b)),g=void 0,"string"===typeof d?g=XC[d]:"function"===typeof d&&(g=d),g&&a.setData(c.downSample(c.mapDimension(f.dim),1/b,g,YC)))}}}}function ZC(b,a){var c=b.getArea&&b.getArea();if("cartesian2d"===b.type){var d=b.getBaseAxis();if("category"!==d.type||!d.onBand){var e=a.getLayout("bandWidth");d.isHorizontal()?(c.x-=e,c.width+=2*e):(c.y-=e,c.height+=2*e)}}return c}function $C(b,a){var c=b.get("realtimeSort",!0),d=a.getBaseAxis();c&&("category"!==d.type&&Pe("`realtimeSort` will not work because this bar series is not based on a category axis."),"cartesian2d"!==a.type&&Pe("`realtimeSort` will not work because this bar series is not on cartesian2d."));if(c&&"category"===d.type&&"cartesian2d"===a.type)return{baseAxis:d,otherAxis:a.getOtherAxis(d)}}function Vt(b,a,c,d,e,f,g,h){f?(f={x:d.x,width:d.width},d={y:d.y,height:d.height}):(f={y:d.y,height:d.height},d={x:d.x,width:d.width});h||(g?ea:za)(c,{shape:d},a,e,null);(g?ea:za)(c,{shape:f},a?b.baseAxis.model:null,e)}function Wt(b,a,c,d,e,f,g,h){var k=a.getItemVisual(c,"style");h||b.setShape("r",d.get(aD)||0);b.useStyle(k);var l=d.getShallow("cursor");l&&b.attr("cursor",l);h||(h=g?0<e.height?"bottom":"top":0<e.width?"left":"right",g=Ra(d),cb(b,g,{labelFetcher:f,labelDataIndex:c,defaultText:kf(f.getData(),c),inheritColor:k.fill,defaultOpacity:k.opacity,defaultOutsidePosition:h}),k=b.getTextContent(),Br(k,g,f.getRawValue(c),function(c){return Jt(a,c)}));c=d.getModel(["emphasis"]);va(b,c.get("focus"),c.get("blurScope"));Fa(b,d);null!=e.startAngle&&null!=e.endAngle&&e.startAngle===e.endAngle&&(b.style.fill="none",b.style.stroke="none",r(b.states,function(c){c.style&&(c.style.fill=c.style.stroke="none")}))}function Xt(b,a,c){var d=b.getData(),e=[],f=d.getLayout("valueAxisHorizontal")?1:0;e[1-f]=d.getLayout("valueAxisStart");var g=d.getLayout("largeDataIndices"),h=d.getLayout("barWidth"),k=b.getModel("backgroundStyle");if(b.get("showBackground",!0)){var l=d.getLayout("largeBackgroundPoints"),m=[];m[1-f]=d.getLayout("backgroundStart");l=new Yt({shape:{points:l},incremental:!!c,silent:!0,z2:0});l.__startPoint=m;l.__baseDimIdx=f;l.__largeDataIndices=g;l.__barWidth=h;m=k.get("borderColor")||k.get("color");k=k.getItemStyle();l.useStyle(k);l.style.fill=null;l.style.stroke=m;l.style.lineWidth=d.getLayout("barWidth");a.add(l)}c=new Yt({shape:{points:d.getLayout("largePoints")},incremental:!!c});c.__startPoint=e;c.__baseDimIdx=f;c.__largeDataIndices=g;c.__barWidth=h;a.add(c);a=d.getVisual("style");c.useStyle(F({},a));c.style.fill=null;c.style.stroke=a.fill;c.style.lineWidth=d.getLayout("barWidth");S(c).seriesIndex=b.seriesIndex;b.get("silent")||(c.on("mousedown",Zt),c.on("mousemove",Zt))}function $t(b,a,c){if("cartesian2d"===c.type)return c=c.getArea(),{x:b?a.x:c.x,y:b?c.y:a.y,width:b?a.width:c.width,height:b?c.height:a.height};c=c.getArea();return{cx:c.cx,cy:c.cy,r0:b?c.r0:a.r0,r:b?c.r:a.r,startAngle:b?a.startAngle:0,endAngle:b?a.endAngle:2*Math.PI}}function bD(b,a){return Aa(b.getBoxLayoutParams(),{width:a.getWidth(),height:a.getHeight()})}function cD(b,a,c){a.eachSeriesByType(b,function(a){var b=a.getData(),d=b.mapDimension("value"),g=bD(a,c),h=a.get("center"),k=a.get("radius");A(k)||(k=[0,k]);A(h)||(h=[h,h]);var l=H(g.width,c.getWidth()),m=H(g.height,c.getHeight()),n=Math.min(l,m),p=H(h[0],l)+g.x,q=H(h[1],m)+g.y,t=H(k[0],n/2),u=H(k[1],n/2),w=-a.get("startAngle")*au,v=a.get("minAngle")*au,z=0;b.each(d,function(c){!isNaN(c)&&z++});var B=b.getSum(d),y=Math.PI/(B||z)*2,r=a.get("clockwise"),D=a.get("roseType"),Q=a.get("stillShowZeroSum"),E=b.getDataExtent(d);E[0]=0;var G=$i,x=0,C=w,F=r?1:-1;b.setLayout({viewRect:g,r:u});b.each(d,function(c,a){var d;if(isNaN(c))b.setItemLayout(a,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:r,cx:p,cy:q,r0:t,r:D?NaN:u});else{d="area"!==D?0===B&&Q?y:c*y:$i/z;d<v?(d=v,G-=v):x+=c;var e=C+F*d;b.setItemLayout(a,{angle:d,startAngle:C,endAngle:e,clockwise:r,cx:p,cy:q,r0:t,r:D?ga(c,E,[t,u]):u});C=e}});if(G<$i&&z)if(.001>=G){var I=$i/z;b.each(d,function(c,a){if(!isNaN(c)){var d=b.getItemLayout(a);d.angle=I;d.startAngle=w+F*a*I;d.endAngle=w+F*(a+1)*I}})}else y=G/x,C=w,b.each(d,function(c,a){if(!isNaN(c)){var d=b.getItemLayout(a),e=d.angle===v?v:c*y;d.startAngle=C;d.endAngle=C+F*e;C+=F*e}})})}function Jg(b){return{seriesType:b,reset:function(a,c){var b=c.findComponents({mainType:"legend"});if(b&&b.length){var e=a.getData();e.filterSelf(function(c){c=e.getName(c);for(var a=0;a<b.length;a++)if(!b[a].isSelected(c))return!1;return!0})}}}}function bu(b,a,c,d,e,f,g,h,k,l){function m(b){for(var f=b.rB,f=f*f,g=0;g<b.list.length;g++){var h=b.list[g],k=Math.abs(h.label.y-c),l=d+h.len;h.label.x=a+(Math.sqrt((1-Math.abs(k*k/f))*l*l)+h.len2)*e}}function n(b){for(var f={list:[],maxY:0},g={list:[],maxY:0},h=0;h<b.length;h++)if("none"===b[h].labelAlignTo){var k=b[h],l=k.label.y>c?g:f,n=Math.abs(k.label.y-c);if(n>l.maxY){var p=k.label.x-a-k.len2*e,y=d+k.len;l.rB=p<y?Math.sqrt(n*n/(1-p*p/y/y)):y;l.maxY=n}l.list.push(k)}m(f);m(g)}if(!(2>b.length)){f=b.length;for(h=0;h<f;h++)"outer"===b[h].position&&"labelLine"===b[h].labelAlignTo&&(b[h].linePoints[1][0]+=b[h].label.x-l,b[h].label.x=l);Vl(b,"y","height",k,k+g,void 0)&&n(b)}}function dD(b,a,c,d,e,f,g,h){for(var k=[],l=[],m=Number.MAX_VALUE,n=-Number.MAX_VALUE,p=0;p<b.length;p++){var q=b[p].label;"center"!==b[p].position&&(q.x<a?(m=Math.min(m,q.x),k.push(b[p])):(n=Math.max(n,q.x),l.push(b[p])))}bu(l,a,c,d,1,e,f,g,h,n);bu(k,a,c,d,-1,e,f,g,h,m);for(p=0;p<b.length;p++)if(c=b[p],q=c.label,"center"!==c.position&&(d=c.linePoints))f="edge"===c.labelAlignTo,h=c.rect.width,k=f?q.x<a?d[2][0]-c.labelDistance-g-c.edgeDistance:g+e-c.edgeDistance-d[2][0]-c.labelDistance:q.x<a?q.x-g-c.bleedMargin:g+e-q.x-c.bleedMargin,k<c.rect.width&&(c.label.style.width=k,"edge"===c.labelAlignTo&&(h=k)),k=d[1][0]-d[2][0],f?d[2][0]=q.x<a?g+c.edgeDistance+h+c.labelDistance:g+e-c.edgeDistance-h-c.labelDistance:(d[2][0]=q.x<a?q.x+c.labelDistance:q.x-c.labelDistance,d[1][0]=d[2][0]+k),d[1][1]=d[2][1]=q.y}function eD(b){function a(c){c.ignore=!0}var c=b.getData(),d=[],e,f,g=!1,h=(b.get("minShowLabelAngle")||0)*fD,k=c.getLayout("viewRect"),l=c.getLayout("r"),m=k.width,n=k.x,p=k.y,k=k.height;c.each(function(b){var k=c.getItemGraphicEl(b),p=k.shape,q=k.getTextContent(),t=k.getTextGuideLine(),u=c.getItemModel(b),w=u.getModel("label");b=w.get("position")||u.get(["emphasis","label","position"]);var Q=w.get("distanceToLabelLine"),E=w.get("alignTo"),G=H(w.get("edgeDistance"),m),x=w.get("bleedMargin"),u=u.getModel("labelLine"),C=u.get("length"),C=H(C,m),F=u.get("length2"),F=H(F,m);if(Math.abs(p.endAngle-p.startAngle)<h)r(q.states,a),q.ignore=!0;else{var A;a:if(q.ignore){for(A in q.states)if(!1===q.states[A].ignore){A=!0;break a}A=!1}else A=!0;if(A){var I=(p.startAngle+p.endAngle)/2,J=Math.cos(I),K=Math.sin(I),M,N,fb;e=p.cx;f=p.cy;A="inside"===b||"inner"===b;if("center"===b)M=p.cx,N=p.cy,p="center";else{var O=(A?(p.r+p.r0)/2*J:p.r*J)+e,P=(A?(p.r+p.r0)/2*K:p.r*K)+f;M=O+3*J;N=P+3*K;if(!A){fb=O+J*(C+l-p.r);var p=P+K*(C+l-p.r),R=fb+(0>J?-1:1)*F;M="edge"===E?0>J?n+G:n+m-G:R+(0>J?-Q:Q);N=p;fb=[[O,P],[fb,p],[R,p]]}p=A?"center":"edge"===E?0<J?"right":"left":0<J?"left":"right"}w=w.get("rotate");w="number"===typeof w?Math.PI/180*w:w?0>J?-I+Math.PI:-I:0;g=!!w;q.x=M;q.y=N;q.rotation=w;q.setStyle({verticalAlign:"middle"});if(A){if(q.setStyle({align:p}),t=q.states.select)t.x+=q.x,t.y+=q.y}else w=q.getBoundingRect().clone(),w.applyTransform(q.getComputedTransform()),M=(q.style.margin||0)+2.1,w.y-=M/2,w.height+=M,d.push({label:q,labelLine:t,position:b,len:C,len2:F,minTurnAngle:u.get("minTurnAngle"),maxSurfaceAngle:u.get("maxSurfaceAngle"),surfaceNormal:new V(J,K),linePoints:fb,textAlign:p,labelDistance:Q,labelAlignTo:E,edgeDistance:G,bleedMargin:x,rect:w});k.setTextConfig({inside:A})}}});!g&&b.get("avoidLabelOverlap")&&dD(d,e,f,l,m,k,n,p);for(b=0;b<d.length;b++){var p=d[b],k=p.label,q=p.labelLine,t=isNaN(k.x)||isNaN(k.y);if(k){k.setStyle({align:p.textAlign});t&&(r(k.states,a),k.ignore=!0);var u=k.states.select;u&&(u.x+=k.x,u.y+=k.y)}q&&(u=p.linePoints,t||!u?(r(q.states,a),q.ignore=!0):(Bs(u,p.minTurnAngle),$B(u,p.surfaceNormal,p.maxSurfaceAngle),q.setShape({points:u}),k.__hostTarget.textGuideLineConfig={anchor:new V(u[0][0],u[0][1])}))}}function nf(b,a){var c=b.get("borderRadius");if(null==c)return null;A(c)||(c=[c,c]);return{innerCornerRadius:Ub(c[0],a.r0),cornerRadius:Ub(c[1],a.r)}}function of(b,a,c){a=A(a)&&{coordDimensions:a}||F({},a);var d=b.getSource();a=gf(d,a);b=new Wa(a,b);b.initData(d,c);return b}function pf(b,a,c,d){r(gD,function(e,f){var g=U(U({},cu[f],!0),d,!0),h=function(c){function b(){for(var b=[],d=0;d<arguments.length;d++)b[d]=arguments[d];b=c.apply(this,b)||this;b.type=a+"Axis."+f;return b}x(b,c);b.prototype.mergeDefaultAndTheme=function(c,a){var b=pg(this),d=b?Qd({},c):{},e=a.getTheme();U(c,e.get(f+"Axis"));U(c,this.getDefaultOption());c.type=du(c);b&&gd(c,d,b)};b.prototype.optionUpdated=function(){"category"===this.option.type&&(this.__ordinalMeta=Am.createByAxisModel(this))};b.prototype.getCategories=function(c){var a=this.option;if("category"===a.type)return c?a.data:this.__ordinalMeta.categories};b.prototype.getOrdinalMeta=function(){return this.__ordinalMeta};b.type=a+"Axis."+f;b.defaultOption=g;return b}(c);b.registerComponentModel(h)});b.registerSubTypeDefaulter(a+"Axis",du)}function du(b){return b.type||(b.data?"category":"value")}function Bm(b,a,c){c=c||{};var d=b.coordinateSystem,e=a.axis;b={};var f=e.getAxesOnZeroOf()[0],g=e.position,h=f?"onZero":g,e=e.dim,d=d.getRect(),d=[d.x,d.x+d.width,d.y,d.y+d.height],k={left:0,right:1,top:0,bottom:1,onZero:2},l=a.get("offset")||0,l="x"===e?[d[2]-l,d[3]+l]:[d[0]-l,d[1]+l];if(f){var m=f.toGlobalCoord(f.dataToCoord(0));l[k.onZero]=Math.max(Math.min(m,l[1]),l[0])}b.position=["y"===e?l[k[h]]:d[0],"x"===e?l[k[h]]:d[3]];b.rotation=Math.PI/2*("x"===e?0:1);b.labelDirection=b.tickDirection=b.nameDirection={top:-1,bottom:1,left:-1,right:1}[g];b.labelOffset=f?l[k[g]]-l[k.onZero]:0;a.get(["axisTick","inside"])&&(b.tickDirection=-b.tickDirection);Ba(c.labelInside,a.get(["axisLabel","inside"]))&&(b.labelDirection=-b.labelDirection);a=a.get(["axisLabel","rotate"]);b.labelRotate="top"===h?-a:a;b.z2=1;return b}function eu(b){return"cartesian2d"===b.get("coordinateSystem")}function fu(b){var a={xAxisModel:null,yAxisModel:null};r(a,function(c,d){var e=d.replace(/Model$/,""),f=b.getReferringComponents(e,Da).models[0];if(!f)throw Error(e+' "'+zb(b.get(e+"Index"),b.get(e+"Id"),0)+'" not found');a[d]=f});return a}function Cm(b,a){return b.getCoordSysModel()===a}function gu(b,a,c,d){function e(c){return c.dim+"_"+c.index}c.getAxesOnZeroOf=function(){return f?[f]:[]};b=b[a];var f;a=c.model;c=a.get(["axisLine","onZero"]);a=a.get(["axisLine","onZeroAxisIndex"]);if(c){if(null!=a)hu(b[a])&&(f=b[a]);else for(var g in b)if(b.hasOwnProperty(g)&&hu(b[g])&&!d[e(b[g])]){f=b[g];break}f&&(d[e(f)]=!0)}}function hu(b){var a;if(a=b&&"category"!==b.type&&"time"!==b.type)a=b.scale.getExtent(),b=a[0],a=a[1],a=!(0<b&&0<a||0>b&&0>a);return a}function hD(b,a){var c=b.getExtent(),d=c[0]+c[1];b.toGlobalCoord="x"===b.dim?function(c){return c+a}:function(c){return d-c+a};b.toLocalCoord="x"===b.dim?function(c){return c-a}:function(c){return d-c+a}}function iD(b,a,c,d){b=Xk(c-b);d=d[0]>d[1];d="start"===a&&!d||"start"!==a&&d;ag(b-nd/2)?(a=d?"bottom":"top",d="center"):ag(b-1.5*nd)?(a=d?"top":"bottom",d="center"):(a="middle",d=b<1.5*nd&&b>nd/2?d?"left":"right":d?"right":"left");return{rotation:b,textAlign:d,textVerticalAlign:a}}function Ib(b){b&&(b.ignore=!0)}function iu(b,a){var c=b&&b.getBoundingRect().clone(),d=a&&a.getBoundingRect().clone();if(c&&d){var e=Sc([]);Tc(e,e,-b.rotation);c.applyTransform(Fd([],e,b.getLocalTransform()));d.applyTransform(Fd([],e,a.getLocalTransform()));return c.intersect(d)}}function ju(b,a,c,d,e){for(var f=[],g=[],h=[],k=0;k<b.length;k++){var l=b[k].coord;g[0]=l;g[1]=0;h[0]=l;h[1]=c;a&&(Qa(g,g,a),Qa(h,h,a));l=new Ua({subPixelOptimize:!0,shape:{x1:g[0],y1:g[1],x2:h[0],y2:h[1]},style:d,z2:2,autoBatch:!0,silent:!0});l.anid=e+"_"+b[k].tickValue;f.push(l)}return f}function jD(b,a,c,d){var e=c.axis;if(Ba(d.axisLabelShow,c.get(["axisLabel","show"]))&&!e.scale.isBlank()){var f=c.getModel("axisLabel"),g=f.get("margin"),h=e.getViewLabels(),k=(Ba(d.labelRotate,f.get("rotate"))||0)*nd/180,l=mb.innerTextLayout(d.rotation,k,d.labelDirection),m=c.getCategories&&c.getCategories(!0),n=[],p=mb.isLabelSilent(c),q=c.get("triggerEvent");r(h,function(h,k){var t="ordinal"===e.scale.type?e.scale.getRawOrdinalNumber(h.tickValue):h.tickValue,u=h.formattedLabel,z=h.rawLabel,B=f;if(m&&m[t]){var y=m[t];N(y)&&y.textStyle&&(B=new la(y.textStyle,f,c.ecModel))}var y=B.getTextColor()||c.get(["axisLine","lineStyle","color"]),r=e.dataToCoord(t),u=new ha({x:r,y:d.labelOffset+d.labelDirection*g,rotation:l.rotation,silent:p,z2:10,style:Ja(B,{text:u,align:B.getShallow("align",!0)||l.textAlign,verticalAlign:B.getShallow("verticalAlign",!0)||B.getShallow("baseline",!0)||l.textVerticalAlign,fill:"function"===typeof y?y("category"===e.type?z:"value"===e.type?t+"":t,k):y})});u.anid="label_"+t;q&&(t=mb.makeAxisEventDataBase(c),t.targetType="axisLabel",t.value=z,S(u).eventData=t);a.add(u);u.updateTransform();n.push(u);b.add(u);u.decomposeTransform()});return n}}function kD(b,a,c){var d=a.getComponent("tooltip"),e=a.getComponent("axisPointer"),f=e.get("link",!0)||[],g=[];r(c.getCoordinateSystems(),function(c){function h(d,h,k){var l=k.model.getModel("axisPointer",e),p=l.get("show");if(p&&("auto"!==p||d||Dm(l))){null==h&&(h=l.get("triggerTooltip"));var l=d?lD(k,n,e,a,d,h):l,q=l.get("snap");d=Kg(k.model);p=h||q||"category"===k.type;h=b.axesInfo[d]={key:d,axis:k,coordSys:c,axisPointerModel:l,triggerTooltip:h,involveSeries:p,snap:q,useHandle:Dm(l),seriesModels:[],linkGroup:null};m[d]=h;b.seriesInvolved=b.seriesInvolved||p;a:{l=k.model;k=k.dim;for(p=0;p<f.length;p++)if(q=f[p]||{},Em(q[k+"AxisId"],l.id)||Em(q[k+"AxisIndex"],l.componentIndex)||Em(q[k+"AxisName"],l.name)){k=p;break a}k=void 0}null!=k&&(l=g[k]||(g[k]={axesInfo:{}}),l.axesInfo[d]=h,l.mapper=f[k].mapper,h.linkGroup=l)}}if(c.axisPointerEnabled){var l=Kg(c.model),m=b.coordSysAxesInfo[l]={};b.coordSysMap[l]=c;var n=c.model.getModel("tooltip",d);r(c.getAxes(),P(h,!1,null));if(c.getTooltipAxes&&d&&n.get("show")){var l="axis"===n.get("trigger"),p="cross"===n.get(["axisPointer","type"]),q=c.getTooltipAxes(n.get(["axisPointer","axis"]));(l||p)&&r(q.baseAxes,P(h,p?"cross":!0,l));p&&r(q.otherAxes,P(h,"cross",!1))}}})}function lD(b,a,c,d,e,f){var g=a.getModel("axisPointer"),h={};r("type snap lineStyle shadowStyle label animation animationDurationUpdate animationEasingUpdate z".split(" "),function(c){h[c]=J(g.get(c))});h.snap="category"!==b.type&&!!f;"cross"===g.get("type")&&(h.type="line");a=h.label||(h.label={});null==a.show&&(a.show=!1);"cross"===e&&(e=g.get(["label","show"]),a.show=null!=e?e:!0,f||(f=h.lineStyle=g.get("crossStyle"))&&K(a,f.textStyle));return b.model.getModel("axisPointer",new la(h,c,d))}function mD(b,a){a.eachSeries(function(c){var a=c.coordinateSystem,e=c.get(["tooltip","trigger"],!0),f=c.get(["tooltip","show"],!0);a&&"none"!==e&&!1!==e&&"item"!==e&&!1!==f&&!1!==c.get(["axisPointer","show"],!0)&&r(b.coordSysAxesInfo[Kg(a.model)],function(b){var d=b.axis;a.getAxis(d.dim)===d&&(b.seriesModels.push(c),null==b.seriesDataCount&&(b.seriesDataCount=0),b.seriesDataCount+=c.getData().count())})})}function Em(b,a){return"all"===b||A(b)&&0<=ba(b,a)||b===a}function Fm(b){var a=(b.ecModel.getComponent("axisPointer")||{}).coordSysAxesInfo;return a&&a.axesInfo[Kg(b)]}function Dm(b){return!!b.get(["handle","show"])}function Kg(b){return b.type+"||"+b.id}function ku(b,a,c,d){var e=c.axis;if(!e.scale.isBlank()){var f=c.getModel("splitArea"),g=f.getModel("areaStyle");c=g.get("color");d=d.coordinateSystem.getRect();f=e.getTicksCoords({tickModel:f,clamp:!0});if(f.length){var h=c.length,k=aj(b).splitAreaColors,l=R(),m=0;if(k)for(var n=0;n<f.length;n++){var p=k.get(f[n].tickValue);if(null!=p){m=(p+(h-1)*n)%h;break}}k=e.toGlobalCoord(f[0].coord);g=g.getAreaStyle();c=A(c)?c:[c];for(n=1;n<f.length;n++){var q=e.toGlobalCoord(f[n].coord),t,u;e.isHorizontal()?(p=k,t=d.y,u=q-p,q=d.height,k=p+u):(p=d.x,t=k,u=d.width,q-=t,k=t+q);var w=f[n-1].tickValue;null!=w&&l.set(w,m);a.add(new Z({anid:null!=w?"area_"+w:null,shape:{x:p,y:t,width:u,height:q},style:K({fill:c[m]},g),autoBatch:!0,silent:!0}));m=(m+1)%h}aj(b).splitAreaColors=l}}}function lu(b){b.registerComponentView(nD);b.registerComponentModel(oD);b.registerCoordinateSystem("cartesian2d",pD);pf(b,"x",Gm,mu);pf(b,"y",Gm,mu);b.registerComponentView(nu);b.registerComponentView(qD);b.registerPreprocessor(function(a){a.xAxis&&a.yAxis&&!a.grid&&(a.grid={})})}function rD(b){b.eachSeriesByType("radar",function(a){var c=a.getData(),b=[],e=a.coordinateSystem;if(e){var f=e.getIndicatorAxes();r(f,function(a,d){c.each(c.mapDimension(f[d].dim),function(c,a){b[a]=b[a]||[];var f=e.dataToPoint(c,d);b[a][d]=ou(f)?f:[e.cx,e.cy]})});c.each(function(a){var d=Sp(b[a],function(c){return ou(c)})||[e.cx,e.cy];b[a].push(d.slice());c.setItemLayout(a,b[a])})}})}function ou(b){return!isNaN(b[0])&&!isNaN(b[1])}function sD(b){var a=b.polar;if(a){A(a)||(a=[a]);var c=[];r(a,function(a,e){a.indicator?(a.type&&!a.shape&&(a.shape=a.type),b.radar=b.radar||[],A(b.radar)||(b.radar=[b.radar]),b.radar.push(a)):c.push(a)});b.polar=c}r(b.series,function(c){c&&"radar"===c.type&&c.polarIndex&&(c.radarIndex=c.polarIndex)})}function tD(b){b.registerCoordinateSystem("radar",uD);b.registerComponentModel(vD);b.registerComponentView(wD)}function xD(b,a,c){bj(b)[a]=c}function yD(b,a,c){b=bj(b);b[a]===c&&(b[a]=null)}function bj(b){return b["\x00_ec_interaction_mutex"]||(b["\x00_ec_interaction_mutex"]={})}function Hm(b,a,c,d,e){b.pointerChecker&&b.pointerChecker(d,e.originX,e.originY)&&(Bc(d.event),e.isAvailableBehavior=I(Lg,null,c,d),b.trigger(a,e))}function Lg(b,a,c){c=c[b];return!b||c&&(!da(c)||a.event[c+"Key"])}function Im(b,a,c){b=b.target;b.x+=a;b.y+=c;b.dirty()}function Jm(b,a,c,d){var e=b.target,f=b.zoomLimit,g=b.zoom=b.zoom||1,g=g*a;f&&(g=Math.max(Math.min(f.max||Infinity,g),f.min||0));a=g/b.zoom;b.zoom=g;e.x-=(c-e.x)*(a-1);e.y-=(d-e.y)*(a-1);e.scaleX*=a;e.scaleY*=a;e.dirty()}function cj(b,a,c){a=(b=a.getComponentByElement(b.topTarget))&&b.coordinateSystem;return b&&b!==c&&!zD.hasOwnProperty(b.mainType)&&a&&a.model!==c}function AD(b,a){"china"===b&&a.push(new rt("\u5357\u6d77\u8bf8\u5c9b",C(bc,function(c){return{type:"polygon",exterior:c}}),Km))}function BD(b){for(var a,c=0;c<b.length;c++){var d=b[c].getBoundingRect();a=a||d.clone();a.union(d)}return a}function Jb(b,a){b&&b.__inheritedStyle&&(a.__inheritedStyle||(a.__inheritedStyle={}),K(a.__inheritedStyle,b.__inheritedStyle))}function pu(b){b=Va(b).split(od);for(var a=[],c=0;c<b.length;c+=2){var d=parseFloat(b[c]),e=parseFloat(b[c+1]);a.push([d,e])}return a}function wb(b,a,c,d){var e=a.__inheritedStyle||{};if(1===b.nodeType&&(CD(b,a),F(e,DD(b)),!d))for(var f in qf)qf.hasOwnProperty(f)&&(d=b.getAttribute(f),null!=d&&(e[qf[f]]=d));a.style=a.style||{};null!=e.fill&&(a.style.fill=qu(e.fill,c));null!=e.stroke&&(a.style.stroke=qu(e.stroke,c));r("lineWidth opacity fillOpacity strokeOpacity miterLimit fontSize".split(" "),function(c){null!=e[c]&&(a.style[c]=parseFloat(e[c]))});e.textBaseline&&"auto"!==e.textBaseline||(e.textBaseline="alphabetic");"alphabetic"===e.textBaseline&&(e.textBaseline="bottom");"start"===e.textAlign&&(e.textAlign="left");"end"===e.textAlign&&(e.textAlign="right");r("lineDashOffset lineCap lineJoin fontWeight fontFamily fontStyle textAlign textBaseline".split(" "),function(c){null!=e[c]&&(a.style[c]=e[c])});e.lineDash&&(a.style.lineDash=C(Va(e.lineDash).split(od),function(c){return parseFloat(c)}));a.__inheritedStyle=e}function qu(b,a){var c=a&&b&&b.match(ED);return c?(c=Va(c[1]),a[c]):b}function CD(b,a){var c=b.getAttribute("transform");if(c){var c=c.replace(/,/g," "),d=[],e=null;c.replace(FD,function(c,a,b){d.push(a,b);return""});for(c=d.length-1;0<c;c-=2){var f=d[c],g=d[c-1],h=void 0,e=e||nb();switch(g){case "translate":h=Va(f).split(od);Rb(e,e,[parseFloat(h[0]),parseFloat(h[1]||"0")]);break;case "scale":h=Va(f).split(od);Vh(e,e,[parseFloat(h[0]),parseFloat(h[1]||h[0])]);break;case "rotate":h=Va(f).split(od);Tc(e,e,parseFloat(h[0]));break;case "skew":h=Va(f).split(od);console.warn("Skew transform is not supported yet");break;case "matrix":h=Va(f).split(od),e[0]=parseFloat(h[0]),e[1]=parseFloat(h[1]),e[2]=parseFloat(h[2]),e[3]=parseFloat(h[3]),e[4]=parseFloat(h[4]),e[5]=parseFloat(h[5])}}a.setLocalTransform(e)}}function DD(b){b=b.getAttribute("style");var a={};if(!b)return a;var c={};ru.lastIndex=0;for(var d;null!=(d=ru.exec(b));)c[d[1]]=d[2];for(var e in qf)qf.hasOwnProperty(e)&&null!=c[e]&&(a[qf[e]]=c[e]);return a}function su(b,a,c){var d=Math.min(a/b.width,c/b.height);return{scale:d,x:-(b.x+b.width/2)*d+a/2,y:-(b.y+b.height/2)*d+c/2}}function tu(b,a){var c=b.svgXML,d,e;try{var f;if(f=c)f=(new GD).parse(c,{ignoreViewBox:!0,ignoreRootClip:!0});d=f||{};e=d.root;O(null!=e)}catch(g){throw Error("Invalid svg format\n"+g.message);}c=d.width;f=d.height;d=d.viewBoxRect;a||(a=null==c||null==f?e.getBoundingRect():new aa(0,0,0,0),null!=c&&(a.width=c),null!=f&&(a.height=f));d&&(d=su(d,a.width,a.height),c=e,e=new M,e.add(c),c.scaleX=c.scaleY=d.scale,c.x=d.x,c.y=d.y);e.setClipPath(new Z({shape:a.plain()}));return{root:e,boundingRect:a}}function Lm(b){var a=Ri.retrieveMap(b)||[];a.length||console.error("Map "+b+" not exists. The GeoJSON of the map must be provided.");return a}function dj(b){var a=b.getItemStyle();b=b.get("areaColor");null!=b&&(a.fill=b);return a}function HD(b,a){var c={};r(b,function(a){a.each(a.mapDimension("value"),function(b,d){var e="ec-"+a.getName(d);c[e]=c[e]||[];isNaN(b)||c[e].push(b)})});return b[0].map(b[0].mapDimension("value"),function(d,e){for(var f="ec-"+b[0].getName(e),g=0,h=Infinity,k=-Infinity,l=c[f].length,m=0;m<l;m++)h=Math.min(h,c[f][m]),k=Math.max(k,c[f][m]),g+=c[f][m];f="min"===a?h:"max"===a?k:"average"===a?g/l:g;return 0===l?NaN:f})}function ID(b){var a={};b.eachSeriesByType("map",function(c){var b=c.getHostGeoModel(),b=b?"o"+b.id:"i"+c.getMapType();(a[b]=a[b]||[]).push(c)});r(a,function(c,a){for(var b=HD(C(c,function(c){return c.getData()}),c[0].get("mapValueCalculation")),d=0;d<c.length;d++)c[d].originalData=c[d].getData();for(d=0;d<c.length;d++)c[d].seriesGroup=c,c[d].needsDrawMap=0===d&&!c[d].getHostGeoModel(),c[d].setData(b.cloneShallow()),c[d].mainSeries=c[0]})}function JD(b){var a={};b.eachSeriesByType("map",function(c){var d=c.getMapType();if(!c.getHostGeoModel()&&!a[d]){var e={};r(c.seriesGroup,function(c){var a=c.coordinateSystem,d=c.originalData;c.get("showLegendSymbol")&&b.getComponent("legend")&&d.each(d.mapDimension("value"),function(c,b){var f=d.getName(b),g=a.getRegion(f);if(g&&!isNaN(c)){var h=e[f]||0,g=a.dataToPoint(g.center);e[f]=h+1;d.setItemLayout(b,{point:g,offset:h})}})});var f=c.getData();f.each(function(c){var a=f.getName(c),b=f.getItemLayout(c)||{};b.showLabel=!e[a];f.setItemLayout(c,b)});a[d]=!0}})}function KD(b){b.hierNode={defaultAncestor:null,ancestor:b,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};b=[b];for(var a,c;a=b.pop();)if(c=a.children,a.isExpand&&c.length)for(a=c.length-1;0<=a;a--){var d=c[a];d.hierNode={defaultAncestor:null,ancestor:d,prelim:0,modifier:0,change:0,shift:0,i:a,thread:null};b.push(d)}}function LD(b,a){var c=b.isExpand?b.children:[],d=b.parentNode.children,e=b.hierNode.i?d[b.hierNode.i-1]:null;if(c.length){for(var f=b.children,g=f.length,h=0,k=0;0<=--g;){var l=f[g];l.hierNode.prelim+=h;l.hierNode.modifier+=h;k+=l.hierNode.change;h+=l.hierNode.shift+k}c=(c[0].hierNode.prelim+c[c.length-1].hierNode.prelim)/2;e?(b.hierNode.prelim=e.hierNode.prelim+a(b,e),b.hierNode.modifier=b.hierNode.prelim-c):b.hierNode.prelim=c}else e&&(b.hierNode.prelim=e.hierNode.prelim+a(b,e));c=b.parentNode.hierNode;d=b.parentNode.hierNode.defaultAncestor||d[0];if(e){for(var g=f=b,h=g.parentNode.children[0],k=f.hierNode.modifier,l=g.hierNode.modifier,m=h.hierNode.modifier,n=e.hierNode.modifier;e=Mm(e),g=Nm(g),e&&g;){f=Mm(f);h=Nm(h);f.hierNode.ancestor=b;var p=e.hierNode.prelim+n-g.hierNode.prelim-l+a(e,g);if(0<p){var q=e.hierNode.ancestor.parentNode===b.parentNode?e.hierNode.ancestor:d,t=b,u=p,w=u/(t.hierNode.i-q.hierNode.i);t.hierNode.change-=w;t.hierNode.shift+=u;t.hierNode.modifier+=u;t.hierNode.prelim+=u;q.hierNode.change+=w;l+=p;k+=p}n+=e.hierNode.modifier;l+=g.hierNode.modifier;k+=f.hierNode.modifier;m+=h.hierNode.modifier}e&&!Mm(f)&&(f.hierNode.thread=e,f.hierNode.modifier+=n-k);g&&!Nm(h)&&(h.hierNode.thread=g,h.hierNode.modifier+=l-m,d=b)}c.defaultAncestor=d}function MD(b){b.setLayout({x:b.hierNode.prelim+b.parentNode.hierNode.modifier},!0);b.hierNode.modifier+=b.parentNode.hierNode.modifier}function uu(b){return arguments.length?b:ND}function Mg(b,a){b-=Math.PI/2;return{x:a*Math.cos(b),y:a*Math.sin(b)}}function OD(b,a){return Aa(b.getBoxLayoutParams(),{width:a.getWidth(),height:a.getHeight()})}function Mm(b){var a=b.children;return a.length&&b.isExpand?a[a.length-1]:b.hierNode.thread}function Nm(b){var a=b.children;return a.length&&b.isExpand?a[0]:b.hierNode.thread}function ND(b,a){return b.parentNode===a.parentNode?1:2}function vu(b){return(b=b.seriesModel)?b.coordinateSystem:null}function wu(b,a){var c=b.getItemLayout(a);return c&&!isNaN(c.x)&&!isNaN(c.y)}function xu(b,a,c,d,e){var f=!c,g=b.tree.getNodeByDataIndex(a),h=g.getModel(),k=g.getVisual("style").fill,l=!1===g.isExpand&&0!==g.children.length?k:"#fff",k=b.tree.root,m=g.parentNode===k?g:g.parentNode||g,n=b.getItemGraphicEl(m.dataIndex),m=m.getLayout(),n=n?{x:n.__oldX,y:n.__oldY,rawX:n.__radialOldRawX,rawY:n.__radialOldRawY}:m,p=g.getLayout();f?(c=new Hg(b,a,null,{symbolInnerColor:l,useNameLabel:!0}),c.x=n.x,c.y=n.y):c.updateData(b,a,null,{symbolInnerColor:l,useNameLabel:!0});c.__radialOldRawX=c.__radialRawX;c.__radialOldRawY=c.__radialRawY;c.__radialRawX=p.rawX;c.__radialRawY=p.rawY;d.add(c);b.setItemGraphicEl(a,c);c.__oldX=c.x;c.__oldY=c.y;ea(c,{x:p.x,y:p.y},e);a=c.getSymbolPath();if("radial"===e.get("layout")){var q=k.children[0],l=q.getLayout(),t=q.children.length,u=f=void 0;p.x===l.x&&!0===g.isExpand?(u=(q.children[0].getLayout().x+q.children[t-1].getLayout().x)/2,f=(q.children[0].getLayout().y+q.children[t-1].getLayout().y)/2,f=Math.atan2(f-l.y,u-l.x),0>f&&(f=2*Math.PI+f),(u=u<l.x)&&(f-=Math.PI)):(f=Math.atan2(p.y-l.y,p.x-l.x),0>f&&(f=2*Math.PI+f),0===g.children.length||0!==g.children.length&&!1===g.isExpand?(u=p.x<l.x)&&(f-=Math.PI):(u=p.x>l.x)||(f-=Math.PI));var l=u?"left":"right",q=h.getModel("label"),t=q.get("rotate"),u=Math.PI/180*t,w=a.getTextContent();w&&(a.setTextConfig({position:q.get("position")||l,rotation:null==t?-f:u,origin:"center"}),w.setStyle("verticalAlign","middle"))}h=h.get(["emphasis","focus"]);if(h="ancestor"===h?g.getAncestorsIndices():"descendant"===h?g.getDescendantIndices():null)S(c).focus=h;PD(e,g,k,c,n,m,p,d);c.__edge&&(c.onHoverStateChange=function(a){if("blur"!==a){var d=g.parentNode&&b.getItemGraphicEl(g.parentNode.dataIndex);d&&1===d.hoverState||ml(c.__edge,a)}})}function PD(b,a,c,d,e,f,g,h){var k=a.getModel(),l=b.get("edgeShape"),m=b.get("layout"),n=b.getOrient(),p=b.get(["lineStyle","curveness"]),q=b.get("edgeForkPosition"),t=k.getModel("lineStyle").getLineStyle(),u=d.__edge;if("curve"===l)a.parentNode&&a.parentNode!==c&&(u||(u=d.__edge=new rf({shape:Om(m,n,p,e,e)})),ea(u,{shape:Om(m,n,p,f,g)},b));else if("polyline"===l)if("orthogonal"===m){if(a!==c&&a.children&&0!==a.children.length&&!0===a.isExpand){a=a.children;c=[];for(e=0;e<a.length;e++)f=a[e].getLayout(),c.push([f.x,f.y]);u||(u=d.__edge=new QD({shape:{parentPoint:[g.x,g.y],childPoints:[[g.x,g.y]],orient:n,forkPosition:q}}));ea(u,{shape:{parentPoint:[g.x,g.y],childPoints:c}},b)}}else throw Error("The polyline edgeShape can only be used in orthogonal layout");u&&(u.useStyle(K({strokeNoScale:!0,fill:null},t)),Fa(u,k,"lineStyle"),eg(u),h.add(u))}function yu(b,a,c,d,e){for(var f=b.tree.getNodeByDataIndex(a),g=b.tree.root,f=f.parentNode===g?f:f.parentNode||f,h;h=f.getLayout(),null==h;)f=f.parentNode===g?f:f.parentNode||f;g={duration:e.get("animationDurationUpdate"),easing:e.get("animationEasingUpdate")};cd(c,{x:h.x+1,y:h.y+1},e,{cb:function(){d.remove(c);b.setItemGraphicEl(a,null)},removeOpt:g});c.fadeOut(null,{fadeLabel:!0,animation:g});var k=b.getItemGraphicEl(f.dataIndex).__edge,l=c.__edge||(!1===f.isExpand||1===f.children.length?k:void 0),f=e.get("edgeShape"),k=e.get("layout"),m=e.get("orient"),n=e.get(["lineStyle","curveness"]);l&&("curve"===f?cd(l,{shape:Om(k,m,n,h,h),style:{opacity:0}},e,{cb:function(){d.remove(l)},removeOpt:g}):"polyline"===f&&"orthogonal"===e.get("layout")&&cd(l,{shape:{parentPoint:[h.x,h.y],childPoints:[[h.x,h.y]]},style:{opacity:0}},e,{cb:function(){d.remove(l)},removeOpt:g}))}function Om(b,a,c,d,e){var f,g,h,k,l;if("radial"===b)return b=d.rawX,l=d.rawY,d=e.rawX,e=e.rawY,a=Mg(b,l),f=Mg(b,l+(e-l)*c),c=Mg(d,e+(l-e)*c),d=Mg(d,e),{x1:a.x||0,y1:a.y||0,x2:d.x||0,y2:d.y||0,cpx1:f.x||0,cpy1:f.y||0,cpx2:c.x||0,cpy2:c.y||0};b=d.x;l=d.y;d=e.x;e=e.y;if("LR"===a||"RL"===a)f=b+(d-b)*c,g=l,h=d+(b-d)*c,k=e;if("TB"===a||"BT"===a)f=b,g=l+(e-l)*c,h=d,k=e+(l-e)*c;return{x1:b,y1:l,x2:d,y2:e,cpx1:f,cpy1:g,cpx2:h,cpy2:k}}function zu(b){var a=b.mainData,c=b.datas;c||(c={main:a},b.datasAttr={main:"data"});b.datas=b.mainData=null;Au(a,c,b);r(c,function(c){r(a.TRANSFERABLE_METHODS,function(a){c.wrapMethod(a,P(RD,b))})});a.wrapMethod("cloneShallow",P(SD,b));r(a.CHANGABLE_METHODS,function(c){a.wrapMethod(c,P(TD,b))});O(c[a.dataType]===a)}function RD(b,a){if(Kb(this).mainData===this){var c=F({},Kb(this).datas);c[this.dataType]=a;Au(a,c,b)}else Pm(a,this.dataType,Kb(this).mainData,b);return a}function TD(b,a){b.struct&&b.struct.update();return a}function SD(b,a){r(Kb(a).datas,function(c,d){c!==a&&Pm(c.cloneShallow(),d,a,b)});return a}function UD(b){var a=Kb(this).mainData;return null==b||null==a?a:Kb(a).datas[b]}function VD(){var b=Kb(this).mainData;return null==b?[{data:b}]:C(ia(Kb(b).datas),function(a){return{type:a,data:Kb(b).datas[a]}})}function Au(b,a,c){Kb(b).datas={};r(a,function(a,e){Pm(a,e,b,c)})}function Pm(b,a,c,d){Kb(c).datas[a]=b;Kb(b).mainData=c;b.dataType=a;d.struct&&(b[d.structAttr]=d.struct,d.struct[d.datasAttr[a]]=b);b.getLinkedData=UD;b.getLinkedDataAll=VD}function WD(b,a,c){b=[b];for(var d=[],e;e=b.pop();)if(d.push(e),e.isExpand&&(e=e.children,e.length))for(var f=0;f<e.length;f++)b.push(e[f]);for(;e=d.pop();)a(e,c)}function Ng(b,a){for(var c=[b],d;d=c.pop();)if(a(d),d.isExpand&&(d=d.children,d.length))for(var e=d.length-1;0<=e;e--)c.push(d[e])}function XD(b,a){b.eachSeriesByType("tree",function(c){YD(c,a)})}function YD(b,a){var c=OD(b,a);b.layoutInfo=c;var d=b.get("layout"),e=0,f=0,g=null;"radial"===d?(e=2*Math.PI,f=Math.min(c.height,c.width)/2,g=uu(function(c,a){return(c.parentNode===a.parentNode?1:2)/c.depth})):(e=c.width,f=c.height,g=uu());var h=b.getData().tree.root;if(c=h.children[0]){KD(h);WD(c,LD,g);h.hierNode.modifier=-c.hierNode.prelim;Ng(c,MD);var k=c,l=c,m=c;Ng(c,function(c){var a=c.getLayout().x;a<k.getLayout().x&&(k=c);a>l.getLayout().x&&(l=c);c.depth>m.depth&&(m=c)});var g=k===l?1:g(k,l)/2,n=g-k.getLayout().x,p=0,q=0,t=0,u=0;if("radial"===d)p=e/(l.getLayout().x+g+n),q=f/(m.depth-1||1),Ng(c,function(c){t=(c.getLayout().x+n)*p;u=(c.depth-1)*q;var a=Mg(t,u);c.setLayout({x:a.x,y:a.y,rawX:t,rawY:u},!0)});else{var w=b.getOrient();if("RL"===w||"LR"===w)q=f/(l.getLayout().x+g+n),p=e/(m.depth-1||1),Ng(c,function(c){u=(c.getLayout().x+n)*q;t="LR"===w?(c.depth-1)*p:e-(c.depth-1)*p;c.setLayout({x:t,y:u},!0)});else if("TB"===w||"BT"===w)p=e/(l.getLayout().x+g+n),q=f/(m.depth-1||1),Ng(c,function(c){t=(c.getLayout().x+n)*p;u="TB"===w?(c.depth-1)*q:f-(c.depth-1)*q;c.setLayout({x:t,y:u},!0)})}}}function ZD(b){b.eachSeriesByType("tree",function(a){var c=a.getData();c.tree.eachNode(function(a){var b=a.getModel().getModel("itemStyle").getItemStyle();a=c.ensureUniqueItemVisual(a.dataIndex,"style");F(a,b)})})}function Qm(b,a,c){var d=b.getZoom(),e=b.getCenter(),f=a.zoom,e=b.dataToPoint(e);null!=a.dx&&null!=a.dy&&(e[0]-=a.dx,e[1]-=a.dy,b.setCenter(b.pointToData(e)));null!=f&&(c&&(f=Math.max(Math.min(d*f,c.max||Infinity),c.min||0)/d),b.scaleX*=f,b.scaleY*=f,c=(a.originY-b.y)*(f-1),b.x-=(a.originX-b.x)*(f-1),b.y-=c,b.updateTransform(),b.setCenter(b.pointToData(e)),b.setZoom(f*d));return{center:b.getCenter(),zoom:b.getZoom()}}function $D(b){b.registerAction({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(a,c){c.eachComponent({mainType:"series",subType:"tree",query:a},function(c){var b=a.dataIndex;c=c.getData().tree.getNodeByDataIndex(b);c.isExpand=!c.isExpand})});b.registerAction({type:"treeRoam",event:"treeRoam",update:"none"},function(a,c){c.eachComponent({mainType:"series",subType:"tree",query:a},function(c){var b=Qm(c.coordinateSystem,a);c.setCenter&&c.setCenter(b.center);c.setZoom&&c.setZoom(b.zoom)})})}function Og(b,a,c){if(b&&0<=ba(a,b.type)){a=c.getData().tree.root;c=b.targetNode;"string"===typeof c&&(c=a.getNodeById(c));if(c&&a.contains(c))return{node:c};b=b.targetNodeId;if(null!=b&&(c=a.getNodeById(b)))return{node:c}}}function Bu(b){for(var a=[];b;)(b=b.parentNode)&&a.push(b);return a.reverse()}function Rm(b,a){var c=Bu(b);return 0<=ba(c,a)}function Sm(b,a){for(var c=[];b;){var d=b.dataIndex;c.push({name:b.name,dataIndex:d,value:a.getRawValue(d)});b=b.parentNode}c.reverse();return c}function aE(b){for(var a=0;a<Cu.length;a++)b.registerAction({type:Cu[a],update:"updateView"},bE);b.registerAction({type:"treemapRootToNode",update:"updateView"},function(c,a){a.eachComponent({mainType:"series",subType:"treemap",query:c},function(a,b){var d=Og(c,["treemapZoomToNode","treemapRootToNode"],a);if(d){var e=a.getViewRoot();e&&(c.direction=Rm(e,d.node)?"rollUp":"drillDown");a.resetViewRoot(d.node)}})})}function Du(b){var a={};b.getData().tree.eachNode(function(c){for(var d=c;d&&1<d.depth;)d=d.parentNode;d=Kl(b.ecModel,d.name||d.dataIndex+"",a);c.setVisual("decal",d)})}function Eu(b){var a=0;r(b.children,function(c){Eu(c);c=c.value;A(c)&&(c=c[0]);a+=c});var c=b.value;A(c)&&(c=c[0]);if(null==c||isNaN(c))c=a;0>c&&(c=0);A(b.value)?b.value[0]=c:b.value=c}function cE(b,a){var c=xa(a.get("color")),d=xa(a.get(["aria","decal","decals"]));if(c){b=b||[];var e,f;r(b,function(c){c=new la(c);var a=c.get("color"),b=c.get("decal");if(c.get(["itemStyle","color"])||a&&"none"!==a)e=!0;if(c.get(["itemStyle","decal"])||b&&"none"!==b)f=!0});var g=b[0]||(b[0]={});e||(g.color=c.slice());!f&&d&&(g.decal=d.slice());return b}}function Pg(){return{nodeGroup:[],background:[],content:[]}}function dE(b,a,c,d,e,f,g,h,k,l){function m(c,a,d){var e=S(a);e.dataIndex=g.dataIndex;e.seriesIndex=b.seriesIndex;a.setShape({x:0,y:0,width:z,height:B,r:I});if(r)!a.invisible&&f.push(a);else{a.invisible=!1;var e=g.getVisual("style"),h=e.stroke,k=Fu(x);k.fill=h;var l=ce(A);l.fill=A.get("borderColor");var m=ce(C);m.fill=C.get("borderColor");var n=ce(H);n.fill=H.get("borderColor");d?(d=z-2*y,p(a,h,d,E,e.opacity,{x:y,y:0,width:d,height:E})):a.removeTextContent();a.setStyle(k);a.ensureState("emphasis").style=l;a.ensureState("blur").style=m;a.ensureState("select").style=n;eg(a)}c.add(a)}function n(c,a){var d=S(a);d.dataIndex=g.dataIndex;d.seriesIndex=b.seriesIndex;var d=Math.max(z-2*y,0),e=Math.max(B-2*y,0);a.culling=!0;a.setShape({x:y,y:y,width:d,height:e,r:I});if(r)!a.invisible&&f.push(a);else{a.invisible=!1;var e=g.getVisual("style"),h=e.fill,k=Fu(x);k.fill=h;k.decal=e.decal;var l=ce(A),m=ce(C),n=ce(H);p(a,h,d,e.opacity);a.setStyle(k);a.ensureState("emphasis").style=l;a.ensureState("blur").style=m;a.ensureState("select").style=n;eg(a)}c.add(a)}function p(c,a,d,e,f,h){f=v.getModel(h?"upperLabel":"label");e=Ba(b.getFormattedLabel(g.dataIndex,"normal",null,null,f.get("formatter")),Ea(v.get("name"),null));if(!h&&u.isLeafRoot){var k=b.get("drillDownIcon",!0);e=k?k+" "+e:e}f=f.getShallow("show");cb(c,Ra(v,h?"upperLabel":"label"),{defaultText:f?e:null,inheritColor:a,defaultOpacity:d,labelFetcher:b,labelDataIndex:g.dataIndex});var l=c.getTextContent(),m=l.style,n=Sh(m.padding||0);h&&(c.setTextConfig({layoutRect:h}),l.disableLabelLayout=!0);l.beforeUpdate=function(){var a=Math.max((h?h.width:c.shape.width)-n[1]-n[3],0),b=Math.max((h?h.height:c.shape.height)-n[0]-n[2],0);m.width===a&&m.height===b||l.setStyle({width:a,height:b})};m.truncateMinChar=2;m.lineOverflow="truncate";q(m,h,u);a=l.getState("emphasis");q(a?a.style:null,h,u)}function q(c,a,d){var e=c?c.text:null;!a&&d.isLeafRoot&&null!=e&&(a=b.get("drillDownIcon",!0),c.text=a?a+" "+e:e)}function t(b,f,h,k){var l=null!=Q&&c[b][Q],m=e[b];if(l)c[b][Q]=null,f=l,m=m[D]={},f instanceof Tm?(m.oldX=f.x,m.oldY=f.y):m.oldShape=F({},f.shape);else if(!r){l=new f;l instanceof de&&(f=10*h+k,l.z=(f-1)/f);var m=m[D]={},n=g.parentNode;f=l instanceof M;!n||d&&"drillDown"!==d.direction||(k=h=0,n=e.background[n.getRawIndex()],!d&&n&&n.oldShape&&(h=n.oldShape.width,k=n.oldShape.height),f?(m.oldX=0,m.oldY=k):m.oldShape={x:h,y:k,width:0,height:0});m.fadein=!f}return a[b][D]=l}if(g){var u=g.getLayout(),w=b.getData(),v=g.getModel();w.setItemGraphicEl(g.dataIndex,null);if(u&&u.isInView){var z=u.width,B=u.height,y=u.borderWidth,r=u.invisible,D=g.getRawIndex(),Q=h&&h.getRawIndex();h=g.viewChildren;var E=u.upperHeight,G=h&&h.length,x=v.getModel("itemStyle"),A=v.getModel(["emphasis","itemStyle"]),C=v.getModel(["blur","itemStyle"]),H=v.getModel(["select","itemStyle"]),I=x.get("borderRadius")||0;if(h=t("nodeGroup",Tm)){k.add(h);h.x=u.x||0;h.y=u.y||0;h.markRedraw();ej(h).nodeWidth=z;ej(h).nodeHeight=B;if(u.isAboveViewRoot)return h;(k=t("background",Gu,l,1))&&m(h,k,G&&u.upperLabelHeight);var J=v.get(["emphasis","focus"]),K=v.get(["emphasis","blurScope"]),N="ancestor"===J?g.getAncestorsIndices():"descendant"===J?g.getDescendantIndices():null;G?(ki(h)&&We(h,!1),k&&(We(k,!0),w.setItemGraphicEl(g.dataIndex,k),ol(k,N||J,K))):((l=t("content",Gu,l,2))&&n(h,l),k&&ki(k)&&We(k,!1),We(h,!0),w.setItemGraphicEl(g.dataIndex,h),ol(h,N||J,K));return h}}}}function eE(b){var a=b.pieceList;b.hasSpecialVisual=!1;r(a,function(c,a){c.originIndex=a;null!=c.visual&&(b.hasSpecialVisual=!0)})}function fE(b){var a=b.categories,c=b.categoryMap={},d=b.visual;Qg(a,function(a,b){c[a]=b});if(!A(d)){var e=[];N(d)?Qg(d,function(a,b){var d=c[b];e[null!=d?d:-1]=a}):e[-1]=d;d=Hu(b,e)}for(b=a.length-1;0<=b;b--)null==d[b]&&(delete c[a[b]],a.pop())}function Um(b,a){var c=b.visual,d=[];N(c)?Qg(c,function(c){d.push(c)}):null!=c&&d.push(c);c={color:1,symbol:1};a||1!==d.length||c.hasOwnProperty(b.type)||(d[1]=d[0]);Hu(b,d)}function fj(b){return{applyVisual:function(a,c,d){a=this.mapValueToVisual(a);d("color",b(c("color"),a))},_normalizedToVisual:Vm([0,1])}}function Iu(b){var a=this.option.visual;return a[Math.round(ga(b,[0,1],[0,a.length-1],!0))]||{}}function Rg(b){return function(a,c,d){d(b,this.mapValueToVisual(a))}}function Sg(b){var a=this.option.visual;return a[this.option.loop&&-1!==b?b%a.length:b]}function ee(){return this.option.visual[0]}function Vm(b){return{linear:function(a){return ga(a,b,this.option.visual,!0)},category:Sg,piecewise:function(a,c){var d=Wm.call(this,c);null==d&&(d=ga(a,b,this.option.visual,!0));return d},fixed:ee}}function Wm(b){var a=this.option,c=a.pieceList;if(a.hasSpecialVisual&&(b=La.findPieceIndex(b,c),(c=c[b])&&c.visual))return c.visual[this.type]}function Hu(b,a){b.visual=a;"color"===b.type&&(b.parsedVisual=C(a,function(c){return eb(c)}));return a}function gj(b,a,c){return b?a<=c:a<c}function Ju(b,a,c,d){var e=b.getModel(),f=b.getLayout(),g=b.hostTree.data;if(f&&!f.invisible&&f.isInView){var h=e.getModel("itemStyle"),k=gE(h,a,d);a=g.ensureUniqueItemVisual(b.dataIndex,"style");var l=h.get("borderColor"),g=h.get("borderColorSaturation");null!=g&&(l=Ku(k),l=null!=l?Ne(l,null,null,g):null);a.stroke=l;if((g=b.viewChildren)&&g.length){var m=hE(b,e,f,h,k,g);r(g,function(a,b){if(a.depth>=c.length||a===c[a.depth]){var f=F({},k);if(m){var g=m.type,h="color"===g&&Lu(m).drColorMappingBy,h="index"===h?b:"id"===h?d.mapIdToIndex(a.getId()):a.getValue(e.get("visualDimension"));f[g]=m.mapValueToVisual(h)}Ju(a,f,c,d)}})}else l=Ku(k),a.fill=l}}function gE(b,a,c){var d=F({},a),e=c.designatedVisualItemStyle;r(["color","colorAlpha","colorSaturation"],function(c){e[c]=a[c];var f=b.get(c);e[c]=null;null!=f&&(d[c]=f)});return d}function Ku(b){var a=Xm(b,"color");if(a){var c=Xm(b,"colorAlpha");(b=Xm(b,"colorSaturation"))&&(a=Ne(a,null,null,b));c&&(a=Uf(a,c));return a}}function Xm(b,a){var c=b[a];if(null!=c&&"none"!==c)return c}function hE(b,a,c,d,e,f){if(f&&f.length&&(b=Ym(a,"color")||null!=e.color&&"none"!==e.color&&(Ym(a,"colorAlpha")||Ym(a,"colorSaturation"))))return d=a.get("visualMin"),e=a.get("visualMax"),c=c.dataExtent.slice(),null!=d&&d<c[0]&&(c[0]=d),null!=e&&e>c[1]&&(c[1]=e),a=a.get("colorMappingBy"),c={type:b.name,dataExtent:c,visual:b.range},"color"!==c.type||"index"!==a&&"id"!==a?c.mappingMethod="linear":(c.mappingMethod="category",c.loop=!0),c=new La(c),Lu(c).drColorMappingBy=a,c}function Ym(b,a){var c=b.get(a);return A(c)&&c.length?{name:a,range:c}:null}function Mu(b,a,c,d){var e,f;if(!b.isRemoved()){var g=b.getLayout();e=g.width;f=g.height;var g=b.getModel(),h=g.get(Nu),k=g.get(iE)/2,l=Ou(g),m=Math.max(h,l),n=h-k,p=m-k;b.setLayout({borderWidth:h,upperHeight:m,upperLabelHeight:l},!0);e=Tg(e-2*n,0);f=Tg(f-n-p,0);h=e*f;b=jE(b,g,h,a,c,d);if(b.length){n={x:n,y:p,width:e,height:f};e=hj(e,f);f=Infinity;p=[];l=p.area=0;for(m=b.length;l<m;){var q=b[l];p.push(q);p.area+=q.getLayout().area;for(var t=p,u=e,w=a.squareRatio,q=0,v=Infinity,z=0,B,y=t.length;z<y;z++)if(B=t[z].getLayout().area)B<v&&(v=B),B>q&&(q=B);t=t.area*t.area;u=u*u*w;q=t?Tg(u*q/t,t/(u*v)):Infinity;q<=f?(l++,f=q):(p.area-=p.pop().getLayout().area,Pu(p,e,n,k,!1),e=hj(n.width,n.height),p.length=p.area=0,f=Infinity)}p.length&&Pu(p,e,n,k,!0);c||(g=g.get("childrenVisibleMin"),null!=g&&h<g&&(c=!0));l=0;for(m=b.length;l<m;l++)Mu(b[l],a,c,d+1)}}}function jE(b,a,c,d,e,f){var g=b.children||[],h=d.sort;"asc"!==h&&"desc"!==h&&(h=null);d=null!=d.leafDepth&&d.leafDepth<=f;if(e&&!d)return b.viewChildren=[];g=ta(g,function(c){return!c.isRemoved()});kE(g,h);e=lE(a,g,h);if(0===e.sum)return b.viewChildren=[];e.sum=mE(a,c,e.sum,h,g);if(0===e.sum)return b.viewChildren=[];a=0;for(h=g.length;a<h;a++)f=g[a].getValue()/e.sum*c,g[a].setLayout({area:f});d&&(g.length&&b.setLayout({isLeafRoot:!0},!0),g.length=0);b.viewChildren=g;b.setLayout({dataExtent:e.dataExtent},!0);return g}function mE(b,a,c,d,e){if(!d)return c;b=b.get("visibleMin");for(var f=e.length,g=f,h=f-1;0<=h;h--){var k=e["asc"===d?f-h-1:h].getValue();k/c*a<b&&(g=h,c-=k)}"asc"===d?e.splice(0,f-g):e.splice(g,f-g);return c}function kE(b,a){a&&b.sort(function(c,b){var d="asc"===a?c.getValue()-b.getValue():b.getValue()-c.getValue();return 0===d?"asc"===a?c.dataIndex-b.dataIndex:b.dataIndex-c.dataIndex:d});return b}function lE(b,a,c){for(var d=0,e=0,f=a.length;e<f;e++)d+=a[e].getValue();var g=b.get("visualDimension"),h;a&&a.length?"value"===g&&c?(h=[a[a.length-1].getValue(),a[0].getValue()],"asc"===c&&h.reverse()):(h=[Infinity,-Infinity],Zm(a,function(c){c=c.getValue(g);c<h[0]&&(h[0]=c);c>h[1]&&(h[1]=c)})):h=[NaN,NaN];return{sum:d,dataExtent:h}}function Pu(b,a,c,d,e){var f=a===c.width?0:1,g=1-f,h=["x","y"],k=["width","height"],l=c[h[f]];a=a?b.area/a:0;if(e||a>c[k[g]])a=c[k[g]];e=0;for(var m=b.length;e<m;e++){var n=b[e],p={},q=a?n.getLayout().area/a:0,t=p[k[g]]=Tg(a-2*d,0),u=c[h[f]]+c[k[f]]-l,q=e===m-1||u<q?u:q,u=p[k[f]]=Tg(q-2*d,0);p[h[g]]=c[h[g]]+hj(d,t/2);p[h[f]]=l+hj(d,u/2);l+=q;n.setLayout(p,!0)}c[h[g]]+=a;c[k[g]]-=a}function nE(b,a,c,d,e){var f=(a||{}).node;a=[d,e];if(!f||f===c)return a;c=d*e;for(var g=c*b.option.zoomToNodeRatio;b=f.parentNode;){for(var h=0,k=b.children,l=0,m=k.length;l<m;l++)h+=k[l].getValue();f=f.getValue();if(0===f)return a;g*=h/f;h=b.getModel();f=h.get(Nu);h=Math.max(f,Ou(h));g+=4*f*f+(3*f+h)*Math.pow(g,.5);9007199254740991<g&&(g=9007199254740991);f=b}g<c&&(g=c);a=Math.pow(g/c,.5);return[d*a,e*a]}function oE(b,a,c){if(a)return{x:a.x,y:a.y};a={x:0,y:0};if(!c)return a;c=c.node;var d=c.getLayout();if(!d)return a;for(a=[d.width/2,d.height/2];c;)d=c.getLayout(),a[0]+=d.x,a[1]+=d.y,c=c.parentNode;return{x:b.width/2-a[0],y:b.height/2-a[1]}}function Qu(b,a,c,d,e){var f=b.getLayout(),g=c[e],h=g&&g===b;if(!(g&&!h||e===c.length&&b!==d)){b.setLayout({isInView:!0,invisible:!h&&!a.intersect(f),isAboveViewRoot:h},!0);var k=new aa(a.x-f.x,a.y-f.y,a.width,a.height);Zm(b.viewChildren||[],function(a){Qu(a,k,c,d,e+1)})}}function Ou(b){return b.get(pE)?b.get(qE):0}function rE(b){var a=b.findComponents({mainType:"legend"});a&&a.length&&b.eachSeriesByType("graph",function(c){var b=c.getCategoriesData(),e=c.getGraph().data,f=b.mapArray(b.getName);e.filterSelf(function(c){c=e.getItemModel(c).getShallow("category");if(null!=c){"number"===typeof c&&(c=f[c]);for(var b=0;b<a.length;b++)if(!a[b].isSelected(c))return!1}return!0})})}function sE(b){var a={};b.eachSeriesByType("graph",function(c){var b=c.getCategoriesData(),e=c.getData(),f={};b.each(function(d){var e=b.getName(d);f["ec-"+e]=d;var g=b.getItemModel(d),l=g.getModel("itemStyle").getItemStyle();l.fill||(l.fill=c.getColorFromPalette(e,a));b.setItemVisual(d,"style",l);e=["symbol","symbolSize","symbolKeepAspect"];for(l=0;l<e.length;l++){var m=g.getShallow(e[l],!0);null!=m&&b.setItemVisual(d,e[l],m)}});b.count()&&e.each(function(c){var a=e.getItemModel(c).getShallow("category");if(null!=a){"string"===typeof a&&(a=f["ec-"+a]);var d=b.getItemVisual(a,"style"),g=e.ensureUniqueItemVisual(c,"style");F(g,d);d=["symbol","symbolSize","symbolKeepAspect"];for(g=0;g<d.length;g++)e.setItemVisual(c,d[g],b.getItemVisual(a,d[g]))}})})}function ij(b){b instanceof Array||(b=[b,b]);return b}function tE(b){b.eachSeriesByType("graph",function(a){var c=a.getGraph(),b=a.getEdgeData(),e=ij(a.get("edgeSymbol")),f=ij(a.get("edgeSymbolSize"));b.setVisual("fromSymbol",e&&e[0]);b.setVisual("toSymbol",e&&e[1]);b.setVisual("fromSymbolSize",f&&f[0]);b.setVisual("toSymbolSize",f&&f[1]);b.setVisual("style",a.getModel("lineStyle").getLineStyle());b.each(function(a){var d=b.getItemModel(a),e=c.getEdgeByIndex(a),f=ij(d.getShallow("symbol",!0)),g=ij(d.getShallow("symbolSize",!0)),d=d.getModel("lineStyle").getLineStyle();a=b.ensureUniqueItemVisual(a,"style");F(a,d);switch(a.stroke){case "source":d=e.node1.getVisual("style");a.stroke=d&&d.fill;break;case "target":d=e.node2.getVisual("style"),a.stroke=d&&d.fill}f[0]&&e.setVisual("fromSymbol",f[0]);f[1]&&e.setVisual("toSymbol",f[1]);g[0]&&e.setVisual("fromSymbolSize",g[0]);g[1]&&e.setVisual("toSymbolSize",g[1])})})}function $m(b,a,c,d){var e=jj(a),f=A(e);if(!e)return null;var g,h=Ug(b.node1,b.node2,a);g=a.__edgeMap[h];if(!g)return null;for(var h=-1,k=0;k<g.length;k++)if(g[k]===c){h=k;break}c=an(Ug(b.node1,b.node2,a),a);k=an(Ug(b.node2,b.node1,a),a);c+=k;Ru(a,c);b.lineStyle=b.lineStyle||{};k=Ug(b.node1,b.node2,a);b=a.__curvenessList;c=f?0:c%2?0:1;if(g.isForward)return b[c+h];g=Su(k);a=an(g,a);g=b[h+a+c];return d?f?e&&0===e[0]?(a+c)%2?g:-g:((a%2?0:1)+c)%2?g:-g:(a+c)%2?g:-g:b[h+a+c]}function Tu(b){var a=b.coordinateSystem;a&&"view"!==a.type||(a=b.getGraph(),a.eachNode(function(c){var a=c.getModel();c.setLayout([+a.get("x"),+a.get("y")])}),Uu(a,b))}function Uu(b,a){b.eachEdge(function(c,b){var d=zb(c.getModel().get(["lineStyle","curveness"]),-$m(c,a,b,!0),0),f=ic(c.node1.getLayout()),g=ic(c.node2.getLayout()),h=[f,g];+d&&h.push([(f[0]+g[0])/2-(f[1]-g[1])*d,(f[1]+g[1])/2-(g[0]-f[0])*d]);c.setLayout(h)})}function uE(b,a){b.eachSeriesByType("graph",function(c){var a=c.get("layout"),b=c.coordinateSystem;if(b&&"view"!==b.type){var f=c.getData(),g=[];r(b.dimensions,function(c){g=g.concat(f.mapDimensionsAll(c))});for(a=0;a<f.count();a++){for(var h=[],k=!1,l=0;l<g.length;l++){var m=f.get(g[l],a);isNaN(m)||(k=!0);h.push(m)}k?f.setItemLayout(a,b.dataToPoint(h)):f.setItemLayout(a,[NaN,NaN])}Uu(f.graph,c)}else a&&"none"!==a||Tu(c)})}function Vg(b){var a=b.coordinateSystem;if("view"!==a.type)return 1;b=b.option.nodeScaleRatio;var c=a.scaleX;return((a.getZoom()-1)*b+1)/c}function Wg(b){b=b.getVisual("symbolSize");b instanceof Array&&(b=(b[0]+b[1])/2);return+b}function Vu(b,a){var c=b.coordinateSystem;if(!c||"view"===c.type){var d=c.getBoundingRect(),c=b.getData(),e=c.graph,f=d.width/2+d.x,g=d.height/2+d.y,d=Math.min(d.width,d.height)/2,h=c.count();c.setLayout({cx:f,cy:g});h&&(vE[a](b,e,c,d,f,g,h),e.eachEdge(function(c,a){var d=zb(c.getModel().get(["lineStyle","curveness"]),$m(c,b,a),0),e=ic(c.node1.getLayout()),h=ic(c.node2.getLayout()),k,l=(e[0]+h[0])/2,u=(e[1]+h[1])/2;+d&&(d*=3,k=[f*d+l*(1-d),g*d+u*(1-d)]);c.setLayout([e,h,k])}))}}function wE(b){b.eachSeriesByType("graph",function(a){"circular"===a.get("layout")&&Vu(a,"symbolSize")})}function xE(b,a,c){for(var d=c.rect,e=d.width,f=d.height,g=[d.x+e/2,d.y+f/2],h=null==c.gravity?.1:c.gravity,d=0;d<b.length;d++){var k=b[d];k.p||(k.p=Oc(e*(Math.random()-.5)+g[0],f*(Math.random()-.5)+g[1]));k.pp=ic(k.p);k.edges=null}var l=null==c.friction?.6:c.friction,m=l,n,p;return{warmUp:function(){m=.8*l},setFixed:function(c){b[c].fixed=!0},setUnfixed:function(c){b[c].fixed=!1},beforeStep:function(c){n=c},afterStep:function(c){p=c},step:function(c){n&&n(b,a);for(var d=[],e=b.length,f=0;f<a.length;f++){var k=a[f];if(!k.ignoreForceLayout){var l=k.n1,q=k.n2;Pc(d,q.p,l.p);var k=Pf(d)-k.d,y=q.w/(l.w+q.w);isNaN(y)&&(y=0);Ie(d,d);!l.fixed&&sf(l.p,l.p,d,y*k*m);!q.fixed&&sf(q.p,q.p,d,-(1-y)*k*m)}}for(f=0;f<e;f++)l=b[f],l.fixed||(Pc(d,g,l.p),sf(l.p,l.p,d,h*m));for(f=0;f<e;f++)for(l=b[f],y=f+1;y<e;y++)q=b[y],Pc(d,q.p,l.p),k=Pf(d),0===k&&(Wp(d,Math.random()-.5,Math.random()-.5),k=1),k=(l.rep+q.rep)/k/k,!l.fixed&&sf(l.pp,l.pp,d,k),!q.fixed&&sf(q.pp,q.pp,d,-k);d=[];for(f=0;f<e;f++)l=b[f],l.fixed||(Pc(d,l.p,l.pp),sf(l.p,l.p,d,m),Na(l.pp,l.p));m*=.992;e=.01>m;p&&p(b,a,e);c&&c(e)}}}function yE(b){b.eachSeriesByType("graph",function(a){var c=a.coordinateSystem;if(!c||"view"===c.type)if("force"===a.get("layout")){var b=a.preservedPoints||{},e=a.getGraph(),f=e.data,g=e.edgeData,h=a.getModel("force"),k=h.get("initLayout");a.preservedPoints?f.each(function(c){var a=f.getId(c);f.setItemLayout(c,b[a]||[NaN,NaN])}):k&&"none"!==k?"circular"===k&&Vu(a,"value"):Tu(a);var l=f.getDataExtent("value"),m=g.getDataExtent("value"),k=h.get("repulsion"),n=h.get("edgeLength"),p=A(k)?k:[k,k],q=A(n)?n:[n,n],q=[q[1],q[0]],t=f.mapArray("value",function(c,a){var b=f.getItemLayout(a),d=ga(c,l,p);isNaN(d)&&(d=(p[0]+p[1])/2);return{w:d,rep:d,fixed:f.getItemModel(a).get("fixed"),p:!b||isNaN(b[0])||isNaN(b[1])?null:b}}),g=g.mapArray("value",function(c,b){var d=e.getEdgeByIndex(b),f=ga(c,m,q);isNaN(f)&&(f=(q[0]+q[1])/2);var g=d.getModel(),h=zb(d.getModel().get(["lineStyle","curveness"]),-$m(d,a,b,!0),0);return{n1:t[d.node1.dataIndex],n2:t[d.node2.dataIndex],d:f,curveness:h,ignoreForceLayout:g.get("ignoreForceLayout")}}),c=c.getBoundingRect(),h=xE(t,g,{rect:c,gravity:h.get("gravity"),friction:h.get("friction")});h.beforeStep(function(c,a){for(var b=0,d=c.length;b<d;b++)c[b].fixed&&Na(c[b].p,e.getNodeByIndex(b).getLayout())});h.afterStep(function(c,a,d){d=0;for(var g=c.length;d<g;d++)c[d].fixed||e.getNodeByIndex(d).setLayout(c[d].p),b[f.getId(d)]=c[d].p;d=0;for(g=a.length;d<g;d++){c=a[d];var h=e.getEdgeByIndex(d),k=c.n1.p,l=c.n2.p,m=h.getLayout(),m=m?m.slice():[];m[0]=m[0]||[];m[1]=m[1]||[];Na(m[0],k);Na(m[1],l);+c.curveness&&(m[2]=[(k[0]+l[0])/2-(k[1]-l[1])*c.curveness,(k[1]+l[1])/2-(l[0]-k[0])*c.curveness]);h.setLayout(m)}});a.forceLayout=h;a.preservedPoints=b;h.step()}else a.forceLayout=null})}function zE(b,a,c){b=F(b.getBoxLayoutParams(),{aspect:c});return Aa(b,{width:a.getWidth(),height:a.getHeight()})}function AE(b,a){var c=[];b.eachSeriesByType("graph",function(b){var d=b.get("coordinateSystem");if(!d||"view"===d){var f=b.getData(),g=f.mapArray(function(c){c=f.getItemModel(c);return[+c.get("x"),+c.get("y")]}),d=[],h=[];hl(g,d,h);0===h[0]-d[0]&&(h[0]+=1,--d[0]);0===h[1]-d[1]&&(h[1]+=1,--d[1]);var k=(h[0]-d[0])/(h[1]-d[1]),g=zE(b,a,k);isNaN(k)&&(d=[g.x,g.y],h=[g.x+g.width,g.y+g.height]);var k=h[0]-d[0],h=h[1]-d[1],l=g.width,m=g.height,n=b.coordinateSystem=new tf;n.zoomLimit=b.get("scaleLimit");n.setBoundingRect(d[0],d[1],k,h);n.setViewRect(g.x,g.y,l,m);n.setCenter(b.get("center"));n.setZoom(b.get("zoom"));c.push(n)}});return c}function bn(b){return isNaN(+b.cpx1)||isNaN(+b.cpy1)}function Wu(b,a,c){var d=a.getItemVisual(c,b);if(d&&"none"!==d){var e=a.getItemVisual(c,b+"Size");a=a.getItemVisual(c,b+"Rotate");e=A(e)?e:[e,e];d=Pa(d,-e[0]/2,-e[1]/2,e[0],e[1]);d.__specifiedRotation=null==a||isNaN(a)?void 0:+a*Math.PI/180||0;d.name=b;return d}}function BE(b){var a=new CE({name:"line",subPixelOptimize:!0});cn(a.shape,b);return a}function cn(b,a){b.x1=a[0][0];b.y1=a[0][1];b.x2=a[1][0];b.y2=a[1][1];b.percent=1;var c=a[2];c?(b.cpx1=c[0],b.cpy1=c[1]):(b.cpx1=NaN,b.cpy1=NaN)}function Xu(b){b=b.hostModel;return{lineStyle:b.getModel("lineStyle").getLineStyle(),emphasisLineStyle:b.getModel(["emphasis","lineStyle"]).getLineStyle(),blurLineStyle:b.getModel(["blur","lineStyle"]).getLineStyle(),selectLineStyle:b.getModel(["select","lineStyle"]).getLineStyle(),labelStatesModels:Ra(b)}}function Yu(b){return isNaN(b[0])||isNaN(b[1])}function dn(b){return!Yu(b[0])&&!Yu(b[1])}function Zu(b,a,c){var d=b[0],e=b[1];b=b[2];var f=Infinity,g;c*=c;for(var h=.1,k=.1;.9>=k;k+=.1){en[0]=uf(d[0],e[0],b[0],k);en[1]=uf(d[1],e[1],b[1],k);var l=$u(fn(en,a)-c);l<f&&(f=l,g=k)}for(f=0;32>f;f++){l=g+h;gn[0]=uf(d[0],e[0],b[0],g);gn[1]=uf(d[1],e[1],b[1],g);hn[0]=uf(d[0],e[0],b[0],l);hn[1]=uf(d[1],e[1],b[1],l);l=fn(gn,a)-c;if(.01>$u(l))break;k=fn(hn,a)-c;h/=2;g=0>l?0<=k?g+h:g-h:0<=k?g-h:g+h}return g}function jn(b,a){var c=[],d=[[],[],[]],e=[[],[]],f=[];a/=2;b.eachEdge(function(b,h){var g=b.getLayout(),l=b.getVisual("fromSymbol"),m=b.getVisual("toSymbol");g.__original||(g.__original=[ic(g[0]),ic(g[1])],g[2]&&g.__original.push(ic(g[2])));var n=g.__original;null!=g[2]?(Na(d[0],n[0]),Na(d[1],n[2]),Na(d[2],n[1]),l&&"none"!==l&&(l=Wg(b.node1),l=Zu(d,n[0],l*a),Yc(d[0][0],d[1][0],d[2][0],l,c),d[0][0]=c[3],d[1][0]=c[4],Yc(d[0][1],d[1][1],d[2][1],l,c),d[0][1]=c[3],d[1][1]=c[4]),m&&"none"!==m&&(l=Wg(b.node2),l=Zu(d,n[1],l*a),Yc(d[0][0],d[1][0],d[2][0],l,c),d[1][0]=c[1],d[2][0]=c[2],Yc(d[0][1],d[1][1],d[2][1],l,c),d[1][1]=c[1],d[2][1]=c[2]),Na(g[0],d[0]),Na(g[1],d[2]),Na(g[2],d[1])):(Na(e[0],n[0]),Na(e[1],n[1]),Pc(f,e[1],e[0]),Ie(f,f),l&&"none"!==l&&(l=Wg(b.node1),Th(e[0],e[0],f,l*a)),m&&"none"!==m&&(l=Wg(b.node2),Th(e[1],e[1],f,-l*a)),Na(g[0],e[0]),Na(g[1],e[1]))})}function av(b,a){return{getValue:function(c){var d=this[b][a];return d.get(d.getDimension(c||"value"),this.dataIndex)},setVisual:function(c,d){0<=this.dataIndex&&this[b][a].setItemVisual(this.dataIndex,c,d)},getVisual:function(c){return this[b][a].getItemVisual(this.dataIndex,c)},setLayout:function(c,d){0<=this.dataIndex&&this[b][a].setItemLayout(this.dataIndex,c,d)},getLayout:function(){return this[b][a].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[b][a].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[b][a].getRawIndex(this.dataIndex)}}}function bv(b,a,c,d,e){d=new DE(d);for(var f=0;f<b.length;f++)d.addNode(Ba(b[f].id,b[f].name,f),f);for(var g=[],h=[],k=0,f=0;f<a.length;f++){var l=a[f],m=l.source,n=l.target;d.addEdge(m,n,k)&&(h.push(l),g.push(Ba(Ea(l.id,null),m+" \x3e "+n)),k++)}a=c.get("coordinateSystem");"cartesian2d"===a||"polar"===a?a=sc(b,c):(a=(a=Yd.get(a))?a.dimensions||[]:[],0>ba(a,"value")&&a.concat(["value"]),a=gf(b,{coordDimensions:a}),a=new Wa(a,c),a.initData(b));b=new Wa(["value"],c);b.initData(h,g);e&&e(a,b);zu({mainData:a,struct:d,structAttr:"graph",datas:{node:a,edge:b},datasAttr:{node:"data",edge:"edgeData"}});d.update();return d}function kj(b,a){var c=null==b?"":b+"";a&&("string"===typeof a?c=a.replace("{value}",c):"function"===typeof a&&(c=a(b)));return c}function EE(b,a){return Aa(b.getBoxLayoutParams(),{width:a.getWidth(),height:a.getHeight()})}function FE(b,a){for(var c=b.mapDimension("value"),d=b.mapArray(c,function(c){return c}),c=[],e="ascending"===a,f=0,g=b.count();f<g;f++)c[f]=f;"function"===typeof a?c.sort(a):"none"!==a&&c.sort(function(c,a){return e?d[c]-d[a]:d[a]-d[c]});return c}function GE(b){var a=b.hostModel.get("orient");b.each(function(c){var d=b.getItemModel(c),e=d.getModel("label").get("position"),f=d.getModel("labelLine");c=b.getItemLayout(c);var g=c.points,d="inner"===e||"inside"===e||"center"===e||"insideLeft"===e||"insideRight"===e,h,k,l;if(d)"insideLeft"===e?(h=(g[0][0]+g[3][0])/2+5,k=(g[0][1]+g[3][1])/2,g="left"):"insideRight"===e?(h=(g[1][0]+g[2][0])/2-5,k=(g[1][1]+g[2][1])/2,g="right"):(h=(g[0][0]+g[1][0]+g[2][0]+g[3][0])/4,k=(g[0][1]+g[1][1]+g[2][1]+g[3][1])/4,g="center"),l=[[h,k],[h,k]];else{var m,n=l=void 0,f=f.get("length");"vertical"===a&&-1<["top","bottom"].indexOf(e)&&(e="left",console.warn("Position error: Funnel chart on vertical orient dose not support top and bottom."));"horizontal"===a&&-1<["left","right"].indexOf(e)&&(e="bottom",console.warn("Position error: Funnel chart on horizontal orient dose not support left and right."));"left"===e?(e=(g[3][0]+g[0][0])/2,m=(g[3][1]+g[0][1])/2,l=e-f,h=l-5,g="right"):"right"===e?(e=(g[1][0]+g[2][0])/2,m=(g[1][1]+g[2][1])/2,l=e+f,h=l+5,g="left"):"top"===e?(e=(g[3][0]+g[0][0])/2,m=(g[3][1]+g[0][1])/2,n=m-f,k=n-5,g="center"):"bottom"===e?(e=(g[1][0]+g[2][0])/2,m=(g[1][1]+g[2][1])/2,n=m+f,k=n+5,g="center"):"rightTop"===e?(e="horizontal"===a?g[3][0]:g[1][0],m="horizontal"===a?g[3][1]:g[1][1],"horizontal"===a?(n=m-f,k=n-5,g="center"):(l=e+f,h=l+5,g="top")):"rightBottom"===e?(e=g[2][0],m=g[2][1],"horizontal"===a?(n=m+f,k=n+5,g="center"):(l=e+f,h=l+5,g="bottom")):"leftTop"===e?(e=g[0][0],m="horizontal"===a?g[0][1]:g[1][1],"horizontal"===a?(n=m-f,k=n-5,g="center"):(l=e-f,h=l-5,g="right")):"leftBottom"===e?(e="horizontal"===a?g[1][0]:g[3][0],m="horizontal"===a?g[1][1]:g[2][1],"horizontal"===a?(n=m+f,k=n+5,g="center"):(l=e-f,h=l-5,g="right")):(e=(g[1][0]+g[2][0])/2,m=(g[1][1]+g[2][1])/2,"horizontal"===a?(n=m+f,k=n+5,g="center"):(l=e+f,h=l+5,g="left"));"horizontal"===a?h=l=e:k=n=m;l=[[e,m],[l,n]]}c.label={linePoints:l,x:h,y:k,verticalAlign:"middle",textAlign:g,inside:d}})}function HE(b,a){b.eachSeriesByType("funnel",function(c){var b=c.getData(),e=b.mapDimension("value"),f=c.get("sort"),g=EE(c,a),h=c.get("orient"),k=g.width,l=g.height,m=FE(b,f),n=g.x,p=g.y,q="horizontal"===h?[H(c.get("minSize"),l),H(c.get("maxSize"),l)]:[H(c.get("minSize"),k),H(c.get("maxSize"),k)],g=b.getDataExtent(e),t=c.get("min"),u=c.get("max");null==t&&(t=Math.min(g[0],0));null==u&&(u=g[1]);var w=c.get("funnelAlign");c=c.get("gap");var g=(("horizontal"===h?k:l)-c*(b.count()-1))/b.count(),v=function(c,a){if("horizontal"===h){var d=b.get(e,c)||0,d=ga(d,[t,u],q,!0),f=void 0;switch(w){case "top":f=p;break;case "center":f=p+(l-d)/2;break;case "bottom":f=p+(l-d)}return[[a,f],[a,f+d]]}f=b.get(e,c)||0;f=ga(f,[t,u],q,!0);switch(w){case "left":d=n;break;case "center":d=n+(k-f)/2;break;case "right":d=n+k-f}return[[d,a],[d+f,a]]};"ascending"===f&&(g=-g,c=-c,"horizontal"===h?n+=k:p+=l,m=m.reverse());for(var z=0;z<m.length;z++){var B=m[z],y=m[z+1],r=b.getItemModel(B);if("horizontal"===h){var D=r.get(["itemStyle","width"]);null==D?D=g:(D=H(D,k),"ascending"===f&&(D=-D));r=v(B,n);y=v(y,n+D);n+=D+c}else D=r.get(["itemStyle","height"]),null==D?D=g:(D=H(D,l),"ascending"===f&&(D=-D)),r=v(B,p),y=v(y,p+D),p+=D+c;b.setItemLayout(B,{points:r.concat(y.slice().reverse())})}GE(b)})}function IE(b,a,c){var d=b.model;b=b.getRect();var e=new Z({shape:{x:b.x,y:b.y,width:b.width,height:b.height}}),d="horizontal"===d.get("layout")?"width":"height";e.setShape(d,0);za(e,{shape:{width:b.width,height:b.height}},a,c);return e}function cv(b,a,c,d){for(var e=[],f=0;f<c.length;f++){var g=c[f],h=b.get(b.mapDimension(g),a);("category"===d.getAxis(g).type?null==h:null==h||isNaN(h))||e.push(d.dataToPoint(h,g))}return e}function dv(b,a,c,d,e){d=cv(b,c,d,e);d=new kb({shape:{points:d},z2:10});a.add(d);b.setItemGraphicEl(c,d);return d}function ev(b){b=b.get("smooth",!0);!0===b&&(b=.3);b=jc(b);Nc(b)&&(b=0);return{smooth:b}}function kn(b,a,c,d){b.useStyle(a.getItemVisual(c,"style"));b.style.fill=null;b.setShape("smooth",d.smooth);a=a.getItemModel(c);c=a.getModel("emphasis");Fa(b,a,"lineStyle");va(b,c.get("focus"),c.get("blurScope"))}function JE(b){if(b=b.ecModel.getComponent("parallel",b.get("parallelIndex"))){var a={};r(b.dimensions,function(c){var b=+c.replace("dim","");a[c]=b});return a}}function KE(b){LE(b);ME(b)}function LE(b){if(!b.parallel){var a=!1;r(b.series,function(c){c&&"parallel"===c.type&&(a=!0)});a&&(b.parallel=[{}])}}function ME(b){var a=xa(b.parallelAxis);r(a,function(c){if(N(c)){var a=c.parallelIndex||0;(a=xa(b.parallel)[a])&&a.parallelAxisDefault&&U(c,a.parallelAxisDefault,!1)}})}function ln(b,a){var c=b._model;return c.get("axisExpandable")&&c.get("axisExpandTriggerOn")===a}function fe(b,a,c,d,e,f){b=b||0;var g=c[1]-c[0];null!=e&&(e=vf(e,[0,g]));null!=f&&(f=Math.max(f,null!=e?e:0));"all"===d&&(d=Math.abs(a[1]-a[0]),d=vf(d,[0,g]),e=f=vf(d,[e,f]),d=0);a[0]=vf(a[0],c);a[1]=vf(a[1],c);g=mn(a,d);a[d]+=b;b=e||0;c=c.slice();0>g.sign?c[0]+=b:c[1]-=b;a[d]=vf(a[d],c);c=mn(a,d);null!=e&&(c.sign!==g.sign||c.span<e)&&(a[1-d]=a[d]+g.sign*e);c=mn(a,d);null!=f&&c.span>f&&(a[1-d]=a[d]+c.sign*f);return a}function mn(b,a){var c=b[a]-b[1-a];return{span:Math.abs(c),sign:0<c?-1:0>c?1:a?-1:1}}function vf(b,a){return Math.min(null!=a[1]?a[1]:Infinity,Math.max(null!=a[0]?a[0]:-Infinity,b))}function lj(b,a){return fv(gv(b,a[0]),a[1])}function NE(b,a){var c=a.layoutLength/(a.axisCount-1);return{position:c*b,axisNameAvailableWidth:c,axisLabelShow:!0}}function OE(b,a){var c=a.layoutLength,d=a.axisExpandWidth,e=a.axisCount,f=a.axisCollapseWidth,g=a.winInnerIndices,h=f,k=!1,l;b<g[0]?(c=b*f,l=f):b<=g[1]?(c=a.axisExpandWindow0Pos+b*d-a.axisExpandWindow[0],h=d,k=!0):(c-=(e-1-b)*f,l=f);return{position:c,axisNameAvailableWidth:h,axisLabelShow:k,nameTruncateMaxWidth:l}}function hv(b,a){var c=ge[a.brushType].createCover(b,a);c.__brushOption=a;iv(c,a);b.group.add(c);return c}function jv(b,a){var c=ge[a.__brushOption.brushType];c.endCreating&&(c.endCreating(b,a),iv(a,a.__brushOption));return a}function iv(b,a){var c=a.z;null==c&&(c=1E4);b.traverse(function(a){a.z=c;a.z2=c})}function nn(b,a){ge[a.__brushOption.brushType].updateCommon(b,a);var c=a.__brushOption;ge[a.__brushOption.brushType].updateCoverShape(b,a,c.range,c)}function on(b,a,c){var d=b._panels;if(!d)return!0;var e,f=b._transform;r(d,function(b){b.isTargetByCursor(a,c,f)&&(e=b)});return e}function kv(b,a){var c=b._panels;if(!c)return!0;var d=a.__brushOption.panelId;return null!=d?c[d]:!0}function pn(b){var a=b._covers,c=a.length;r(a,function(c){b.group.remove(c)},b);a.length=0;return!!c}function he(b,a){var c=C(b._covers,function(c){c=c.__brushOption;var a=J(c.range);return{brushType:c.brushType,panelId:c.panelId,range:a}});b.trigger("brush",{areas:c,isEnd:!!a.isEnd,removeOnClick:!!a.removeOnClick})}function lv(b){var a=b.length-1;0>a&&(a=0);return[b[0],b[a]]}function mv(b,a,c,d){var e=new M;e.add(new Z({name:"main",style:qn(c),silent:!0,draggable:!0,cursor:"move",drift:P(nv,b,a,e,["n","s","w","e"]),ondragend:P(he,a,{isEnd:!0})}));r(d,function(c){e.add(new Z({name:c.join(""),style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:P(nv,b,a,e,c),ondragend:P(he,a,{isEnd:!0})}))});return e}function ov(b,a,c,d){var e=d.brushStyle.lineWidth||0,f=wf(e,6),g=c[0][0],h=c[1][0],k=g-e/2,l=h-e/2,m=c[0][1],n=c[1][1];c=m-f+e/2;var p=n-f+e/2,m=m-g,n=n-h,q=m+e,e=n+e;Ic(b,a,"main",g,h,m,n);d.transformable&&(Ic(b,a,"w",k,l,f,e),Ic(b,a,"e",c,l,f,e),Ic(b,a,"n",k,l,q,f),Ic(b,a,"s",k,p,q,f),Ic(b,a,"nw",k,l,f,f),Ic(b,a,"ne",c,l,f,f),Ic(b,a,"sw",k,p,f,f),Ic(b,a,"se",c,p,f,f))}function rn(b,a){var c=a.__brushOption,d=c.transformable,e=a.childAt(0);e.useStyle(qn(c));e.attr({silent:!d,cursor:d?"move":"default"});r([["w"],["e"],["n"],["s"],["s","e"],["s","w"],["n","e"],["n","w"]],function(c){var e=a.childOfName(c.join(""));1===c.length?c=sn(b,c[0]):(c=[sn(b,c[0]),sn(b,c[1])],"e"!==c[0]&&"w"!==c[0]||c.reverse(),c=c.join(""));e&&e.attr({silent:!d,invisible:!d,cursor:d?PE[c]+"-resize":null})})}function Ic(b,a,c,d,e,f,g){(c=a.childOfName(c))&&c.setShape(QE(tn(b,a,[[d,e],[d+f,e+g]])))}function qn(b){return K({strokeNoScale:!0},b.brushStyle)}function pv(b,a,c,d){var e=[Xg(b,c),Xg(a,d)];b=[wf(b,c),wf(a,d)];return[[e[0],b[0]],[e[1],b[1]]]}function sn(b,a){return{left:"w",right:"e",top:"n",bottom:"s"}[pi({w:"left",e:"right",n:"top",s:"bottom"}[a],dd(b.group))]}function nv(b,a,c,d,e,f){var g=c.__brushOption,h=b.toRectRange(g.range),k=qv(a,e,f);r(d,function(c){c=RE[c];h[c[0]][c[1]]+=k[c[0]]});g.range=b.fromRectRange(pv(h[0][0],h[1][0],h[0][1],h[1][1]));nn(a,c);he(a,{isEnd:!1})}function SE(b,a,c,d){var e=a.__brushOption.range,f=qv(b,c,d);r(e,function(c){c[0]+=f[0];c[1]+=f[1]});nn(b,a);he(b,{isEnd:!1})}function qv(b,a,c){b=b.group;a=b.transformCoordToLocal(a,c);c=b.transformCoordToLocal(0,0);return[a[0]-c[0],a[1]-c[1]]}function tn(b,a,c){return(a=kv(b,a))&&!0!==a?a.clipPath(c,b._transform):J(c)}function QE(b){var a=Xg(b[0][0],b[1][0]),c=Xg(b[0][1],b[1][1]),d=wf(b[0][0],b[1][0]);b=wf(b[0][1],b[1][1]);return{x:a,y:c,width:d-a,height:b-c}}function un(b){b=b.event;b.preventDefault&&b.preventDefault()}function vn(b,a,c){return b.childOfName("main").contain(a,c)}function rv(b,a,c,d){var e=b._creatingCover,f=b._creatingPanel,g=b._brushOption,h;b._track.push(c.slice());var k;var l=b._track;if(l.length){k=l[l.length-1];var m=l[0],l=k[0]-m[0];k=k[1]-m[1];k=6<TE(l*l+k*k,.5)}else k=!1;k||e?(f&&!e&&("single"===g.brushMode&&pn(b),e=J(g),e.brushType=sv(e.brushType,f),e.panelId=!0===f?null:f.panelId,e=b._creatingCover=hv(b,e),b._covers.push(e)),e&&(f=ge[sv(b._brushType,f)],e.__brushOption.range=f.getCreatingRange(tn(b,e,b._track)),d&&(jv(b,e),f.updateCommon(b,e)),f=e.__brushOption,ge[e.__brushOption.brushType].updateCoverShape(b,e,f.range,f),h={isEnd:d})):d&&"single"===g.brushMode&&g.removeOnClick&&on(b,a,c)&&pn(b)&&(h={isEnd:d,removeOnClick:!0});return h}function sv(b,a){return"auto"===b?(O(a&&a.defaultBrushType,'MUST have defaultBrushType when brushType is "atuo"'),a.defaultBrushType):b}function tv(b,a){if(b._dragging){un(a);var c=b.group.transformCoordToLocal(a.offsetX,a.offsetY),c=rv(b,a,c,!0);b._dragging=!1;b._track=[];b._creatingCover=null;c&&he(b,c)}}function uv(b){return{createCover:function(a,c){return mv({toRectRange:function(c){c=[c,[0,100]];b&&c.reverse();return c},fromRectRange:function(c){return c[b]}},a,c,[[["w"],["e"]],[["n"],["s"]]][b])},getCreatingRange:function(a){var c=lv(a);a=Xg(c[0][b],c[1][b]);c=wf(c[0][b],c[1][b]);return[a,c]},updateCoverShape:function(a,c,d,e){var f;f=kv(a,c);!0!==f&&f.getLinearBrushOtherExtent?f=f.getLinearBrushOtherExtent(b):(f=a._zr,f=[0,[f.getWidth(),f.getHeight()][1-b]]);d=[d,f];b&&d.reverse();ov(a,c,d,e)},updateCommon:rn,contain:vn}}function vv(b){b=aa.create(b);return function(a){return zl(a,b)}}function wv(b,a){b=aa.create(b);return function(c){var d=(c=null!=a?a:c)?b.x:b.y;return[d,d+((c?b.width:b.height)||0)]}}function xv(b,a,c){var d=aa.create(b);return function(b,f){return d.contain(f[0],f[1])&&!cj(b,a,c)}}function UE(b){var a=b.axis;return C(b.activeIntervals,function(c){return{brushType:"lineX",panelId:"pl",range:[a.dataToCoord(c[0],!0),a.dataToCoord(c[1],!0)]}})}function VE(b){b.registerAction(WE,function(a,c){c.eachComponent({mainType:"parallelAxis",query:a},function(c){c.axis.model.setActiveIntervals(a.intervals)})});b.registerAction("parallelAxisExpand",function(a,c){c.eachComponent({mainType:"parallel",query:a},function(c){c.setAxisExpand(a)})})}function yv(b){b.registerComponentView(XE);b.registerComponentModel(YE);b.registerCoordinateSystem("parallel",ZE);b.registerPreprocessor(KE);b.registerComponentModel(wn);b.registerComponentView($E);pf(b,"parallel",wn,aF);VE(b)}function bF(b,a,c){var d=new Z({shape:{x:b.x-10,y:b.y-10,width:0,height:b.height+20}});za(d,{shape:{width:b.width+20}},a,c);return d}function cF(b,a){b.eachSeriesByType("sankey",function(c){var b=c.get("nodeWidth"),e=c.get("nodeGap"),f=dF(c,a);c.layoutInfo=f;var g=f.width,f=f.height,h=c.getGraph(),k=h.nodes,h=h.edges;eF(k);var l=0!==ta(k,function(c){return 0===c.getLayout().value}).length?0:c.get("layoutIterations"),m=c.get("orient");c=c.get("nodeAlign");fF(k,h,b,e,g,f,l,m,c)})}function dF(b,a){return Aa(b.getBoxLayoutParams(),{width:a.getWidth(),height:a.getHeight()})}function fF(b,a,c,d,e,f,g,h,k){for(var l=[],m=[],n=[],p=[],q=0,t=0;t<a.length;t++)l[t]=1;for(t=0;t<b.length;t++)m[t]=b[t].inEdges.length,0===m[t]&&n.push(b[t]);for(var u=-1;n.length;){for(t=0;t<n.length;t++){var w=n[t],v=w.hostGraph.data.getRawDataItem(w.dataIndex),z=null!=v.depth&&0<=v.depth;z&&v.depth>u&&(u=v.depth);w.setLayout({depth:z?v.depth:q},!0);"vertical"===h?w.setLayout({dy:c},!0):w.setLayout({dx:c},!0);for(v=0;v<w.outEdges.length;v++){var z=w.outEdges[v],B=a.indexOf(z);l[B]=0;z=z.node2;B=b.indexOf(z);0===--m[B]&&0>p.indexOf(z)&&p.push(z)}}++q;n=p;p=[]}for(t=0;t<l.length;t++)if(1===l[t])throw Error("Sankey is a DAG, the original data has cycle!");l=u>q-1?u:q-1;k&&"left"!==k&&gF(b,k,h,l);hF(b,"vertical"===h?(f-c)/l:(e-c)/l,h);c=g;g=iF(b,h);jF(g,a,f,e,d,h);xn(g,d,f,e,h);for(a=1;0<c;c--)a*=.99,kF(g,a,h),xn(g,d,f,e,h),lF(g,a,h),xn(g,d,f,e,h);mF(b,h)}function eF(b){r(b,function(a){var c=pd(a.outEdges,mj),b=pd(a.inEdges,mj),e=a.getValue()||0;a.setLayout({value:Math.max(c,b,e)},!0)})}function zv(b){b=b.hostGraph.data.getRawDataItem(b.dataIndex);return null!=b.depth&&0<=b.depth}function gF(b,a,c,d){if("right"===a){a=[];c=b;for(var e=0;c.length;){for(var f=0;f<c.length;f++){var g=c[f];g.setLayout({skNodeHeight:e},!0);for(var h=0;h<g.inEdges.length;h++){var k=g.inEdges[h];0>a.indexOf(k.node1)&&a.push(k.node1)}}c=a;a=[];++e}r(b,function(c){zv(c)||c.setLayout({depth:Math.max(0,d-c.getLayout().skNodeHeight)},!0)})}else"justify"===a&&nF(b,d)}function nF(b,a){r(b,function(c){zv(c)||c.outEdges.length||c.setLayout({depth:a},!0)})}function hF(b,a,c){r(b,function(b){var d=b.getLayout().depth*a;"vertical"===c?b.setLayout({y:d},!0):b.setLayout({x:d},!0)})}function iF(b,a){var c=[],d="vertical"===a?"y":"x",e=bl(b,function(c){return c.getLayout()[d]});e.keys.sort(function(c,a){return c-a});r(e.keys,function(a){c.push(e.buckets.get(a))});return c}function jF(b,a,c,d,e,f){var g=Infinity;r(b,function(a){var b=a.length,h=0;r(a,function(c){h+=c.getLayout().value});a="vertical"===f?(d-(b-1)*e)/h:(c-(b-1)*e)/h;a<g&&(g=a)});r(b,function(c){r(c,function(c,a){var b=c.getLayout().value*g;"vertical"===f?(c.setLayout({x:a},!0),c.setLayout({dx:b},!0)):(c.setLayout({y:a},!0),c.setLayout({dy:b},!0))})});r(a,function(c){var a=+c.getValue()*g;c.setLayout({dy:a},!0)})}function xn(b,a,c,d,e){var f="vertical"===e?"x":"y";r(b,function(b){b.sort(function(c,a){return c.getLayout()[f]-a.getLayout()[f]});var g,k;g=0;for(var l=b.length,m="vertical"===e?"dx":"dy",n=0;n<l;n++)k=b[n],g-=k.getLayout()[f],0<g&&(g=k.getLayout()[f]+g,"vertical"===e?k.setLayout({x:g},!0):k.setLayout({y:g},!0)),g=k.getLayout()[f]+k.getLayout()[m]+a;g=g-a-("vertical"===e?d:c);if(0<g)for(g=k.getLayout()[f]-g,"vertical"===e?k.setLayout({x:g},!0):k.setLayout({y:g},!0),n=l-2;0<=n;--n)k=b[n],g=k.getLayout()[f]+k.getLayout()[m]+a-g,0<g&&(g=k.getLayout()[f]-g,"vertical"===e?k.setLayout({x:g},!0):k.setLayout({y:g},!0)),g=k.getLayout()[f]})}function kF(b,a,c){r(b.slice().reverse(),function(b){r(b,function(b){if(b.outEdges.length){var d=pd(b.outEdges,oF,c)/pd(b.outEdges,mj);isNaN(d)&&(d=(d=b.outEdges.length)?pd(b.outEdges,pF,c)/d:0);"vertical"===c?(d=b.getLayout().x+(d-qd(b,c))*a,b.setLayout({x:d},!0)):(d=b.getLayout().y+(d-qd(b,c))*a,b.setLayout({y:d},!0))}})})}function oF(b,a){return qd(b.node2,a)*b.getValue()}function pF(b,a){return qd(b.node2,a)}function qF(b,a){return qd(b.node1,a)*b.getValue()}function rF(b,a){return qd(b.node1,a)}function qd(b,a){return"vertical"===a?b.getLayout().x+b.getLayout().dx/2:b.getLayout().y+b.getLayout().dy/2}function mj(b){return b.getValue()}function pd(b,a,c){for(var d=0,e=b.length,f=-1;++f<e;){var g=+a(b[f],c);isNaN(g)||(d+=g)}return d}function lF(b,a,c){r(b,function(b){r(b,function(b){if(b.inEdges.length){var d=pd(b.inEdges,qF,c)/pd(b.inEdges,mj);isNaN(d)&&(d=(d=b.inEdges.length)?pd(b.inEdges,rF,c)/d:0);"vertical"===c?(d=b.getLayout().x+(d-qd(b,c))*a,b.setLayout({x:d},!0)):(d=b.getLayout().y+(d-qd(b,c))*a,b.setLayout({y:d},!0))}})})}function mF(b,a){var c="vertical"===a?"x":"y";r(b,function(a){a.outEdges.sort(function(a,b){return a.node2.getLayout()[c]-b.node2.getLayout()[c]});a.inEdges.sort(function(a,b){return a.node1.getLayout()[c]-b.node1.getLayout()[c]})});r(b,function(c){var a=0,b=0;r(c.outEdges,function(c){c.setLayout({sy:a},!0);a+=c.getLayout().dy});r(c.inEdges,function(c){c.setLayout({ty:b},!0);b+=c.getLayout().dy})})}function sF(b){b.eachSeriesByType("sankey",function(a){var c=a.getGraph().nodes;if(c.length){var b=Infinity,e=-Infinity;r(c,function(c){c=c.getLayout().value;c<b&&(b=c);c>e&&(e=c)});r(c,function(c){var d=(new La({type:"color",mappingMethod:"linear",dataExtent:[b,e],visual:a.get("color")})).mapValueToVisual(c.getLayout().value),f=c.getModel().get(["itemStyle","color"]);null!=f?(c.setVisual("color",f),c.setVisual("style",{fill:f})):(c.setVisual("color",d),c.setVisual("style",{fill:d}))})}})}function Av(b,a,c,d,e){var f=b.ends;d=new tF({shape:{points:e?uF(f,d,b):f}});Bv(b,d,a,c,e);return d}function Bv(b,a,c,d,e){(0,Yg[e?"initProps":"updateProps"])(a,{shape:{points:b.ends}},c.hostModel,d);a.useStyle(c.getItemVisual(d,"style"));a.style.strokeNoScale=!0;a.z2=100;b=c.getItemModel(d);Fa(a,b);va(a,b.get(["emphasis","focus"]),b.get(["emphasis","blurScope"]))}function uF(b,a,c){return C(b,function(b){b=b.slice();b[a]=c.initBaseline;return b})}function vF(b,a){b.eachRawSeriesByType("boxplot",function(c){c.getData().setVisual("legendSymbol","roundRect")})}function wF(b){b=xF(b);Zg(b,function(a){var c=a.seriesModels;c.length&&(yF(a),Zg(c,function(c,b){zF(c,a.boxOffsetList[b],a.boxWidthList[b])}))})}function xF(b){var a=[],c=[];b.eachSeriesByType("boxplot",function(b){var d=b.getBaseAxis(),f=ba(c,d);0>f&&(f=c.length,c[f]=d,a[f]={axis:d,seriesModels:[]});a[f].seriesModels.push(b)});return a}function yF(b){var a=b.axis,c=b.seriesModels,d=c.length,e=b.boxWidthList=[],f=b.boxOffsetList=[],g=[],h;if("category"===a.type)h=a.getBandWidth();else{var k=0;Zg(c,function(c){k=Math.max(k,c.getData().count())});b=a.getExtent();Math.abs(b[1]-b[0])/k}Zg(c,function(c){c=c.get("boxWidth");A(c)||(c=[c,c]);g.push([H(c[0],h)||0,H(c[1],h)||0])});b=.8*h-2;var l=b/d*.3,m=(b-l*(d-1))/d,n=m/2-b/2;Zg(c,function(c,a){f.push(n);n+=l+m;e.push(Math.min(Math.max(m,g[a][0]),g[a][1]))})}function zF(b,a,c){function d(c,b,d){b=h.get(b,d);d=[];d[l]=c;d[m]=b;isNaN(c)||isNaN(b)?c=[NaN,NaN]:(c=g.dataToPoint(d),c[l]+=a);return c}function e(c,a,b){var d=a.slice();a=a.slice();d[l]+=k;a[l]-=k;b?c.push(d,a):c.push(a,d)}function f(c,a){var b=a.slice(),d=a.slice();b[l]-=k;d[l]+=k;c.push(b,d)}var g=b.coordinateSystem,h=b.getData(),k=c/2,l="horizontal"===b.get("layout")?0:1,m=1-l;c=["x","y"];b=h.mapDimension(c[l]);c=h.mapDimensionsAll(c[m]);if(!(null==b||5>c.length))for(var n=0;n<h.count();n++){var p=h.get(b,n),q=d(p,c[2],n),t=d(p,c[0],n),u=d(p,c[1],n),w=d(p,c[3],n),p=d(p,c[4],n),v=[];e(v,u,!1);e(v,w,!0);v.push(t,u,p,w);f(v,t);f(v,p);f(v,q);h.setItemLayout(n,{initBaseline:q[m],ends:v})}}function yn(b,a,c){a=b.ends;return new AF({shape:{points:c?BF(a,b):a},z2:100})}function Cv(b,a){for(var c=!0,d=0;d<a.ends.length;d++)if(b.contain(a.ends[d][0],a.ends[d][1])){c=!1;break}return c}function zn(b,a,c,d){var e=a.getItemModel(c);b.useStyle(a.getItemVisual(c,"style"));b.style.strokeNoScale=!0;b.__simpleBox=d;Fa(b,e)}function BF(b,a){return C(b,function(c){c=c.slice();c[1]=a.initBaseline;return c})}function Dv(b,a,c){var d=b.getData().getLayout("largePoints"),e=new Ev({shape:{points:d},__sign:1});a.add(e);d=new Ev({shape:{points:d},__sign:-1});a.add(d);Fv(1,e,b);Fv(-1,d,b);c&&(e.incremental=!0,d.incremental=!0)}function Fv(b,a,c,d){b=c.get(["itemStyle",0<b?"borderColor":"borderColor0"])||c.get(["itemStyle",0<b?"color":"color0"]);c=c.getModel("itemStyle").getItemStyle(CF);a.useStyle(c);a.style.fill=null;a.style.stroke=b}function DF(b){b&&A(b.series)&&r(b.series,function(a){N(a)&&"k"===a.type&&(a.type="candlestick")})}function Gv(b,a,c,d,e){return c>d?-1:c<d?1:0<a?b.get(e,a-1)<=d?1:-1:1}function EF(b,a){var c=b.getBaseAxis(),d,c="category"===c.type?c.getBandWidth():(d=c.getExtent(),Math.abs(d[1]-d[0])/a.count());d=H(ka(b.get("barMaxWidth"),c),c);var e=H(ka(b.get("barMinWidth"),1),c),f=b.get("barWidth");return null!=f?H(f,c):Math.max(Math.min(c/2,d),e)}function FF(b){A(b)||(b=[+b,+b]);return b}function Hv(b,a){var c=a.rippleEffectColor||a.color;b.eachChild(function(b){b.attr({z:a.z,zlevel:a.zlevel,style:{stroke:"stroke"===a.brushType?c:null,fill:"fill"===a.brushType?c:null}})})}function Iv(b){var a=b.data;a&&a[0]&&a[0][0]&&a[0][0].coord&&(console.warn("Lines data configuration has been changed to { coords:[[1,2],[2,3]] }"),b.data=C(a,function(c){var a={coords:[c[0].coord,c[1].coord]};c[0].name&&(a.fromName=c[0].name);c[1].name&&(a.toName=c[1].name);return Ph([a,c[0],c[1]])}))}function nj(b){b instanceof Array||(b=[b,b]);return b}function GF(b,a,c){var d=b[1]-b[0];a=C(a,function(c){return{interval:[(c.interval[0]-b[0])/d,(c.interval[1]-b[0])/d]}});var e=a.length,f=0;return function(b){var d;for(d=f;d<e;d++){var g=a[d].interval;if(g[0]<=b&&b<=g[1]){f=d;break}}if(d===e)for(d=f-1;0<=d;d--)if(g=a[d].interval,g[0]<=b&&b<=g[1]){f=d;break}return 0<=d&&d<e&&c[d]}}function HF(b,a){var c=b[1]-b[0];a=[(a[0]-b[0])/c,(a[1]-b[0])/c];return function(c){return c>=a[0]&&c<=a[1]}}function Jv(b){b=b.dimensions;return"lng"===b[0]&&"lat"===b[1]}function Kv(b,a,c,d){var e=b.getItemLayout(a),f=c.get("symbolRepeat"),g=c.get("symbolClip"),h=c.get("symbolPosition")||"start",k=(c.get("symbolRotate")||0)*Math.PI/180||0,l=c.get("symbolPatternSize")||2,m=c.isAnimationEnabled(),g={dataIndex:a,layout:e,itemModel:c,symbolType:b.getItemVisual(a,"symbol")||"circle",style:b.getItemVisual(a,"style"),symbolClip:g,symbolRepeat:f,symbolRepeatDirection:c.get("symbolRepeatDirection"),symbolPatternSize:l,rotation:k,animationModel:m?c:null,hoverScale:m&&c.get(["emphasis","scale"]),z2:c.getShallow("z",!0)||0},m=d.valueDim,n=c.get("symbolBoundingData"),p=d.coordSys.getOtherAxis(d.coordSys.getBaseAxis()),q=p.toGlobalCoord(p.dataToCoord(0)),t=1-+(0>=e[m.wh]);A(n)?(n=[p.toGlobalCoord(p.dataToCoord(p.scale.parse(n[0])))-q,p.toGlobalCoord(p.dataToCoord(p.scale.parse(n[1])))-q],n[1]<n[0]&&n.reverse(),t=n[t]):t=null!=n?p.toGlobalCoord(p.dataToCoord(p.scale.parse(n)))-q:f?d.coordSysExtent[m.index][t]-q:e[m.wh];g.boundingLength=t;f&&(g.repeatCutLength=e[m.wh]);g.pxSign=0<t?1:0>t?-1:0;m=g.boundingLength;t=g.pxSign;n=d.valueDim;p=d.categoryDim;q=Math.abs(e[p.wh]);b=b.getItemVisual(a,"symbolSize");b=A(b)?b.slice():null==b?["100%","100%"]:[b,b];b[p.index]=H(b[p.index],q);b[n.index]=H(b[n.index],f?q:Math.abs(m));g.symbolSize=b;(g.symbolScale=[b[0]/l,b[1]/l])[n.index]*=(d.isHorizontal?-1:1)*t;l=g.symbolScale;if(b=c.get(IF)||0)An.attr({scaleX:l[0],scaleY:l[1],rotation:k}),An.updateTransform(),b/=An.getLineScale(),b*=l[d.valueDim.index];g.valueLineWidth=b;q=g.symbolSize;k=c.get("symbolOffset");A(k)&&(k=[H(k[0],q[0]),H(k[1],q[1])]);a=k;m=g.boundingLength;t=g.repeatCutLength;k=d.categoryDim;l=d.valueDim;b=g.pxSign;p=n=Math.max(q[l.index]+g.valueLineWidth,0);if(f){var p=Math.abs(m),u=Ba(c.get("symbolMargin"),"15%")+"";c=!1;u.lastIndexOf("!")===u.length-1&&(c=!0,u=u.slice(0,u.length-1));var q=H(u,q[l.index]),w=Math.max(n+2*q,0),v=c?0:2*q,z=bi(f),u=z?f:Lv((p+v)/w),q=(p-u*n)/2/(c?u:u-1),w=n+2*q,v=c?0:2*q;z||"fixed"===f||(u=t?Lv((Math.abs(t)+v)/w):0);p=u*w-v;g.repeatTimes=u;g.symbolMargin=q}f=p/2*b;c=g.pathPosition=[];c[k.index]=e[k.wh]/2;c[l.index]="start"===h?f:"end"===h?m-f:m/2;a&&(c[0]+=a[0],c[1]+=a[1]);h=g.bundlePosition=[];h[k.index]=e[k.xy];h[l.index]=e[l.xy];h=g.barRectShape=F({},e);h[l.wh]=b*Math.max(Math.abs(e[l.wh]),Math.abs(c[l.index]+f));h[k.wh]=e[k.wh];h=g.clipShape={};h[k.xy]=-e[k.xy];h[k.wh]=d.ecSize[k.wh];h[l.xy]=0;h[l.wh]=e[l.wh];return g}function Mv(b){var a=b.symbolPatternSize;b=Pa(b.symbolType,-a/2,-a/2,a,a);b.attr({culling:!0});"image"!==b.type&&b.setStyle({strokeNoScale:!0});return b}function Nv(b,a,c,d){function e(a){var b=g.slice(),d=c.pxSign,e=a;if("start"===c.symbolRepeatDirection?0<d:0>d)e=k-1-a;b[h.index]=m*(e-k/2+.5)+g[h.index];return{x:b[0],y:b[1],scaleX:c.symbolScale[0],scaleY:c.symbolScale[1],rotation:c.rotation}}var f=b.__pictorialBundle,g=c.pathPosition,h=a.valueDim,k=c.repeatTimes||0,l=0,m=c.symbolSize[a.valueDim.index]+c.valueLineWidth+2*c.symbolMargin;for(Bn(b,function(a){a.__pictorialAnimationIndex=l;a.__pictorialRepeatTimes=k;l<k?xf(a,null,e(l),c,d):xf(a,null,{scaleX:0,scaleY:0},c,d,function(){f.remove(a)});l++});l<k;l++)b=Mv(c),b.__pictorialAnimationIndex=l,b.__pictorialRepeatTimes=k,f.add(b),a=e(l),xf(b,{x:a.x,y:a.y,scaleX:0,scaleY:0},{scaleX:a.scaleX,scaleY:a.scaleY,rotation:a.rotation},c,d)}function Ov(b,a,c,d){a=b.__pictorialBundle;var e=b.__pictorialMainPath;e?xf(e,null,{x:c.pathPosition[0],y:c.pathPosition[1],scaleX:c.symbolScale[0],scaleY:c.symbolScale[1],rotation:c.rotation},c,d):(e=b.__pictorialMainPath=Mv(c),a.add(e),xf(e,{x:c.pathPosition[0],y:c.pathPosition[1],scaleX:0,scaleY:0,rotation:c.rotation},{scaleX:c.symbolScale[0],scaleY:c.symbolScale[1]},c,d))}function Pv(b,a,c){var d=F({},a.barRectShape),e=b.__pictorialBarRect;e?xf(e,null,{shape:d},a,c):(e=b.__pictorialBarRect=new Z({z2:2,shape:d,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}}),b.add(e))}function Qv(b,a,c,d){if(c.symbolClip){var e=b.__pictorialClipPath,f=F({},c.clipShape);a=a.valueDim;var g=c.animationModel,h=c.dataIndex;e?ea(e,{shape:f},g,h):(f[a.wh]=0,e=new Z({shape:f}),b.__pictorialBundle.setClipPath(e),b.__pictorialClipPath=e,b={},b[a.wh]=c.clipShape[a.wh],Yg[d?"updateProps":"initProps"](e,{shape:b},g,h))}}function Rv(b,a){var c=b.getItemModel(a);c.getAnimationDelayParams=JF;c.isAnimationEnabled=KF;return c}function JF(b){return{index:b.__pictorialAnimationIndex,count:b.__pictorialRepeatTimes}}function KF(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function Sv(b,a,c,d){var e=new M,f=new M;e.add(f);e.__pictorialBundle=f;f.x=c.bundlePosition[0];f.y=c.bundlePosition[1];c.symbolRepeat?Nv(e,a,c):Ov(e,a,c);Pv(e,c,d);Qv(e,a,c,d);e.__pictorialShapeStr=Tv(b,c);e.__pictorialSymbolMeta=c;return e}function Uv(b,a,c,d){var e=d.__pictorialBarRect;e&&e.removeTextContent();var f=[];Bn(d,function(c){f.push(c)});d.__pictorialMainPath&&f.push(d.__pictorialMainPath);d.__pictorialClipPath&&(c=null);r(f,function(b){cd(b,{scaleX:0,scaleY:0},c,a,function(){d.parent&&d.parent.remove(d)})});b.setItemGraphicEl(a,null)}function Tv(b,a){return[b.getItemVisual(a.dataIndex,"symbol")||"none",!!a.symbolRepeat,!!a.symbolClip].join(":")}function Bn(b,a,c){r(b.__pictorialBundle.children(),function(d){d!==b.__pictorialBarRect&&a.call(c,d)})}function xf(b,a,c,d,e,f){a&&b.attr(a);d.symbolClip&&!e?c&&b.attr(c):c&&Yg[e?"updateProps":"initProps"](b,c,d.animationModel,d.dataIndex,f)}function Vv(b,a,c){var d=c.dataIndex,e=c.itemModel,f=e.getModel("emphasis"),g=f.getModel("itemStyle").getItemStyle(),h=e.getModel(["blur","itemStyle"]).getItemStyle(),k=e.getModel(["select","itemStyle"]).getItemStyle(),l=e.getShallow("cursor"),m=f.get("focus"),n=f.get("blurScope"),p=f.get("scale");Bn(b,function(a){if(a instanceof Ga){var b=a.style;a.useStyle(F({image:b.image,x:b.x,y:b.y,width:b.width,height:b.height},c.style))}else a.useStyle(c.style);b=a.ensureState("emphasis");b.style=g;p&&(b.scaleX=1.1*a.scaleX,b.scaleY=1.1*a.scaleY);a.ensureState("blur").style=h;a.ensureState("select").style=k;l&&(a.cursor=l);a.z2=c.z2});f=a.valueDim.posDesc[+(0<c.boundingLength)];cb(b.__pictorialBarRect,Ra(e),{labelFetcher:a.seriesModel,labelDataIndex:d,defaultText:kf(a.seriesModel.getData(),d),inheritColor:c.style.fill,defaultOpacity:c.style.opacity,defaultOutsidePosition:f});va(b,m,n)}function Lv(b){var a=Math.round(b);return 1E-4>Math.abs(b-a)?a:Math.ceil(b)}function LF(b,a,c){var d=new Z({shape:{x:b.x-10,y:b.y-10,width:0,height:b.height+20}});za(d,{shape:{x:b.x-50,width:b.width+100,height:b.height+20}},a,c);return d}function MF(b,a){b.eachSeriesByType("themeRiver",function(c){var a=c.getData(),b=c.coordinateSystem,f={},g=b.getRect();f.rect=g;var h=c.get("boundaryGap"),b=b.getAxis();f.boundaryGap=h;"horizontal"===b.orient?(h[0]=H(h[0],g.height),h[1]=H(h[1],g.height),Wv(a,c,g.height-h[0]-h[1])):(h[0]=H(h[0],g.width),h[1]=H(h[1],g.width),Wv(a,c,g.width-h[0]-h[1]));a.setLayout("layoutInfo",f)})}function Wv(b,a,c){if(b.count()){var d=a.coordinateSystem;a=a.getLayerSeries();var e=b.mapDimension("single"),f=b.mapDimension("value"),g=C(a,function(c){return C(c.indices,function(c){var a=d.dataToPoint(b.get(e,c));a[1]=b.get(f,c);return a})}),h=NF(g),k=h.y0;c/=h.max;for(var h=a.length,l=a[0].indices.length,m,n=0;n<l;++n){m=k[n]*c;b.setItemLayout(a[0].indices[n],{layerIndex:0,x:g[0][n][0],y0:m,y:g[0][n][1]*c});for(var p=1;p<h;++p)m+=g[p-1][n][1]*c,b.setItemLayout(a[p].indices[n],{layerIndex:p,x:g[p][n][0],y0:m,y:g[p][n][1]*c})}}}function NF(b){for(var a=b.length,c=b[0].length,d=[],e=[],f=0,g=0;g<c;++g){for(var h=0,k=0;k<a;++k)h+=b[k][g][1];h>f&&(f=h);d.push(h)}for(b=0;b<c;++b)e[b]=(f-d[b])/2;for(b=f=0;b<c;++b)a=d[b]+e[b],a>f&&(f=a);return{y0:e,max:f}}function OF(b){b.registerAction({type:"sunburstRootToNode",update:"updateView"},function(a,c){c.eachComponent({mainType:"series",subType:"sunburst",query:a},function(c,b){var d=Og(a,["sunburstRootToNode"],c);if(d){var e=c.getViewRoot();e&&(a.direction=Rm(e,d.node)?"rollUp":"drillDown");c.resetViewRoot(d.node)}})});b.registerAction({type:"sunburstHighlight",update:"none"},function(a,c,b){a=F({},a);c.eachComponent({mainType:"series",subType:"sunburst",query:a},function(c){if(c=Og(a,["sunburstHighlight"],c))a.dataIndex=c.node.dataIndex});Sa("highlight","sunburstHighlight");b.dispatchAction(F(a,{type:"highlight"}))});b.registerAction({type:"sunburstUnhighlight",update:"updateView"},function(a,c,b){a=F({},a);Sa("downplay","sunburstUnhighlight");b.dispatchAction(F(a,{type:"downplay"}))})}function Xv(b){var a=0;r(b.children,function(c){Xv(c);c=c.value;A(c)&&(c=c[0]);a+=c});var c=b.value;A(c)&&(c=c[0]);if(null==c||isNaN(c))c=a;0>c&&(c=0);A(b.value)?b.value[0]=c:b.value=c}function PF(b,a,c){a.eachSeriesByType(b,function(a){var b=a.get("center"),d=a.get("radius");A(d)||(d=[0,d]);A(b)||(b=[b,b]);var g=c.getWidth(),h=c.getHeight(),k=Math.min(g,h),l=H(b[0],g),m=H(b[1],h),n=H(d[0],k/2),g=H(d[1],k/2),b=-a.get("startAngle")*Yv,p=a.get("minAngle")*Yv,q=a.getData().tree.root,d=a.getViewRoot(),t=d.depth,h=a.get("sort");null!=h&&Zv(d,h);var u=0;r(d.children,function(c){!isNaN(c.getValue())&&u++});var w=d.getValue(),v=Math.PI/(w||u)*2,z=0<d.depth,B=(g-n)/(d.height-(z?-1:1)||1),y=a.get("clockwise"),L=a.get("stillShowZeroSum"),D=y?1:-1,Q=function(c,a){if(c){var b=a;if(c!==q){var b=c.getValue(),d=0===w&&L?v:b*v;d<p&&(d=p);var b=a+D*d,e=c.depth-t-(z?-1:1),f=n+B*e,e=n+B*(e+1),g=c.getModel();null!=g.get("r0")&&(f=H(g.get("r0"),k/2));null!=g.get("r")&&(e=H(g.get("r"),k/2));c.setLayout({angle:d,startAngle:a,endAngle:b,clockwise:y,cx:l,cy:m,r0:f,r:e})}if(c.children&&c.children.length){var h=0;r(c.children,function(c){h+=Q(c,a+h)})}return b-a}};z&&(a=2*Math.PI,q.setLayout({angle:a,startAngle:b,endAngle:b+a,clockwise:y,cx:l,cy:m,r0:n,r:n+B}));Q(d,b)})}function Zv(b,a){var c=b.children||[];b.children=QF(c,a);c.length&&r(b.children,function(c){Zv(c,a)})}function QF(b,a){if("function"===typeof a){var c=C(b,function(c,a){var b=c.getValue();return{params:{depth:c.depth,height:c.height,dataIndex:c.dataIndex,getValue:function(){return b}},index:a}});c.sort(function(c,b){return a(c.params,b.params)});return C(c,function(c){return b[c.index]})}var d="asc"===a;return b.sort(function(c,a){var b=(c.getValue()-a.getValue())*(d?1:-1);return 0===b?(c.dataIndex-a.dataIndex)*(d?-1:1):b})}function RF(b){var a={};b.eachSeriesByType("sunburst",function(c){var b=c.getData(),e=b.tree;e.eachNode(function(d){var f=d.getModel().getModel("itemStyle").getItemStyle();if(!f.fill){for(var h=e.root.height,k=d;k&&1<k.depth;)k=k.parentNode;k=c.getColorFromPalette(k.name||k.dataIndex+"",a);1<d.depth&&"string"===typeof k&&(k=Hk(k,(d.depth-1)/(h-1)*.5));f.fill=k}d=b.ensureUniqueItemVisual(d.dataIndex,"style");F(d,f)})})}function SF(b,a){a=a||[0,0];return C(["x","y"],function(c,d){var e=this.getAxis(c),f=a[d],g=b[d]/2;return"category"===e.type?e.getBandWidth():Math.abs(e.dataToCoord(f-g)-e.dataToCoord(f+g))},this)}function TF(b,a){a=a||[0,0];return C([0,1],function(c){var d=a[c],e=b[c]/2,f=[],g=[];f[c]=d-e;g[c]=d+e;f[1-c]=g[1-c]=a[1-c];return Math.abs(this.dataToPoint(f)[c]-this.dataToPoint(g)[c])},this)}function UF(b,a){var c=this.getAxis(),d=a instanceof Array?a[0]:a,e=(b instanceof Array?b[0]:b)/2;return"category"===c.type?c.getBandWidth():Math.abs(c.dataToCoord(d-e)-c.dataToCoord(d+e))}function VF(b,a){a=a||[0,0];return C(["Radius","Angle"],function(c,d){var e=this["get"+c+"Axis"](),f=a[d],g=b[d]/2,e="category"===e.type?e.getBandWidth():Math.abs(e.dataToCoord(f-g)-e.dataToCoord(f+g));"Angle"===c&&(e=e*Math.PI/180);return e},this)}function $v(b,a,c,d){return b&&(b.legacy||!1!==b.legacy&&!c&&!d&&"tspan"!==a&&("text"===a||b.hasOwnProperty("text")))}function aw(b,a,c){var d,e;if("text"===a)a=b;else{a={};b.hasOwnProperty("text")&&(a.text=b.text);b.hasOwnProperty("rich")&&(a.rich=b.rich);b.hasOwnProperty("textFill")&&(a.fill=b.textFill);b.hasOwnProperty("textStroke")&&(a.stroke=b.textStroke);e={type:"text",style:a,silent:!0};d={};var f=b.hasOwnProperty("textPosition");c?d.position=f?b.textPosition:"inside":f&&(d.position=b.textPosition);b.hasOwnProperty("textPosition")&&(d.position=b.textPosition);b.hasOwnProperty("textOffset")&&(d.offset=b.textOffset);b.hasOwnProperty("textRotation")&&(d.rotation=b.textRotation);b.hasOwnProperty("textDistance")&&(d.distance=b.textDistance)}bw(a,b);r(a.rich,function(c){bw(c,c)});return{textConfig:d,textContent:e}}function bw(b,a){a&&(a.font=a.textFont||a.font,a.hasOwnProperty("textStrokeWidth")&&(b.lineWidth=a.textStrokeWidth),a.hasOwnProperty("textAlign")&&(b.align=a.textAlign),a.hasOwnProperty("textVerticalAlign")&&(b.verticalAlign=a.textVerticalAlign),a.hasOwnProperty("textLineHeight")&&(b.lineHeight=a.textLineHeight),a.hasOwnProperty("textWidth")&&(b.width=a.textWidth),a.hasOwnProperty("textHeight")&&(b.height=a.textHeight),a.hasOwnProperty("textBackgroundColor")&&(b.backgroundColor=a.textBackgroundColor),a.hasOwnProperty("textPadding")&&(b.padding=a.textPadding),a.hasOwnProperty("textBorderColor")&&(b.borderColor=a.textBorderColor),a.hasOwnProperty("textBorderWidth")&&(b.borderWidth=a.textBorderWidth),a.hasOwnProperty("textBorderRadius")&&(b.borderRadius=a.textBorderRadius),a.hasOwnProperty("textBoxShadowColor")&&(b.shadowColor=a.textBoxShadowColor),a.hasOwnProperty("textBoxShadowBlur")&&(b.shadowBlur=a.textBoxShadowBlur),a.hasOwnProperty("textBoxShadowOffsetX")&&(b.shadowOffsetX=a.textBoxShadowOffsetX),a.hasOwnProperty("textBoxShadowOffsetY")&&(b.shadowOffsetY=a.textBoxShadowOffsetY))}function cw(b,a,c){b.textPosition=b.textPosition||c.position||"inside";null!=c.offset&&(b.textOffset=c.offset);null!=c.rotation&&(b.textRotation=c.rotation);null!=c.distance&&(b.textDistance=c.distance);var d=0<=b.textPosition.indexOf("inside"),e=b.fill||"#000";dw(b,a);var f=null==b.textFill;d?f&&(b.textFill=c.insideFill||"#fff",!b.textStroke&&c.insideStroke&&(b.textStroke=c.insideStroke),!b.textStroke&&(b.textStroke=e),null==b.textStrokeWidth&&(b.textStrokeWidth=2)):(f&&(b.textFill=c.outsideFill||e),!b.textStroke&&c.outsideStroke&&(b.textStroke=c.outsideStroke));b.text=a.text;b.rich=a.rich;r(a.rich,function(c){dw(c,c)});return b}function dw(b,a){a&&(a.hasOwnProperty("fill")&&(b.textFill=a.fill),a.hasOwnProperty("stroke")&&(b.textStroke=a.fill),a.hasOwnProperty("lineWidth")&&(b.textStrokeWidth=a.lineWidth),a.hasOwnProperty("font")&&(b.font=a.font),a.hasOwnProperty("fontStyle")&&(b.fontStyle=a.fontStyle),a.hasOwnProperty("fontWeight")&&(b.fontWeight=a.fontWeight),a.hasOwnProperty("fontSize")&&(b.fontSize=a.fontSize),a.hasOwnProperty("fontFamily")&&(b.fontFamily=a.fontFamily),a.hasOwnProperty("align")&&(b.textAlign=a.align),a.hasOwnProperty("verticalAlign")&&(b.textVerticalAlign=a.verticalAlign),a.hasOwnProperty("lineHeight")&&(b.textLineHeight=a.lineHeight),a.hasOwnProperty("width")&&(b.textWidth=a.width),a.hasOwnProperty("height")&&(b.textHeight=a.height),a.hasOwnProperty("backgroundColor")&&(b.textBackgroundColor=a.backgroundColor),a.hasOwnProperty("padding")&&(b.textPadding=a.padding),a.hasOwnProperty("borderColor")&&(b.textBorderColor=a.borderColor),a.hasOwnProperty("borderWidth")&&(b.textBorderWidth=a.borderWidth),a.hasOwnProperty("borderRadius")&&(b.textBorderRadius=a.borderRadius),a.hasOwnProperty("shadowColor")&&(b.textBoxShadowColor=a.shadowColor),a.hasOwnProperty("shadowBlur")&&(b.textBoxShadowBlur=a.shadowBlur),a.hasOwnProperty("shadowOffsetX")&&(b.textBoxShadowOffsetX=a.shadowOffsetX),a.hasOwnProperty("shadowOffsetY")&&(b.textBoxShadowOffsetY=a.shadowOffsetY),a.hasOwnProperty("textShadowColor")&&(b.textShadowColor=a.textShadowColor),a.hasOwnProperty("textShadowBlur")&&(b.textShadowBlur=a.textShadowBlur),a.hasOwnProperty("textShadowOffsetX")&&(b.textShadowOffsetX=a.textShadowOffsetX),a.hasOwnProperty("textShadowOffsetY")&&(b.textShadowOffsetY=a.textShadowOffsetY))}function ew(b,a){var c=b+"^_^"+a;fw[c]||(console.warn('[ECharts] DEPRECATED: "'+b+'" has been deprecated. '+a),fw[c]=!0)}function gw(b){function a(c,a){g&&2<g.length&&f.push(g);g=[c,a]}function c(c,a,b,d){1E-5>Math.abs(c-b)&&1E-5>Math.abs(a-d)||g.push(c,a,b,d,b,d)}function d(c,a,b,d,e,f){var h=4*Math.tan(Math.abs(a-c)/4)/3,k=a<c?-1:1,l=Math.cos(c);c=Math.sin(c);var m=Math.cos(a);a=Math.sin(a);var n=m*e+b,p=a*f+d,q=e*h*k,h=f*h*k;g.push(l*e+b-q*c,c*f+d+h*l,n+q*a,p-h*m,n,p)}var e=b.data;b=b.len();for(var f=[],g,h=0,k=0,l=0,m=0,n,p,q,t,u=0;u<b;){n=e[u++];var w=1===u;w&&(h=e[u],k=e[u+1],l=h,m=k,n===vc.L||n===vc.C||n===vc.Q)&&(g=[l,m]);switch(n){case vc.M:h=l=e[u++];k=m=e[u++];a(l,m);break;case vc.L:n=e[u++];p=e[u++];c(h,k,n,p);h=n;k=p;break;case vc.C:g.push(e[u++],e[u++],e[u++],e[u++],h=e[u++],k=e[u++]);break;case vc.Q:n=e[u++];p=e[u++];q=e[u++];t=e[u++];g.push(h+2/3*(n-h),k+2/3*(p-k),q+2/3*(n-q),t+2/3*(p-t),q,t);h=q;k=t;break;case vc.A:q=e[u++];t=e[u++];var v=e[u++],z=e[u++],r=e[u++],y=e[u++]+r,u=u+1,L=!e[u++];n=Math.cos(r)*v+q;p=Math.sin(r)*z+t;w?(l=n,m=p,a(l,m)):c(h,k,n,p);h=Math.cos(y)*v+q;k=Math.sin(y)*z+t;n=(L?-1:1)*Math.PI/2;for(p=r;L?p>y:p<y;p+=n)d(p,L?Math.max(p+n,y):Math.min(p+n,y),q,t,v,z);break;case vc.R:l=h=e[u++];m=k=e[u++];n=l+e[u++];p=m+e[u++];a(n,m);c(n,m,n,p);c(n,p,l,p);c(l,p,l,m);c(l,m,n,m);break;case vc.Z:g&&c(h,k,l,m),h=l,k=m}}g&&2<g.length&&f.push(g);return f}function hw(b,a){for(var c=b.length,d=b[c-2],c=b[c-1],e=[],f=0;f<a.length;)e[f++]=d,e[f++]=c;return e}function WF(b,a){for(var c,d,e=[],f=[],g=0;g<Math.max(b.length,a.length);g++){var h=b[g],k=a[g];if(h)if(k){c=h;d=k;var l=c.length,m=d.length;if(l===m)c=[c,d];else{for(var k=l<m?c:d,h=Math.min(l,m),n=Math.abs(m-l)/6,l=Math.ceil(n/((h-2)/6))+1,m=[k[0],k[1]],p=[],q=[],t=2;t<h;){var u=k[t-2],w=k[t-1],v=k[t++],z=k[t++],r=k[t++],y=k[t++],L=k[t++],D=k[t++];if(0>=n)m.push(v,z,r,y,L,D);else{for(var Q=Math.min(n,l-1)+1,E=1;E<=Q;E++){var G=E/Q;Re(u,v,r,L,G,p);Re(w,z,y,D,G,q);u=p[3];w=q[3];m.push(p[1],q[1],p[2],q[2],u,w);v=p[5];z=q[5];r=p[6];y=q[6]}n-=Q-1}}c=k===c?[m,d]:[c,m]}h=c[0];k=c[1];c=h;d=k}else k=hw(d||h,h);else h=hw(c||k,k);e.push(h);f.push(k)}return[e,f]}function iw(b){for(var a=0,c=0,d=0,e=b.length,f=0,g=e-2;f<e;g=f,f+=2)var h=b[g],g=b[g+1],k=b[f],l=b[f+1],m=h*l-k*g,a=a+m,c=c+(h+k)*m,d=d+(g+l)*m;return 0===a?[b[0]||0,b[1]||0]:[c/a/3,d/a/3,a]}function XF(b,a,c,d){for(var e=[],f,g=0;g<b.length;g++){var h=b[g],k=a[g],l=iw(h),m=iw(k);null==f&&(f=0>l[2]!==0>m[2]);var n=[],p=[],q=0,t=Infinity,u=[],w=h.length;if(f){for(var v=[],z=h.length,r=0;r<z;r+=2)v[r]=h[z-r-2],v[r+1]=h[z-r-1];h=v}for(var v=(h.length-2)/6,z=Infinity,r=0,y=h.length,L=y-2,D=0;D<v;D++){for(var Q=6*D,E=0,G=0;G<y;G+=2)var x=0===G?Q:(Q+G-2)%L+2,A=k[G]-m[0]-(h[x]-l[0]),x=k[G+1]-m[1]-(h[x+1]-l[1]),E=E+(A*A+x*x);E<z&&(z=E,r=D)}z=6*r;r=w-2;for(v=0;v<r;v+=2)y=(z+v)%r+2,n[v+2]=h[y]-l[0],n[v+3]=h[y+1]-l[1];n[0]=h[z]-l[0];n[1]=h[z+1]-l[1];if(0<c)for(w=d/c,z=-d/2;z<=d/2;z+=w){r=Math.sin(z);y=Math.cos(z);for(v=L=0;v<h.length;v+=2)Q=n[v],D=n[v+1],G=k[v]-m[0],A=k[v+1]-m[1],E=G*y-A*r,G=G*r+A*y,u[v]=E,u[v+1]=G,Q=E-Q,D=G-D,L+=Q*Q+D*D;if(L<t)for(t=L,q=z,v=0;v<u.length;v++)p[v]=u[v]}else for(t=0;t<w;t+=2)p[t]=k[t]-m[0],p[t+1]=k[t+1]-m[1];e.push({from:n,to:p,fromCp:l,toCp:m,rotation:-q})}return e}function Cn(b,a,c){var d;if(!b||!a)return a;!b.path&&b.createPathProxy();d=b.path;d.beginPath();b.buildPath(d,b.shape);!a.path&&a.createPathProxy();b=a.path;b===d&&(b=new pc(!1));b.beginPath();null!=a.__oldBuildPath?a.__oldBuildPath(b,a.shape):a.buildPath(b,a.shape);d=WF(gw(d),gw(b));d=XF(d[0],d[1],10,Math.PI);YF(a,d,0);var e=c&&c.done,f=c&&c.aborted,g=c&&c.during;a.animateTo({__morphT:1},K({during:function(c){a.dirtyShape();g&&g(c)},done:function(){null!=a.__oldBuildPath&&(a.buildPath=a.__oldBuildPath,a.__oldBuildPath=a.__morphingData=null);a.createPathProxy();a.dirtyShape();e&&e()},aborted:function(){f&&f()}},c));return a}function ZF(b){for(var a=this.__morphingData,c=this.__morphT,d=1-c,e=[],f=0;f<a.length;f++){var g=a[f],h=g.from,k=g.to,l=g.rotation*c,m=Math.sin(l),l=Math.cos(l);Rf(e,g.fromCp,g.toCp,c);for(g=0;g<h.length;g+=2){var n=h[g]*d+k[g]*c,p=h[g+1]*d+k[g+1]*c;wc[g]=n*l-p*m+e[0];wc[g+1]=n*m+p*l+e[1]}for(g=0;g<h.length;)0===g&&b.moveTo(wc[g++],wc[g++]),b.bezierCurveTo(wc[g++],wc[g++],wc[g++],wc[g++],wc[g++],wc[g++])}}function YF(b,a,c){null==b.__oldBuildPath&&(b.__oldBuildPath=b.buildPath,b.buildPath=ZF);b.__morphingData=a;b.__morphT=c}function jw(b,a,c,d){for(var e=[],f=0,g=0;g<b.length;g++){var h=b[g];if(h.__combiningSubList){for(var h=h.__combiningSubList,k=0;k<h.length;k++)e.push(h[k]);f+=h.length}else e.push(h),f++}if(f){var l=Dn(a,f,c?c.dividingMethod:null);O(l.length===f);var m=c&&c.done,n=c&&c.aborted,p=c&&c.during,q=0,t=!1;b=K({during:function(c){p&&p(c)},done:function(){q++;q===l.length&&(a.__combiningSubList&&(En(a,null),a.addSelfToZr=a.__oldAddSelfToZr,a.removeSelfFromZr=a.__oldRemoveSelfFromZr,a.buildPath=a.__oldBuildPath,a.childrenRef=a.__combiningSubList=a.__oldAddSelfToZr=a.__oldRemoveSelfFromZr=a.__oldBuildPath=null),m&&m())},aborted:function(){t||(t=!0,n&&n())}},c);for(g=0;g<f;g++)c=e[g],h=l[g],d&&d(a,h,!0),Cn(c,h,b);$F(a,l);return{fromIndividuals:e,toIndividuals:l,count:f}}}function $F(b,a){b.__combiningSubList?En(b,a):(En(b,a),b.__oldAddSelfToZr=b.addSelfToZr,b.__oldRemoveSelfFromZr=b.removeSelfFromZr,b.addSelfToZr=aG,b.removeSelfFromZr=bG,b.__oldBuildPath=b.buildPath,b.buildPath=hc,b.childrenRef=cG)}function En(b,a){if(b.__combiningSubList!==a){Fn(b,"removeSelfFromZr");if(b.__combiningSubList=a)for(var c=0;c<a.length;c++)a[c].parent=b;Fn(b,"addSelfToZr")}}function aG(b){this.__oldAddSelfToZr(b);Fn(this,"addSelfToZr")}function Fn(b,a){var c=b.__combiningSubList,d=b.__zr;if(c&&d)for(var e=0;e<c.length;e++)c[e][a](d)}function bG(b){this.__oldRemoveSelfFromZr(b);for(var a=this.__combiningSubList,c=0;c<a.length;c++)a[c].removeSelfFromZr(b)}function cG(){return this.__combiningSubList}function Dn(b,a,c){return"duplicate"===c?Gn(b,a):dG(b,a)}function dG(b,a){var c=[];if(0>=a)return c;if(1===a)return Gn(b,a);if(b instanceof Z)for(var d=b.shape,e=d.height>d.width?1:0,f=eG[e],g=fG[e],h=d[f]/a,k=d[g],e=0;e<a;e++,k+=h){var l={x:d.x,y:d.y,width:d.width,height:d.height};l[g]=k;l[f]=e<a-1?h:d[g]+d[f]-k;l=new Z({shape:l});c.push(l)}else if(b instanceof lb)for(d=b.shape,f=d.clockwise,e=d.startAngle,l=g=d.endAngle,h=(l+kw*Math[f?"ceil":"floor"]((e-l)/kw)-e)/a,k=e,e=0;e<a;e++,k+=h)l=new lb({shape:{cx:d.cx,cy:d.cy,r:d.r,r0:d.r0,clockwise:f,startAngle:k,endAngle:e===a-1?g:k+h}}),c.push(l);else return Gn(b,a);return c}function Gn(b,a){var c=[];if(0>=a)return c;for(var d=b.constructor,e=0;e<a;e++){var f=new d({shape:J(b.shape)});c.push(f)}return c}function lw(b,a,c){if(b){if("oneToOne"===a)return function(c,a){return b.getId(a)};var d=b.getDimension(c);(a=b.getDimensionInfo(d))||ja(c+" is not a valid dimension.");var e=a.ordinalMeta;return function(c,a){var f=b.get(d,a);e&&(f=e.categories[f]);return null==f||Nc(f)?c+"":"_ec_"+f}}}function Hn(b){var a=b.type,c;if("path"===a){var d=(c=b.shape)&&(c.pathData||c.d);c=hg(d,null,null!=c.width&&null!=c.height?{x:c.x||0,y:c.y||0,width:c.width,height:c.height}:null,c.layout||"center");Lb(c).customPathData=d}else if("image"===a)c=new Ga({}),Lb(c).customImagePath=b.style.image;else if("text"===a)c=new ha({});else if("group"===a)c=new M;else{if("compoundPath"===a)throw Error('"compoundPath" is not supported yet.');(d=oi(a))||ja('graphic type "'+a+'" can not be found.');c=new d}Lb(c).customGraphicType=a;c.name=b.name;c.z2EmphasisLift=1;c.z2SelectLift=1;return c}function In(b,a,c,d,e,f,g,h,k,l){var m={},n={},p=a.isGroup?null:a;!c&&oj("shape",a,null,e,m,k);mw("shape",e,n);!c&&oj("extra",a,null,e,m,k);mw("extra",e,n);!c&&Jn(a,null,e,m,k);Kn(e,n,"position");Kn(e,n,"scale");Kn(e,n,"origin");ie(e,n,"x");ie(e,n,"y");ie(e,n,"scaleX");ie(e,n,"scaleY");ie(e,n,"originX");ie(e,n,"originY");ie(e,n,"rotation");(g=g&&g.normal.cfg)&&a.setTextConfig(g);"text"===a.type&&f&&(f.hasOwnProperty("textFill")&&(f.fill=f.textFill),f.hasOwnProperty("textStroke")&&(f.stroke=f.textStroke));if(f){g=void 0;var q=a&&a instanceof Y?f.decal:null;b&&q&&(q.dirty=!0,g=yg(q,b));f.__decalPattern=g}!c&&Ln(a,null,e,f,m,k);p&&e.hasOwnProperty("invisible")&&(p.invisible=e.invisible);c||($g(a,n,f),Mn(a,d,e,h,m,k));e.hasOwnProperty("silent")&&(a.silent=e.silent);e.hasOwnProperty("ignore")&&(a.ignore=e.ignore);l||e.hasOwnProperty("info")&&(Lb(a).info=e.info);f?a.dirty():a.markRedraw();return c?n:null}function $g(b,a,c){var d=b.isGroup?null:b;if(d&&c){var e=c.__decalPattern,f=void 0;e&&(f=c.decal,c.decal=e);d.useStyle(c);e&&(c.decal=f);c=d.animators;for(e=0;e<c.length;e++)f=c[e],"style"===f.targetName&&f.changeTarget(d.style)}a&&b.attr(a)}function Mn(b,a,c,d,e,f){e&&(c=c.during,c=(Lb(b).userDuring=c)?I(gG,{el:b,userDuring:c}):null,a={dataIndex:a,isFrom:!0,during:c},f?za(b,e,d,a):ea(b,e,d,a))}function oj(b,a,c,d,e,f){var g=d[b];if(g){var h=a[b],k,l=g.enterFrom;if(f&&l){!k&&(k=e[b]={});for(var m=ia(l),n=0;n<m.length;n++){var p=m[n];k[p]=l[p]}}if(!f&&h&&(null==c||"shape"!==b))if(g.transition)for(!k&&(k=e[b]={}),d=xa(g.transition),n=0;n<d.length;n++)p=d[n],c=h[p],Nn(p,g[p],c),k[p]=c;else if(0<=ba(d.transition,b))for(!k&&(k=e[b]={}),d=ia(h),n=0;n<d.length;n++)if(p=d[n],c=h[p],e=g[p],f=c,Xa(e)?e!==f:null!=e&&isFinite(e))k[p]=c;if(g=g.leaveTo)for(n=On(a),b=n[b]||(n[b]={}),a=ia(g),n=0;n<a.length;n++)p=a[n],b[p]=g[p]}}function mw(b,a,c){if(a=a[b]){b=c[b]={};c=ia(a);for(var d=0;d<c.length;d++){var e=c[d];b[e]=Wf(a[e])}}}function Jn(b,a,c,d,e){var f=c.enterFrom;if(e&&f)for(var g=ia(f),h=0;h<g.length;h++){var k=g[h];pj(k,"el.enterFrom");d[k]=f[k]}if(!e)if(a)a&&a!==b&&a.parent!==b.parent?(h=je.transform||(je.transform=Sc([])),(k=a.getComputedTransform())?Je(h,k):Sc(h),(h=b.parent)&&h.getComputedTransform(),je.originX=a.originX,je.originY=a.originY,je.parent=h,je.decomposeTransform(),h=je):h=a,Jc(d,"x",h),Jc(d,"y",h),Jc(d,"scaleX",h),Jc(d,"scaleY",h),Jc(d,"originX",h),Jc(d,"originY",h),Jc(d,"rotation",h);else if(c.transition)for(a=xa(c.transition),h=0;h<a.length;h++)k=a[h],"style"!==k&&"shape"!==k&&"extra"!==k&&(e=b[k],pj(k,"el.transition"),Nn(k,c[k],e),d[k]=e);else Jc(d,"x",b),Jc(d,"y",b);if(c=c.leaveTo)for(b=On(b),d=ia(c),h=0;h<d.length;h++)k=d[h],pj(k,"el.leaveTo"),b[k]=c[k]}function Ln(b,a,c,d,e,f){if(d){var g=(a||b).style,h,k=d.enterFrom;if(f&&k){var l=ia(k);!h&&(h=e.style={});for(a=0;a<l.length;a++){var m=l[a];h[m]=k[m]}}if(!f&&g)if(d.transition)for(c=xa(d.transition),!h&&(h=e.style={}),a=0;a<c.length;a++)m=c[a],e=g[m],h[m]=e;else if(b.getAnimationStyleProps&&0<=ba(c.transition,"style")&&(c=(a=b.getAnimationStyleProps())?a.style:null))for(!h&&(h=e.style={}),f=ia(d),a=0;a<f.length;a++)m=f[a],c[m]&&(e=g[m],h[m]=e);if(d=d.leaveTo)for(h=ia(d),b=On(b),b=b.style||(b.style={}),a=0;a<h.length;a++)m=h[a],b[m]=d[m]}}function On(b){b=Lb(b);return b.leaveToProps||(b.leaveToProps={})}function yf(b){if("transition"===b||"enterFrom"===b||"leaveTo"===b)throw Error('key must not be "'+b+'"');}function gG(){var b=this.el;if(b){var a=Lb(b).userDuring,c=this.userDuring;a!==c?this.el=this.userDuring=null:(Ma=b,Oh=Nh=!1,c(hG),Nh&&b.dirtyShape&&b.dirtyShape(),Oh&&b.dirtyStyle&&b.dirtyStyle())}}function nw(b,a,c,d,e,f,g){a=a.isGroup?null:a;e=e&&e[b].cfg;if(a){c=a.ensureState(b);if(!1===d){if(b=a.getState(b))b.style=null}else c.style=d||null;e&&(c.textConfig=e);eg(a)}}function Kn(b,a,c,d){b=b[c];c=iG[c];b&&(d?(a[c[0]]=d[c[0]],a[c[1]]=d[c[1]]):(a[c[0]]=b[0],a[c[1]]=b[1]))}function ie(b,a,c,d){null!=b[c]&&(a[c]=d?d[c]:b[c])}function Jc(b,a,c){c&&(b[a]=c[a])}function ow(b,a,c,d){function e(c){return c===t?u||(u=a.getItemModel(c)):a.getItemModel(c)}function f(c,b){return a.hasItemOption?c===t?w[b]||(w[b]=e(c).getModel(Pn[b])):e(c).getModel(Pn[b]):z[b]}function g(c,b){return a.hasItemOption?c===t?v[b]||(v[b]=e(c).getModel(Qn[b])):e(c).getModel(Qn[b]):r[b]}function h(c,a){for(var b in a)a.hasOwnProperty(b)&&(c[b]=a[b])}function k(c,a){c&&(c.textFill&&(a.textFill=c.textFill),c.textPosition&&(a.textPosition=c.textPosition))}var l=b.get("renderItem"),m=b.coordinateSystem,n={};m&&(O(l,"series.render is required."),O(m.prepareCustoms||pw[m.type],"This coordSys does not support custom series."),n=m.prepareCustoms?m.prepareCustoms(m):pw[m.type](m));var p=K({getWidth:d.getWidth,getHeight:d.getHeight,getZr:d.getZr,getDevicePixelRatio:d.getDevicePixelRatio,value:function(c,b){null==b&&(b=t);return a.get(a.getDimension(c||0),b)},style:function(c,d){ew("api.style","Please write literal style directly instead.");null==d&&(d=t);var e=a.getItemVisual(d,"style"),l=e&&e.fill,m=e&&e.opacity,e=f(d,"normal").getItemStyle();null!=l&&(e.fill=l);null!=m&&(e.opacity=m);var m={inheritColor:da(l)?l:"#000"},n=g(d,"normal"),l=Ja(n,null,m,!1,!0);l.text=n.getShallow("show")?ka(b.getFormattedLabel(d,"normal"),kf(a,d)):null;m=ti(n,m,!1);k(c,e);e=cw(e,l,m);c&&h(e,c);e.legacy=!0;return e},ordinalRawValue:function(c,b){null==b&&(b=t);var d=a.getDimensionInfo(c||0);if(d){var e=a.get(d.name,b);return(d=d&&d.ordinalMeta)?d.categories[e]:e}},styleEmphasis:function(c,d){ew("api.styleEmphasis","Please write literal style directly instead.");null==d&&(d=t);var e=f(d,"emphasis").getItemStyle(),l=g(d,"emphasis"),m=Ja(l,null,null,!0,!0);m.text=l.getShallow("show")?zb(b.getFormattedLabel(d,"emphasis"),b.getFormattedLabel(d,"normal"),kf(a,d)):null;l=ti(l,null,!0);k(c,e);e=cw(e,m,l);c&&h(e,c);e.legacy=!0;return e},visual:function(c,b){null==b&&(b=t);if(qw.hasOwnProperty(c)){var d=a.getItemVisual(b,"style");return d?d[qw[c]]:null}if(jG.hasOwnProperty(c))return a.getItemVisual(b,c)},barLayout:function(c){if("cartesian2d"===m.type){var a=m.getBaseAxis();c=K({axis:a},c);var b=[],a=c.axis;if("category"!==a.type)c=void 0;else{for(var d=a.getBandWidth(),a=0;a<c.count;a++)b.push(K({bandWidth:d,axisKey:"axis0",stackId:"__ec_stack_"+a},c));b=it(b);d=[];for(a=0;a<c.count;a++){var e=b.axis0["__ec_stack_"+a];e.offsetCenter=e.offset+e.width/2;d.push(e)}c=d}return c}},currentSeriesIndices:function(){return c.getCurrentSeriesIndices()},font:function(a){return Ar(a,c)}},n.api||{}),q={context:{},seriesId:b.id,seriesName:b.name,seriesIndex:b.seriesIndex,coordSys:n.coordSys,dataInsideLength:a.count(),encode:kG(b.getData())},t,u,w={},v={},z={},r={};for(d=0;d<rd.length;d++)n=rd[d],z[n]=b.getModel(Pn[n]),r[n]=b.getModel(Qn[n]);return function(c,b){t=c;u=null;w={};v={};return l&&l(K({dataIndexInside:c,dataIndex:a.getRawIndex(c),actionType:b?b.type:null},q),p)}}function kG(b){var a={};r(b.dimensions,function(c,d){var e=b.getDimensionInfo(c);if(!e.isExtraCoord){var f=e.coordDim;(a[f]=a[f]||[])[e.coordDimIndex]=d}});return a}function zf(b,a,c,d,e,f,g,h){if(d)return(a=Rn(b,a,c,d,e,f,!0,h))&&g.setItemGraphicEl(c,a),va(a,d.focus,d.blurScope),a;a&&f.remove(a)}function Rn(b,a,c,d,e,f,g,h){O(d,"should not have an null/undefined element setting");g=-1;a&&rw(a,d)&&(g=f.childrenRef().indexOf(a),a=null);var k=!a;a?a.clearStates():a=Hn(d);var l=(Lb(a).canMorph=d.morph&&a&&a instanceof Y)&&h&&h.hasFrom(),k=k&&!l;Mb.normal.cfg=Mb.normal.conOpt=Mb.emphasis.cfg=Mb.emphasis.conOpt=Mb.blur.cfg=Mb.blur.conOpt=Mb.select.cfg=Mb.select.conOpt=null;Mb.isLegacy=!1;var m=a,n=Mb;if(!m.isGroup){sw(d,null,n);sw(d,"emphasis",n);var p=n.normal.conOpt,q=n.emphasis.conOpt,t=n.blur.conOpt,u=n.select.conOpt;if(null!=p||null!=q||null!=u||null!=t)if(q=m.getTextContent(),!1===p)q&&m.removeTextContent();else{p=n.normal.conOpt=p||{type:"text"};q?q.clearStates():(q=Hn(p),m.setTextContent(q));m=p&&p.style;In(null,q,null,c,p,m,null,e,k,!0);for(t=0;t<rd.length;t++)if(u=rd[t],"normal"!==u){var w=n[u].conOpt;nw(u,q,w,Sn(p,w,u),null)}m?q.dirty():q.markRedraw()}}n=a;p=d.clipPath;!1===p?n&&n.getClipPath()&&n.removeClipPath():p&&((q=n.getClipPath())&&rw(q,p)&&(q=null),q||(q=Hn(p),O(q instanceof Y,"Only any type of `path` can be used in `clipPath`, rather than "+q.type+"."),n.setClipPath(q)),In(null,q,null,c,p,null,null,e,k,!1));k=In(b,a,l,c,d,d.style,Mb,e,k,!1);l&&h.addTo(a,d,c,k);for(l=0;l<rd.length;l++)k=rd[l],"normal"!==k&&(n=k?d?d[k]:null:d,p=Sn(d,n,k),nw(k,a,n,p,Mb));if(!a.isGroup)for(l=a,k=e.currentZLevel,l.z=e.currentZ,l.zlevel=k,k=d.z2,null!=k&&(l.z2=k||0),k=0;k<rd.length;k++)n=rd[k],q=(q=(p="normal"===n)?d:n?d?d[n]:null:d)?q.z2:null,null!=q&&(n=p?l:l.ensureState(n),n.z2=q||0);if("group"===d.type&&(l=a,n=(k=d.children)?k.length:0,p=d.$mergeChildren,d="byName"===p||d.diffChildrenByName,p=!1===p,n||d||p))if(d)e={api:b,oldChildren:l.children()||[],newChildren:k||[],dataIndex:c,seriesModel:e,group:l,morphPreparation:h},(new sd(e.oldChildren,e.newChildren,tw,tw,e)).add(uw).update(uw).remove(lG).execute();else{p&&l.removeAll();for(d=0;d<n;d++)k[d]&&Rn(b,l.childAt(d),c,k[d],e,l,!1,h);for(b=l.childCount()-1;b>=d;b--)qj(l.childAt(b),e,l)}0<=g?f.replaceAt(a,g):f.add(a);return a}function rw(b,a){var c=Lb(b),d=a.type,e=a.shape,f=a.style,g;if(!(g=null!=d&&d!==c.customGraphicType)){if(g="path"===d)g=e&&(e.hasOwnProperty("pathData")||e.hasOwnProperty("d"));g=g&&(e&&(e.pathData||e.d))!==c.customPathData}return g||"image"===d&&f.hasOwnProperty("image")&&f.image!==c.customImagePath}function sw(b,a,c){var d=a?a?b?b[a]:null:b:b,e=a?Sn(b,d,"emphasis"):b.style,f=b.type,d=d?d.textConfig:null;b=(b=b.textContent)?a?a?b?b[a]:null:b:b:null;e&&(c.isLegacy||$v(e,f,!!d,!!b))&&(c.isLegacy=!0,e=aw(e,f,!a),!d&&e.textConfig&&(d=e.textConfig),!b&&e.textContent&&(b=e.textContent));!a&&b&&(e=b,!e.type&&(e.type="text"),"text"!==e.type&&O("text"===e.type,'textContent.type must be "text"'));a=a?c[a]:c.normal;a.cfg=d;a.conOpt=b}function Sn(b,a,c){a=a&&a.style;null==a&&"emphasis"===c&&b&&(a=b.styleEmphasis);return a}function tw(b,a){var c=b&&b.name;return null!=c?c:"e\x00\x00"+a}function uw(b,a){var c=this.context;Rn(c.api,null!=a?c.oldChildren[a]:null,c.dataIndex,null!=b?c.newChildren[b]:null,c.seriesModel,c.group,!1,c.morphPreparation)}function lG(b){var a=this.context;qj(a.oldChildren[b],a.seriesModel,a.group)}function qj(b,a,c){if(b){var d=Lb(b).leaveToProps;d?ea(b,d,a,{cb:function(){c.remove(b)}}):c.remove(b)}}function rj(b,a,c){a.style=c?J(b.style):b.style;a.zlevel=b.zlevel;a.z=b.z;a.z2=b.z2}function vw(b,a,c,d){ww(ke(c).lastProp,d)||(ke(c).lastProp=d,a?ea(c,d,b):(c.stopAnimation(),c.attr(d)))}function ww(b,a){if(N(b)&&N(a)){var c=!0;r(a,function(a,e){c=c&&ww(b[e],a)});return!!c}return b===a}function xw(b,a){b[a.get(["label","show"])?"show":"hide"]()}function Tn(b){return{x:b.x||0,y:b.y||0,rotation:b.rotation||0}}function yw(b,a,c){var d=a.get("z"),e=a.get("zlevel");b&&b.traverse(function(a){"group"!==a.type&&(null!=d&&(a.z=d),null!=e&&(a.zlevel=e),a.silent=c)})}function Un(b){var a=b.get("type");b=b.getModel(a+"Style");var c;"line"===a?(c=b.getLineStyle(),c.fill=null):"shadow"===a&&(c=b.getAreaStyle(),c.stroke=null);return c}function zw(b,a,c,d,e){var f=c.get("value"),f=Aw(f,a.axis,a.ecModel,c.get("seriesDataIndices"),{precision:c.get(["label","precision"]),formatter:c.get(["label","formatter"])});c=c.getModel("label");var g=Od(c.get("padding")||0),h=c.getFont(),k=$f(f,h),l=e.position,m=k.width+g[1]+g[3],k=k.height+g[0]+g[2],n=e.align;"right"===n&&(l[0]-=m);"center"===n&&(l[0]-=m/2);e=e.verticalAlign;"bottom"===e&&(l[1]-=k);"middle"===e&&(l[1]-=k/2);e=d.getWidth();d=d.getHeight();l[0]=Math.min(l[0]+m,e)-m;l[1]=Math.min(l[1]+k,d)-k;l[0]=Math.max(l[0],0);l[1]=Math.max(l[1],0);(d=c.get("backgroundColor"))&&"auto"!==d||(d=a.get(["axisLine","lineStyle","color"]));b.label={x:l[0],y:l[1],style:Ja(c,{text:f,font:h,fill:c.getTextColor(),padding:g,backgroundColor:d}),z2:10}}function Aw(b,a,c,d,e){b=a.scale.parse(b);var f=a.scale.getLabel({value:b},{precision:e.precision});if(e=e.formatter){var g={value:qm(a,{value:b}),axisDimension:a.dim,axisIndex:a.index,seriesData:[]};r(d,function(a){var b=c.getSeriesByIndex(a.seriesIndex);a=a.dataIndexInside;(b=b&&b.getDataParams(a))&&g.seriesData.push(b)});da(e)?f=e.replace("{value}",f):fa(e)&&(f=e(g))}return f}function Vn(b,a,c){var d=nb();Tc(d,d,c.rotation);Rb(d,d,c.position);return Wb([b.dataToCoord(a),(c.labelOffset||0)+(c.labelDirection||1)*(c.labelMargin||0)],d)}function Bw(b,a,c,d,e,f){var g=mb.innerTextLayout(c.rotation,0,c.labelDirection);c.labelMargin=e.get(["label","margin"]);zw(a,d,e,f,{position:Vn(d.axis,b,c),align:g.textAlign,verticalAlign:g.textVerticalAlign})}function Wn(b,a,c){c=c||0;return{x1:b[c],y1:b[1-c],x2:a[c],y2:a[1-c]}}function Cw(b,a,c){c=c||0;return{x:b[c],y:b[1-c],width:a[c],height:a[1-c]}}function Dw(b,a){var c={};c[a.dim+"AxisIndex"]=a.index;return b.getCartesian(c)}function Ew(b,a,c){if(!X.node){var d=a.getZr();Kc(d).records||(Kc(d).records={});mG(d,a);(Kc(d).records[b]||(Kc(d).records[b]={})).handler=c}}function mG(b,a){function c(c,e){b.on(c,function(c){var d=nG(a);oG(Kc(b).records,function(a){a&&e(a,c,d.dispatchAction)});pG(d.pendings,a)})}Kc(b).initialized||(Kc(b).initialized=!0,c("click",P(Fw,"click")),c("mousemove",P(Fw,"mousemove")),c("globalout",qG))}function pG(b,a){var c=b.showTip.length,d=b.hideTip.length,e;c?e=b.showTip[c-1]:d&&(e=b.hideTip[d-1]);e&&(e.dispatchAction=null,a.dispatchAction(e))}function qG(b,a,c){b.handler("leave",null,c)}function Fw(b,a,c,d){a.handler(b,c,d)}function nG(b){var a={showTip:[],hideTip:[]},c=function(d){var e=a[d.type];e?e.push(d):(d.dispatchAction=c,b.dispatchAction(d))};return{dispatchAction:c,pendings:a}}function Xn(b,a){if(!X.node){var c=a.getZr();(Kc(c).records||{})[b]&&(Kc(c).records[b]=null)}}function Gw(b,a){var c=[],d=b.seriesIndex,e;if(null==d||!(e=a.getSeriesByIndex(d)))return{point:[]};var f=e.getData(),g=Jd(f,b);if(null==g||0>g||A(g))return{point:[]};var d=f.getItemGraphicEl(g),h=e.coordinateSystem;if(e.getTooltipPosition)c=e.getTooltipPosition(g)||[];else if(h&&h.dataToPoint)if(b.isStacked){e=h.getBaseAxis();c=h.getOtherAxis(e).dim;c="x"===c||"radius"===c?1:0;e=f.mapDimension(e.dim);var k=[];k[c]=f.get(e,g);k[1-c]=f.get(f.getCalculationInfo("stackResultDimension"),g);c=h.dataToPoint(k)||[]}else c=h.dataToPoint(f.getValues(C(h.dimensions,function(c){return f.mapDimension(c)}),g))||[];else d&&(g=d.getBoundingRect().clone(),g.applyTransform(d.transform),c=[g.x+g.width/2,g.y+g.height/2]);return{point:c,el:d}}function rG(b,a,c){var d=b.currTrigger,e=[b.x,b.y],f=b.dispatchAction||I(c.dispatchAction,c),g=a.getComponent("axisPointer").coordSysAxesInfo;if(g){sj(e)&&(e=Gw({seriesIndex:b.seriesIndex,dataIndex:b.dataIndex},a).point);var h=sj(e),k=b.axesInfo,l=g.axesInfo,m="leave"===d||sj(e),n={},p={};a={list:[],map:{}};var q={showPointer:P(sG,p),showTooltip:P(tG,a)};r(g.coordSysMap,function(c,a){var b=h||c.containPoint(e);r(g.coordSysAxesInfo[a],function(c,a){var d=c.axis,f;a:{for(f=0;f<(k||[]).length;f++){var g=k[f];if(c.axis.dim===g.axisDim&&c.axis.model.componentIndex===g.axisIndex){f=g;break a}}f=void 0}m||!b||k&&!f||(f=f&&f.value,null!=f||h||(f=d.pointToData(e)),null!=f&&Hw(c,f,q,!1,n))})});var t={};r(l,function(c,a){var b=c.linkGroup;b&&!p[a]&&r(b.axesInfo,function(a,d){var e=p[d];a!==c&&e&&(e=e.value,b.mapper&&(e=c.axis.scale.parse(b.mapper(e,Iw(a),Iw(c)))),t[c.key]=e)})});r(t,function(c,a){Hw(l[a],c,q,!0,n)});uG(p,l,n);vG(a,e,b,f);wG(l,f,c);return n}}function Hw(b,a,c,d,e){var f=b.axis;if(!f.scale.isBlank()&&f.containData(a))if(b.involveSeries){var g=xG(a,b),h=g.payloadBatch,k=g.snapToValue;h[0]&&null==e.seriesIndex&&F(e,h[0]);!d&&b.snap&&f.containData(k)&&null!=k&&(a=k);c.showPointer(b,a,h);c.showTooltip(b,g,k)}else c.showPointer(b,a)}function xG(b,a){var c=a.axis,d=c.dim,e=b,f=[],g=Number.MAX_VALUE,h=-1;r(a.seriesModels,function(a,l){var k=a.getData().mapDimensionsAll(d),n;if(a.getAxisTooltipData)k=a.getAxisTooltipData(k,b,c),n=k.dataIndices,k=k.nestestValue;else{n=a.getData().indicesOfNearest(k[0],b,"category"===c.type?.5:null);if(!n.length)return;k=a.getData().get(k[0],n[0])}if(null!=k&&isFinite(k)){var p=b-k,q=Math.abs(p);if(q<=g){if(q<g||0<=p&&0>h)g=q,h=p,e=k,f.length=0;r(n,function(c){f.push({seriesIndex:a.seriesIndex,dataIndexInside:c,dataIndex:a.getData().getRawIndex(c)})})}}});return{payloadBatch:f,snapToValue:e}}function sG(b,a,c,d){b[a.key]={value:c,payloadBatch:d}}function tG(b,a,c,d){c=c.payloadBatch;var e=a.axis,f=e.model,g=a.axisPointerModel;if(a.triggerTooltip&&c.length){a=a.coordSys.model;var h=Kg(a),k=b.map[h];k||(k=b.map[h]={coordSysId:a.id,coordSysIndex:a.componentIndex,coordSysType:a.type,coordSysMainType:a.mainType,dataByAxis:[]},b.list.push(k));k.dataByAxis.push({axisDim:e.dim,axisIndex:f.componentIndex,axisType:f.type,axisId:f.id,value:d,valueLabelOpt:{precision:g.get(["label","precision"]),formatter:g.get(["label","formatter"])},seriesDataIndices:c.slice()})}}function uG(b,a,c){var d=c.axesInfo=[];r(a,function(c,a){var e=c.axisPointerModel.option,f=b[a];f?(!c.useHandle&&(e.status="show"),e.value=f.value,e.seriesDataIndices=(f.payloadBatch||[]).slice()):!c.useHandle&&(e.status="hide");"show"===e.status&&d.push({axisDim:c.axis.dim,axisIndex:c.axis.model.componentIndex,value:e.value})})}function vG(b,a,c,d){if(sj(a)||!b.list.length)d({type:"hideTip"});else{var e=((b.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};d({type:"showTip",escapeConnect:!0,x:a[0],y:a[1],tooltipOption:c.tooltipOption,position:c.position,dataIndexInside:e.dataIndexInside,dataIndex:e.dataIndex,seriesIndex:e.seriesIndex,dataByCoordSys:b.list})}}function wG(b,a,c){a=c.getZr();var d=Jw(a).axisPointerLastHighlights||{},e=Jw(a).axisPointerLastHighlights={};r(b,function(c,a){var b=c.axisPointerModel.option;"show"===b.status&&r(b.seriesDataIndices,function(c){e[c.seriesIndex+" | "+c.dataIndex]=c})});var f=[],g=[];r(d,function(c,a){!e[a]&&g.push(c)});r(e,function(c,a){!d[a]&&f.push(c)});g.length&&c.dispatchAction({type:"downplay",escapeConnect:!0,notBlur:!0,batch:g});f.length&&c.dispatchAction({type:"highlight",escapeConnect:!0,notBlur:!0,batch:f})}function Iw(b){var a=b.axis.model,c={};b=c.axisDim=b.axis.dim;c.axisIndex=c[b+"AxisIndex"]=a.componentIndex;c.axisName=c[b+"AxisName"]=a.name;c.axisId=c[b+"AxisId"]=a.id;return c}function sj(b){return!b||null==b[0]||isNaN(b[0])||null==b[1]||isNaN(b[1])}function ah(b){le.registerAxisPointerClass("CartesianAxisPointer",yG);b.registerComponentModel(zG);b.registerComponentView(AG);b.registerPreprocessor(function(a){if(a){a.axisPointer&&0!==a.axisPointer.length||(a.axisPointer={});var c=a.axisPointer.link;c&&!A(c)&&(a.axisPointer.link=[c])}});b.registerProcessor(b.PRIORITY.PROCESSOR.STATISTIC,function(a,c){var b=a.getComponent("axisPointer"),e={axesInfo:{},seriesInvolved:!1,coordSysAxesInfo:{},coordSysMap:{}};kD(e,a,c);e.seriesInvolved&&mD(e,a);b.coordSysAxesInfo=e});b.registerAction({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},rG)}function Kw(b){var a=b.seriesModel;return(b=b.polarModel)&&b.coordinateSystem||a&&a.coordinateSystem}function BG(b,a){var c=this,d=c.getAngleAxis(),e=c.getRadiusAxis();d.scale.setExtent(Infinity,-Infinity);e.scale.setExtent(Infinity,-Infinity);b.eachSeries(function(a){if(a.coordinateSystem===c){var b=a.getData();r(Xi(b,"radius"),function(c){e.scale.unionExtentFromData(b,c)});r(Xi(b,"angle"),function(c){d.scale.unionExtentFromData(b,c)})}});jd(d.scale,d.model);jd(e.scale,e.model);if("category"===d.type&&!d.onBand){var f=d.getExtent(),g=360/d.scale.count();d.inverse?f[1]+=g:f[1]-=g;d.setExtent(f[0],f[1])}}function Lw(b,a){b.type=a.get("type");b.scale=Dg(a);b.onBand=a.get("boundaryGap")&&"category"===b.type;b.inverse=a.get("inverse");if("angleAxis"===a.mainType){b.inverse=b.inverse!==a.get("clockwise");var c=a.get("startAngle");b.setExtent(c,c+(b.inverse?-360:360))}a.axis=b;b.model=a}function tj(b,a,c){a[1]>a[0]&&(a=a.slice().reverse());var d=b.coordToPoint([a[0],c]);b=b.coordToPoint([a[1],c]);return{x1:d[0],y1:d[1],x2:b[0],y2:b[1]}}function Mw(b){var a=b[0],c=b[b.length-1];a&&c&&1E-4>Math.abs(Math.abs(a.coord-c.coord)-360)&&b.pop()}function Nw(b){return b.get("stack")||"__ec_stack_"+b.seriesIndex}function CG(b,a,c){var d={},e=DG(ta(a.getSeriesByType(b),function(c){return!a.isSeriesFiltered(c)&&c.coordinateSystem&&"polar"===c.coordinateSystem.type}));a.eachSeriesByType(b,function(c){if("polar"===c.coordinateSystem.type){var a=c.getData(),b=c.coordinateSystem,f=b.getBaseAxis(),l=f.dim+b.model.componentIndex,m=Nw(c),n=e[l][m],l=n.offset,n=n.width,b=b.getOtherAxis(f),p=c.coordinateSystem.cx,q=c.coordinateSystem.cy,t=c.get("barMinHeight")||0,u=c.get("barMinAngle")||0;d[m]=d[m]||[];var w=a.mapDimension(b.dim),v=a.mapDimension(f.dim),z=Gc(a,w);c="radius"!==f.dim||!c.get("roundCap",!0);for(var r=b.dataToCoord(0),y=0,L=a.count();y<L;y++){var D=a.get(w,y),x=a.get(v,y),E=0<=D?"p":"n",G=r;z&&(d[m][x]||(d[m][x]={p:r,n:r}),G=d[m][x][E]);var A,C;if("radius"===b.dim)A=b.dataToCoord(D)-r,C=f.dataToCoord(x),Math.abs(A)<t&&(A=(0>A?-1:1)*t),D=G,A=G+A,C-=l,G=C-n,z&&(d[m][x][E]=A);else{var F=b.dataToCoord(D,c)-r,D=f.dataToCoord(x);Math.abs(F)<u&&(F=(0>F?-1:1)*u);D+=l;A=D+n;C=G;G+=F;z&&(d[m][x][E]=G)}a.setItemLayout(y,{cx:p,cy:q,r0:D,r:A,startAngle:-C*Math.PI/180,endAngle:-G*Math.PI/180})}}})}function DG(b){var a={};r(b,function(c,b){var d=c.getData(),e=c.coordinateSystem,h=e.getBaseAxis(),e=h.dim+e.model.componentIndex,k=h.getExtent(),l="category"===h.type?h.getBandWidth():Math.abs(k[1]-k[0])/d.count(),d=a[e]||{bandWidth:l,remainedWidth:l,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},h=d.stacks;a[e]=d;e=Nw(c);h[e]||d.autoWidthCount++;h[e]=h[e]||{width:0,maxWidth:0};var k=H(c.get("barWidth"),l),l=H(c.get("barMaxWidth"),l),m=c.get("barGap"),n=c.get("barCategoryGap");k&&!h[e].width&&(k=Math.min(d.remainedWidth,k),h[e].width=k,d.remainedWidth-=k);l&&(h[e].maxWidth=l);null!=m&&(d.gap=m);null!=n&&(d.categoryGap=n)});var c={};r(a,function(a,b){c[b]={};var d=a.stacks,e=H(a.categoryGap,a.bandWidth),h=H(a.gap,1),k=a.remainedWidth,l=a.autoWidthCount,m=(k-e)/(l+(l-1)*h),m=Math.max(m,0);r(d,function(c,a){var b=c.maxWidth;b&&b<m&&(b=Math.min(b,k),c.width&&(b=Math.min(b,c.width)),k-=b,c.width=b,l--)});var m=(k-e)/(l+(l-1)*h),m=Math.max(m,0),n=0,p;r(d,function(c,a){c.width||(c.width=m);p=c;n+=c.width*(1+h)});p&&(n-=p.width*h);var q=-n/2;r(d,function(a,d){c[b][d]=c[b][d]||{offset:q,width:a.width};q+=a.width*(1+h)})});return c}function Ow(b){var a=b.geoModel;b=b.seriesModel;return a?a.coordinateSystem:b?b.coordinateSystem||(b.getReferringComponents("geo",Da).models[0]||{}).coordinateSystem:null}function Pw(b,a){var c=b.get("boundingCoords");if(null!=c){var d=c[0],c=c[1];isNaN(d[0])||isNaN(d[1])||isNaN(c[0])||isNaN(c[1])?console.error("Invalid boundingCoords"):this.setBoundingRect(d[0],d[1],c[0]-d[0],c[1]-d[1])}var e=this.getBoundingRect(),f=b.get("layoutCenter"),g=b.get("layoutSize"),d=a.getWidth(),c=a.getHeight(),e=e.width/e.height*this.aspectScale,h=!1,k,l;f&&g&&(k=[H(f[0],d),H(f[1],c)],l=H(g,Math.min(d,c)),isNaN(k[0])||isNaN(k[1])||isNaN(l)?console.warn("Given layoutCenter or layoutSize data are invalid. Use left/top/width/height instead."):h=!0);h?(d={},1<e?(d.width=l,d.height=l/e):(d.height=l,d.width=l*e),d.y=k[1]-d.height/2,d.x=k[0]-d.width/2):(k=b.getBoxLayoutParams(),k.aspect=e,d=Aa(k,{width:d,height:c}));this.setViewRect(d.x,d.y,d.width,d.height);this.setCenter(b.get("center"));this.setZoom(b.get("zoom"))}function EG(b,a){r(a.get("geoCoord"),function(c,a){b.addGeoCoord(a,c)})}function Yn(b,a){a=a||{};var c=b.axis,d={},e=c.position,c=c.orient,f=b.coordinateSystem.getRect(),f=[f.x,f.x+f.width,f.y,f.y+f.height],g={top:f[2],bottom:f[3]},h={left:f[0],right:f[1]};d.position=["vertical"===c?h[e]:f[0],"horizontal"===c?g[e]:f[3]];d.rotation=Math.PI/2*{horizontal:0,vertical:1}[c];d.labelDirection=d.tickDirection=d.nameDirection={top:-1,bottom:1,right:1,left:-1}[e];b.get(["axisTick","inside"])&&(d.tickDirection=-d.tickDirection);Ba(a.labelInside,b.get(["axisLabel","inside"]))&&(d.labelDirection=-d.labelDirection);c=a.rotate;null==c&&(c=b.get(["axisLabel","rotate"]));d.labelRotation="top"===e?-c:c;d.z2=1;return d}function Qw(b){var a=b.seriesModel;return(b=b.singleAxisModel)&&b.coordinateSystem||a&&a.coordinateSystem}function Zn(b,a){var c=b.getRect();return[c[Rw[a]],c[Rw[a]]+c[FG[a]]]}function Sw(b,a){var c=b.cellSize,d;d=A(c)?c:b.cellSize=[c,c];1===d.length&&(d[1]=d[0]);c=C([0,1],function(c){if(null!=a[Pd[c][0]]||null!=a[Pd[c][1]]&&null!=a[Pd[c][2]])d[c]="auto";return null!=d[c]&&"auto"!==d[c]});gd(b,a,{type:"box",ignoreSize:c})}function Tw(b){var a=b.calendarModel;b=b.seriesModel;return a?a.coordinateSystem:b?b.coordinateSystem:null}function Uw(b,a,c,d){var e=c.type;O(e,"graphic type MUST be set");e=Vw.hasOwnProperty(e)?Vw[e]:oi(e);O(e,"graphic type can not be found");c=new e(c);a.add(c);d.set(b,c);Af(c).__ecGraphicId=b}function uj(b,a){var c=b&&b.parent;c&&("group"===b.type&&b.traverse(function(c){uj(c,a)}),a.removeKey(Af(b).__ecGraphicId),c.remove(b))}function GG(b){b=F({},b);r("id parentId $action hv bounding textContent".split(" ").concat(Jr),function(a){delete b[a]});return b}function Ww(b,a){var c;r(a,function(a){null!=b[a]&&"auto"!==b[a]&&(c=!0)});return c}function td(b){O(b);return b+"Axis"}function HG(b,a){function c(c){!k.get(c.uid)&&e(c)&&(d(c),l=!0)}function d(c){k.set(c.uid,!0);h.push(c);f(c)}function e(c){var a=!1;c.eachTargetAxis(function(c,b){var d=g.get(c);d&&d[b]&&(a=!0)});return a}function f(c){c.eachTargetAxis(function(c,a){(g.get(c)||g.set(c,[]))[a]=!0})}var g=R(),h=[],k=R();b.eachComponent({mainType:"dataZoom",query:a},function(c){k.get(c.uid)||d(c)});var l;do l=!1,b.eachComponent("dataZoom",c);while(l);return h}function Xw(b){var a=b.ecModel,c={infoList:[],infoMap:R()};b.eachTargetAxis(function(b,e){var d=a.getComponent(td(b),e);if(d){var g=d.getCoordSysModel();if(g){var h=g.uid,k=c.infoMap.get(h);k||(k={model:g,axisModels:[]},c.infoList.push(k),c.infoMap.set(h,k));k.axisModels.push(d)}}});return c}function Yw(b){var a={};r(["start","end","startValue","endValue","throttle"],function(c){b.hasOwnProperty(c)&&(a[c]=b[c])});return a}function IG(b,a,c){var d=[Infinity,-Infinity];Bf(c,function(c){CC(d,c.getData(),a)});b=b.getAxisModel();b=nt(b.axis.scale,b,d).calculate();return[b.min,b.max]}function JG(b){b.registerAction("dataZoom",function(a,c){var b=HG(c,a);r(b,function(c){c.setRawRange({start:a.start,end:a.end,startValue:a.startValue,endValue:a.endValue})})})}function $n(b){Zw||(Zw=!0,b.registerProcessor(b.PRIORITY.PROCESSOR.FILTER,KG),JG(b),b.registerSubTypeDefaulter("dataZoom",function(){return"slider"}))}function LG(b){b.registerComponentModel(MG);b.registerComponentView(NG);$n(b)}function OG(b,a,c){var d=a.getBoxLayoutParams(),e=a.get("padding");c={width:c.getWidth(),height:c.getHeight()};var f=Aa(d,c,e);me(a.get("orient"),b,a.get("itemGap"),f.width,f.height);Bi(b,d,c,e)}function $w(b,a){var c=Od(a.get("padding")),d=a.getItemStyle(["color","opacity"]);d.fill=a.get("backgroundColor");return b=new Z({shape:{x:b.x-c[3],y:b.y-c[0],width:b.width+c[1]+c[3],height:b.height+c[0]+c[2],r:a.get("borderRadius")},style:d,silent:!0,z2:-1})}function PG(b){var a={},c=[],d=[];b.eachRawSeries(function(b){var e=b.coordinateSystem;if(!e||"cartesian2d"!==e.type&&"polar"!==e.type)c.push(b);else{var g=e.getBaseAxis();if("category"===g.type){var h=g.dim+"_"+g.index;a[h]||(a[h]={categoryAxis:g,valueAxis:e.getOtherAxis(g),series:[]},d.push({axisDim:g.dim,axisIndex:g.index}));a[h].series.push(b)}else c.push(b)}});return{seriesGroupByCategoryAxis:a,other:c,meta:d}}function QG(b){var a=[];r(b,function(c,b){var d=c.categoryAxis,f=c.valueAxis.dim,g=[" "].concat(C(c.series,function(c){return c.name})),h=[d.model.getCategories()];r(c.series,function(c){var a=c.getRawData();h.push(c.getRawData().mapArray(a.mapDimension(f),function(c){return c}))});d=[g.join("\t")];for(g=0;g<h[0].length;g++){for(var k=[],l=0;l<h.length;l++)k.push(h[l][g]);d.push(k.join("\t"))}a.push(d.join("\n"))});return a.join("\n\n"+vj+"\n\n")}function RG(b){return C(b,function(a){var c=a.getRawData(),b=[a.name],e=[];c.each(c.dimensions,function(){for(var a=arguments.length,d=c.getName(arguments[a-1]),h=0;h<a-1;h++)e[h]=arguments[h];b.push((d?d+"\t":"")+e.join("\t"))});return b.join("\n")}).join("\n\n"+vj+"\n\n")}function SG(b){b=PG(b);return{value:ta([QG(b.seriesGroupByCategoryAxis),RG(b.other)],function(a){return!!a.replace(/[\n\t\s]/g,"")}).join("\n\n"+vj+"\n\n"),meta:b.meta}}function wj(b){return b.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function TG(b){b=b.split(/\n+/g);for(var a=wj(b.shift()).split(ao),c=[],a=C(a,function(c){return{name:c,data:[]}}),d=0;d<b.length;d++){var e=wj(b[d]).split(ao);c.push(e.shift());for(var f=0;f<e.length;f++)a[f]&&(a[f].data[d]=e[f])}return{series:a,categories:c}}function UG(b,a){var c=b.split(new RegExp("\n*"+vj+"\n*","g")),d={series:[]};r(c,function(c,b){var e;e=0<=c.slice(0,c.indexOf("\n")).indexOf("\t")?!0:void 0;if(e){e=TG(c);var f=a[b],k=f.axisDim+"Axis";f&&(d[k]=d[k]||[],d[k][f.axisIndex]={data:e.categories},d.series=d.series.concat(e.series))}else{e=c.split(/\n+/g);for(var f=wj(e.shift()),k=[],l=0;l<e.length;l++){var m=wj(e[l]);if(m){var m=m.split(ao),n,p=!1;isNaN(m[0])?(p=!0,n=m[0],m=m.slice(1),k[l]={name:n,value:[]},n=k[l].value):n=k[l]=[];for(var q=0;q<m.length;q++)n.push(+m[q]);1===n.length&&(p?k[l].value=n[0]:k[l]=n[0])}}e={name:f,data:k};d.series.push(e)}});return d}function VG(b,a){return C(b,function(c,b){var d=a&&a[b];if(N(d)&&!A(d)){if(!N(c)||A(c))c={value:c};var f=null!=d.name&&null==c.name;c=K(c,d);f&&delete c.name}return c})}function WG(b,a){var c=bo(b);ax(a,function(a,e){for(var d=c.length-1;0<=d&&!c[d][e];d--);0>d&&(d=b.queryComponents({mainType:"dataZoom",subType:"select",id:e})[0])&&(d=d.getPercentRange(),c[0][e]={dataZoomId:e,start:d[0],end:d[1]})});c.push(a)}function XG(b){var a=bo(b);b=a[a.length-1];1<a.length&&a.pop();var c={};ax(b,function(b,e){for(var d=a.length-1;0<=d;d--)if(b=a[d][e]){c[e]=b;break}});return c}function bo(b){b=bx(b);b.snapshots||(b.snapshots=[{}]);return b.snapshots}function co(b){b[0]>b[1]&&b.reverse();return b}function cx(b,a,c,d){O("cartesian2d"===c.type,"lineX/lineY brush is available only in cartesian2d.");var e=c.getAxis(["x","y"][b]);c=co(C([0,1],function(c){return a?e.coordToData(e.toLocalCoord(d[c])):e.toGlobalCoord(e.dataToCoord(d[c]))}));var f=[];f[b]=c;f[1-b]=[NaN,NaN];return{values:c,xyMinMax:f}}function dx(b,a,c,d){return[a[0]-d[b]*c[0],a[1]-d[b]*c[1]]}function YG(b,a){var c=ex(b),d=ex(a),c=[c[0]/d[0],c[1]/d[1]];isNaN(c[0])&&(c[0]=1);isNaN(c[1])&&(c[1]=1);return c}function ex(b){return b?[b[0][1]-b[0][0],b[1][1]-b[1][0]]:[NaN,NaN]}function eo(b){b={xAxisIndex:b.get("xAxisIndex",!0),yAxisIndex:b.get("yAxisIndex",!0),xAxisId:b.get("xAxisId",!0),yAxisId:b.get("yAxisId",!0)};null==b.xAxisIndex&&null==b.xAxisId&&(b.xAxisIndex="all");null==b.yAxisIndex&&null==b.yAxisId&&(b.yAxisIndex="all");return b}function ZG(b,a,c,d,e){var f=c.isZoomActive;d&&"takeGlobalCursor"===d.type&&(f="dataZoomSelect"===d.key?d.dataZoomSelectActive:!1);c.isZoomActive=f;b.setIconStatus("zoom",f?"emphasis":"normal");a=(new fo(eo(b),a,{include:["grid"]})).makePanelOpts(e,function(c){return c.xAxisDeclared&&!c.yAxisDeclared?"lineX":!c.xAxisDeclared&&c.yAxisDeclared?"lineY":"rect"});c.brushController.setPanels(a).enableBrush(f&&a.length?{brushType:"auto",brushStyle:b.getModel("brushStyle").getItemStyle()}:!1)}function fx(b){var a=b.get("confine");return null!=a?!!a:"richText"===b.get("renderMode")}function $G(b,a,c){if(!da(c)||"inside"===c)return"";a=og(a);c="left"===c?"right":"right"===c?"left":"top"===c?"bottom":"top";var d="",e="";-1<ba(["left","right"],c)?(d=c+":-6px;top:50%;",e="translateY(-50%) rotate("+("left"===c?-225:-45)+"deg)"):(d=c+":-6px;left:50%;",e="translateX(-50%) rotate("+("top"===c?225:45)+"deg)");e=C(gx,function(c){return c+"transform:"+e}).join(";");return'\x3cdiv style\x3d"'+["position:absolute;width:10px;height:10px;",""+d+e+";","border-bottom: "+a+" solid 1px;","border-right: "+a+" solid 1px;","background-color: "+b+";","box-shadow: 8px 8px 16px -3px #000;"].join("")+'"\x3e\x3c/div\x3e'}function aH(b,a){var c="opacity "+b/2+"s cubic-bezier(0.23, 1, 0.32, 1),visibility "+b/2+"s cubic-bezier(0.23, 1, 0.32, 1)";a||(c+=",left "+b+"s cubic-bezier(0.23, 1, 0.32, 1),top "+b+"s cubic-bezier(0.23, 1, 0.32, 1)");return C(gx,function(a){return a+"transition:"+c}).join(";")}function bH(b){var a=[],c=b.get("fontSize"),d=b.getTextColor();d&&a.push("color:"+d);a.push("font:"+b.getFont());c&&a.push("line-height:"+Math.round(3*c/2)+"px");var c=b.get("textShadowColor"),d=b.get("textShadowBlur")||0,e=b.get("textShadowOffsetX")||0,f=b.get("textShadowOffsetY")||0;c&&d&&a.push("text-shadow:"+e+"px "+f+"px "+d+"px "+c);r(["decoration","align"],function(c){var d=b.get(c);d&&a.push("text-"+c+":"+d)});return a.join(";")}function cH(b,a,c){var d=[],e=b.get("transitionDuration"),f=b.get("backgroundColor"),g=b.get("shadowBlur"),h=b.get("shadowColor"),k=b.get("shadowOffsetX"),l=b.get("shadowOffsetY"),m=b.getModel("textStyle"),n=ms(b,"html");d.push("box-shadow:"+(k+"px "+l+"px "+g+"px "+h));a&&e&&d.push(aH(e,c));f&&(X.canvasSupported?d.push("background-Color:"+f):(d.push("background-Color:#"+Ik(f)),d.push("filter:alpha(opacity\x3d70)")));r(["width","color","radius"],function(c){var a="border-"+c,e=Gr(a),e=b.get(e);null!=e&&d.push(a+":"+e+("color"===c?"":"px"))});d.push(bH(m));null!=n&&d.push("padding:"+Od(n).join("px ")+"px");return d.join(";")+";"}function hx(b,a,c,d,e){var f=a&&a.painter;if(c){if(c=f&&f.getViewportRoot())f=document.body,yk(go,c,d,e,!0)&&yk(b,f,go[0],go[1])}else if(b[0]=d,b[1]=e,d=f&&f.getViewportRootOffset())b[0]+=d.offsetLeft,b[1]+=d.offsetTop;b[2]=b[0]/a.getWidth();b[3]=b[1]/a.getHeight()}function ud(b){return Math.max(0,b)}function ix(b){var a=ud(b.shadowBlur||0),c=ud(b.shadowOffsetX||0);b=ud(b.shadowOffsetY||0);return{left:ud(a-c),right:ud(a+c),top:ud(a-b),bottom:ud(a+b)}}function jx(b,a,c,d){b[0]=c;b[1]=d;b[2]=b[0]/a.getWidth();b[3]=b[1]/a.getHeight()}function ho(b){for(var a=b.pop();b.length;){var c=b.pop();c&&(c instanceof la&&(c=c.get("tooltip",!0)),da(c)&&(c={formatter:c}),a=new la(c,a,a.ecModel))}return a}function dH(b,a){var c=xa(b?b.brush:[]);if(c.length){var d=[];r(c,function(c){c=c.hasOwnProperty("toolbox")?c.toolbox:[];c instanceof Array&&(d=d.concat(c))});c=b&&b.toolbox;A(c)&&(c=c[0]);c||(c={feature:{}},b.toolbox=[c]);c=c.feature||(c.feature={});c=c.brush||(c.brush={});c=c.type||(c.type=[]);c.push.apply(c,d);eH(c);a&&!c.length&&c.push.apply(c,fH)}}function eH(b){var a={};r(b,function(c){a[c]=1});b.length=0;r(a,function(c,a){b.push(a)})}function kx(b){if(b)for(var a in b)if(b.hasOwnProperty(a))return!0}function io(b,a,c){function d(){var c=function(){};c.prototype.__hidden=c.prototype;return new c}var e={};lx(a,function(a){var f=e[a]=d();lx(b[a],function(b,d){if(La.isValidType(d)){var e={type:d,visual:b};c&&c(e,a);f[d]=new La(e);"opacity"===d&&(e=J(e),e.type="colorAlpha",f.__hidden.__alphaForOpacity=new La(e))}})});return e}function mx(b,a,c){var d;r(c,function(c){a.hasOwnProperty(c)&&kx(a[c])&&(d=!0)});d&&r(c,function(c){a.hasOwnProperty(c)&&kx(a[c])?b[c]=J(a[c]):delete b[c]})}function gH(b,a,c,d,e,f){function g(a){return Sl(c,m,a)}function h(a,b){ys(c,m,a,b)}function k(b,k){m=null==f?b:k;var n=c.getRawDataItem(m);if(!n||!1!==n.visualMap)for(var p=d.call(e,b),n=a[p],p=l[p],u=0,w=p.length;u<w;u++){var v=p[u];n[v]&&n[v].applyVisual(b,g,h)}}var l={};r(b,function(c){var b=La.prepareVisualTypes(a[c]);l[c]=b});var m;null==f?c.each(k):c.each([f],k)}function hH(b,a,c,d){var e={};r(b,function(c){var b=La.prepareVisualTypes(a[c]);e[c]=b});return{progress:function(b,g){function f(c){return Sl(g,m,c)}function k(c,a){ys(g,m,c,a)}var l;null!=d&&(l=g.getDimension(d));for(var m;null!=(m=b.next());){var n=g.getRawDataItem(m);if(!n||!1!==n.visualMap)for(var n=null!=d?g.get(l,m):m,p=c(n),q=a[p],p=e[p],t=0,u=p.length;t<u;t++){var w=p[t];q[w]&&q[w].applyVisual(n,f,k)}}}}}function iH(b){var a=b.brushType,c={point:function(d){return nx[a].point(d,c,b)},rect:function(d){return nx[a].rect(d,c,b)}};return c}function ox(b){var a=["x","y"],c=["width","height"];return{point:function(c,a,f){if(c)return bh(c[b],f.range)},rect:function(d,e,f){if(d)return e=f.range,d=[d[a[b]],d[a[b]]+d[c[b]]],d[1]<d[0]&&d.reverse(),bh(d[0],e)||bh(d[1],e)||bh(e[0],d)||bh(e[1],d)}}}function bh(b,a){return a[0]<=b&&b<=a[1]}function px(b){b.eachComponent({mainType:"brush"},function(a){(a.brushTargetManager=new fo(a.option,b)).setInputRanges(a.areas,b)})}function jH(b,a,c){var d=[],e,f;b.eachComponent({mainType:"brush"},function(a){c&&"takeGlobalCursor"===c.type&&a.setBrushOption("brush"===c.key?c.brushOption:{brushType:!1})});px(b);b.eachComponent({mainType:"brush"},function(c,a){function g(c){return"all"===q||!!t[c]}function h(c,a){var b=c.coordinateSystem;v=v||b.hasAxisBrushed();g(a)&&b.eachActiveState(c.getData(),function(c,a){"active"===c&&(u[a]=1)})}function m(a,d,e){if(a.brushSelector&&!kH(c,d)&&(r(z,function(d){c.brushTargetManager.controlSeries(d,a,b)&&e.push(d);v=v||!!e.length}),g(d)&&e.length)){var f=a.getData();f.each(function(c){qx(a,e,f,c)&&(u[c]=1)})}}var n={brushId:c.id,brushIndex:a,brushName:c.name,areas:J(c.areas),selected:[]};d.push(n);var p=c.option,q=p.brushLink,t=[],u=[],w=[],v=!1;a||(e=p.throttleType,f=p.throttleDelay);var z=C(c.areas,function(c){var a=lH[c.brushType];c=K({boundingRect:a?a(c):void 0},c);c.selectors=iH(c);return c}),B=io(c.option,rx,function(c){c.mappingMethod="fixed"});A(q)&&r(q,function(c){t[c]=1});b.eachSeries(function(c,a){var b=w[a]=[];"parallel"===c.subType?h(c,a):m(c,a,b)});b.eachSeries(function(c,a){var b={seriesId:c.id,seriesIndex:a,seriesName:c.name,dataIndex:[]};n.selected.push(b);var d=w[a],e=c.getData(),f=g(a)?function(c){return u[c]?(b.dataIndex.push(e.getRawIndex(c)),"inBrush"):"outOfBrush"}:function(a){return qx(c,d,e,a)?(b.dataIndex.push(e.getRawIndex(a)),"inBrush"):"outOfBrush"};(g(a)?v:d.length)&&gH(rx,B,e,f)})});mH(a,e,f,d,c)}function mH(b,a,c,d,e){e&&(e=b.getZr(),e.__ecInBrushSelectEvent||(e.__ecBrushSelect||(e.__ecBrushSelect=nH),tg(e,"__ecBrushSelect",c,a)(b,d)))}function nH(b,a){if(!b.isDisposed()){var c=b.getZr();c.__ecInBrushSelectEvent=!0;b.dispatchAction({type:"brushSelect",batch:a});c.__ecInBrushSelectEvent=!1}}function qx(b,a,c,d){for(var e=0,f=a.length;e<f;e++){var g=a[e];if(b.brushSelector(d,c,g.selectors,g))return!0}}function kH(b,a){var c=b.option.seriesIndex;return null!=c&&"all"!==c&&(A(c)?0>ba(c,a):a!==c)}function sx(b){return new aa(b[0][0],b[1][0],b[0][1]-b[0][0],b[1][1]-b[1][0])}function tx(b,a){return U({brushType:b.brushType,brushMode:b.brushMode,transformable:b.transformable,brushStyle:(new la(b.brushStyle)).getItemStyle(),removeOnClick:b.removeOnClick,z:b.z},a,!0)}function oH(b,a){if(a=a||b.get("type"))switch(a){case "category":return new Wi({ordinalMeta:b.getCategories(),extent:[Infinity,-Infinity]});case "time":return new pm({locale:b.ecModel.getLocaleModel(),useUTC:b.ecModel.get("useUTC")});default:return new Zd}}function ux(b,a,c,d,e,f){var g=a.get("color");e?(e.setColor(g),c.add(e),f&&f.onUpdate(e)):(e=b.get("symbol"),e=Pa(e,-1,-1,2,2,g),e.setStyle("strokeNoScale",!0),c.add(e),f&&f.onCreate(e));a=a.getItemStyle(["color"]);e.setStyle(a);d=U({rectHover:!0,z2:100},d,!0);a=b.get("symbolSize");a=a instanceof Array?a.slice():[+a,+a];d.scaleX=a[0]/2;d.scaleY=a[1]/2;if(c=b.get("symbolOffset"))d.x=d.x||0,d.y=d.y||0,d.x+=H(c[0],a[0]),d.y+=H(c[1],a[1]);b=b.get("symbolRotate");d.rotation=(b||0)*Math.PI/180||0;e.attr(d);e.updateTransform();return e}function vx(b,a,c,d,e,f){if(!b.dragging){var g=e.getModel("checkpointStyle");c=d.dataToCoord(e.getData().get("value",c));f||!g.get("animation",!0)?(b.attr({x:c,y:0}),a&&a.attr({shape:{x2:c}})):(f={duration:g.get("animationDuration",!0),easing:g.get("animationEasing",!0)},b.stopAnimation(null,!0),b.animateTo({x:c,y:0},f),a&&a.animateTo({shape:{x2:c}},f))}}function pH(b){b.registerAction({type:"timelineChange",event:"timelineChanged",update:"prepareAndUpdate"},function(a,c){var b=c.getComponent("timeline");b&&null!=a.currentIndex&&(b.setCurrentIndex(a.currentIndex),!b.get("loop",!0)&&b.isIndexMax()&&b.setPlayState(!1));c.resetOption("timeline",{replaceMerge:b.get("replaceMerge",!0)});return K({currentIndex:b.option.currentIndex},a)});b.registerAction({type:"timelinePlayChange",event:"timelinePlayChanged",update:"update"},function(a,c){var b=c.getComponent("timeline");b&&null!=a.playState&&b.setPlayState(a.playState)})}function qH(b){b=b&&b.timeline;A(b)||(b=b?[b]:[]);r(b,function(a){a&&rH(a)})}function rH(b){var a=b.type,c={number:"value",time:"time"};c[a]&&(b.axisType=c[a],delete b.type);xx(b);b.hasOwnProperty("controlPosition")&&(a=b.controlStyle||(b.controlStyle={}),a.hasOwnProperty("position")||(a.position=b.controlPosition),"none"!==a.position||a.hasOwnProperty("show")||(a.show=!1,delete a.position),delete b.controlPosition);r(b.data||[],function(c){N(c)&&!A(c)&&(!c.hasOwnProperty("value")&&c.hasOwnProperty("name")&&(c.value=c.name),xx(c))})}function xx(b){var a=b.itemStyle||(b.itemStyle={}),a=a.emphasis||(a.emphasis={});b=b.label||b.label||{};var c=b.normal||(b.normal={}),d={normal:1,emphasis:1};r(b,function(a,b){d[b]||c.hasOwnProperty(b)||(c[b]=a)});a.label&&!b.hasOwnProperty("emphasis")&&(b.emphasis=a.label,delete a.label)}function xj(b){Id(b,"label",["show"])}function yj(b,a,c,d,e,f){var g=[],h=Gc(a,d)?a.getCalculationInfo("stackResultDimension"):d;b=jo(a,h,b);b=a.indicesOfNearest(h,b)[0];g[e]=a.get(c,b);g[f]=a.get(h,b);c=a.get(d,b);a=sq(a.get(d,b));a=Math.min(a,20);0<=a&&(g[f]=+g[f].toFixed(a));return[g,c]}function ch(b,a){var c=b.getData(),d=b.coordinateSystem,e;if(e=a)e=a,e=!(!isNaN(parseFloat(e.x))&&!isNaN(parseFloat(e.y)));if(e&&!A(a.coord)&&d)if(e=d.dimensions,d=yx(a,c,d,b),a=J(a),a.type&&ko[a.type]&&d.baseAxis&&d.valueAxis){var f=ba(e,d.baseAxis.dim);e=ba(e,d.valueAxis.dim);c=ko[a.type](c,d.baseDataDim,d.valueDataDim,f,e);a.coord=c[0];a.value=c[1]}else{d=[null!=a.xAxis?a.xAxis:a.radiusAxis,null!=a.yAxis?a.yAxis:a.angleAxis];for(f=0;2>f;f++)ko[d[f]]&&(d[f]=jo(c,c.mapDimension(e[f]),d[f]));a.coord=d}return a}function yx(b,a,c,d){var e={};null!=b.valueIndex||null!=b.valueDim?(e.valueDataDim=null!=b.valueIndex?a.getDimension(b.valueIndex):b.valueDim,e.valueAxis=c.getAxis(sH(d,e.valueDataDim)),e.baseAxis=c.getOtherAxis(e.valueAxis),e.baseDataDim=a.mapDimension(e.baseAxis.dim)):(e.baseAxis=d.getBaseAxis(),e.valueAxis=c.getOtherAxis(e.baseAxis),e.baseDataDim=a.mapDimension(e.baseAxis.dim),e.valueDataDim=a.mapDimension(e.valueAxis.dim));return e}function sH(b,a){var c=b.getData(),d=c.dimensions;a=c.getDimension(a);for(var e=0;e<d.length;e++){var f=c.getDimensionInfo(d[e]);if(f.name===a)return f.coordDim}}function dh(b,a){var c;if(c=b&&b.containData&&a.coord)c=!(!isNaN(parseFloat(a.x))||!isNaN(parseFloat(a.y)));return c?b.containData(a.coord):!0}function zx(b,a,c,d){return 2>d?b.coord&&b.coord[d]:b.value}function jo(b,a,c){if("average"===c){var d=0,e=0;b.each(a,function(c,a){isNaN(c)||(d+=c,e++)});return d/e}return"median"===c?b.getMedian(a):b.getDataExtent(a)["max"===c?1:0]}function Ax(b,a,c){var d=a.coordinateSystem;b.each(function(e){var f=b.getItemModel(e),g,h=H(f.get("x"),c.getWidth()),f=H(f.get("y"),c.getHeight());if(!isNaN(h)&&!isNaN(f))g=[h,f];else if(a.getMarkerPosition)g=a.getMarkerPosition(b.getValues(b.dimensions,e));else if(d){g=b.get(d.dimensions[0],e);var k=b.get(d.dimensions[1],e);g=d.dataToPoint([g,k])}isNaN(h)||(g[0]=h);isNaN(f)||(g[1]=f);b.setItemLayout(e,g)})}function tH(b,a,c){var d;d=b?C(b&&b.dimensions,function(c){var b=a.getData().getDimensionInfo(a.getData().mapDimension(c))||{};return K({name:c},b)}):[{name:"value",type:"float"}];d=new Wa(d,c);c=C(c.get("data"),P(ch,a));b&&(c=ta(c,P(dh,b)));d.initData(c,null,b?zx:function(c){return c.value});return d}function zj(b){return!isNaN(b)&&!isFinite(b)}function Bx(b,a,c,d){var e=1-b,f=d.dimensions[b];return zj(a[e])&&zj(c[e])&&a[b]===c[b]&&d.getAxis(f).containData(a[b])}function uH(b,a){if("cartesian2d"===b.type){var c=a[0].coord,d=a[1].coord;if(c&&d&&(Bx(1,c,d,b)||Bx(0,c,d,b)))return!0}return dh(b,a[0])&&dh(b,a[1])}function lo(b,a,c,d,e){var f=d.coordinateSystem,g=b.getItemModel(a),h=H(g.get("x"),e.getWidth());e=H(g.get("y"),e.getHeight());if(isNaN(h)||isNaN(e)){d.getMarkerPosition?g=d.getMarkerPosition(b.getValues(b.dimensions,a)):(d=f.dimensions,g=b.get(d[0],a),d=b.get(d[1],a),g=f.dataToPoint([g,d]));if("cartesian2d"===f.type){var k=f.getAxis("x"),l=f.getAxis("y");d=f.dimensions;zj(b.get(d[0],a))?g[0]=k.toGlobalCoord(k.getExtent()[c?0:1]):zj(b.get(d[1],a))&&(g[1]=l.toGlobalCoord(l.getExtent()[c?0:1]))}isNaN(h)||(g[0]=h);isNaN(e)||(g[1]=e)}else g=[h,e];b.setItemLayout(a,g)}function vH(b,a,c){var d;d=b?C(b&&b.dimensions,function(c){var b=a.getData().getDimensionInfo(a.getData().mapDimension(c))||{};return K({name:c},b)}):[{name:"value",type:"float"}];var e=new Wa(d,c);d=new Wa(d,c);var f=new Wa([],c);c=C(c.get("data"),P(wH,a,b,c));b&&(c=ta(c,P(uH,b)));b=b?zx:function(c){return c.value};e.initData(C(c,function(c){return c[0]}),null,b);d.initData(C(c,function(c){return c[1]}),null,b);f.initData(C(c,function(c){return c[2]}));f.hasItemOption=!0;return{from:e,to:d,line:f}}function vd(b){return!isNaN(b)&&!isFinite(b)}function xH(b,a){var c=a.coord[0],d=a.coord[1];if("cartesian2d"===b.type){var e;if(e=c&&d)(e=vd(c[0])&&vd(d[0]))||(e=vd(c[1])&&vd(d[1]));if(e)return!0}return dh(b,{coord:c,x:a.x0,y:a.y0})||dh(b,{coord:d,x:a.x1,y:a.y1})}function Cx(b,a,c,d,e){var f=d.coordinateSystem,g=b.getItemModel(a),h=H(g.get(c[0]),e.getWidth());e=H(g.get(c[1]),e.getHeight());if(isNaN(h)||isNaN(e)){if(d.getMarkerPosition)d=d.getMarkerPosition(b.getValues(c,a));else{var g=b.get(c[0],a),k=b.get(c[1],a);d=[g,k];f.clampData&&f.clampData(d,d);d=f.dataToPoint(d,!0)}if("cartesian2d"===f.type){var l=f.getAxis("x"),f=f.getAxis("y"),g=b.get(c[0],a),k=b.get(c[1],a);vd(g)?d[0]=l.toGlobalCoord(l.getExtent()["x0"===c[0]?0:1]):vd(k)&&(d[1]=f.toGlobalCoord(f.getExtent()["y0"===c[1]?0:1]))}isNaN(h)||(d[0]=h);isNaN(e)||(d[1]=e)}else d=[h,e];return d}function yH(b,a,c){var d,e;e=["x0","y0","x1","y1"];b?(d=C(b&&b.dimensions,function(c){var b=a.getData(),b=b.getDimensionInfo(b.mapDimension(c))||{};return K({name:c},b)}),e=new Wa(C(e,function(c,a){return{name:c,type:d[a%2].type}}),c)):(d=[{name:"value",type:"float"}],e=new Wa(d,c));c=C(c.get("data"),P(zH,a,b,c));b&&(c=ta(c,P(xH,b)));e.initData(c,null,b?function(c,a,b,d){return c.coord[Math.floor(d/2)][d%2]}:function(c){return c.value});e.hasItemOption=!0;return e}function Dx(b,a,c,d,e,f,g){"line"!==a&&0>a.indexOf("empty")?(a=c.getItemStyle(),b.style.stroke=d,b.style.decal=f,g||(a.stroke=e)):a=c.getItemStyle(["borderWidth","borderColor"]);b.setStyle(a);return b}function Ex(b,a,c,d){mo(b,a,c,d);c.dispatchAction({type:"legendToggleSelect",name:null!=b?b:a});no(b,a,c,d)}function Fx(b){b=b.getZr().storage.getDisplayList();for(var a,c=0,d=b.length;c<d&&!(a=b[c].states.emphasis);)c++;return a&&a.hoverLayer}function no(b,a,c,d){Fx(c)||c.dispatchAction({type:"highlight",seriesName:b,name:a,excludeSeriesId:d})}function mo(b,a,c,d){Fx(c)||c.dispatchAction({type:"downplay",seriesName:b,name:a,excludeSeriesId:d})}function AH(b){var a=b.findComponents({mainType:"legend"});a&&a.length&&b.filterSeries(function(c){for(var b=0;b<a.length;b++)if(!a[b].isSelected(c.name))return!1;return!0})}function eh(b,a,c){var d={},e="toggleSelected"===b,f;c.eachComponent("legend",function(c){if(e&&null!=f)c[f?"select":"unSelect"](a.name);else if("allSelect"===b||"inverseSelect"===b)c[b]();else c[b](a.name),f=c.isSelected(a.name);var g=c.getData();r(g,function(a){a=a.get("name");if("\n"!==a&&""!==a){var b=c.isSelected(a);d.hasOwnProperty(a)?d[a]=d[a]&&b:d[a]=b}})});return"allSelect"===b||"inverseSelect"===b?{selected:d}:{name:a.name,selected:d}}function BH(b){b.registerAction("legendToggleSelect","legendselectchanged",P(eh,"toggleSelected"));b.registerAction("legendAllSelect","legendselectall",P(eh,"allSelect"));b.registerAction("legendInverseSelect","legendinverseselect",P(eh,"inverseSelect"));b.registerAction("legendSelect","legendselected",P(eh,"select"));b.registerAction("legendUnSelect","legendunselected",P(eh,"unSelect"))}function Gx(b){b.registerComponentModel(oo);b.registerComponentView(Hx);b.registerProcessor(b.PRIORITY.PROCESSOR.SERIES_FILTER,AH);b.registerSubTypeDefaulter("legend",function(){return"plain"});BH(b)}function Ix(b,a,c){b=b.getOrient();var d=[1,1];d[b.index]=0;gd(a,c,{type:"box",ignoreSize:!!d})}function CH(b){b.registerAction("legendScroll","legendscroll",function(a,c){var b=a.scrollDataIndex;null!=b&&c.eachComponent({mainType:"legend",subType:"scroll",query:a},function(c){c.setScrollDataIndex(b)})})}function DH(b){ca(Gx);b.registerComponentModel(EH);b.registerComponentView(FH);CH(b)}function GH(b,a,c){po(b).coordSysRecordMap.each(function(b){if(b=b.dataZoomInfoMap.get(a.uid))b.getRange=c})}function Jx(b,a){if(a){b.removeKey(a.model.uid);var c=a.controller;c&&c.dispose()}}function HH(b,a){var c={model:a,containsPoint:P(IH,a),dispatchAction:P(JH,b),dataZoomInfoMap:null,controller:null},d=c.controller=new fh(b.getZr());r(["pan","zoom","scrollMove"],function(a){d.on(a,function(b){var d=[];c.dataZoomInfoMap.each(function(e){if(b.isAvailableBehavior(e.model.option)){var f=(e.getRange||{})[a],f=f&&f(e.dzReferCoordSysInfo,c.model.mainType,c.controller,b);!e.model.get("disabled",!0)&&f&&d.push({dataZoomId:e.model.id,start:f[0],end:f[1]})}});d.length&&c.dispatchAction(d)})});return c}function JH(b,a){b.dispatchAction({type:"dataZoom",animation:{easing:"cubicOut",duration:100},batch:a})}function IH(b,a,c,d){return b.coordinateSystem.containPoint([c,d])}function KH(b){var a,c={type_true:2,type_move:1,type_false:0,type_undefined:-1},d=!0;b.each(function(b){b=b.model;var e=b.get("disabled",!0)?!1:b.get("zoomLock",!0)?"move":!0;c["type_"+e]>c["type_"+a]&&(a=e);d=d&&b.get("preventDefaultMouseMove",!0)});return{controlType:a,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!d}}}function LH(b){b.registerProcessor(b.PRIORITY.PROCESSOR.FILTER,function(a,c){var b=po(c),e=b.coordSysRecordMap||(b.coordSysRecordMap=R());e.each(function(c){c.dataZoomInfoMap=null});a.eachComponent({mainType:"dataZoom",subType:"inside"},function(a){var b=Xw(a);r(b.infoList,function(b){var d=b.model.uid,d=e.get(d)||e.set(d,HH(c,b.model));(d.dataZoomInfoMap||(d.dataZoomInfoMap=R())).set(a.uid,{dzReferCoordSysInfo:b,model:a,getRange:null})})});e.each(function(c){var a=c.controller,b,d=c.dataZoomInfoMap;if(d){var f=d.keys()[0];null!=f&&(b=d.get(f))}b?(d=KH(d),a.enable(d.controlType,d.opt),a.setPointerChecker(c.containsPoint),tg(c,"dispatchAction",b.model.get("throttle",!0),"fixRate")):Jx(e,c)})})}function Kx(b){return function(a,c,d,e){var f=this.range,g=f.slice(),h=a.axisModels[0];if(h&&(a=b(g,h,a,c,d,e),fe(a,g,[0,100],"all"),this.range=g,f[0]!==g[0]||f[1]!==g[1]))return g}}function Lx(b){$n(b);b.registerComponentModel(MH);b.registerComponentView(NH);LH(b)}function Mx(b){return"vertical"===b?"ns-resize":"ew-resize"}function Nx(b){b.registerComponentModel(OH);b.registerComponentView(PH);$n(b)}function Ox(b,a,c){if(c[0]===c[1])return c.slice();b=(c[1]-c[0])/200;a=c[0];for(var d=[],e=0;200>=e&&a<c[1];e++)d.push(a),a+=b;d.push(c[1]);return d}function Px(b,a,c){b=b.option;var d=b.align;if(null!=d&&"auto"!==d)return d;a={width:a.getWidth(),height:a.getHeight()};for(var e="horizontal"===b.orient?1:0,d=Qx[e],f=[0,null,10],g={},h=0;3>h;h++)g[Qx[1-e][h]]=f[h],g[d[h]]=2===h?c[0]:b[d[h]];c=[["x","width",3],["y","height",0]][e];b=Aa(g,a,b.padding);return d[(b.margin[c[2]]||0)+b[c[0]]+.5*b[c[1]]<.5*a[c[1]]?0:1]}function Aj(b,a){r(b||[],function(c){null!=c.dataIndex&&(c.dataIndexInside=c.dataIndex,c.dataIndex=null);c.highlightKey="visualMap"+(a?a.componentIndex:"")});return b}function Rx(b,a,c,d){return new bb({shape:{points:b},draggable:!!c,cursor:a,drift:c,onmousemove:function(c){Bc(c.event)},ondragend:d})}function Sx(b){var a=b.get("hoverLinkOnHandle");return!(null==a?!b.get("realtime"):!a)}function Tx(b){return"vertical"===b?"ns-resize":"ew-resize"}function QH(b,a,c,d){function e(c){return g[c]}function f(c,a){g[c]=a}a=a.targetVisuals[d];d=La.prepareVisualTypes(a);var g={color:ug(b.getData(),"color")};b=0;for(var h=d.length;b<h;b++){var k=d[b];(k=a["opacity"===k?"__alphaForOpacity":k])&&k.applyVisual(c,e,f)}return g.color}function RH(b){b=b&&b.visualMap;A(b)||(b=b?[b]:[]);Ux(b,function(a){a&&(Cf(a,"splitList")&&!Cf(a,"pieces")&&(a.pieces=a.splitList,delete a.splitList),(a=a.pieces)&&A(a)&&Ux(a,function(c){N(c)&&(Cf(c,"start")&&!Cf(c,"min")&&(c.min=c.start),Cf(c,"end")&&!Cf(c,"max")&&(c.max=c.end))}))})}function Cf(b,a){return b&&b.hasOwnProperty&&b.hasOwnProperty(a)}function Vx(b){Wx||(Wx=!0,b.registerSubTypeDefaulter("visualMap",function(a){return a.categories||(a.pieces?0<a.pieces.length:0<a.splitNumber)&&!a.calculable?"piecewise":"continuous"}),b.registerAction(SH,TH),r(UH,function(a){b.registerVisual(b.PRIORITY.VISUAL.COMPONENT,a)}),b.registerPreprocessor(RH))}function Xx(b){b.registerComponentModel(VH);b.registerComponentView(WH);Vx(b)}function Yx(b,a){var c=b.inverse;("vertical"===b.orient?!c:c)&&a.reverse()}function Zx(b){b.registerComponentModel(XH);b.registerComponentView(YH);Vx(b)}function ZH(b,a){function c(c,a){if("string"!==typeof c)return c;var b=c;r(a,function(c,a){b=b.replace(new RegExp("\\{\\s*"+a+"\\s*\\}","g"),c)});return b}function d(){var c=b.get("title");c&&c.length&&(c=c[0]);return c&&c.text}var e=b.getModel("aria");if(e.get("enabled")){var f=J($H);U(f.label,b.getLocaleModel().get("aria"),!1);U(e.option,f,!1);(function(){if(e.getModel("decal").get("show")){var c=R();b.eachSeries(function(a){if(a.useColorPaletteOnData){var b=c.get(a.type);b||(b={},c.set(a.type,b));$x(a).scope=b}});b.eachRawSeries(function(c){function a(c,a){var b=c?F(F({},a),c):a;b.dirty=!0;return b}if(!b.isSeriesFiltered(c))if("function"===typeof c.enableAriaDecal)c.enableAriaDecal();else{var d=c.getData();if(c.useColorPaletteOnData){var e=c.getRawData(),f={},g=$x(c).scope;d.each(function(c){var a=d.getRawIndex(c);f[a]=c});var h=e.count();e.each(function(b){var k=f[b];b=e.getName(b)||b+"";b=Kl(c.ecModel,b,g,h);var l=d.getItemVisual(k,"decal");d.setItemVisual(k,"decal",a(l,b))})}else{var t=Kl(c.ecModel,c.name,aI,b.getSeriesCount()),u=d.getVisual("decal");d.setVisual("decal",a(u,t))}}})}})();(function(){var f=b.getLocaleModel().get("aria"),h=e.getModel("label");h.option=K(h.option,f);if(h.get("enabled"))if(f=a.getZr().dom,h.get("description"))f.setAttribute("aria-label",h.get("description"));else{var k=b.getSeriesCount(),l=h.get(["data","maxCount"])||10,m=h.get(["series","maxCount"])||10,n=Math.min(k,m);if(!(1>k)){if(m=d())var p=h.get(["general","withTitle"]),m=c(p,{title:m});else m=h.get(["general","withoutTitle"]);var q=[],p=1<k?h.get(["series","multiple","prefix"]):h.get(["series","single","prefix"]),m=m+c(p,{seriesCount:k});b.eachSeries(function(a,d){if(d<n){var e;e=a.get("name")?"withName":"withoutName";e=1<k?h.get(["series","multiple",e]):h.get(["series","single",e]);var f=a.seriesIndex,g=a.get("name"),m;m=a.subType;m=b.getLocaleModel().get(["series","typeNames"])[m]||"\u81ea\u5b9a\u4e49\u56fe";e=c(e,{seriesId:f,seriesName:g,seriesType:m});g=a.getData();g.count()>l?(f=h.get(["data","partialData"]),e+=c(f,{displayCnt:l})):e+=h.get(["data","allData"]);f=[];for(m=0;m<g.count();m++)if(m<l){var p=g.getName(m),t=Sd(g,m),u=h.get(["data",p?"withName":"withoutName"]);f.push(c(u,{name:p,value:t}))}g=h.get(["data","separator","middle"]);m=h.get(["data","separator","end"]);e+=f.join(g)+m;q.push(e)}});var t=h.getModel(["series","multiple","separator"]),p=t.get("middle"),t=t.get("end"),m=m+(q.join(p)+t);f.setAttribute("aria-label",m)}}})()}}function bI(b){if(b&&b.aria){var a=b.aria;null!=a.show&&(a.enabled=a.show);a.label=a.label||{};r(["description","general","series","data"],function(c){null!=a[c]&&(a.label[c]=a[c])})}}function qo(b,a){if(!0===b||!1===b){var c=new cI;c.value=b;return c}ay(b)||(c=gb("Illegal config. Expect a plain object but actually",b),ja(c));if(b.and)return by("and",b,a);if(b.or)return by("or",b,a);if(b.not){var c=b.not,d;d=gb('"not" condition should only be `not: {}`.',"Illegal condition:",b);ay(c)||ja(d);var e=new dI;e.child=qo(c,a);e.child||ja(d);return e}var f,c=a.prepareGetValue(b);d=[];for(var e=ia(b),g=b.parser,g=g?cy.get(g):null,h=0;h<e.length;h++)if(f=e[h],"parser"!==f&&!a.valueGetterAttrMap.get(f)){var k=dy.hasOwnProperty(f)?dy[f]:f,l=b[f],l=g?g(l):l,m=k,n=l,k=("eq"===m||"ne"===m?new eI("eq"===m,n):ey.hasOwnProperty(m)?new fI(m,n):null)||"reg"===k&&new gI(l);k||(f=gb('Illegal relational operation: "'+f+'" in condition:',b),ja(f));d.push(k)}d.length||(f=gb("Relational condition must have at least one operator.","Illegal condition:",b),ja(f));e=new hI;e.valueGetterParam=c;e.valueParser=g;e.getValue=a.getValue;e.subCondList=d;return e}function by(b,a,c){var d=a[b],e="",e=gb('"and"/"or" condition should only be `'+b+": [...]` and must not be empty array.","Illegal condition:",a);A(d)||ja(e);d.length||ja(e);b="and"===b?new iI:new jI;b.children=C(d,function(a){return qo(a,c)});b.children.length||ja(e);return b}function ay(b){return N(b)&&!Xa(b)}function kI(b,a){return new lI(b,a)}var qk=function(b,a){qk=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,a){c.__proto__=a}||function(c,a){for(var b in a)Object.prototype.hasOwnProperty.call(a,b)&&(c[b]=a[b])};return qk(b,a)},ro=function(){ro=Object.assign||function(b){for(var a,c=1,d=arguments.length;c<d;c++){a=arguments[c];for(var e in a)Object.prototype.hasOwnProperty.call(a,e)&&(b[e]=a[e])}return b};return ro.apply(this,arguments)},mI=function(){return function(){this.weChat=this.newEdge=this.edge=this.ie=this.firefox=!1}}(),X=new (function(){return function(){this.browser=new mI;this.domSupported=this.pointerEventsSupported=this.touchEventsSupported=this.svgSupported=this.canvasSupported=this.worker=this.wxa=this.node=!1}}());"object"===typeof wx&&"function"===typeof wx.getSystemInfoSync?(X.wxa=!0,X.canvasSupported=!0,X.touchEventsSupported=!0):"undefined"===typeof document&&"undefined"!==typeof self?(X.worker=!0,X.canvasSupported=!0):"undefined"===typeof navigator?(X.node=!0,X.canvasSupported=!0,X.svgSupported=!0):cA(navigator.userAgent,X);var Rp={"[object Function]":!0,"[object RegExp]":!0,"[object Date]":!0,"[object Error]":!0,"[object CanvasGradient]":!0,"[object CanvasPattern]":!0,"[object Image]":!0,"[object Canvas]":!0},Qp={"[object Int8Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Int16Array]":!0,"[object Uint16Array]":!0,"[object Int32Array]":!0,"[object Uint32Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0},Fe=Object.prototype.toString,Bj=Array.prototype,dA=Bj.forEach,fA=Bj.filter,sk=Bj.slice,eA=Bj.map,fy=function(){}.constructor,Cj=fy?fy.prototype:null,Dj={},Vk=2311,Wd=function(){return Dj.createCanvas()};Dj.createCanvas=function(){return document.createElement("canvas")};var I=Cj&&fa(Cj.bind)?Cj.call.bind(Cj.bind):gA,Cd="__ec_primitive__",Vp=function(){function b(a){function c(c,a){d?e.set(c,a):e.set(a,c)}this.data={};var d=A(a);this.data={};var e=this;a instanceof b?a.each(c):a&&r(a,c)}b.prototype.get=function(a){return this.data.hasOwnProperty(a)?this.data[a]:null};b.prototype.set=function(a,c){return this.data[a]=c};b.prototype.each=function(a,c){for(var b in this.data)this.data.hasOwnProperty(b)&&a.call(c,this.data[b],b)};b.prototype.keys=function(){return ia(this.data)};b.prototype.removeKey=function(a){delete this.data[a]};return b}(),nI=Object.freeze({__proto__:null,$override:function(b,a){Dj[b]=a},guid:function(){return Vk++},logError:yb,clone:J,merge:U,mergeAll:Ph,extend:F,defaults:K,createCanvas:Wd,indexOf:ba,inherits:Qh,mixin:wa,isArrayLike:Xa,each:r,map:C,reduce:Ed,filter:ta,find:Sp,keys:ia,bind:I,curry:P,isArray:A,isFunction:fa,isString:da,isStringSafe:Of,isNumber:Rh,isObject:N,isBuiltInObject:rk,isTypedArray:db,isDom:Dd,isGradientObject:Tp,isPatternObject:Up,isRegExp:tk,eqNaN:Nc,retrieve:Ba,retrieve2:ka,retrieve3:zb,slice:Nf,normalizeCssArray:Sh,assert:O,trim:Va,setAsPrimitive:Ge,isPrimitive:function(b){return b[Cd]},HashMap:Vp,createHashMap:R,concatArray:uk,createObject:He,hasOwn:function(b,a){return b.hasOwnProperty(a)},noop:hc}),Fc=Qf,Xc=Xp,oI=Object.freeze({__proto__:null,create:Oc,copy:Na,clone:ic,set:Wp,add:vk,scaleAndAdd:Th,sub:Pc,len:Pf,length:Pf,lenSquare:wk,lengthSquare:wk,mul:function(b,a,c){b[0]=a[0]*c[0];b[1]=a[1]*c[1];return b},div:function(b,a,c){b[0]=a[0]/c[0];b[1]=a[1]/c[1];return b},dot:function(b,a){return b[0]*a[0]+b[1]*a[1]},scale:Uh,normalize:Ie,distance:Qf,dist:Fc,distanceSquare:Xp,distSquare:Xc,negate:function(b,a){b[0]=-a[0];b[1]=-a[1];return b},lerp:Rf,applyTransform:Qa,min:Qc,max:Rc}),Df=function(){return function(b,a){this.target=b;this.topTarget=a&&a.topTarget}}(),pI=function(){function b(a){this.handler=a;a.on("mousedown",this._dragStart,this);a.on("mousemove",this._drag,this);a.on("mouseup",this._dragEnd,this)}b.prototype._dragStart=function(a){for(var c=a.target;c&&!c.draggable;)c=c.parent;c&&(this._draggingTarget=c,c.dragging=!0,this._x=a.offsetX,this._y=a.offsetY,this.handler.dispatchToElement(new Df(c,a),"dragstart",a.event))};b.prototype._drag=function(a){var c=this._draggingTarget;if(c){var b=a.offsetX,e=a.offsetY,f=b-this._x,g=e-this._y;this._x=b;this._y=e;c.drift(f,g,a);this.handler.dispatchToElement(new Df(c,a),"drag",a.event);b=this.handler.findHover(b,e,c).target;e=this._dropTarget;this._dropTarget=b;c!==b&&(e&&b!==e&&this.handler.dispatchToElement(new Df(e,a),"dragleave",a.event),b&&b!==e&&this.handler.dispatchToElement(new Df(b,a),"dragenter",a.event))}};b.prototype._dragEnd=function(a){var c=this._draggingTarget;c&&(c.dragging=!1);this.handler.dispatchToElement(new Df(c,a),"dragend",a.event);this._dropTarget&&this.handler.dispatchToElement(new Df(this._dropTarget,a),"drop",a.event);this._dropTarget=this._draggingTarget=null};return b}(),$b=function(){function b(a){a&&(this._$eventProcessor=a)}b.prototype.on=function(a,c,b,e){this._$handlers||(this._$handlers={});var d=this._$handlers;"function"===typeof c&&(e=b,b=c,c=null);if(!b||!a)return this;var g=this._$eventProcessor;null!=c&&g&&g.normalizeQuery&&(c=g.normalizeQuery(c));d[a]||(d[a]=[]);for(g=0;g<d[a].length;g++)if(d[a][g].h===b)return this;c={h:b,query:c,ctx:e||this,callAtLast:b.zrEventfulCallAtLast};b=d[a].length-1;(e=d[a][b])&&e.callAtLast?d[a].splice(b,0,c):d[a].push(c);return this};b.prototype.isSilent=function(a){var c=this._$handlers;return!c||!c[a]||!c[a].length};b.prototype.off=function(a,c){var b=this._$handlers;if(!b)return this;if(!a)return this._$handlers={},this;if(c){if(b[a]){for(var e=[],f=0,g=b[a].length;f<g;f++)b[a][f].h!==c&&e.push(b[a][f]);b[a]=e}b[a]&&0===b[a].length&&delete b[a]}else delete b[a];return this};b.prototype.trigger=function(a){for(var c=[],b=1;b<arguments.length;b++)c[b-1]=arguments[b];if(!this._$handlers)return this;var b=this._$handlers[a],e=this._$eventProcessor;if(b)for(var f=c.length,g=b.length,h=0;h<g;h++){var k=b[h];if(!e||!e.filter||null==k.query||e.filter(a,k.query))switch(f){case 0:k.h.call(k.ctx);break;case 1:k.h.call(k.ctx,c[0]);break;case 2:k.h.call(k.ctx,c[0],c[1]);break;default:k.h.apply(k.ctx,c)}}e&&e.afterTrigger&&e.afterTrigger(a);return this};b.prototype.triggerWithContext=function(a){if(!this._$handlers)return this;var c=this._$handlers[a],b=this._$eventProcessor;if(c)for(var e=arguments,f=e.length,g=e[f-1],h=c.length,k=0;k<h;k++){var l=c[k];if(!b||!b.filter||null==l.query||b.filter(a,l.query))switch(f){case 0:l.h.call(g);break;case 1:l.h.call(g,e[0]);break;case 2:l.h.call(g,e[0],e[1]);break;default:l.h.apply(g,e.slice(1,f-1))}}b&&b.afterTrigger&&b.afterTrigger(a);return this};return b}(),hA=Math.log(2),go=[],Ck="undefined"!==typeof window&&!!window.addEventListener,iA=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ak=[],Bc=Ck?function(b){b.preventDefault();b.stopPropagation();b.cancelBubble=!0}:function(b){b.returnValue=!1;b.cancelBubble=!0},qI=function(){function b(){this._track=[]}b.prototype.recognize=function(a,c,b){this._doTrack(a,c,b);return this._recognize(a)};b.prototype.clear=function(){this._track.length=0;return this};b.prototype._doTrack=function(a,c,b){var d=a.touches;if(d){a={points:[],touches:[],target:c,event:a};c=0;for(var f=d.length;c<f;c++){var g=d[c],h=zk(b,g,{});a.points.push([h.zrX,h.zrY]);a.touches.push(g)}this._track.push(a)}};b.prototype._recognize=function(a){for(var c in so)if(so.hasOwnProperty(c)){var b=so[c](this._track,a);if(b)return b}};return b}(),so={pinch:function(b,a){var c=b.length;if(c){var d=(b[c-1]||{}).points;if((c=(b[c-2]||{}).points||d)&&1<c.length&&d&&1<d.length)return c=$p(d)/$p(c),!isFinite(c)&&(c=1),a.pinchScale=c,d=[(d[0][0]+d[1][0])/2,(d[0][1]+d[1][1])/2],a.pinchX=d[0],a.pinchY=d[1],{type:"pinch",target:b[0].target,event:a}}}},rI=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.handler=null;return c}x(a,b);a.prototype.dispose=function(){};a.prototype.setCursor=function(){};return a}($b),gh=function(){return function(b,a){this.x=b;this.y=a}}(),sI="click dblclick mousewheel mouseout mouseup mousedown mousemove contextmenu".split(" "),gy=function(b){function a(c,a,e,f){var d=b.call(this)||this;d._hovered=new gh(0,0);d.storage=c;d.painter=a;d.painterRoot=f;e=e||new rI;d.proxy=null;d.setHandlerProxy(e);d._draggingMgr=new pI(d);return d}x(a,b);a.prototype.setHandlerProxy=function(c){this.proxy&&this.proxy.dispose();c&&(r(sI,function(a){c.on&&c.on(a,this[a],this)},this),c.handler=this);this.proxy=c};a.prototype.mousemove=function(c){var a=c.zrX,b=c.zrY,f=aq(this,a,b),g=this._hovered,h=g.target;h&&!h.__zr&&(g=this.findHover(g.x,g.y),h=g.target);a=this._hovered=f?new gh(a,b):this.findHover(a,b);b=a.target;f=this.proxy;f.setCursor&&f.setCursor(b?b.cursor:"default");h&&b!==h&&this.dispatchToElement(g,"mouseout",c);this.dispatchToElement(a,"mousemove",c);b&&b!==h&&this.dispatchToElement(a,"mouseover",c)};a.prototype.mouseout=function(c){var a=c.zrEventControl;"only_globalout"!==a&&this.dispatchToElement(this._hovered,"mouseout",c);"no_globalout"!==a&&this.trigger("globalout",{type:"globalout",event:c})};a.prototype.resize=function(){this._hovered=new gh(0,0)};a.prototype.dispatch=function(c,a){var b=this[c];b&&b.call(this,a)};a.prototype.dispose=function(){this.proxy.dispose();this.painter=this.proxy=this.storage=null};a.prototype.setCursorStyle=function(c){var a=this.proxy;a.setCursor&&a.setCursor(c)};a.prototype.dispatchToElement=function(c,a,b){c=c||{};var d=c.target;if(!d||!d.silent){for(var e="on"+a,h={type:a,event:b,target:c.target,topTarget:c.topTarget,cancelBubble:!1,offsetX:b.zrX,offsetY:b.zrY,gestureEvent:b.gestureEvent,pinchX:b.pinchX,pinchY:b.pinchY,pinchScale:b.pinchScale,wheelDelta:b.zrDelta,zrByTouch:b.zrByTouch,which:b.which,stop:jA};d&&(d[e]&&(h.cancelBubble=!!d[e].call(d,h)),d.trigger(a,h),d=d.__hostTarget?d.__hostTarget:d.parent,!h.cancelBubble););h.cancelBubble||(this.trigger(a,h),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer(function(c){"function"===typeof c[e]&&c[e].call(c,h);c.trigger&&c.trigger(a,h)}))}};a.prototype.findHover=function(c,a,b){for(var d=this.storage.getDisplayList(),e=new gh(c,a),h=d.length-1;0<=h;h--){var k=void 0,l;if(l=d[h]!==b&&!d[h].ignore){a:{var m=d[h],k=c;l=a;if(m[m.rectHover?"rectContain":"contain"](k,l)){for(var n=void 0,p=!1;m;){m.ignoreClip&&(p=!0);if(!p){var q=m.getClipPath();if(q&&!q.contain(k,l)){k=!1;break a}m.silent&&(n=!0)}m=(q=m.__hostTarget)?q:m.parent}k=n?"silent":!0}else k=!1}l=k}if(l&&(!e.topTarget&&(e.topTarget=d[h]),"silent"!==k)){e.target=d[h];break}}return e};a.prototype.processGesture=function(c,a){this._gestureMgr||(this._gestureMgr=new qI);var b=this._gestureMgr;"start"===a&&b.clear();var d=b.recognize(c,this.findHover(c.zrX,c.zrY,null).target,this.proxy.dom);"end"===a&&b.clear();if(d){b=d.type;c.gestureEvent=b;var g=new gh;g.target=d.target;this.dispatchToElement(g,b,d.event)}};return a}($b);r("click mousedown mouseup mousewheel dblclick contextmenu".split(" "),function(b){gy.prototype[b]=function(a){var c=a.zrX,d=a.zrY,e=aq(this,c,d),f,g;"mouseup"===b&&e||(f=this.findHover(c,d),g=f.target);if("mousedown"===b)this._downEl=g,this._downPoint=[a.zrX,a.zrY],this._upEl=g;else if("mouseup"===b)this._upEl=g;else if("click"===b){if(this._downEl!==this._upEl||!this._downPoint||4<Fc(this._downPoint,[a.zrX,a.zrY]))return;this._downPoint=null}this.dispatchToElement(f,b,a)}});var tI=Object.freeze({__proto__:null,create:nb,identity:Sc,copy:Je,mul:Fd,translate:Rb,rotate:Tc,scale:Vh,invert:Ke,clone:bq}),ne=[],wd=[],to=nb(),uo=Math.abs,Dc=function(){function b(){}b.prototype.setPosition=function(a){this.x=a[0];this.y=a[1]};b.prototype.setScale=function(a){this.scaleX=a[0];this.scaleY=a[1]};b.prototype.setOrigin=function(a){this.originX=a[0];this.originY=a[1]};b.prototype.needLocalTransform=function(){return Gd(this.rotation)||Gd(this.x)||Gd(this.y)||Gd(this.scaleX-1)||Gd(this.scaleY-1)};b.prototype.updateTransform=function(){var a=this.parent,c=a&&a.transform,b=this.needLocalTransform(),e=this.transform;b||c?(e=e||nb(),b?this.getLocalTransform(e):Sc(e),c&&(b?Fd(e,a.transform,e):Je(e,a.transform)),this.transform=e,this._resolveGlobalScaleRatio(e)):e&&Sc(e)};b.prototype._resolveGlobalScaleRatio=function(a){var c=this.globalScaleRatio;if(null!=c&&1!==c){this.getGlobalScale(ne);var b=0>ne[0]?-1:1,e=0>ne[1]?-1:1,b=((ne[0]-b)*c+b)/ne[0]||0,c=((ne[1]-e)*c+e)/ne[1]||0;a[0]*=b;a[1]*=b;a[2]*=c;a[3]*=c}this.invTransform=this.invTransform||nb();Ke(this.invTransform,a)};b.prototype.getLocalTransform=function(a){return b.getLocalTransform(this,a)};b.prototype.getComputedTransform=function(){for(var a=this,c=[];a;)c.push(a),a=a.parent;for(;a=c.pop();)a.updateTransform();return this.transform};b.prototype.setLocalTransform=function(a){if(a){var c=a[0]*a[0]+a[1]*a[1],b=a[2]*a[2]+a[3]*a[3];Gd(c-1)&&(c=Math.sqrt(c));Gd(b-1)&&(b=Math.sqrt(b));0>a[0]&&(c=-c);0>a[3]&&(b=-b);this.rotation=Math.atan2(-a[1]/b,a[0]/c);0>c&&0>b&&(this.rotation+=Math.PI,c=-c,b=-b);this.x=a[4];this.y=a[5];this.scaleX=c;this.scaleY=b}};b.prototype.decomposeTransform=function(){if(this.transform){var a=this.parent,c=this.transform;a&&a.transform&&(Fd(wd,a.invTransform,c),c=wd);var a=this.originX,b=this.originY;if(a||b)to[4]=a,to[5]=b,Fd(wd,c,to),wd[4]-=a,wd[5]-=b,c=wd;this.setLocalTransform(c)}};b.prototype.getGlobalScale=function(a){var c=this.transform;a=a||[];if(!c)return a[0]=1,a[1]=1,a;a[0]=Math.sqrt(c[0]*c[0]+c[1]*c[1]);a[1]=Math.sqrt(c[2]*c[2]+c[3]*c[3]);0>c[0]&&(a[0]=-a[0]);0>c[3]&&(a[1]=-a[1]);return a};b.prototype.transformCoordToLocal=function(a,c){var b=[a,c],e=this.invTransform;e&&Qa(b,b,e);return b};b.prototype.transformCoordToGlobal=function(a,c){var b=[a,c],e=this.transform;e&&Qa(b,b,e);return b};b.prototype.getLineScale=function(){var a=this.transform;return a&&1E-10<uo(a[0]-1)&&1E-10<uo(a[3]-1)?Math.sqrt(uo(a[0]*a[3]-a[2]*a[1])):1};b.getLocalTransform=function(a,c){c=c||[];Sc(c);var b=a.originX||0,e=a.originY||0,f=a.scaleX,g=a.scaleY,h=a.rotation||0,k=a.x,l=a.y;c[4]-=b;c[5]-=e;c[0]*=f;c[1]*=g;c[2]*=f;c[3]*=g;c[4]*=f;c[5]*=g;h&&Tc(c,c,h);c[4]+=b;c[5]+=e;c[4]+=k;c[5]+=l;return c};b.initDefaultProps=function(){var a=b.prototype;a.x=0;a.y=0;a.scaleX=1;a.scaleY=1;a.originX=0;a.originY=0;a.rotation=0;a.globalScaleRatio=1}();return b}(),Ej={linear:function(b){return b},quadraticIn:function(b){return b*b},quadraticOut:function(b){return b*(2-b)},quadraticInOut:function(b){return 1>(b*=2)?.5*b*b:-.5*(--b*(b-2)-1)},cubicIn:function(b){return b*b*b},cubicOut:function(b){return--b*b*b+1},cubicInOut:function(b){return 1>(b*=2)?.5*b*b*b:.5*((b-=2)*b*b+2)},quarticIn:function(b){return b*b*b*b},quarticOut:function(b){return 1- --b*b*b*b},quarticInOut:function(b){return 1>(b*=2)?.5*b*b*b*b:-.5*((b-=2)*b*b*b-2)},quinticIn:function(b){return b*b*b*b*b},quinticOut:function(b){return--b*b*b*b*b+1},quinticInOut:function(b){return 1>(b*=2)?.5*b*b*b*b*b:.5*((b-=2)*b*b*b*b+2)},sinusoidalIn:function(b){return 1-Math.cos(b*Math.PI/2)},sinusoidalOut:function(b){return Math.sin(b*Math.PI/2)},sinusoidalInOut:function(b){return.5*(1-Math.cos(Math.PI*b))},exponentialIn:function(b){return 0===b?0:Math.pow(1024,b-1)},exponentialOut:function(b){return 1===b?1:1-Math.pow(2,-10*b)},exponentialInOut:function(b){return 0===b?0:1===b?1:1>(b*=2)?.5*Math.pow(1024,b-1):.5*(-Math.pow(2,-10*(b-1))+2)},circularIn:function(b){return 1-Math.sqrt(1-b*b)},circularOut:function(b){return Math.sqrt(1- --b*b)},circularInOut:function(b){return 1>(b*=2)?-.5*(Math.sqrt(1-b*b)-1):.5*(Math.sqrt(1-(b-=2)*b)+1)},elasticIn:function(b){var a,c=.1;if(0===b)return 0;if(1===b)return 1;!c||1>c?(c=1,a=.1):a=.4*Math.asin(1/c)/(2*Math.PI);return-(c*Math.pow(2,10*--b)*Math.sin(2*(b-a)*Math.PI/.4))},elasticOut:function(b){var a,c=.1;if(0===b)return 0;if(1===b)return 1;!c||1>c?(c=1,a=.1):a=.4*Math.asin(1/c)/(2*Math.PI);return c*Math.pow(2,-10*b)*Math.sin(2*(b-a)*Math.PI/.4)+1},elasticInOut:function(b){var a,c=.1;if(0===b)return 0;if(1===b)return 1;!c||1>c?(c=1,a=.1):a=.4*Math.asin(1/c)/(2*Math.PI);return 1>(b*=2)?-.5*c*Math.pow(2,10*--b)*Math.sin(2*(b-a)*Math.PI/.4):c*Math.pow(2,-10*--b)*Math.sin(2*(b-a)*Math.PI/.4)*.5+1},backIn:function(b){return b*b*(2.70158*b-1.70158)},backOut:function(b){return--b*b*(2.70158*b+1.70158)+1},backInOut:function(b){return 1>(b*=2)?.5*b*b*(3.5949095*b-2.5949095):.5*((b-=2)*b*(3.5949095*b+2.5949095)+2)},bounceIn:function(b){return 1-Ej.bounceOut(1-b)},bounceOut:function(b){return b<1/2.75?7.5625*b*b:b<2/2.75?7.5625*(b-=1.5/2.75)*b+.75:b<2.5/2.75?7.5625*(b-=2.25/2.75)*b+.9375:7.5625*(b-=2.625/2.75)*b+.984375},bounceInOut:function(b){return.5>b?.5*Ej.bounceIn(2*b):.5*Ej.bounceOut(2*b-1)+.5}},uI=function(){function b(a){this._initialized=!1;this._pausedTime=this._startTime=0;this._paused=!1;this._life=a.life||1E3;this._delay=a.delay||0;this.loop=null==a.loop?!1:a.loop;this.gap=a.gap||0;this.easing=a.easing||"linear";this.onframe=a.onframe;this.ondestroy=a.ondestroy;this.onrestart=a.onrestart}b.prototype.step=function(a,c){this._initialized||(this._startTime=a+this._delay,this._initialized=!0);if(this._paused)this._pausedTime+=c;else{var b=(a-this._startTime-this._pausedTime)/this._life;0>b&&(b=0);var b=Math.min(b,1),e=this.easing,e="string"===typeof e?Ej[e]:e,e="function"===typeof e?e(b):b;this.onframe&&this.onframe(e);if(1===b)if(this.loop)this._restart(a),this.onrestart&&this.onrestart();else return!0;return!1}};b.prototype._restart=function(a){this._startTime=a-(a-this._startTime-this._pausedTime)%this._life+this.gap;this._pausedTime=0};b.prototype.pause=function(){this._paused=!0};b.prototype.resume=function(){this._paused=!1};return b}(),hy=function(){return function(b){this.value=b}}(),vI=function(){function b(){this._len=0}b.prototype.insert=function(a){a=new hy(a);this.insertEntry(a);return a};b.prototype.insertEntry=function(a){this.head?(this.tail.next=a,a.prev=this.tail,a.next=null,this.tail=a):this.head=this.tail=a;this._len++};b.prototype.remove=function(a){var c=a.prev,b=a.next;c?c.next=b:this.head=b;b?b.prev=c:this.tail=c;a.next=a.prev=null;this._len--};b.prototype.len=function(){return this._len};b.prototype.clear=function(){this.head=this.tail=null;this._len=0};return b}(),Yf=function(){function b(a){this._list=new vI;this._maxSize=10;this._map={};this._maxSize=a}b.prototype.put=function(a,c){var b=this._list,e=this._map,f=null;if(null==e[a]){var g=b.len(),h=this._lastRemovedEntry;g>=this._maxSize&&0<g&&(g=b.head,b.remove(g),delete e[g.key],f=g.value,this._lastRemovedEntry=g);h?h.value=c:h=new hy(c);h.key=a;b.insertEntry(h);e[a]=h}return f};b.prototype.get=function(a){a=this._map[a];var c=this._list;if(null!=a)return a!==c.tail&&(c.remove(a),c.insertEntry(a)),a.value};b.prototype.clear=function(){this._list.clear();this._map={}};b.prototype.len=function(){return this._list.len()};return b}(),dq={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]},cq=new Yf(20),Wh=null,wI=Object.freeze({__proto__:null,parse:eb,lift:Hk,toHex:Ik,fastLerp:Tf,fastMapToColor:Tf,lerp:eq,mapToColor:eq,modifyHSL:Ne,modifyAlpha:Uf,stringify:Tb,lum:Vf,random:function(){return"rgb("+Math.round(255*Math.random())+","+Math.round(255*Math.random())+","+Math.round(255*Math.random())+")"}}),Jk=Array.prototype.slice,hh=[0,0,0,0],xI=function(){function b(a){this.keyframes=[];this.arrDim=this.maxTime=0;this.interpolable=!0;this._needsSort=!1;this._isAllValueEqual=!0;this._lastFramePercent=this._lastFrame=0;this.propName=a}b.prototype.isFinished=function(){return this._finished};b.prototype.setFinished=function(){this._finished=!0;this._additiveTrack&&this._additiveTrack.setFinished()};b.prototype.needsAnimate=function(){return!this._isAllValueEqual&&2<=this.keyframes.length&&this.interpolable};b.prototype.getAdditiveTrack=function(){return this._additiveTrack};b.prototype.addKeyframe=function(a,c){a>=this.maxTime?this.maxTime=a:this._needsSort=!0;var b=this.keyframes,e=b.length;if(this.interpolable)if(Xa(c)){var f=Xa(c&&c[0])?2:1;if(0<e&&this.arrDim!==f){this.interpolable=!1;return}if(1===f&&"number"!==typeof c[0]||2===f&&"number"!==typeof c[0][0]){this.interpolable=!1;return}0<e&&(b=b[e-1],this._isAllValueEqual&&(1===f?hq(c,b.value)||(this._isAllValueEqual=!1):this._isAllValueEqual=!1));this.arrDim=f}else{if(0<this.arrDim){this.interpolable=!1;return}if("string"===typeof c)(f=eb(c))?(c=f,this.isValueColor=!0):this.interpolable=!1;else if("number"!==typeof c){this.interpolable=!1;return}this._isAllValueEqual&&0<e&&(b=b[e-1],this.isValueColor&&!hq(b.value,c)?this._isAllValueEqual=!1:b.value!==c&&(this._isAllValueEqual=!1))}b={time:a,value:c,percent:0};this.keyframes.push(b);return b};b.prototype.prepare=function(a){var c=this.keyframes;this._needsSort&&c.sort(function(c,a){return c.time-a.time});for(var b=this.arrDim,e=c.length,f=c[e-1],g=0;g<e;g++)c[g].percent=c[g].time/this.maxTime,0<b&&g!==e-1&&kA(c[g].value,f.value,b);if(a&&this.needsAnimate()&&a.needsAnimate()&&b===a.arrDim&&this.isValueColor===a.isValueColor&&!a._finished)for(this._additiveTrack=a,a=c[0].value,g=0;g<e;g++)0===b?c[g].additiveValue=this.isValueColor?Yh([],c[g].value,a,-1):c[g].value-a:1===b?c[g].additiveValue=Yh([],c[g].value,a,-1):2===b&&(c[g].additiveValue=gq([],c[g].value,a,-1))};b.prototype.step=function(a,c){if(!this._finished){this._additiveTrack&&this._additiveTrack._finished&&(this._additiveTrack=null);var b=null!=this._additiveTrack,e=b?"additiveValue":"value",f=this.keyframes,g=this.keyframes.length,h=this.propName,k=this.arrDim,l=this.isValueColor,m;if(0>c)m=0;else if(c<this._lastFramePercent){for(m=Math.min(this._lastFrame+1,g-1);0<=m&&!(f[m].percent<=c);m--);m=Math.min(m,g-2)}else{for(m=this._lastFrame;m<g&&!(f[m].percent>c);m++);m=Math.min(m-1,g-2)}var n=f[m+1],p=f[m];if(p&&n){this._lastFrame=m;this._lastFramePercent=c;var q=n.percent-p.percent;if(0!==q){var q=(c-p.percent)/q,t=b?this._additiveValue:l?hh:a[h];(0<k||l)&&!t&&(t=this._additiveValue=[]);if(this.useSpline){var n=f[m][e],p=f[0===m?m:m-1][e],u=f[m>g-2?g-1:m+1][e],e=f[m>g-3?g-1:m+2][e];if(0<k)if(1===k)for(h=t,t=q*q,k=q*q*q,l=p.length,f=0;f<l;f++)h[f]=Zh(p[f],n[f],u[f],e[f],q,t,k);else for(h=t,t=q*q,k=q*q*q,l=p.length,f=p[0].length,g=0;g<l;g++)for(h[g]||(h[1]=[]),m=0;m<f;m++)h[g][m]=Zh(p[g][m],n[g][m],u[g][m],e[g][m],q,t,k);else if(l){k=t;l=q*q;f=q*q*q;g=p.length;for(m=0;m<g;m++)k[m]=Zh(p[m],n[m],u[m],e[m],q,l,f);b||(a[h]=Xf(t))}else q=this.interpolable?Zh(p,n,u,e,q,q*q,q*q*q):u,b?this._additiveValue=q:a[h]=q}else if(0<k)if(1===k)fq(t,p[e],n[e],q);else for(u=t,p=p[e],n=n[e],h=(e=p.length)&&p[0].length,t=0;t<e;t++)for(u[t]||(u[t]=[]),k=0;k<h;k++)u[t][k]=Xh(p[t][k],n[t][k],q);else l?(fq(t,p[e],n[e],q),b||(a[h]=Xf(t))):(q=this.interpolable?Xh(p[e],n[e],q):.5<q?n[e]:p[e],b?this._additiveValue=q:a[h]=q);b&&this._addToTarget(a)}}}};b.prototype._addToTarget=function(a){var c=this.arrDim,b=this.propName,e=this._additiveValue;0===c?this.isValueColor?(eb(a[b],hh),Yh(hh,hh,e,1),a[b]=Xf(hh)):a[b]+=e:1===c?Yh(a[b],a[b],e,1):2===c&&gq(a[b],a[b],e,1)};return b}(),Mk=function(){function b(a,c,b){this._tracks={};this._trackKeys=[];this._maxTime=this._delay=0;this._paused=!1;this._started=0;this._clip=null;this._target=a;(this._loop=c)&&b?yb("Can' use additive animation on looped animation."):this._additiveAnimators=b}b.prototype.getTarget=function(){return this._target};b.prototype.changeTarget=function(a){this._target=a};b.prototype.when=function(a,c){return this.whenWithKeys(a,c,ia(c))};b.prototype.whenWithKeys=function(a,c,b){for(var d=this._tracks,f=0;f<b.length;f++){var g=b[f],h=d[g];if(!h){var h=d[g]=new xI(g),k,l=this._getAdditiveTrack(g);l?(k=(k=l.keyframes[l.keyframes.length-1])&&k.value,l.isValueColor&&k&&(k=Xf(k))):k=this._target[g];if(null==k)continue;0!==a&&h.addKeyframe(0,Wf(k));this._trackKeys.push(g)}h.addKeyframe(a,Wf(c[g]))}this._maxTime=Math.max(this._maxTime,a);return this};b.prototype.pause=function(){this._clip.pause();this._paused=!0};b.prototype.resume=function(){this._clip.resume();this._paused=!1};b.prototype.isPaused=function(){return!!this._paused};b.prototype._doneCallback=function(){this._setTracksFinished();this._clip=null;var a=this._doneList;if(a)for(var c=a.length,b=0;b<c;b++)a[b].call(this)};b.prototype._abortedCallback=function(){this._setTracksFinished();var a=this.animation,c=this._abortedList;a&&a.removeClip(this._clip);this._clip=null;if(c)for(a=0;a<c.length;a++)c[a].call(this)};b.prototype._setTracksFinished=function(){for(var a=this._tracks,c=this._trackKeys,b=0;b<c.length;b++)a[c[b]].setFinished()};b.prototype._getAdditiveTrack=function(a){var c,b=this._additiveAnimators;if(b)for(var e=0;e<b.length;e++){var f=b[e].getTrack(a);f&&(c=f)}return c};b.prototype.start=function(a,c){if(!(0<this._started)){this._started=1;for(var b=this,e=[],f=0;f<this._trackKeys.length;f++){var g=this._trackKeys[f],h=this._tracks[g],g=this._getAdditiveTrack(g),k=h.keyframes;h.prepare(g);h.needsAnimate()?e.push(h):!h.interpolable&&(g=k[k.length-1])&&(b._target[h.propName]=g.value)}e.length||c?(this._clip=f=new uI({life:this._maxTime,loop:this._loop,delay:this._delay,onframe:function(c){b._started=2;var a=b._additiveAnimators;if(a){for(var d=!1,f=0;f<a.length;f++)if(a[f]._clip){d=!0;break}d||(b._additiveAnimators=null)}for(f=0;f<e.length;f++)e[f].step(b._target,c);if(a=b._onframeList)for(f=0;f<a.length;f++)a[f](b._target,c)},ondestroy:function(){b._doneCallback()}}),this.animation&&this.animation.addClip(f),a&&"spline"!==a&&(f.easing=a)):this._doneCallback();return this}};b.prototype.stop=function(a){if(this._clip){var c=this._clip;if(a)c.onframe(1);this._abortedCallback()}};b.prototype.delay=function(a){this._delay=a;return this};b.prototype.during=function(a){a&&(this._onframeList||(this._onframeList=[]),this._onframeList.push(a));return this};b.prototype.done=function(a){a&&(this._doneList||(this._doneList=[]),this._doneList.push(a));return this};b.prototype.aborted=function(a){a&&(this._abortedList||(this._abortedList=[]),this._abortedList.push(a));return this};b.prototype.getClip=function(){return this._clip};b.prototype.getTrack=function(a){return this._tracks[a]};b.prototype.stopTracks=function(a,c){if(!a.length||!this._clip)return!0;for(var b=this._tracks,e=this._trackKeys,f=0;f<a.length;f++){var g=b[a[f]];g&&(c?g.step(this._target,1):1===this._started&&g.step(this._target,0),g.setFinished())}g=!0;for(f=0;f<e.length;f++)if(!b[e[f]].isFinished()){g=!1;break}g&&this._abortedCallback();return g};b.prototype.saveFinalToTarget=function(a,c){if(a){c=c||this._trackKeys;for(var b=0;b<c.length;b++){var e=c[b],f=this._tracks[e];if(f&&!f.isFinished()){var g=f.keyframes;if(g=g[g.length-1])g=Wf(g.value),f.isValueColor&&(g=Xf(g)),a[e]=g}}}};b.prototype.__changeFinalValue=function(a,c){c=c||ia(a);for(var b=0;b<c.length;b++){var e=c[b],f=this._tracks[e];if(f){var g=f.keyframes;1<g.length&&(g=g.pop(),f.addKeyframe(g.time,a[e]),f.prepare(f.getAdditiveTrack()))}}};return b}(),V=function(){function b(a,c){this.x=a||0;this.y=c||0}b.prototype.copy=function(a){this.x=a.x;this.y=a.y;return this};b.prototype.clone=function(){return new b(this.x,this.y)};b.prototype.set=function(a,c){this.x=a;this.y=c;return this};b.prototype.equal=function(a){return a.x===this.x&&a.y===this.y};b.prototype.add=function(a){this.x+=a.x;this.y+=a.y;return this};b.prototype.scale=function(a){this.x*=a;this.y*=a};b.prototype.scaleAndAdd=function(a,c){this.x+=a.x*c;this.y+=a.y*c};b.prototype.sub=function(a){this.x-=a.x;this.y-=a.y;return this};b.prototype.dot=function(a){return this.x*a.x+this.y*a.y};b.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)};b.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y};b.prototype.normalize=function(){var a=this.len();this.x/=a;this.y/=a;return this};b.prototype.distance=function(a){var c=this.x-a.x;a=this.y-a.y;return Math.sqrt(c*c+a*a)};b.prototype.distanceSquare=function(a){var c=this.x-a.x;a=this.y-a.y;return c*c+a*a};b.prototype.negate=function(){this.x=-this.x;this.y=-this.y;return this};b.prototype.transform=function(a){if(a){var c=this.x,b=this.y;this.x=a[0]*c+a[2]*b+a[4];this.y=a[1]*c+a[3]*b+a[5];return this}};b.prototype.toArray=function(a){a[0]=this.x;a[1]=this.y;return a};b.prototype.fromArray=function(a){this.x=a[0];this.y=a[1]};b.set=function(a,c,b){a.x=c;a.y=b};b.copy=function(a,c){a.x=c.x;a.y=c.y};b.len=function(a){return Math.sqrt(a.x*a.x+a.y*a.y)};b.lenSquare=function(a){return a.x*a.x+a.y*a.y};b.dot=function(a,c){return a.x*c.x+a.y*c.y};b.add=function(a,c,b){a.x=c.x+b.x;a.y=c.y+b.y};b.sub=function(a,c,b){a.x=c.x-b.x;a.y=c.y-b.y};b.scale=function(a,c,b){a.x=c.x*b;a.y=c.y*b};b.scaleAndAdd=function(a,c,b,e){a.x=c.x+b.x*e;a.y=c.y+b.y*e};b.lerp=function(a,c,b,e){var d=1-e;a.x=d*c.x+e*b.x;a.y=d*c.y+e*b.y};return b}(),Fj=Math.min,Gj=Math.max,oe=new V,pe=new V,qe=new V,re=new V,ih=new V,jh=new V,aa=function(){function b(a,c,b,e){0>b&&isFinite(b)&&(a+=b,b=-b);0>e&&isFinite(e)&&(c+=e,e=-e);this.x=a;this.y=c;this.width=b;this.height=e}b.prototype.union=function(a){var c=Fj(a.x,this.x),b=Fj(a.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=Gj(a.x+a.width,this.x+this.width)-c:this.width=a.width;isFinite(this.y)&&isFinite(this.height)?this.height=Gj(a.y+a.height,this.y+this.height)-b:this.height=a.height;this.x=c;this.y=b};b.prototype.applyTransform=function(a){b.applyTransform(this,this,a)};b.prototype.calculateTransform=function(a){var c=a.width/this.width,b=a.height/this.height,e=nb();Rb(e,e,[-this.x,-this.y]);Vh(e,e,[c,b]);Rb(e,e,[a.x,a.y]);return e};b.prototype.intersect=function(a,c){if(!a)return!1;a instanceof b||(a=b.create(a));var d=this.x,e=this.x+this.width,f=this.y,g=this.y+this.height,h=a.x,k=a.x+a.width,l=a.y,m=a.y+a.height,n=!(e<h||k<d||g<l||m<f);if(c){var p=Infinity,q=0,t=Math.abs(e-h),u=Math.abs(k-d),w=Math.abs(g-l),v=Math.abs(m-f),z=Math.min(t,u),r=Math.min(w,v);e<h||k<d?z>q&&(q=z,t<u?V.set(jh,-t,0):V.set(jh,u,0)):z<p&&(p=z,t<u?V.set(ih,t,0):V.set(ih,-u,0));g<l||m<f?r>q&&(w<v?V.set(jh,0,-w):V.set(jh,0,v)):z<p&&(w<v?V.set(ih,0,w):V.set(ih,0,-v))}c&&V.copy(c,n?ih:jh);return n};b.prototype.contain=function(a,c){return a>=this.x&&a<=this.x+this.width&&c>=this.y&&c<=this.y+this.height};b.prototype.clone=function(){return new b(this.x,this.y,this.width,this.height)};b.prototype.copy=function(a){b.copy(this,a)};b.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}};b.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)};b.prototype.isZero=function(){return 0===this.width||0===this.height};b.create=function(a){return new b(a.x,a.y,a.width,a.height)};b.copy=function(a,c){a.x=c.x;a.y=c.y;a.width=c.width;a.height=c.height};b.applyTransform=function(a,c,d){if(d)if(1E-5>d[1]&&-1E-5<d[1]&&1E-5>d[2]&&-1E-5<d[2]){var e=d[0],f=d[3],g=d[5];a.x=c.x*e+d[4];a.y=c.y*f+g;a.width=c.width*e;a.height=c.height*f;0>a.width&&(a.x+=a.width,a.width=-a.width);0>a.height&&(a.y+=a.height,a.height=-a.height)}else oe.x=qe.x=c.x,oe.y=re.y=c.y,pe.x=re.x=c.x+c.width,pe.y=qe.y=c.y+c.height,oe.transform(d),re.transform(d),pe.transform(d),qe.transform(d),a.x=Fj(oe.x,pe.x,qe.x,re.x),a.y=Fj(oe.y,pe.y,qe.y,re.y),c=Gj(oe.x,pe.x,qe.x,re.x),d=Gj(oe.y,pe.y,qe.y,re.y),a.width=c-a.x,a.height=d-a.y;else a!==c&&b.copy(a,c)};return b}(),iq={},Hj,iy,lA={measureText:function(b,a){Hj||(Hj=Wd().getContext("2d"));iy!==a&&(iy=Hj.font=a||"12px sans-serif");return Hj.measureText(b)}},jy=1;"undefined"!==typeof window&&(jy=Math.max(window.devicePixelRatio||window.screen&&window.screen.deviceXDPI/window.screen.logicalXDPI||1,1));var Ij=jy,vo="x y scaleX scaleY originX originY rotation ignore".split(" "),yI={x:!0,y:!0,scaleX:!0,scaleY:!0,originX:!0,originY:!0,rotation:!0,ignore:!1},Ef={},cc=new aa(0,0,0,0),Hb=function(){function b(a){this.id=Vk++;this.animators=[];this.currentStates=[];this.states={};this._init(a)}b.prototype._init=function(a){this.attr(a)};b.prototype.drift=function(a,c,b){switch(this.draggable){case "horizontal":c=0;break;case "vertical":a=0}b=this.transform;b||(b=this.transform=[1,0,0,1,0,0]);b[4]+=a;b[5]+=c;this.decomposeTransform();this.markRedraw()};b.prototype.beforeUpdate=function(){};b.prototype.afterUpdate=function(){};b.prototype.update=function(){this.updateTransform();this.__dirty&&this.updateInnerText()};b.prototype.updateInnerText=function(a){var c=this._textContent;if(c&&(!c.ignore||a)){this.textConfig||(this.textConfig={});var b=this.textConfig,e=b.local,f=c.attachedTransform,g=a=void 0,h=!1;f.parent=e?this:null;var k=!1;f.x=c.x;f.y=c.y;f.originX=c.originX;f.originY=c.originY;f.rotation=c.rotation;f.scaleX=c.scaleX;f.scaleY=c.scaleY;if(null!=b.position){b.layoutRect?cc.copy(b.layoutRect):cc.copy(this.getBoundingRect());e||cc.applyTransform(this.transform);this.calculateTextPosition?this.calculateTextPosition(Ef,b,cc):kq(Ef,b,cc);f.x=Ef.x;f.y=Ef.y;a=Ef.align;var g=Ef.verticalAlign,l=b.origin;if(l&&null!=b.rotation){var m;"center"===l?(m=.5*cc.width,l=.5*cc.height):(m=Ub(l[0],cc.width),l=Ub(l[1],cc.height));k=!0;f.originX=-f.x+m+(e?0:cc.x);f.originY=-f.y+l+(e?0:cc.y)}}null!=b.rotation&&(f.rotation=b.rotation);if(e=b.offset)f.x+=e[0],f.y+=e[1],k||(f.originX=-e[0],f.originY=-e[1]);e=null==b.inside?"string"===typeof b.position&&0<=b.position.indexOf("inside"):b.inside;f=this._innerTextDefaultStyle||(this._innerTextDefaultStyle={});k=void 0;if(e&&this.canBeInsideText()){e=b.insideFill;b=b.insideStroke;if(null==e||"auto"===e)e=this.getInsideTextFill();if(null==b||"auto"===b)b=this.getInsideTextStroke(e),k=!0}else{e=b.outsideFill;b=b.outsideStroke;if(null==e||"auto"===e)e=this.getOutsideFill();if(null==b||"auto"===b)b=this.getOutsideStroke(e),k=!0}e=e||"#000";if(e!==f.fill||b!==f.stroke||k!==f.autoStroke||a!==f.align||g!==f.verticalAlign)h=!0,f.fill=e,f.stroke=b,f.autoStroke=k,f.align=a,f.verticalAlign=g,c.setDefaultTextStyle(f);h&&c.dirtyStyle();c.markRedraw()}};b.prototype.canBeInsideText=function(){return!0};b.prototype.getInsideTextFill=function(){return"#fff"};b.prototype.getInsideTextStroke=function(a){return"#000"};b.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?"#ccc":"#333"};b.prototype.getOutsideStroke=function(a){a=this.__zr&&this.__zr.getBackgroundColor();(a="string"===typeof a&&eb(a))||(a=[255,255,255,1]);for(var c=a[3],b=this.__zr.isDarkMode(),e=0;3>e;e++)a[e]=a[e]*c+(b?0:255)*(1-c);a[3]=1;return Tb(a,"rgba")};b.prototype.traverse=function(a,c){};b.prototype.attrKV=function(a,c){"textConfig"===a?this.setTextConfig(c):"textContent"===a?this.setTextContent(c):"clipPath"===a?this.setClipPath(c):"extra"===a?(this.extra=this.extra||{},F(this.extra,c)):this[a]=c};b.prototype.hide=function(){this.ignore=!0;this.markRedraw()};b.prototype.show=function(){this.ignore=!1;this.markRedraw()};b.prototype.attr=function(a,c){if("string"===typeof a)this.attrKV(a,c);else if(N(a))for(var b=ia(a),e=0;e<b.length;e++){var f=b[e];this.attrKV(f,a[f])}this.markRedraw();return this};b.prototype.saveCurrentToNormalState=function(a){this._innerSaveToNormal(a);a=this._normalState;for(var c=0;c<this.animators.length;c++){var b=this.animators[c],e=b.__fromStateTransition;e&&"__zr_normal__"!==e||(e=b.targetName,b.saveFinalToTarget(e?a[e]:a))}};b.prototype._innerSaveToNormal=function(a){var c=this._normalState;c||(c=this._normalState={});a.textConfig&&!c.textConfig&&(c.textConfig=this.textConfig);this._savePrimaryToNormal(a,c,vo)};b.prototype._savePrimaryToNormal=function(a,c,b){for(var d=0;d<b.length;d++){var f=b[d];null==a[f]||f in c||(c[f]=this[f])}};b.prototype.hasState=function(){return 0<this.currentStates.length};b.prototype.getState=function(a){return this.states[a]};b.prototype.ensureState=function(a){var c=this.states;c[a]||(c[a]={});return c[a]};b.prototype.clearStates=function(a){this.useState("__zr_normal__",!1,a)};b.prototype.useState=function(a,c,d){var e="__zr_normal__"===a;if(this.hasState()||!e){var f=this.currentStates,g=this.stateTransition;if(!(0<=ba(f,a))||!c&&1!==f.length){var h;this.stateProxy&&!e&&(h=this.stateProxy(a));h||(h=this.states&&this.states[a]);if(h||e)return e||this.saveCurrentToNormalState(h),(f=!(!h||!h.hoverLayer))&&this._toggleHoverLayerFlag(!0),this._applyStateObj(a,h,this._normalState,c,!d&&!this.__inHover&&g&&0<g.duration,g),this._textContent&&this._textContent.useState(a,c),this._textGuide&&this._textGuide.useState(a,c),e?(this.currentStates=[],this._normalState={}):c?this.currentStates.push(a):this.currentStates=[a],this._updateAnimationTargets(),this.markRedraw(),!f&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~b.REDARAW_BIT),h;yb("State "+a+" not exists.")}}};b.prototype.useStates=function(a,c){if(a.length){var d=[],e=this.currentStates,f=a.length,g=f===e.length;if(g)for(var h=0;h<f;h++)if(a[h]!==e[h]){g=!1;break}if(!g){for(h=0;h<f;h++)e=a[h],g=void 0,this.stateProxy&&(g=this.stateProxy(e,a)),g||(g=this.states[e]),g&&d.push(g);(f=!(!d[f-1]||!d[f-1].hoverLayer))&&this._toggleHoverLayerFlag(!0);d=this._mergeStates(d);h=this.stateTransition;this.saveCurrentToNormalState(d);this._applyStateObj(a.join(","),d,this._normalState,!1,!c&&!this.__inHover&&h&&0<h.duration,h);this._textContent&&this._textContent.useStates(a);this._textGuide&&this._textGuide.useStates(a);this._updateAnimationTargets();this.currentStates=a.slice();this.markRedraw();!f&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~b.REDARAW_BIT)}}else this.clearStates()};b.prototype._updateAnimationTargets=function(){for(var a=0;a<this.animators.length;a++){var c=this.animators[a];c.targetName&&c.changeTarget(this[c.targetName])}};b.prototype.removeState=function(a){a=ba(this.currentStates,a);if(0<=a){var c=this.currentStates.slice();c.splice(a,1);this.useStates(c)}};b.prototype.replaceState=function(a,c,b){var d=this.currentStates.slice();a=ba(d,a);var f=0<=ba(d,c);0<=a?f?d.splice(a,1):d[a]=c:b&&!f&&d.push(c);this.useStates(d)};b.prototype.toggleState=function(a,c){c?this.useState(a,!0):this.removeState(a)};b.prototype._mergeStates=function(a){for(var c={},b,e=0;e<a.length;e++){var f=a[e];F(c,f);f.textConfig&&(b=b||{},F(b,f.textConfig))}b&&(c.textConfig=b);return c};b.prototype._applyStateObj=function(a,c,b,e,f,g){var d=!(c&&e);c&&c.textConfig?(this.textConfig=F({},e?this.textConfig:b.textConfig),F(this.textConfig,c.textConfig)):d&&b.textConfig&&(this.textConfig=b.textConfig);e={};for(var k=!1,l=0;l<vo.length;l++){var m=vo[l],n=f&&yI[m];c&&null!=c[m]?n?(k=!0,e[m]=c[m]):this[m]=c[m]:d&&null!=b[m]&&(n?(k=!0,e[m]=b[m]):this[m]=b[m])}if(!f)for(l=0;l<this.animators.length;l++)f=this.animators[l],d=f.targetName,f.__changeFinalValue(d?(c||b)[d]:c||b);k&&this._transitionState(a,e,g)};b.prototype._attachComponent=function(a){if(a.__zr&&!a.__hostTarget)throw Error("Text element has been added to zrender.");if(a===this)throw Error("Recursive component attachment.");var c=this.__zr;c&&a.addSelfToZr(c);a.__zr=c;a.__hostTarget=this};b.prototype._detachComponent=function(a){a.__zr&&a.removeSelfFromZr(a.__zr);a.__zr=null;a.__hostTarget=null};b.prototype.getClipPath=function(){return this._clipPath};b.prototype.setClipPath=function(a){this._clipPath&&this._clipPath!==a&&this.removeClipPath();this._attachComponent(a);this._clipPath=a;this.markRedraw()};b.prototype.removeClipPath=function(){var a=this._clipPath;a&&(this._detachComponent(a),this._clipPath=null,this.markRedraw())};b.prototype.getTextContent=function(){return this._textContent};b.prototype.setTextContent=function(a){var c=this._textContent;if(c!==a){c&&c!==a&&this.removeTextContent();if(a.__zr&&!a.__hostTarget)throw Error("Text element has been added to zrender.");a.attachedTransform=new Dc;this._attachComponent(a);this._textContent=a;this.markRedraw()}};b.prototype.setTextConfig=function(a){this.textConfig||(this.textConfig={});F(this.textConfig,a);this.markRedraw()};b.prototype.removeTextContent=function(){var a=this._textContent;a&&(a.attachedTransform=null,this._detachComponent(a),this._innerTextDefaultStyle=this._textContent=null,this.markRedraw())};b.prototype.getTextGuideLine=function(){return this._textGuide};b.prototype.setTextGuideLine=function(a){this._textGuide&&this._textGuide!==a&&this.removeTextGuideLine();this._attachComponent(a);this._textGuide=a;this.markRedraw()};b.prototype.removeTextGuideLine=function(){var a=this._textGuide;a&&(this._detachComponent(a),this._textGuide=null,this.markRedraw())};b.prototype.markRedraw=function(){this.__dirty|=b.REDARAW_BIT;var a=this.__zr;a&&(this.__inHover?a.refreshHover():a.refresh());this.__hostTarget&&this.__hostTarget.markRedraw()};b.prototype.dirty=function(){this.markRedraw()};b.prototype._toggleHoverLayerFlag=function(a){this.__inHover=a;var c=this._textContent,b=this._textGuide;c&&(c.__inHover=a);b&&(b.__inHover=a)};b.prototype.addSelfToZr=function(a){this.__zr=a;var c=this.animators;if(c)for(var b=0;b<c.length;b++)a.animation.addAnimator(c[b]);this._clipPath&&this._clipPath.addSelfToZr(a);this._textContent&&this._textContent.addSelfToZr(a);this._textGuide&&this._textGuide.addSelfToZr(a)};b.prototype.removeSelfFromZr=function(a){this.__zr=null;var c=this.animators;if(c)for(var b=0;b<c.length;b++)a.animation.removeAnimator(c[b]);this._clipPath&&this._clipPath.removeSelfFromZr(a);this._textContent&&this._textContent.removeSelfFromZr(a);this._textGuide&&this._textGuide.removeSelfFromZr(a)};b.prototype.animate=function(a,c){var b=a?this[a]:this;if(b)return b=new Mk(b,c),this.addAnimator(b,a),b;yb('Property "'+a+'" is not existed in element '+this.id)};b.prototype.addAnimator=function(a,c){var b=this.__zr,e=this;a.during(function(){e.updateDuringAnimation(c)}).done(function(){var c=e.animators,b=ba(c,a);0<=b&&c.splice(b,1)});this.animators.push(a);b&&b.animation.addAnimator(a);b&&b.wakeUp()};b.prototype.updateDuringAnimation=function(a){this.markRedraw()};b.prototype.stopAnimation=function(a,c){for(var b=this.animators,e=b.length,f=[],g=0;g<e;g++){var h=b[g];a&&a!==h.scope?f.push(h):h.stop(c)}this.animators=f;return this};b.prototype.animateTo=function(a,c,b){Kk(this,a,c,b)};b.prototype.animateFrom=function(a,c,b){Kk(this,a,c,b,!0)};b.prototype._transitionState=function(a,c,b,e){c=Kk(this,c,b,e);for(b=0;b<c.length;b++)c[b].__fromStateTransition=a};b.prototype.getBoundingRect=function(){return null};b.prototype.getPaintRect=function(){return null};b.REDARAW_BIT=1;b.initDefaultProps=function(){function a(c,a,b){e[c+a+b]||(console.warn("DEPRECATED: '"+c+"' has been deprecated. use '"+a+"', '"+b+"' instead"),e[c+a+b]=!0)}function c(c,b,e,k){function f(c,a){Object.defineProperty(a,0,{get:function(){return c[e]},set:function(a){c[e]=a}});Object.defineProperty(a,1,{get:function(){return c[k]},set:function(a){c[k]=a}})}Object.defineProperty(d,c,{get:function(){a(c,e,k);if(!this[b]){var d=this[b]=[];f(this,d)}return this[b]},set:function(d){a(c,e,k);this[e]=d[0];this[k]=d[1];this[b]=d;f(this,d)}})}var d=b.prototype;d.type="element";d.name="";d.ignore=!1;d.silent=!1;d.isGroup=!1;d.draggable=!1;d.dragging=!1;d.ignoreClip=!1;d.__inHover=!1;d.__dirty=b.REDARAW_BIT;var e={};Object.defineProperty&&(!X.browser.ie||8<X.browser.version)&&(c("position","_legacyPos","x","y"),c("scale","_legacyScale","scaleX","scaleY"),c("origin","_legacyOrigin","originX","originY"))}();return b}();wa(Hb,$b);wa(Hb,Dc);var oq=!1,zI=function(){function b(){this._roots=[];this._displayList=[];this._displayListLen=0;this.displayableSortFunc=pq}b.prototype.traverse=function(a,c){for(var b=0;b<this._roots.length;b++)this._roots[b].traverse(a,c)};b.prototype.getDisplayList=function(a,c){var b=this._displayList;!a&&b.length||this.updateDisplayList(c||!1);return b};b.prototype.updateDisplayList=function(a){this._displayListLen=0;for(var c=this._roots,b=this._displayList,e=0,f=c.length;e<f;e++)this._updateAndAddDisplayable(c[e],null,a);b.length=this._displayListLen;X.canvasSupported&&Pk(b,pq)};b.prototype._updateAndAddDisplayable=function(a,c,b){if(!a.ignore||b){a.beforeUpdate();a.update();a.afterUpdate();var d=a.getClipPath();if(a.ignoreClip)c=null;else if(d){c=c?c.slice():[];for(var f=a;d;)d.parent=f,d.updateTransform(),c.push(d),f=d,d=d.getClipPath()}if(a.childrenRef){d=a.childrenRef();for(f=0;f<d.length;f++){var g=d[f];a.__dirty&&(g.__dirty|=Hb.REDARAW_BIT);this._updateAndAddDisplayable(g,c,b)}a.__dirty=0}else c&&c.length?a.__clipPaths=c:a.__clipPaths&&0<a.__clipPaths.length&&(a.__clipPaths=[]),isNaN(a.z)&&(Qk(),a.z=0),isNaN(a.z2)&&(Qk(),a.z2=0),isNaN(a.zlevel)&&(Qk(),a.zlevel=0),this._displayList[this._displayListLen++]=a;(d=a.getDecalElement&&a.getDecalElement())&&this._updateAndAddDisplayable(d,c,b);(d=a.getTextGuideLine())&&this._updateAndAddDisplayable(d,c,b);(a=a.getTextContent())&&this._updateAndAddDisplayable(a,c,b)}};b.prototype.addRoot=function(a){a.__zr&&a.__zr.storage===this||this._roots.push(a)};b.prototype.delRoot=function(a){if(a instanceof Array)for(var c=0,b=a.length;c<b;c++)this.delRoot(a[c]);else a=ba(this._roots,a),0<=a&&this._roots.splice(a,1)};b.prototype.delAllRoots=function(){this._roots=[];this._displayList=[];this._displayListLen=0};b.prototype.getRoots=function(){return this._roots};b.prototype.dispose=function(){this._roots=this._displayList=null};return b}(),wo="undefined"!==typeof window&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(b){return setTimeout(b,16)},AI=function(b){function a(c){var a=b.call(this)||this;a._running=!1;a._time=0;a._pausedTime=0;a._pauseStart=0;a._paused=!1;c=c||{};a.stage=c.stage||{};a.onframe=c.onframe||function(){};return a}x(a,b);a.prototype.addClip=function(c){c.animation&&this.removeClip(c);this._clipsHead?(this._clipsTail.next=c,c.prev=this._clipsTail,c.next=null,this._clipsTail=c):this._clipsHead=this._clipsTail=c;c.animation=this};a.prototype.addAnimator=function(c){c.animation=this;(c=c.getClip())&&this.addClip(c)};a.prototype.removeClip=function(c){if(c.animation){var a=c.prev,b=c.next;a?a.next=b:this._clipsHead=b;b?b.prev=a:this._clipsTail=a;c.next=c.prev=c.animation=null}};a.prototype.removeAnimator=function(c){var a=c.getClip();a&&this.removeClip(a);c.animation=null};a.prototype.update=function(c){for(var a=(new Date).getTime()-this._pausedTime,b=a-this._time,f=this._clipsHead;f;){var g=f.next;f.step(a,b)&&(f.ondestroy&&f.ondestroy(),this.removeClip(f));f=g}this._time=a;c||(this.onframe(b),this.trigger("frame",b),this.stage.update&&this.stage.update())};a.prototype._startLoop=function(){function c(){a._running&&(wo(c),!a._paused&&a.update())}var a=this;this._running=!0;wo(c)};a.prototype.start=function(){this._running||(this._time=(new Date).getTime(),this._pausedTime=0,this._startLoop())};a.prototype.stop=function(){this._running=!1};a.prototype.pause=function(){this._paused||(this._pauseStart=(new Date).getTime(),this._paused=!0)};a.prototype.resume=function(){this._paused&&(this._pausedTime+=(new Date).getTime()-this._pauseStart,this._paused=!1)};a.prototype.clear=function(){for(var c=this._clipsHead;c;){var a=c.next;c.prev=c.next=c.animation=null;c=a}this._clipsHead=this._clipsTail=null};a.prototype.isFinished=function(){return null==this._clipsHead};a.prototype.animate=function(c,a){a=a||{};this.start();var b=new Mk(c,a.loop);this.addAnimator(b);return b};return a}($b),xo=X.domSupported,Sk=function(){var b="click dblclick mousewheel wheel mouseout mouseup mousedown mousemove contextmenu".split(" "),a={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},c=C(b,function(c){var b=c.replace("mouse","pointer");return a.hasOwnProperty(b)?b:c});return{mouse:b,touch:["touchstart","touchend","touchmove"],pointer:c}}(),rq={mouse:["mousemove","mouseup"],pointer:["pointermove","pointerup"]},ky=!1,qA=function(){return function(b,a){this.preventDefault=this.stopImmediatePropagation=this.stopPropagation=hc;this.type=a.type;this.target=this.currentTarget=b.dom;this.pointerType=a.pointerType;this.clientX=a.clientX;this.clientY=a.clientY}}(),dc={mousedown:function(b){b=Ab(this.dom,b);this.__mayPointerCapture=[b.zrX,b.zrY];this.trigger("mousedown",b)},mousemove:function(b){b=Ab(this.dom,b);var a=this.__mayPointerCapture;!a||b.zrX===a[0]&&b.zrY===a[1]||this.__togglePointerCapture(!0);this.trigger("mousemove",b)},mouseup:function(b){b=Ab(this.dom,b);this.__togglePointerCapture(!1);this.trigger("mouseup",b)},mouseout:function(b){b=Ab(this.dom,b);qq(this,b.toElement||b.relatedTarget)||(this.__pointerCapturing&&(b.zrEventControl="no_globalout"),this.trigger("mouseout",b))},wheel:function(b){ky=!0;b=Ab(this.dom,b);this.trigger("mousewheel",b)},mousewheel:function(b){ky||(b=Ab(this.dom,b),this.trigger("mousewheel",b))},touchstart:function(b){(b=Ab(this.dom,b))&&(b.zrByTouch=!0);this.__lastTouchMoment=new Date;this.handler.processGesture(b,"start");dc.mousemove.call(this,b);dc.mousedown.call(this,b)},touchmove:function(b){(b=Ab(this.dom,b))&&(b.zrByTouch=!0);this.handler.processGesture(b,"change");dc.mousemove.call(this,b)},touchend:function(b){(b=Ab(this.dom,b))&&(b.zrByTouch=!0);this.handler.processGesture(b,"end");dc.mouseup.call(this,b);300>+new Date-+this.__lastTouchMoment&&dc.click.call(this,b)},pointerdown:function(b){dc.mousedown.call(this,b)},pointermove:function(b){Rk(b)||dc.mousemove.call(this,b)},pointerup:function(b){dc.mouseup.call(this,b)},pointerout:function(b){Rk(b)||dc.mouseout.call(this,b)}};r(["click","dblclick","contextmenu"],function(b){dc[b]=function(a){a=Ab(this.dom,a);this.trigger(b,a)}});var yo={pointermove:function(b){Rk(b)||yo.mousemove.call(this,b)},pointerup:function(b){yo.mouseup.call(this,b)},mousemove:function(b){this.trigger("mousemove",b)},mouseup:function(b){var a=this.__pointerCapturing;this.__togglePointerCapture(!1);this.trigger("mouseup",b);a&&(b.zrEventControl="only_globalout",this.trigger("mouseout",b))}},ly=function(){return function(b,a){this.mounted={};this.listenerOpts={};this.touching=!1;this.domTarget=b;this.domHandlers=a}}(),BI=function(b){function a(c,a){var d=b.call(this)||this;d.__pointerCapturing=!1;d.dom=c;d.painterRoot=a;d._localHandlerScope=new ly(c,dc);xo&&(d._globalHandlerScope=new ly(document,yo));oA(d,d._localHandlerScope);return d}x(a,b);a.prototype.dispose=function(){Tk(this._localHandlerScope);xo&&Tk(this._globalHandlerScope)};a.prototype.setCursor=function(c){this.dom.style&&(this.dom.style.cursor=c||"default")};a.prototype.__togglePointerCapture=function(c){this.__mayPointerCapture=null;if(xo&&+this.__pointerCapturing^+c){this.__pointerCapturing=c;var a=this._globalHandlerScope;c?pA(this,a):Tk(a)}};return a}($b),M=function(b){function a(c){var a=b.call(this)||this;a.isGroup=!0;a._children=[];a.attr(c);return a}x(a,b);a.prototype.childrenRef=function(){return this._children};a.prototype.children=function(){return this._children.slice()};a.prototype.childAt=function(c){return this._children[c]};a.prototype.childOfName=function(c){for(var a=this._children,b=0;b<a.length;b++)if(a[b].name===c)return a[b]};a.prototype.childCount=function(){return this._children.length};a.prototype.add=function(c){if(c&&(c!==this&&c.parent!==this&&(this._children.push(c),this._doAdd(c)),c.__hostTarget))throw"This elemenet has been used as an attachment";return this};a.prototype.addBefore=function(c,a){if(c&&c!==this&&c.parent!==this&&a&&a.parent===this){var b=this._children,d=b.indexOf(a);0<=d&&(b.splice(d,0,c),this._doAdd(c))}return this};a.prototype.replaceAt=function(c,a){var b=this._children,d=b[a];c&&c!==this&&c.parent!==this&&c!==d&&(b[a]=c,d.parent=null,(b=this.__zr)&&d.removeSelfFromZr(b),this._doAdd(c));return this};a.prototype._doAdd=function(c){c.parent&&c.parent.remove(c);c.parent=this;var a=this.__zr;a&&a!==c.__zr&&c.addSelfToZr(a);a&&a.refresh()};a.prototype.remove=function(c){var a=this.__zr,b=this._children,f=ba(b,c);if(0>f)return this;b.splice(f,1);c.parent=null;a&&c.removeSelfFromZr(a);a&&a.refresh();return this};a.prototype.removeAll=function(){for(var c=this._children,a=this.__zr,b=0;b<c.length;b++){var f=c[b];a&&f.removeSelfFromZr(a);f.parent=null}c.length=0;return this};a.prototype.eachChild=function(c,a){for(var b=this._children,d=0;d<b.length;d++)c.call(a,b[d],d);return this};a.prototype.traverse=function(c,a){for(var b=0;b<this._children.length;b++){var d=this._children[b],g=c.call(a,d);d.isGroup&&!g&&d.traverse(c,a)}return this};a.prototype.addSelfToZr=function(c){b.prototype.addSelfToZr.call(this,c);for(var a=0;a<this._children.length;a++)this._children[a].addSelfToZr(c)};a.prototype.removeSelfFromZr=function(c){b.prototype.removeSelfFromZr.call(this,c);for(var a=0;a<this._children.length;a++)this._children[a].removeSelfFromZr(c)};a.prototype.getBoundingRect=function(c){var a=new aa(0,0,0,0);c=c||this._children;for(var b=[],f=null,g=0;g<c.length;g++){var h=c[g];if(!h.ignore&&!h.invisible){var k=h.getBoundingRect();(h=h.getLocalTransform(b))?(aa.applyTransform(a,k,h),f=f||a.clone(),f.union(a)):(f=f||k.clone(),f.union(k))}}return f||a};return a}(Hb);M.prototype.type="group";var CI=!X.canvasSupported,Ff={},Hd={},sA=function(){function b(a,c,b){var d=this;this._sleepAfterStill=10;this._stillFrameAccum=0;this._needsRefreshHover=this._needsRefresh=!0;this._darkMode=!1;b=b||{};this.dom=c;this.id=a;var f=new zI,g=b.renderer||"canvas";if(CI)throw Error("IE8 support has been dropped since 5.0");Ff[g]||(g=ia(Ff)[0]);if(!Ff[g])throw Error("Renderer '"+g+"' is not imported. Please import it first.");b.useDirtyRect=null==b.useDirtyRect?!1:b.useDirtyRect;a=new Ff[g](c,f,b,a);this.storage=f;this.painter=a;c=X.node||X.worker?null:new BI(a.getViewportRoot(),a.root);this.handler=new gy(f,a,c,a.root);this.animation=new AI({stage:{update:function(){return d._flush(!0)}}});this.animation.start()}b.prototype.add=function(a){a&&(this.storage.addRoot(a),a.addSelfToZr(this),this.refresh())};b.prototype.remove=function(a){a&&(this.storage.delRoot(a),a.removeSelfFromZr(this),this.refresh())};b.prototype.configLayer=function(a,c){this.painter.configLayer&&this.painter.configLayer(a,c);this.refresh()};b.prototype.setBackgroundColor=function(a){this.painter.setBackgroundColor&&this.painter.setBackgroundColor(a);this.refresh();this._backgroundColor=a;this._darkMode=rA(a)};b.prototype.getBackgroundColor=function(){return this._backgroundColor};b.prototype.setDarkMode=function(a){this._darkMode=a};b.prototype.isDarkMode=function(){return this._darkMode};b.prototype.refreshImmediately=function(a){a||this.animation.update(!0);this._needsRefresh=!1;this.painter.refresh();this._needsRefresh=!1};b.prototype.refresh=function(){this._needsRefresh=!0;this.animation.start()};b.prototype.flush=function(){this._flush(!1)};b.prototype._flush=function(a){var c,b=(new Date).getTime();this._needsRefresh&&(c=!0,this.refreshImmediately(a));this._needsRefreshHover&&(c=!0,this.refreshHoverImmediately());a=(new Date).getTime();c?(this._stillFrameAccum=0,this.trigger("rendered",{elapsedTime:a-b})):0<this._sleepAfterStill&&(this._stillFrameAccum++,this._stillFrameAccum>this._sleepAfterStill&&this.animation.stop())};b.prototype.setSleepAfterStill=function(a){this._sleepAfterStill=a};b.prototype.wakeUp=function(){this.animation.start();this._stillFrameAccum=0};b.prototype.addHover=function(a){};b.prototype.removeHover=function(a){};b.prototype.clearHover=function(){};b.prototype.refreshHover=function(){this._needsRefreshHover=!0};b.prototype.refreshHoverImmediately=function(){this._needsRefreshHover=!1;this.painter.refreshHover&&"canvas"===this.painter.getType()&&this.painter.refreshHover()};b.prototype.resize=function(a){a=a||{};this.painter.resize(a.width,a.height);this.handler.resize()};b.prototype.clearAnimation=function(){this.animation.clear()};b.prototype.getWidth=function(){return this.painter.getWidth()};b.prototype.getHeight=function(){return this.painter.getHeight()};b.prototype.pathToImage=function(a,c){if(this.painter.pathToImage)return this.painter.pathToImage(a,c)};b.prototype.setCursorStyle=function(a){this.handler.setCursorStyle(a)};b.prototype.findHover=function(a,c){return this.handler.findHover(a,c)};b.prototype.on=function(a,c,b){this.handler.on(a,c,b);return this};b.prototype.off=function(a,c){this.handler.off(a,c)};b.prototype.trigger=function(a,c){this.handler.trigger(a,c)};b.prototype.clear=function(){for(var a=this.storage.getRoots(),c=0;c<a.length;c++)a[c]instanceof M&&a[c].removeSelfFromZr(this);this.storage.delAllRoots();this.painter.clear()};b.prototype.dispose=function(){this.animation.stop();this.clear();this.storage.dispose();this.painter.dispose();this.handler.dispose();this.animation=this.storage=this.painter=this.handler=null;delete Hd[this.id]};return b}(),DI=Object.freeze({__proto__:null,init:Uk,dispose:function(b){b.dispose()},disposeAll:function(){for(var b in Hd)Hd.hasOwnProperty(b)&&Hd[b].dispose();Hd={}},getInstance:function(b){return Hd[b]},registerPainter:function(b,a){Ff[b]=a},version:"5.0.3"}),tA=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d{1,2})(?::(\d{1,2})(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/,xq={},ci="undefined"!==typeof console&&console.warn&&console.log,Sr="fontStyle fontWeight fontSize fontFamily rich tag color textBorderColor textBorderWidth width height lineHeight align verticalAlign baseline shadowColor shadowBlur shadowOffsetX shadowOffsetY textShadowColor textShadowBlur textShadowOffsetX textShadowOffsetY backgroundColor borderColor borderWidth borderRadius padding".split(" "),DA=Math.round(9*Math.random()),Da={useDefault:!0,enableAll:!1,enableNone:!1},EI={useDefault:!1,enableAll:!0,enableNone:!0},FI=Math.round(10*Math.random()),GI=Kd([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),HI=function(){function b(){}b.prototype.getAreaStyle=function(a,c){return GI(this,a,c)};return b}(),el=new Yf(50),zo=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g,HA=function(){return function(){}}(),Iq=function(){return function(b){this.tokens=[];b&&(this.tokens=b)}}(),II=function(){return function(){this.outerHeight=this.outerWidth=this.contentHeight=this.contentWidth=this.height=this.width=0;this.lines=[]}}(),IA=Ed(",\x26?/;] ".split(""),function(b,a){b[a]=!0;return b},{}),Ao="__zr_style_"+Math.round(10*Math.random()),Ud={shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",opacity:1,blend:"source-over"},Jj={style:{shadowBlur:!0,shadowOffsetX:!0,shadowOffsetY:!0,shadowColor:!0,opacity:!0}};Ud[Ao]=!0;var Bo=["z","z2","invisible"],de=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype._init=function(c){for(var a=ia(c),e=0;e<a.length;e++){var f=a[e];"style"===f?this.useStyle(c[f]):b.prototype.attrKV.call(this,f,c[f])}this.style||this.useStyle({})};a.prototype.beforeBrush=function(){};a.prototype.afterBrush=function(){};a.prototype.innerBeforeBrush=function(){};a.prototype.innerAfterBrush=function(){};a.prototype.shouldBePainted=function(c,a,b,f){var d=this.transform,e;!(e=this.ignore||this.invisible||0===this.style.opacity)&&(e=this.culling)&&(Co.copy(this.getBoundingRect()),this.transform&&Co.applyTransform(this.transform),Do.width=c,Do.height=a,e=!Co.intersect(Do));if(e||d&&!d[0]&&!d[3])return!1;if(b&&this.__clipPaths)for(c=0;c<this.__clipPaths.length;++c)if(this.__clipPaths[c].isZeroArea())return!1;if(f&&this.parent)for(f=this.parent;f;){if(f.ignore)return!1;f=f.parent}return!0};a.prototype.contain=function(c,a){return this.rectContain(c,a)};a.prototype.traverse=function(c,a){c.call(a,this)};a.prototype.rectContain=function(c,a){var b=this.transformCoordToLocal(c,a);return this.getBoundingRect().contain(b[0],b[1])};a.prototype.getPaintRect=function(){var c=this._paintRect;if(!this._paintRect||this.__dirty){var a=this.transform,b=this.getBoundingRect(),c=this.style,f=c.shadowBlur||0,g=c.shadowOffsetX||0,h=c.shadowOffsetY||0,c=this._paintRect||(this._paintRect=new aa(0,0,0,0));a?aa.applyTransform(c,b,a):c.copy(b);if(f||g||h)c.width+=2*f+Math.abs(g),c.height+=2*f+Math.abs(h),c.x=Math.min(c.x,c.x+g-f),c.y=Math.min(c.y,c.y+h-f);a=this.dirtyRectTolerance;c.isZero()||(c.x=Math.floor(c.x-a),c.y=Math.floor(c.y-a),c.width=Math.ceil(c.width+1+2*a),c.height=Math.ceil(c.height+1+2*a))}return c};a.prototype.setPrevPaintRect=function(c){c?(this._prevPaintRect=this._prevPaintRect||new aa(0,0,0,0),this._prevPaintRect.copy(c)):this._prevPaintRect=null};a.prototype.getPrevPaintRect=function(){return this._prevPaintRect};a.prototype.animateStyle=function(c){return this.animate("style",c)};a.prototype.updateDuringAnimation=function(c){"style"===c?this.dirtyStyle():this.markRedraw()};a.prototype.attrKV=function(c,a){"style"!==c?b.prototype.attrKV.call(this,c,a):this.style?this.setStyle(a):this.useStyle(a)};a.prototype.setStyle=function(c,a){"string"===typeof c?this.style[c]=a:F(this.style,c);this.dirtyStyle();return this};a.prototype.dirtyStyle=function(){this.markRedraw();this.__dirty|=a.STYLE_CHANGED_BIT;this._rect&&(this._rect=null)};a.prototype.dirty=function(){this.dirtyStyle()};a.prototype.styleChanged=function(){return!!(this.__dirty&a.STYLE_CHANGED_BIT)};a.prototype.styleUpdated=function(){this.__dirty&=~a.STYLE_CHANGED_BIT};a.prototype.createStyle=function(c){return He(Ud,c)};a.prototype.useStyle=function(c){c[Ao]||(c=this.createStyle(c));this.__inHover?this.__hoverStyle=c:this.style=c;this.dirtyStyle()};a.prototype.isStyleObject=function(c){return c[Ao]};a.prototype._innerSaveToNormal=function(c){b.prototype._innerSaveToNormal.call(this,c);var a=this._normalState;c.style&&!a.style&&(a.style=this._mergeStyle(this.createStyle(),this.style));this._savePrimaryToNormal(c,a,Bo)};a.prototype._applyStateObj=function(c,a,e,f,g,h){b.prototype._applyStateObj.call(this,c,a,e,f,g,h);var d=!(a&&f),l;a&&a.style?g?f?l=a.style:(l=this._mergeStyle(this.createStyle(),e.style),this._mergeStyle(l,a.style)):(l=this._mergeStyle(this.createStyle(),f?this.style:e.style),this._mergeStyle(l,a.style)):d&&(l=e.style);if(l)if(g){var m=this.style;this.style=this.createStyle(d?{}:m);if(d){var n=ia(m);for(f=0;f<n.length;f++)g=n[f],g in l&&(l[g]=l[g],this.style[g]=m[g])}m=ia(l);for(f=0;f<m.length;f++)g=m[f],this.style[g]=this.style[g];this._transitionState(c,{style:l},h,this.getAnimationStyleProps())}else this.useStyle(l);for(f=0;f<Bo.length;f++)g=Bo[f],a&&null!=a[g]?this[g]=a[g]:d&&null!=e[g]&&(this[g]=e[g])};a.prototype._mergeStates=function(c){for(var a=b.prototype._mergeStates.call(this,c),e,f=0;f<c.length;f++){var g=c[f];g.style&&(e=e||{},this._mergeStyle(e,g.style))}e&&(a.style=e);return a};a.prototype._mergeStyle=function(c,a){F(c,a);return c};a.prototype.getAnimationStyleProps=function(){return Jj};a.STYLE_CHANGED_BIT=2;a.initDefaultProps=function(){var c=a.prototype;c.type="displayable";c.invisible=!1;c.z=0;c.z2=0;c.zlevel=0;c.culling=!1;c.cursor="pointer";c.rectHover=!1;c.incremental=!1;c._rect=null;c.dirtyRectTolerance=0;c.__dirty=Hb.REDARAW_BIT|a.STYLE_CHANGED_BIT}();return a}(Hb),Co=new aa(0,0,0,0),Do=new aa(0,0,0,0),fi=Math.pow,Wc=Math.sqrt,Kq=Wc(3),gi=1/3,lc=Oc(),Eb=Oc(),Se=Oc(),$a=Math.min,Ta=Math.max,Eo=Math.sin,Fo=Math.cos,se=2*Math.PI,Kj=Oc(),Lj=Oc(),Mj=Oc(),my=[],ny=[],qa={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},te=[],ue=[],xc=[],xd=[],yc=[],zc=[],kh=Math.min,lh=Math.max,ve=Math.cos,we=Math.sin,Nj=Math.sqrt,Lc=Math.abs,Ld=Math.PI,Zc=2*Ld,Go="undefined"!==typeof Float32Array,mh=[],pc=function(){function b(a){this.dpr=1;this._len=this._y0=this._x0=this._yi=this._xi=this._version=0;a&&(this._saveData=!1);this._saveData&&(this.data=[])}b.prototype.increaseVersion=function(){this._version++};b.prototype.getVersion=function(){return this._version};b.prototype.setScale=function(a,c,b){b=b||0;0<b&&(this._ux=Lc(b/Ij/a)||0,this._uy=Lc(b/Ij/c)||0)};b.prototype.setDPR=function(a){this.dpr=a};b.prototype.setContext=function(a){this._ctx=a};b.prototype.getContext=function(){return this._ctx};b.prototype.beginPath=function(){this._ctx&&this._ctx.beginPath();this.reset();return this};b.prototype.reset=function(){this._saveData&&(this._len=0);this._lineDash&&(this._lineDash=null,this._dashOffset=0);this._pathSegLen&&(this._pathSegLen=null,this._pathLen=0);this._version++};b.prototype.moveTo=function(a,c){this.addData(qa.M,a,c);this._ctx&&this._ctx.moveTo(a,c);this._x0=a;this._y0=c;this._xi=a;this._yi=c;return this};b.prototype.lineTo=function(a,c){var b=Lc(a-this._xi)>this._ux||Lc(c-this._yi)>this._uy||5>this._len;this.addData(qa.L,a,c);this._ctx&&b&&(this._needsDash?this._dashedLineTo(a,c):this._ctx.lineTo(a,c));b&&(this._xi=a,this._yi=c);return this};b.prototype.bezierCurveTo=function(a,c,b,e,f,g){this.addData(qa.C,a,c,b,e,f,g);this._ctx&&(this._needsDash?this._dashedBezierTo(a,c,b,e,f,g):this._ctx.bezierCurveTo(a,c,b,e,f,g));this._xi=f;this._yi=g;return this};b.prototype.quadraticCurveTo=function(a,c,b,e){this.addData(qa.Q,a,c,b,e);this._ctx&&(this._needsDash?this._dashedQuadraticTo(a,c,b,e):this._ctx.quadraticCurveTo(a,c,b,e));this._xi=b;this._yi=e;return this};b.prototype.arc=function(a,c,b,e,f,g){mh[0]=e;mh[1]=f;Pq(mh,g);e=mh[0];f=mh[1];this.addData(qa.A,a,c,b,b,e,f-e,0,g?0:1);this._ctx&&this._ctx.arc(a,c,b,e,f,g);this._xi=ve(f)*b+a;this._yi=we(f)*b+c;return this};b.prototype.arcTo=function(a,c,b,e,f){this._ctx&&this._ctx.arcTo(a,c,b,e,f);return this};b.prototype.rect=function(a,c,b,e){this._ctx&&this._ctx.rect(a,c,b,e);this.addData(qa.R,a,c,b,e);return this};b.prototype.closePath=function(){this.addData(qa.Z);var a=this._ctx,c=this._x0,b=this._y0;a&&(this._needsDash&&this._dashedLineTo(c,b),a.closePath());this._xi=c;this._yi=b;return this};b.prototype.fill=function(a){a&&a.fill();this.toStatic()};b.prototype.stroke=function(a){a&&a.stroke();this.toStatic()};b.prototype.setLineDash=function(a){if(a instanceof Array){this._lineDash=a;for(var c=this._dashIdx=0,b=0;b<a.length;b++)c+=a[b];this._dashSum=c;this._needsDash=!0}else this._lineDash=null,this._needsDash=!1;return this};b.prototype.setLineDashOffset=function(a){this._dashOffset=a;return this};b.prototype.len=function(){return this._len};b.prototype.setData=function(a){var c=a.length;this.data&&this.data.length===c||!Go||(this.data=new Float32Array(c));for(var b=0;b<c;b++)this.data[b]=a[b];this._len=c};b.prototype.appendPath=function(a){a instanceof Array||(a=[a]);for(var c=a.length,b=0,e=this._len,f=0;f<c;f++)b+=a[f].len();Go&&this.data instanceof Float32Array&&(this.data=new Float32Array(e+b));for(f=0;f<c;f++)for(var b=a[f].data,g=0;g<b.length;g++)this.data[e++]=b[g];this._len=e};b.prototype.addData=function(a,c,b,e,f,g,h,k,l){if(this._saveData){var d=this.data;this._len+arguments.length>d.length&&(this._expandData(),d=this.data);for(var n=0;n<arguments.length;n++)d[this._len++]=arguments[n]}};b.prototype._expandData=function(){if(!(this.data instanceof Array)){for(var a=[],c=0;c<this._len;c++)a[c]=this.data[c];this.data=a}};b.prototype._dashedLineTo=function(a,c){var b=this._dashSum,e=this._lineDash,f=this._ctx,g=this._dashOffset,h=this._xi,k=this._yi,l=a-h,m=c-k,n=Nj(l*l+m*m),p=e.length,q,l=l/n,m=m/n;0>g&&(g=b+g);g%=b;b=h-g*l;for(g=k-g*m;0<l&&b<=a||0>l&&b>=a||0===l&&(0<m&&g<=c||0>m&&g>=c);)if(q=this._dashIdx,n=e[q],b+=l*n,g+=m*n,this._dashIdx=(q+1)%p,!(0<l&&b<h||0>l&&b>h||0<m&&g<k||0>m&&g>k))f[q%2?"moveTo":"lineTo"](0<=l?kh(b,a):lh(b,a),0<=m?kh(g,c):lh(g,c));l=b-a;m=g-c;this._dashOffset=-Nj(l*l+m*m)};b.prototype._dashedBezierTo=function(a,c,b,e,f,g){var d=this._ctx,k=this._dashSum,l=this._dashOffset,m=this._lineDash,n=this._xi,p=this._yi,q=0,t=this._dashIdx,u=m.length,w,v,z,r,y=0;0>l&&(l=k+l);l%=k;for(k=0;1>k;k+=.1)w=Oa(n,a,b,f,k+.1)-Oa(n,a,b,f,k),v=Oa(p,c,e,g,k+.1)-Oa(p,c,e,g,k),q+=Nj(w*w+v*v);for(;t<u&&!(y+=m[t],y>l);t++);for(k=(y-l)/q;1>=k;)z=Oa(n,a,b,f,k),r=Oa(p,c,e,g,k),t%2?d.moveTo(z,r):d.lineTo(z,r),k+=m[t]/q,t=(t+1)%u;0!==t%2&&d.lineTo(f,g);w=f-z;v=g-r;this._dashOffset=-Nj(w*w+v*v)};b.prototype._dashedQuadraticTo=function(a,c,b,e){var d=b,g=e;b=(b+2*a)/3;e=(e+2*c)/3;a=(this._xi+2*a)/3;c=(this._yi+2*c)/3;this._dashedBezierTo(a,c,b,e,d,g)};b.prototype.toStatic=function(){if(this._saveData){var a=this.data;a instanceof Array&&(a.length=this._len,Go&&11<this._len&&(this.data=new Float32Array(a)))}};b.prototype.getBoundingRect=function(){xc[0]=xc[1]=yc[0]=yc[1]=Number.MAX_VALUE;xd[0]=xd[1]=zc[0]=zc[1]=-Number.MAX_VALUE;var a=this.data,c=0,b=0,e=0,f=0,g;for(g=0;g<this._len;){var h=a[g++],k=1===g;k&&(c=a[g],b=a[g+1],e=c,f=b);switch(h){case qa.M:c=e=a[g++];b=f=a[g++];yc[0]=e;yc[1]=f;zc[0]=e;zc[1]=f;break;case qa.L:var h=c,l=a[g],c=a[g+1],m=yc,k=zc;m[0]=$a(h,l);m[1]=$a(b,c);k[0]=Ta(h,l);k[1]=Ta(b,c);c=a[g++];b=a[g++];break;case qa.C:var h=c,n=a[g++],l=a[g++],p=a[g++],c=a[g++],m=a[g],k=a[g+1],q=yc,t=zc,u=Lq,w=Oa,v=u(h,n,p,m,my);q[0]=Infinity;q[1]=Infinity;t[0]=-Infinity;t[1]=-Infinity;for(var z=0;z<v;z++){var r=w(h,n,p,m,my[z]);q[0]=$a(r,q[0]);t[0]=Ta(r,t[0])}v=u(b,l,c,k,ny);for(z=0;z<v;z++)n=w(b,l,c,k,ny[z]),q[1]=$a(n,q[1]),t[1]=Ta(n,t[1]);q[0]=$a(h,q[0]);t[0]=Ta(h,t[0]);q[0]=$a(m,q[0]);t[0]=Ta(m,t[0]);q[1]=$a(b,q[1]);t[1]=Ta(b,t[1]);q[1]=$a(k,q[1]);t[1]=Ta(k,t[1]);c=a[g++];b=a[g++];break;case qa.Q:h=c;w=a[g++];q=a[g++];l=a[g];c=a[g+1];m=yc;k=zc;z=Nq;t=Za;v=Ta($a(z(h,w,l),1),0);z=Ta($a(z(b,q,c),1),0);w=t(h,w,l,v);q=t(b,q,c,z);m[0]=$a(h,l,w);m[1]=$a(b,c,q);k[0]=Ta(h,l,w);k[1]=Ta(b,c,q);c=a[g++];b=a[g++];break;case qa.A:c=a[g++];h=a[g++];m=a[g++];b=a[g++];v=a[g++];l=a[g++]+v;g+=1;n=!a[g++];k&&(e=ve(v)*m+c,f=we(v)*b+h);var k=c,q=h,t=m,w=b,z=l,y=n,n=yc,p=zc,u=Qc,r=Rc,L=Math.abs(v-z);if(1E-4>L%se&&1E-4<L)n[0]=k-t,n[1]=q-w,p[0]=k+t,p[1]=q+w;else for(Kj[0]=Fo(v)*t+k,Kj[1]=Eo(v)*w+q,Lj[0]=Fo(z)*t+k,Lj[1]=Eo(z)*w+q,u(n,Kj,Lj),r(p,Kj,Lj),v%=se,0>v&&(v+=se),z%=se,0>z&&(z+=se),v>z&&!y?z+=se:v<z&&y&&(v+=se),y&&(y=z,z=v,v=y),y=0;y<z;y+=Math.PI/2)y>v&&(Mj[0]=Fo(y)*t+k,Mj[1]=Eo(y)*w+q,u(n,Mj,n),r(p,Mj,p));c=ve(l)*m+c;b=we(l)*b+h;break;case qa.R:e=c=a[g++];f=b=a[g++];m=a[g++];k=a[g++];h=e;l=f;m=e+m;k=f+k;q=yc;t=zc;q[0]=$a(h,m);q[1]=$a(l,k);t[0]=Ta(h,m);t[1]=Ta(l,k);break;case qa.Z:c=e,b=f}Qc(xc,xc,yc);Rc(xd,xd,zc)}0===g&&(xc[0]=xc[1]=xd[0]=xd[1]=0);return new aa(xc[0],xc[1],xd[0]-xc[0],xd[1]-xc[1])};b.prototype._calculateLength=function(){var a=this.data,c=this._len,b=this._ux,e=this._uy,f=0,g=0,h=0,k=0;this._pathSegLen||(this._pathSegLen=[]);for(var l=this._pathSegLen,m=0,n=0,p=0;p<c;){var q=a[p++],t=1===p;t&&(f=a[p],g=a[p+1],h=f,k=g);var u=-1;switch(q){case qa.M:f=h=a[p++];g=k=a[p++];break;case qa.L:var q=a[p++],t=a[p++],w=q-f,v=t-g;if(Lc(w)>b||Lc(v)>e||p===c-1)u=Math.sqrt(w*w+v*v),f=q,g=t;break;case qa.C:for(var u=a[p++],z=a[p++],q=a[p++],t=a[p++],w=a[p++],v=a[p++],r=w,y=v,L=f,D=g,x=0,E=1;10>=E;E++)var G=.1*E,A=Oa(f,u,q,r,G),G=Oa(g,z,t,y,G),L=A-L,D=G-D,x=x+Math.sqrt(L*L+D*D),L=A,D=G;u=x;f=w;g=v;break;case qa.Q:u=a[p++];z=a[p++];q=a[p++];t=a[p++];w=f;v=g;f=u;g=z;u=q;z=t;D=w;E=v;r=0;for(y=1;10>=y;y++)A=.1*y,x=Za(w,f,u,A),A=Za(v,g,z,A),D=x-D,E=A-E,r+=Math.sqrt(D*D+E*E),D=x,E=A;u=r;f=q;g=t;break;case qa.A:f=a[p++];q=a[p++];g=a[p++];w=a[p++];u=a[p++];z=a[p++];v=z+u;p+=1;p++;t&&(h=ve(u)*g+f,k=we(u)*w+q);u=lh(g,w)*kh(Zc,Math.abs(z));f=ve(v)*g+f;g=we(v)*w+q;break;case qa.R:h=f=a[p++];k=g=a[p++];t=a[p++];q=a[p++];u=2*t+2*q;break;case qa.Z:w=h-f,v=k-g,u=Math.sqrt(w*w+v*v),f=h,g=k}0<=u&&(l[n++]=u,m+=u)}return this._pathLen=m};b.prototype.rebuildPath=function(a,c){var b=this.data,e=this._ux,f=this._uy,g=this._len,h,k,l,m,n,p,q=1>c,t,u,w=0,v=0;if(q&&(this._pathSegLen||this._calculateLength(),t=this._pathSegLen,u=this._pathLen,u*=c,!u))return;var z=0;a:for(;z<g;){var r=b[z++];if(n=1===z)l=b[z],m=b[z+1],h=l,k=m;switch(r){case qa.M:h=l=b[z++];k=m=b[z++];a.moveTo(l,m);break;case qa.L:n=b[z++];p=b[z++];if(Lc(n-l)>e||Lc(p-m)>f||z===g-1){if(q){r=t[v++];if(w+r>u){b=(u-w)/r;a.lineTo(l*(1-b)+n*b,m*(1-b)+p*b);break a}w+=r}a.lineTo(n,p);l=n;m=p}break;case qa.C:n=b[z++];p=b[z++];var y=b[z++],L=b[z++],D=b[z++],x=b[z++];if(q){r=t[v++];if(w+r>u){b=(u-w)/r;Re(l,n,y,D,b,te);Re(m,p,L,x,b,ue);a.bezierCurveTo(te[1],ue[1],te[2],ue[2],te[3],ue[3]);break a}w+=r}a.bezierCurveTo(n,p,y,L,D,x);l=D;m=x;break;case qa.Q:n=b[z++];p=b[z++];y=b[z++];L=b[z++];if(q){r=t[v++];if(w+r>u){b=(u-w)/r;Yc(l,n,y,b,te);Yc(m,p,L,b,ue);a.quadraticCurveTo(te[1],ue[1],te[2],ue[2]);break a}w+=r}a.quadraticCurveTo(n,p,y,L);l=y;m=L;break;case qa.A:l=b[z++];m=b[z++];L=b[z++];p=b[z++];var D=b[z++],x=b[z++],E=b[z++],G=!b[z++],A=L>p?L:p,C=.001<Lc(L-p),y=D+x,F=!1;q&&(r=t[v++],w+r>u&&(y=D+x*(u-w)/r,F=!0),w+=r);C&&a.ellipse?a.ellipse(l,m,L,p,E,D,y,G):a.arc(l,m,A,D,y,G);if(F)break a;n&&(h=ve(D)*L+l,k=we(D)*p+m);l=ve(y)*L+l;m=we(y)*p+m;break;case qa.R:h=l=b[z];k=m=b[z+1];n=b[z++];p=b[z++];y=b[z++];L=b[z++];if(q){r=t[v++];if(w+r>u){h=u-w;a.moveTo(n,p);a.lineTo(n+kh(h,y),p);h-=y;0<h&&a.lineTo(n+y,p+kh(h,L));h-=L;0<h&&a.lineTo(n+lh(y-h,0),p+L);h-=y;0<h&&a.lineTo(n,p+lh(L-h,0));break a}w+=r}a.rect(n,p,y,L);break;case qa.Z:if(q){r=t[v++];if(w+r>u){b=(u-w)/r;a.lineTo(l*(1-b)+h*b,m*(1-b)+k*b);break a}w+=r}a.closePath();l=h;m=k}}};b.CMD=qa;b.initDefaultProps=function(){var a=b.prototype;a._saveData=!0;a._needsDash=!1;a._dashOffset=0;a._dashIdx=0;a._dashSum=0;a._ux=0;a._uy=0}();return b}(),Rq=2*Math.PI,dg=2*Math.PI,bd=pc.CMD,Te=2*Math.PI,hb=[-1,-1,-1],Fb=[-1,-1],oy=K({fill:"#000",stroke:null,strokePercent:1,fillOpacity:1,strokeOpacity:1,lineDashOffset:0,lineWidth:1,lineCap:"butt",miterLimit:10,strokeNoScale:!1,strokeFirst:!1},Ud),JI={style:K({fill:!0,stroke:!0,strokePercent:!0,fillOpacity:!0,strokeOpacity:!0,lineDashOffset:!0,lineWidth:!0,miterLimit:!0},Jj.style)},Ho="x y rotation scaleX scaleY originX originY invisible culling z z2 zlevel parent".split(" "),Y=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.update=function(){var c=this;b.prototype.update.call(this);var d=this.style;if(d.decal){var e=this._decalEl=this._decalEl||new a;e.buildPath===a.prototype.buildPath&&(e.buildPath=function(a){c.buildPath(a,c.shape)});e.silent=!0;var f=e.style,g;for(g in d)f[g]!==d[g]&&(f[g]=d[g]);f.fill=d.fill?d.decal:null;f.decal=null;f.shadowColor=null;d.strokeFirst&&(f.stroke=null);for(d=0;d<Ho.length;++d)e[Ho[d]]=this[Ho[d]];e.__dirty|=Hb.REDARAW_BIT}else this._decalEl&&(this._decalEl=null)};a.prototype.getDecalElement=function(){return this._decalEl};a.prototype._init=function(c){var a=ia(c);this.shape=this.getDefaultShape();var e=this.getDefaultStyle();e&&this.useStyle(e);for(e=0;e<a.length;e++){var f=a[e],g=c[f];"style"===f?this.style?F(this.style,g):this.useStyle(g):"shape"===f?F(this.shape,g):b.prototype.attrKV.call(this,f,g)}this.style||this.useStyle({})};a.prototype.getDefaultStyle=function(){return null};a.prototype.getDefaultShape=function(){return{}};a.prototype.canBeInsideText=function(){return this.hasFill()};a.prototype.getInsideTextFill=function(){var c=this.style.fill;if("none"!==c){if(da(c))return c=Vf(c,0),.5<c?"#333":.2<c?"#eee":"#ccc";if(c)return"#ccc"}return"#333"};a.prototype.getInsideTextStroke=function(c){var a=this.style.fill;if(da(a)){var b=this.__zr,b=!(!b||!b.isDarkMode());c=.4>Vf(c,0);if(b===c)return a}};a.prototype.buildPath=function(c,a,b){};a.prototype.pathUpdated=function(){this.__dirty&=~a.SHAPE_CHANGED_BIT};a.prototype.createPathProxy=function(){this.path=new pc(!1)};a.prototype.hasStroke=function(){var c=this.style,a=c.stroke;return!(null==a||"none"===a||!(0<c.lineWidth))};a.prototype.hasFill=function(){var c=this.style.fill;return null!=c&&"none"!==c};a.prototype.getBoundingRect=function(){var c=this._rect,b=this.style,e=!c;if(e){var f=!1;this.path||(f=!0,this.createPathProxy());c=this.path;if(f||this.__dirty&a.SHAPE_CHANGED_BIT)c.beginPath(),this.buildPath(c,this.shape,!1),this.pathUpdated();c=c.getBoundingRect()}this._rect=c;if(this.hasStroke()&&this.path&&0<this.path.len()){f=this._rectWithStroke||(this._rectWithStroke=c.clone());if(this.__dirty||e)f.copy(c),e=b.strokeNoScale?this.getLineScale():1,b=b.lineWidth,this.hasFill()||(c=this.strokeContainThreshold,b=Math.max(b,null==c?4:c)),1E-10<e&&(f.width+=b/e,f.height+=b/e,f.x-=b/e/2,f.y-=b/e/2);return f}return c};a.prototype.contain=function(c,a){var b=this.transformCoordToLocal(c,a),d=this.getBoundingRect(),g=this.style;c=b[0];a=b[1];if(d.contain(c,a)){b=this.path;if(this.hasStroke()&&(d=g.lineWidth,g=g.strokeNoScale?this.getLineScale():1,1E-10<g&&(this.hasFill()||(d=Math.max(d,this.strokeContainThreshold)),Sq(b,d/g,!0,c,a))))return!0;if(this.hasFill())return Sq(b,0,!1,c,a)}return!1};a.prototype.dirtyShape=function(){this.__dirty|=a.SHAPE_CHANGED_BIT;this._rect&&(this._rect=null);this._decalEl&&this._decalEl.dirtyShape();this.markRedraw()};a.prototype.dirty=function(){this.dirtyStyle();this.dirtyShape()};a.prototype.animateShape=function(c){return this.animate("shape",c)};a.prototype.updateDuringAnimation=function(c){"style"===c?this.dirtyStyle():"shape"===c?this.dirtyShape():this.markRedraw()};a.prototype.attrKV=function(c,a){"shape"===c?this.setShape(a):b.prototype.attrKV.call(this,c,a)};a.prototype.setShape=function(c,a){var b=this.shape;b||(b=this.shape={});"string"===typeof c?b[c]=a:F(b,c);this.dirtyShape();return this};a.prototype.shapeChanged=function(){return!!(this.__dirty&a.SHAPE_CHANGED_BIT)};a.prototype.createStyle=function(c){return He(oy,c)};a.prototype._innerSaveToNormal=function(c){b.prototype._innerSaveToNormal.call(this,c);var a=this._normalState;c.shape&&!a.shape&&(a.shape=F({},this.shape))};a.prototype._applyStateObj=function(c,a,e,f,g,h){b.prototype._applyStateObj.call(this,c,a,e,f,g,h);var d=!(a&&f),l;a&&a.shape?g?f?l=a.shape:(l=F({},e.shape),F(l,a.shape)):(l=F({},f?this.shape:e.shape),F(l,a.shape)):d&&(l=e.shape);if(l)if(g){this.shape=F({},this.shape);a={};e=ia(l);for(f=0;f<e.length;f++)g=e[f],"object"===typeof l[g]?this.shape[g]=l[g]:a[g]=l[g];this._transitionState(c,{shape:a},h)}else this.shape=l,this.dirtyShape()};a.prototype._mergeStates=function(c){for(var a=b.prototype._mergeStates.call(this,c),e,f=0;f<c.length;f++){var g=c[f];g.shape&&(e=e||{},this._mergeStyle(e,g.shape))}e&&(a.shape=e);return a};a.prototype.getAnimationStyleProps=function(){return JI};a.prototype.isZeroArea=function(){return!1};a.extend=function(c){var b=function(a){function b(b){var d=a.call(this,b)||this;c.init&&c.init.call(d,b);return d}x(b,a);b.prototype.getDefaultStyle=function(){return J(c.style)};b.prototype.getDefaultShape=function(){return J(c.shape)};return b}(a),e;for(e in c)"function"===typeof c[e]&&(b.prototype[e]=c[e]);return b};a.SHAPE_CHANGED_BIT=4;a.initDefaultProps=function(){var c=a.prototype;c.type="path";c.strokeContainThreshold=5;c.segmentIgnoreThreshold=0;c.subPixelOptimize=!1;c.autoBatch=!1;c.__dirty=Hb.REDARAW_BIT|de.STYLE_CHANGED_BIT|a.SHAPE_CHANGED_BIT}();return a}(de),KI=K({strokeFirst:!0,font:"12px sans-serif",x:0,y:0,textAlign:"left",textBaseline:"top",miterLimit:2},oy),Vd=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.hasStroke=function(){var c=this.style,a=c.stroke;return null!=a&&"none"!==a&&0<c.lineWidth};a.prototype.hasFill=function(){var c=this.style.fill;return null!=c&&"none"!==c};a.prototype.createStyle=function(c){return He(KI,c)};a.prototype.setBoundingRect=function(c){this._rect=c};a.prototype.getBoundingRect=function(){var c=this.style;if(!this._rect){var a=c.text;null!=a?a+="":a="";a=$f(a,c.font,c.textAlign,c.textBaseline);a.x+=c.x||0;a.y+=c.y||0;this.hasStroke()&&(c=c.lineWidth,a.x-=c/2,a.y-=c/2,a.width+=c,a.height+=c);this._rect=a}return this._rect};a.prototype.dirtyRectTolerance=10;a.initDefaultProps=void 0;return a}(de);Vd.prototype.type="tspan";var LI=K({x:0,y:0},Ud),MI={style:K({x:!0,y:!0,width:!0,height:!0,sx:!0,sy:!0,sWidth:!0,sHeight:!0},Jj.style)},Ga=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.createStyle=function(c){return He(LI,c)};a.prototype._getSize=function(c){var a=this.style,b=a[c];if(null!=b)return b;b=(b=a.image)&&"string"!==typeof b&&b.width&&b.height?a.image:this.__image;if(!b)return 0;var f="width"===c?"height":"width",a=a[f];return null==a?b[c]:b[c]/b[f]*a};a.prototype.getWidth=function(){return this._getSize("width")};a.prototype.getHeight=function(){return this._getSize("height")};a.prototype.getAnimationStyleProps=function(){return MI};a.prototype.getBoundingRect=function(){var c=this.style;this._rect||(this._rect=new aa(c.x||0,c.y||0,this.getWidth(),this.getHeight()));return this._rect};return a}(de);Ga.prototype.type="image";var Ue=Math.round,NI=function(){return function(){this.height=this.width=this.y=this.x=0}}(),OI={},Z=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultShape=function(){return new NI};a.prototype.buildPath=function(c,a){var b,d,g,h;if(this.subPixelOptimize){var k=Uq(OI,a,this.style);b=k.x;d=k.y;g=k.width;h=k.height;k.r=a.r;a=k}else b=a.x,d=a.y,g=a.width,h=a.height;if(a.r){b=a.x;d=a.y;g=a.width;h=a.height;var l=a.r,m,n,p;0>g&&(b+=g,g=-g);0>h&&(d+=h,h=-h);"number"===typeof l?k=m=n=p=l:l instanceof Array?1===l.length?k=m=n=p=l[0]:2===l.length?(k=n=l[0],m=p=l[1]):3===l.length?(k=l[0],m=p=l[1],n=l[2]):(k=l[0],m=l[1],n=l[2],p=l[3]):k=m=n=p=0;k+m>g&&(l=k+m,k*=g/l,m*=g/l);n+p>g&&(l=n+p,n*=g/l,p*=g/l);m+n>h&&(l=m+n,m*=h/l,n*=h/l);k+p>h&&(l=k+p,k*=h/l,p*=h/l);c.moveTo(b+k,d);c.lineTo(b+g-m,d);0!==m&&c.arc(b+g-m,d+m,m,-Math.PI/2,0);c.lineTo(b+g,d+h-n);0!==n&&c.arc(b+g-n,d+h-n,n,0,Math.PI/2);c.lineTo(b+p,d+h);0!==p&&c.arc(b+p,d+h-p,p,Math.PI/2,Math.PI);c.lineTo(b,d+k);0!==k&&c.arc(b+k,d+k,k,Math.PI,1.5*Math.PI)}else c.rect(b,d,g,h)};a.prototype.isZeroArea=function(){return!this.shape.width||!this.shape.height};return a}(Y);Z.prototype.type="rect";var py={fill:"#000"},PI={style:K({fill:!0,stroke:!0,fillOpacity:!0,strokeOpacity:!0,lineWidth:!0,fontSize:!0,lineHeight:!0,width:!0,height:!0,textShadowColor:!0,textShadowBlur:!0,textShadowOffsetX:!0,textShadowOffsetY:!0,backgroundColor:!0,padding:!0,borderColor:!0,borderWidth:!0,borderRadius:!0},Jj.style)},ha=function(b){function a(c){var a=b.call(this)||this;a.type="text";a._children=[];a._defaultStyle=py;a.attr(c);return a}x(a,b);a.prototype.childrenRef=function(){return this._children};a.prototype.update=function(){this.styleChanged()&&this._updateSubTexts();for(var c=0;c<this._children.length;c++){var a=this._children[c];a.zlevel=this.zlevel;a.z=this.z;a.z2=this.z2;a.culling=this.culling;a.cursor=this.cursor;a.invisible=this.invisible}(c=this.attachedTransform)?(c.updateTransform(),(c=c.transform)?(this.transform=this.transform||[],Je(this.transform,c)):this.transform=null):b.prototype.update.call(this)};a.prototype.getComputedTransform=function(){this.__hostTarget&&(this.__hostTarget.getComputedTransform(),this.__hostTarget.updateInnerText(!0));return this.attachedTransform?this.attachedTransform.getComputedTransform():b.prototype.getComputedTransform.call(this)};a.prototype._updateSubTexts=function(){this._childCursor=0;var c=this.style;Vq(c);r(c.rich,Vq);this.style.rich?this._updateRichTexts():this._updatePlainTexts();this._children.length=this._childCursor;this.styleUpdated()};a.prototype.addSelfToZr=function(c){b.prototype.addSelfToZr.call(this,c);for(var a=0;a<this._children.length;a++)this._children[a].__zr=c};a.prototype.removeSelfFromZr=function(c){b.prototype.removeSelfFromZr.call(this,c);for(c=0;c<this._children.length;c++)this._children[c].__zr=null};a.prototype.getBoundingRect=function(){this.styleChanged()&&this._updateSubTexts();if(!this._rect){for(var c=new aa(0,0,0,0),a=this._children,b=[],f=null,g=0;g<a.length;g++){var h=a[g],k=h.getBoundingRect();(h=h.getLocalTransform(b))?(c.copy(k),c.applyTransform(h),f=f||c.clone(),f.union(c)):(f=f||k.clone(),f.union(k))}this._rect=f||c}return this._rect};a.prototype.setDefaultTextStyle=function(c){this._defaultStyle=c||py};a.prototype.setTextContent=function(c){throw Error("Can't attach text on another text");};a.prototype._mergeStyle=function(c,a){if(!a)return c;var b=a.rich,d=c.rich||b&&{};F(c,a);b&&d?(this._mergeRich(d,b),c.rich=d):d&&(c.rich=d);return c};a.prototype._mergeRich=function(c,a){for(var b=ia(a),d=0;d<b.length;d++){var g=b[d];c[g]=c[g]||{};F(c[g],a[g])}};a.prototype.getAnimationStyleProps=function(){return PI};a.prototype._getOrCreateChild=function(c){var a=this._children[this._childCursor];a&&a instanceof c||(a=new c);this._children[this._childCursor++]=a;a.__zr=this.__zr;a.parent=this;return a};a.prototype._updatePlainTexts=function(){var c,a,b,f=this.style,g=f.font||"12px sans-serif",h=f.padding,k=Xq(f);null!=k&&(k+="");var l=f.overflow;a=f.padding;c=f.font;var m="truncate"===l,n=Ya("\u56fd",c),p=ka(f.lineHeight,n),q="truncate"===f.lineOverflow,t=f.width,l=null!=t&&"break"===l||"breakAll"===l?k?Hq(k,f.font,t,"breakAll"===l,0).lines:[]:k?k.split("\n"):[],u=l.length*p,w=ka(f.height,u);u>w&&q&&(l=l.slice(0,Math.floor(w/p)));q=w;w=t;a&&(q+=a[0]+a[2],null!=w&&(w+=a[1]+a[3]));if(k&&m&&null!=w)for(a=Fq(t,c,f.ellipsis,{minChar:f.truncateMinChar,placeholder:f.placeholder}),k=0;k<l.length;k++)l[k]=Gq(l[k],a);if(null==t)for(k=t=0;k<l.length;k++)t=Math.max(Ya(l[k],c),t);c=l;a=q;b=t;var m=jl(f),q=!!f.backgroundColor,k=this._defaultStyle,w=f.x||0,v=f.y||0,t=f.align||k.align||"left",r=f.verticalAlign||k.verticalAlign||"top",l=w,u=Oe(v,u,r);if(m||h){h&&(b+=h[1]+h[3]);var B=Zf(w,b,t),v=Oe(v,a,r);m&&this._renderBackground(f,f,B,v,b,a)}u+=p/2;h&&(l=Wq(w,t,h),"top"===r?u+=h[0]:"bottom"===r&&(u-=h[2]));h=0;m=!1;a="fill"in f?f.fill:(m=!0,k.fill);a=null==a||"none"===a?null:a.image||a.colorStops?"#000":a;q=il("stroke"in f?f.stroke:q||k.autoStroke&&!m?null:(h=2,k.stroke));k=0<f.textShadowBlur;m=null!=f.width&&("truncate"===f.overflow||"break"===f.overflow||"breakAll"===f.overflow);for(w=0;w<c.length;w++)r=this._getOrCreateChild(Vd),v=r.createStyle(),r.useStyle(v),v.text=c[w],v.x=l,v.y=u,t&&(v.textAlign=t),v.textBaseline="middle",v.opacity=f.opacity,v.strokeFirst=!0,k&&(v.shadowBlur=f.textShadowBlur||0,v.shadowColor=f.textShadowColor||"transparent",v.shadowOffsetX=f.textShadowOffsetX||0,v.shadowOffsetY=f.textShadowOffsetY||0),q&&(v.stroke=q,v.lineWidth=f.lineWidth||h,v.lineDash=f.lineDash,v.lineDashOffset=f.lineDashOffset||0),a&&(v.fill=a),v.font=g,u+=p,m&&r.setBoundingRect(new aa(Zf(v.x,f.width,v.textAlign),Oe(v.y,n,v.textBaseline),f.width,n))};a.prototype._updateRichTexts=function(){var c=this.style;var a=Xq(c),b=new II;null!=a&&(a+="");if(a){for(var f=c.width,g=c.height,h=c.overflow,k="break"!==h&&"breakAll"!==h||null==f?null:{width:f,accumWidth:0,breakAll:"breakAll"===h},l=zo.lastIndex=0,m;null!=(m=zo.exec(a));){var n=m.index;n>l&&fl(b,a.substring(l,n),c,k);fl(b,m[2],c,k,m[1]);l=zo.lastIndex}l<a.length&&fl(b,a.substring(l,a.length),c,k);a=[];l=k=0;m=c.padding;var p="truncate"===h,q="truncate"===c.lineOverflow,h=0;b:for(;h<b.lines.length;h++){for(var t=b.lines[h],u=n=0,w=0;w<t.tokens.length;w++){var v=t.tokens[w],r=v.styleName&&c.rich[v.styleName]||{},B=v.textPadding=r.padding,y=B?B[1]+B[3]:0,L=v.font=r.font||c.font;v.contentHeight=Ya("\u56fd",L);var D=ka(r.height,v.contentHeight);v.innerHeight=D;B&&(D+=B[0]+B[2]);v.height=D;v.lineHeight=zb(r.lineHeight,c.lineHeight,D);v.align=r&&r.align||c.align;v.verticalAlign=r&&r.verticalAlign||"middle";if(q&&null!=g&&k+v.lineHeight>g){0<w?(t.tokens=t.tokens.slice(0,w),p=t,q=u,p.width=q,p.lineHeight=n,k+=n,l=Math.max(l,q),b.lines=b.lines.slice(0,h+1)):b.lines=b.lines.slice(0,h);break b}var x=r.width,B=null==x||"auto"===x;"string"===typeof x&&"%"===x.charAt(x.length-1)?(v.percentWidth=x,a.push(v),v.contentWidth=Ya(v.text,L)):(B&&(x=(x=r.backgroundColor)&&x.image)&&("string"===typeof x&&(x=(x=el.get(x))&&x.image),x&&x.width&&x.height&&(v.width=Math.max(v.width,x.width*D/x.height))),D=p&&null!=f?f-u:null,null!=D&&D<v.width?!B||D<y?(v.text="",v.width=v.contentWidth=0):(v.text=Eq(v.text,D-y,L,c.ellipsis,{minChar:c.truncateMinChar}),v.width=v.contentWidth=Ya(v.text,L)):v.contentWidth=Ya(v.text,L));v.width+=y;u+=v.width;r&&(n=Math.max(n,v.lineHeight))}t.width=u;t.lineHeight=n;k+=n;l=Math.max(l,u)}b.outerWidth=b.width=ka(f,l);b.outerHeight=b.height=ka(g,k);b.contentHeight=k;b.contentWidth=l;m&&(b.outerWidth+=m[1]+m[3],b.outerHeight+=m[0]+m[2]);for(h=0;h<a.length;h++)v=a[h],v.width=parseInt(v.percentWidth,10)/100*b.width}f=b.width;l=b.outerWidth;m=b.outerHeight;k=c.padding;g=c.y||0;h=this._defaultStyle;a=c.verticalAlign||h.verticalAlign;h=Zf(c.x||0,l,c.align||h.align);n=Oe(g,m,a);g=h;a=n;k&&(g+=k[3],a+=k[0]);k=g+f;jl(c)&&this._renderBackground(c,c,h,n,l,m);l=!!c.backgroundColor;for(m=0;m<b.lines.length;m++){q=b.lines[m];h=q.tokens;n=h.length;p=q.lineHeight;q=q.width;u=0;t=g;w=k;v=n-1;for(r=void 0;u<n&&(r=h[u],!r.align||"left"===r.align);)this._placeToken(r,c,p,a,t,"left",l),q-=r.width,t+=r.width,u++;for(;0<=v&&(r=h[v],"right"===r.align);)this._placeToken(r,c,p,a,w,"right",l),q-=r.width,w-=r.width,v--;for(t+=(f-(t-g)-(k-w)-q)/2;u<=v;)r=h[u],this._placeToken(r,c,p,a,t+r.width/2,"center",l),t+=r.width,u++;a+=p}};a.prototype._placeToken=function(c,a,b,f,g,h,k){var d=a.rich[c.styleName]||{};d.text=c.text;var e=c.verticalAlign,n=f+b/2;"top"===e?n=f+c.height/2:"bottom"===e&&(n=f+b-c.height/2);!c.isLineHolder&&jl(d)&&this._renderBackground(d,a,"right"===h?g-c.width:"center"===h?g-c.width/2:g,n-c.height/2,c.width,c.height);var p=!!d.backgroundColor;if(b=c.textPadding)g=Wq(g,h,b),n-=c.height/2-b[0]-c.innerHeight/2;b=this._getOrCreateChild(Vd);f=b.createStyle();b.useStyle(f);var q=this._defaultStyle,t=!1,e=0,u=il("fill"in d?d.fill:"fill"in a?a.fill:(t=!0,q.fill));k=il("stroke"in d?d.stroke:"stroke"in a?a.stroke:p||k||q.autoStroke&&!t?null:(e=2,q.stroke));p=0<d.textShadowBlur||0<a.textShadowBlur;f.text=c.text;f.x=g;f.y=n;p&&(f.shadowBlur=d.textShadowBlur||a.textShadowBlur||0,f.shadowColor=d.textShadowColor||a.textShadowColor||"transparent",f.shadowOffsetX=d.textShadowOffsetX||a.textShadowOffsetX||0,f.shadowOffsetY=d.textShadowOffsetY||a.textShadowOffsetY||0);f.textAlign=h;f.textBaseline="middle";f.font=c.font||"12px sans-serif";f.opacity=zb(d.opacity,a.opacity,1);k&&(f.lineWidth=zb(d.lineWidth,a.lineWidth,e),f.lineDash=ka(d.lineDash,a.lineDash),f.lineDashOffset=a.lineDashOffset||0,f.stroke=k);u&&(f.fill=u);a=c.contentWidth;c=c.contentHeight;b.setBoundingRect(new aa(Zf(f.x,a,f.textAlign),Oe(f.y,c,f.textBaseline),a,c))};a.prototype._renderBackground=function(c,a,b,f,g,h){var d=c.backgroundColor,e=c.borderWidth,m=c.borderColor,n=da(d),p=c.borderRadius,q=this,t,u;if(n||e&&m){t=this._getOrCreateChild(Z);t.useStyle(t.createStyle());t.style.fill=null;var w=t.shape;w.x=b;w.y=f;w.width=g;w.height=h;w.r=p;t.dirtyShape()}n?(b=t.style,b.fill=d||null,b.fillOpacity=ka(c.fillOpacity,1)):d&&d.image&&(u=this._getOrCreateChild(Ga),u.onload=function(){q.dirtyStyle()},n=u.style,n.image=d.image,n.x=b,n.y=f,n.width=g,n.height=h);e&&m&&(b=t.style,b.lineWidth=e,b.stroke=m,b.strokeOpacity=ka(c.strokeOpacity,1),b.lineDash=c.borderDash,b.lineDashOffset=c.borderDashOffset||0,t.strokeContainThreshold=0,t.hasFill()&&t.hasStroke()&&(b.strokeFirst=!0,b.lineWidth*=2));d=(t||u).style;d.shadowBlur=c.shadowBlur||0;d.shadowColor=c.shadowColor||"transparent";d.shadowOffsetX=c.shadowOffsetX||0;d.shadowOffsetY=c.shadowOffsetY||0;d.opacity=zb(c.opacity,a.opacity,1)};a.makeFont=function(c){var a="";if(c.fontSize||c.fontFamily||c.fontWeight)a="string"!==typeof c.fontSize||-1===c.fontSize.indexOf("px")&&-1===c.fontSize.indexOf("rem")&&-1===c.fontSize.indexOf("em")?isNaN(+c.fontSize)?"12px":c.fontSize+"px":c.fontSize,a=[c.fontStyle,c.fontWeight,a,c.fontFamily||"sans-serif"].join(" ");return a&&Va(a)||c.textFont||c.font};return a}(de),JA={left:!0,right:1,center:1},KA={top:1,bottom:1,middle:1},S=ma(),hr=1,gr={},dr=ma(),tb=["emphasis","blur","select"],Nd=["normal","emphasis","blur","select"],Zq=new Yf(100),fr=["emphasis","blur","select"],NA={itemStyle:"getItemStyle",lineStyle:"getLineStyle",areaStyle:"getAreaStyle"},Xe=pc.CMD,TA=[[],[],[]],kr=Math.sqrt,SA=Math.atan2,sl=Math.sqrt,mi=Math.sin,li=Math.cos,fg=Math.PI,QA=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig,RA=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g,vl=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.applyTransform=function(c){};return a}(Y),QI=function(){return function(){this.r=this.cy=this.cx=0}}(),Nb=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultShape=function(){return new QI};a.prototype.buildPath=function(c,a,b){b&&c.moveTo(a.cx+a.r,a.cy);c.arc(a.cx,a.cy,a.r,0,2*Math.PI)};return a}(Y);Nb.prototype.type="circle";var RI=function(){return function(){this.ry=this.rx=this.cy=this.cx=0}}(),nh=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultShape=function(){return new RI};a.prototype.buildPath=function(c,a){var b=a.cx,d=a.cy,g=a.rx,h=a.ry,k=.5522848*g,l=.5522848*h;c.moveTo(b-g,d);c.bezierCurveTo(b-g,d-l,b-k,d-h,b,d-h);c.bezierCurveTo(b+k,d-h,b+g,d-l,b+g,d);c.bezierCurveTo(b+g,d+l,b+k,d+h,b,d+h);c.bezierCurveTo(b-k,d+h,b-g,d+l,b-g,d);c.closePath()};return a}(Y);nh.prototype.type="ellipse";var qy=Math.PI,SI=2*qy,xe=Math.sin,Gf=Math.cos,TI=Math.acos,Ia=Math.atan2,ry=Math.abs,gg=Math.sqrt,ul=Math.max,Oj=Math.min,UI=function(){return function(){this.startAngle=this.r=this.r0=this.cy=this.cx=0;this.endAngle=2*Math.PI;this.clockwise=!0;this.innerCornerRadius=this.cornerRadius=0}}(),lb=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultShape=function(){return new UI};a.prototype.buildPath=function(c,a){var b=ul(a.r,0),d=ul(a.r0||0,0),g=0<b;if(g||0<d){g||(b=d,d=0);d>b&&(g=b,b=d,d=g);var g=!!a.clockwise,h=a.startAngle,k=a.endAngle,l=[h,k];Pq(l,!g);var l=ry(l[0]-l[1]),m=a.cx,n=a.cy,p=a.cornerRadius||0,q=a.innerCornerRadius||0;if(1E-4<b)if(l>SI-1E-4)c.moveTo(m+b*Gf(h),n+b*xe(h)),c.arc(m,n,b,h,k,!g),1E-4<d&&(c.moveTo(m+d*Gf(k),n+d*xe(k)),c.arc(m,n,d,k,h,g));else{var t=ry(b-d)/2,p=Oj(t,p),u=q=Oj(t,q),w=p,t=b*Gf(h),v=b*xe(h),r=d*Gf(k),B=d*xe(k),y=void 0,L=void 0,D=void 0,x=void 0;if(1E-4<p||1E-4<q)if(y=b*Gf(k),L=b*xe(k),D=d*Gf(h),x=d*xe(h),l<qy){var E;E=D-t;var G=x-v,A=r-y,C=B-L,F=C*E-A*G;1E-4>F*F?E=void 0:(F=(A*(v-L)-C*(t-y))/F,E=[t+F*E,v+F*G]);E&&(u=t-E[0],w=v-E[1],G=y-E[0],A=L-E[1],w=1/xe(TI((u*G+w*A)/(gg(u*u+w*w)*gg(G*G+A*A)))/2),E=gg(E[0]*E[0]+E[1]*E[1]),u=Oj(q,(d-E)/(w-1)),w=Oj(p,(b-E)/(w+1)))}1E-4<l?1E-4<w?(E=ni(D,x,t,v,b,w,g),G=ni(y,L,r,B,b,w,g),c.moveTo(m+E.cx+E.x01,n+E.cy+E.y01),w<p?c.arc(m+E.cx,n+E.cy,w,Ia(E.y01,E.x01),Ia(G.y01,G.x01),!g):(c.arc(m+E.cx,n+E.cy,w,Ia(E.y01,E.x01),Ia(E.y11,E.x11),!g),c.arc(m,n,b,Ia(E.cy+E.y11,E.cx+E.x11),Ia(G.cy+G.y11,G.cx+G.x11),!g),c.arc(m+G.cx,n+G.cy,w,Ia(G.y11,G.x11),Ia(G.y01,G.x01),!g))):(c.moveTo(m+t,n+v),c.arc(m,n,b,h,k,!g)):c.moveTo(m+t,n+v);1E-4<d&&1E-4<l?1E-4<u?(E=ni(r,B,y,L,d,-u,g),G=ni(t,v,D,x,d,-u,g),c.lineTo(m+E.cx+E.x01,n+E.cy+E.y01),u<q?c.arc(m+E.cx,n+E.cy,u,Ia(E.y01,E.x01),Ia(G.y01,G.x01),!g):(c.arc(m+E.cx,n+E.cy,u,Ia(E.y01,E.x01),Ia(E.y11,E.x11),!g),c.arc(m,n,d,Ia(E.cy+E.y11,E.cx+E.x11),Ia(G.cy+G.y11,G.cx+G.x11),g),c.arc(m+G.cx,n+G.cy,u,Ia(G.y11,G.x11),Ia(G.y01,G.x01),!g))):(c.lineTo(m+r,n+B),c.arc(m,n,d,k,h,g)):c.lineTo(m+r,n+B)}else c.moveTo(m,n);c.closePath()}};a.prototype.isZeroArea=function(){return this.shape.startAngle===this.shape.endAngle||this.shape.r===this.shape.r0};return a}(Y);lb.prototype.type="sector";var VI=function(){return function(){this.r0=this.r=this.cy=this.cx=0}}(),Hf=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultShape=function(){return new VI};a.prototype.buildPath=function(c,a){var b=a.cx,d=a.cy,g=2*Math.PI;c.moveTo(b+a.r,d);c.arc(b,d,a.r,0,g,!1);c.moveTo(b+a.r0,d);c.arc(b,d,a.r0,0,g,!0)};return a}(Y);Hf.prototype.type="ring";var WI=function(){return function(){this.points=null;this.smooth=0;this.smoothConstraint=null}}(),bb=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultShape=function(){return new WI};a.prototype.buildPath=function(c,a){mr(c,a,!0)};return a}(Y);bb.prototype.type="polygon";var XI=function(){return function(){this.points=null;this.percent=1;this.smooth=0;this.smoothConstraint=null}}(),kb=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}};a.prototype.getDefaultShape=function(){return new XI};a.prototype.buildPath=function(c,a){mr(c,a,!1)};return a}(Y);kb.prototype.type="polyline";var YI={},ZI=function(){return function(){this.y2=this.x2=this.y1=this.x1=0;this.percent=1}}(),Ua=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}};a.prototype.getDefaultShape=function(){return new ZI};a.prototype.buildPath=function(c,a){var b,d,g,h;this.subPixelOptimize?(h=Tq(YI,a,this.style),b=h.x1,d=h.y1,g=h.x2,h=h.y2):(b=a.x1,d=a.y1,g=a.x2,h=a.y2);var k=a.percent;0!==k&&(c.moveTo(b,d),1>k&&(g=b*(1-k)+g*k,h=d*(1-k)+h*k),c.lineTo(g,h))};a.prototype.pointAt=function(c){var a=this.shape;return[a.x1*(1-c)+a.x2*c,a.y1*(1-c)+a.y2*c]};return a}(Y);Ua.prototype.type="line";var pb=[],$I=function(){return function(){this.cpy1=this.cpx1=this.y2=this.x2=this.y1=this.x1=0;this.percent=1}}(),rf=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}};a.prototype.getDefaultShape=function(){return new $I};a.prototype.buildPath=function(c,a){var b=a.x1,d=a.y1,g=a.x2,h=a.y2,k=a.cpx1,l=a.cpy1,m=a.cpx2,n=a.cpy2,p=a.percent;0!==p&&(c.moveTo(b,d),null==m||null==n?(1>p&&(Yc(b,k,g,p,pb),k=pb[1],g=pb[2],Yc(d,l,h,p,pb),l=pb[1],h=pb[2]),c.quadraticCurveTo(k,l,g,h)):(1>p&&(Re(b,k,m,g,p,pb),k=pb[1],m=pb[2],g=pb[3],Re(d,l,n,h,p,pb),l=pb[1],n=pb[2],h=pb[3]),c.bezierCurveTo(k,l,m,n,g,h)))};a.prototype.pointAt=function(c){return nr(this.shape,c,!1)};a.prototype.tangentAt=function(c){c=nr(this.shape,c,!0);return Ie(c,c)};return a}(Y);rf.prototype.type="bezier-curve";var aJ=function(){return function(){this.startAngle=this.r=this.cy=this.cx=0;this.endAngle=2*Math.PI;this.clockwise=!0}}(),oh=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}};a.prototype.getDefaultShape=function(){return new aJ};a.prototype.buildPath=function(c,a){var b=a.cx,d=a.cy,g=Math.max(a.r,0),h=a.startAngle,k=a.endAngle,l=a.clockwise;c.moveTo(Math.cos(h)*g+b,Math.sin(h)*g+d);c.arc(b,d,g,h,k,!l)};return a}(Y);oh.prototype.type="arc";var Io=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type="compound";return c}x(a,b);a.prototype._updatePathDirty=function(){for(var c=this.shape.paths,a=this.shapeChanged(),b=0;b<c.length;b++)a=a||c[b].shapeChanged();a&&this.dirtyShape()};a.prototype.beforeBrush=function(){this._updatePathDirty();for(var c=this.shape.paths||[],a=this.getGlobalScale(),b=0;b<c.length;b++)c[b].path||c[b].createPathProxy(),c[b].path.setScale(a[0],a[1],c[b].segmentIgnoreThreshold)};a.prototype.buildPath=function(c,a){for(var b=a.paths||[],d=0;d<b.length;d++)b[d].buildPath(c,b[d].shape,!0)};a.prototype.afterBrush=function(){for(var c=this.shape.paths||[],a=0;a<c.length;a++)c[a].pathUpdated()};a.prototype.getBoundingRect=function(){this._updatePathDirty.call(this);return Y.prototype.getBoundingRect.call(this)};return a}(Y),sy=function(){function b(a){this.colorStops=a||[]}b.prototype.addColorStop=function(a,c){this.colorStops.push({offset:a,color:c})};return b}(),mf=function(b){function a(c,a,e,f,g,h){g=b.call(this,g)||this;g.x=null==c?0:c;g.y=null==a?0:a;g.x2=null==e?1:e;g.y2=null==f?0:f;g.type="linear";g.global=h||!1;return g}x(a,b);return a}(sy),ty=function(b){function a(c,a,e,f,g){f=b.call(this,f)||this;f.x=null==c?.5:c;f.y=null==a?.5:a;f.r=null==e?.5:e;f.type="radial";f.global=g||!1;return f}x(a,b);return a}(sy),ye=[0,0],ze=[0,0],Pj=new V,Qj=new V,Ii=function(){function b(a,c){this._corners=[];this._axes=[];this._origin=[0,0];for(var b=0;4>b;b++)this._corners[b]=new V;for(b=0;2>b;b++)this._axes[b]=new V;a&&this.fromBoundingRect(a,c)}b.prototype.fromBoundingRect=function(a,c){var b=this._corners,e=this._axes,f=a.x,g=a.y,h=f+a.width,k=g+a.height;b[0].set(f,g);b[1].set(h,g);b[2].set(h,k);b[3].set(f,k);if(c)for(f=0;4>f;f++)b[f].transform(c);V.sub(e[0],b[1],b[0]);V.sub(e[1],b[3],b[0]);e[0].normalize();e[1].normalize();for(f=0;2>f;f++)this._origin[f]=e[f].dot(b[0])};b.prototype.intersect=function(a,c){var b=!0,e=!c;Pj.set(Infinity,Infinity);Qj.set(0,0);if(!this._intersectCheckOneSide(this,a,Pj,Qj,e,1)&&(b=!1,e)||!this._intersectCheckOneSide(a,this,Pj,Qj,e,-1)&&(b=!1,e))return b;e||V.copy(c,b?Pj:Qj);return b};b.prototype._intersectCheckOneSide=function(a,c,b,e,f,g){for(var d=!0,k=0;2>k;k++){var l=this._axes[k];this._getProjMinMaxOnAxis(k,a._corners,ye);this._getProjMinMaxOnAxis(k,c._corners,ze);if(ye[1]<ze[0]||ye[0]>ze[1]){d=!1;if(f)break;var m=Math.abs(ze[0]-ye[1]),n=Math.abs(ye[0]-ze[1]);Math.min(m,n)>e.len()&&(m<n?V.scale(e,l,-m*g):V.scale(e,l,n*g))}else b&&(m=Math.abs(ze[0]-ye[1]),n=Math.abs(ye[0]-ze[1]),Math.min(m,n)<b.len()&&(m<n?V.scale(b,l,m*g):V.scale(b,l,-n*g)))}return d};b.prototype._getProjMinMaxOnAxis=function(a,c,b){for(var d=this._axes[a],f=this._origin,g=c[0].dot(d)+f[a],h=g,k=1;k<c.length;k++)var l=c[k].dot(d)+f[a],h=Math.min(l,h),g=Math.max(l,g);b[0]=h;b[1]=g};return b}(),bJ=[],xg=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.notClear=!0;c.incremental=!0;c._displayables=[];c._temporaryDisplayables=[];c._cursor=0;return c}x(a,b);a.prototype.traverse=function(c,a){c.call(a,this)};a.prototype.useStyle=function(){this.style={}};a.prototype.getCursor=function(){return this._cursor};a.prototype.innerAfterBrush=function(){this._cursor=this._displayables.length};a.prototype.clearDisplaybles=function(){this._displayables=[];this._temporaryDisplayables=[];this._cursor=0;this.markRedraw();this.notClear=!1};a.prototype.clearTemporalDisplayables=function(){this._temporaryDisplayables=[]};a.prototype.addDisplayable=function(c,a){a?this._temporaryDisplayables.push(c):this._displayables.push(c);this.markRedraw()};a.prototype.addDisplayables=function(c,a){a=a||!1;for(var b=0;b<c.length;b++)this.addDisplayable(c[b],a)};a.prototype.getDisplayables=function(){return this._displayables};a.prototype.getTemporalDisplayables=function(){return this._temporaryDisplayables};a.prototype.eachPendingDisplayable=function(c){for(var a=this._cursor;a<this._displayables.length;a++)c&&c(this._displayables[a]);for(a=0;a<this._temporaryDisplayables.length;a++)c&&c(this._temporaryDisplayables[a])};a.prototype.update=function(){this.updateTransform();for(var c=this._cursor;c<this._displayables.length;c++){var a=this._displayables[c];a.parent=this;a.update();a.parent=null}for(c=0;c<this._temporaryDisplayables.length;c++)a=this._temporaryDisplayables[c],a.parent=this,a.update(),a.parent=null};a.prototype.getBoundingRect=function(){if(!this._rect){for(var c=new aa(Infinity,Infinity,-Infinity,-Infinity),a=0;a<this._displayables.length;a++){var b=this._displayables[a],f=b.getBoundingRect().clone();b.needLocalTransform()&&f.applyTransform(b.getLocalTransform(bJ));c.union(f)}this._rect=c}return this._rect};a.prototype.contain=function(c,a){var b=this.transformCoordToLocal(c,a);if(this.getBoundingRect().contain(b[0],b[1]))for(b=0;b<this._displayables.length;b++)if(this._displayables[b].contain(c,a))return!0;return!1};return a}(de),qi=Math.max,ri=Math.min,sb={},UA=function(b,a){var c=tl(b,a);return function(a){function b(b){b=a.call(this,b)||this;b.applyTransform=c.applyTransform;b.buildPath=c.buildPath;return b}x(b,a);return b}(vl)},xb=function(b,a){for(var c=[],d=b.length,e=0;e<d;e++){var f=b[e];f.path||f.createPathProxy();f.shapeChanged()&&f.buildPath(f.path,f.shape,!0);c.push(f.path)}d=new Y(a);d.createPathProxy();d.buildPath=function(a){if(null!=a.setData){a.appendPath(c);var b=a.getContext();b&&a.rebuildPath(b,1)}};return d},Rj=Md;sb.circle=Nb;sb.ellipse=nh;sb.sector=lb;sb.ring=Hf;sb.polygon=bb;sb.polyline=kb;sb.rect=Z;sb.line=Ua;sb.bezierCurve=rf;sb.arc=oh;var Yg=Object.freeze({__proto__:null,extendShape:or,extendPath:pr,registerShape:qr,getShapeClass:oi,makePath:hg,makeImage:xl,mergePath:xb,resizePath:wl,subPixelOptimizeLine:function(b){Tq(b.shape,b.shape,b.style);return b},subPixelOptimizeRect:function(b){Uq(b.shape,b.shape,b.style);return b},subPixelOptimize:Rj,updateProps:ea,initProps:za,removeElement:cd,removeElementWithFadeOut:ig,isElementRemoved:Ye,getTransform:dd,applyTransform:Wb,transformDirection:pi,groupTransition:jg,clipPointsByRect:zl,clipRectByRect:tr,createIcon:Ze,linePolygonIntersect:kg,lineLineIntersect:ur,Group:M,Image:Ga,Text:ha,Circle:Nb,Ellipse:nh,Sector:lb,Ring:Hf,Polygon:bb,Polyline:kb,Rect:Z,Line:Ua,BezierCurve:rf,Arc:oh,IncrementalDisplayable:xg,CompoundPath:Io,LinearGradient:mf,RadialGradient:ty,BoundingRect:aa,OrientedBoundingRect:Ii,Point:V,Path:Y}),si={},xr="fontStyle fontWeight fontSize fontFamily textShadowColor textShadowBlur textShadowOffsetX textShadowOffsetY".split(" "),yr="align lineHeight width height tag verticalAlign".split(" "),zr="padding borderWidth borderRadius borderDashOffset backgroundColor borderColor shadowColor shadowBlur shadowOffsetX shadowOffsetY".split(" "),lg=ma(),cJ=["textStyle","color"],Jo=new ha,dJ=function(){function b(){}b.prototype.getTextColor=function(a){var c=this.ecModel;return this.getShallow("color")||(!a&&c?c.get(cJ):null)};b.prototype.getFont=function(){return Ar({fontStyle:this.getShallow("fontStyle"),fontWeight:this.getShallow("fontWeight"),fontSize:this.getShallow("fontSize"),fontFamily:this.getShallow("fontFamily")},this.ecModel)};b.prototype.getTextRect=function(a){Jo.useStyle({text:a,fontStyle:this.getShallow("fontStyle"),fontWeight:this.getShallow("fontWeight"),fontSize:this.getShallow("fontSize"),fontFamily:this.getShallow("fontFamily"),verticalAlign:this.getShallow("verticalAlign")||this.getShallow("baseline"),padding:this.getShallow("padding"),lineHeight:this.getShallow("lineHeight"),rich:this.getShallow("rich")});Jo.update();return Jo.getBoundingRect()};return b}(),uy=[["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["lineDash","type"],["lineDashOffset","dashOffset"],["lineCap","cap"],["lineJoin","join"],["miterLimit"]],eJ=Kd(uy),fJ=function(){function b(){}b.prototype.getLineStyle=function(a){return eJ(this,a)};return b}(),vy=[["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["lineDash","borderType"],["lineDashOffset","borderDashOffset"],["lineCap","borderCap"],["lineJoin","borderJoin"],["miterLimit","borderMiterLimit"]],gJ=Kd(vy),hJ=function(){function b(){}b.prototype.getItemStyle=function(a,c){return gJ(this,a,c)};return b}(),la=function(){function b(a,c,b){this.parentModel=c;this.ecModel=b;this.option=a}b.prototype.init=function(a,c,b){for(var d=3;d<arguments.length;d++);};b.prototype.mergeOption=function(a,c){U(this.option,a,!0)};b.prototype.get=function(a,c){return null==a?this.option:this._doGet(this.parsePath(a),!c&&this.parentModel)};b.prototype.getShallow=function(a,c){var b=this.option,b=null==b?b:b[a];if(null==b&&!c){var e=this.parentModel;e&&(b=e.getShallow(a))}return b};b.prototype.getModel=function(a,c){var d=null!=a,e=d?this.parsePath(a):null,d=d?this._doGet(e):this.option;c=c||this.parentModel&&this.parentModel.getModel(this.resolveParentPath(e));return new b(d,c,this.ecModel)};b.prototype.isEmpty=function(){return null==this.option};b.prototype.restoreData=function(){};b.prototype.clone=function(){return new this.constructor(J(this.option))};b.prototype.parsePath=function(a){return"string"===typeof a?a.split("."):a};b.prototype.resolveParentPath=function(a){return a};b.prototype.isAnimationEnabled=function(){if(!X.node&&this.option){if(null!=this.option.animation)return!!this.option.animation;if(this.parentModel)return this.parentModel.isAnimationEnabled()}};b.prototype._doGet=function(a,c){var b=this.option;if(!a)return b;for(var e=0;e<a.length&&(!a[e]||(b=b&&"object"===typeof b?b[a[e]]:null,null!=b));e++);null==b&&c&&(b=c._doGet(this.resolveParentPath(a),c.parentModel));return b};return b}();cl(la);(function(b){var a=["__\x00is_clz",FI++].join("_");b.prototype[a]=!0;O(!b.isInstance,'The method "is" can not be defined.');b.isInstance=function(c){return!(!c||!c[a])}})(la);wa(la,fJ);wa(la,hJ);wa(la,HI);wa(la,dJ);var VA=Math.round(10*Math.random()),ui={},Cl={},Dr=X.domSupported?-1<(document.documentElement.lang||navigator.language||navigator.browserLanguage).toUpperCase().indexOf("ZH")?"ZH":"EN":"EN";Bl("EN",{time:{month:"January February March April May June July August September October November December".split(" "),monthAbbr:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),dayOfWeek:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),dayOfWeekAbbr:"Sun Mon Tue Wed Thu Fri Sat".split(" ")},legend:{selector:{all:"All",inverse:"Inv"}},toolbox:{brush:{title:{rect:"Box Select",polygon:"Lasso Select",lineX:"Horizontally Select",lineY:"Vertically Select",keep:"Keep Selections",clear:"Clear Selections"}},dataView:{title:"Data View",lang:["Data View","Close","Refresh"]},dataZoom:{title:{zoom:"Zoom",back:"Zoom Reset"}},magicType:{title:{line:"Switch to Line Chart",bar:"Switch to Bar Chart",stack:"Stack",tiled:"Tile"}},restore:{title:"Restore"},saveAsImage:{title:"Save as Image",lang:["Right Click to Save Image"]}},series:{typeNames:{pie:"Pie chart",bar:"Bar chart",line:"Line chart",scatter:"Scatter plot",effectScatter:"Ripple scatter plot",radar:"Radar chart",tree:"Tree",treemap:"Treemap",boxplot:"Boxplot",candlestick:"Candlestick",k:"K line chart",heatmap:"Heat map",map:"Map",parallel:"Parallel coordinate map",lines:"Line graph",graph:"Relationship graph",sankey:"Sankey diagram",funnel:"Funnel chart",gauge:"Guage",pictorialBar:"Pictorial bar",themeRiver:"Theme River Map",sunburst:"Sunburst"}},aria:{general:{withTitle:'This is a chart about "{title}"',withoutTitle:"This is a chart"},series:{single:{prefix:"",withName:" with type {seriesType} named {seriesName}.",withoutName:" with type {seriesType}."},multiple:{prefix:". It consists of {seriesCount} series count.",withName:" The {seriesId} series is a {seriesType} representing {seriesName}.",withoutName:" The {seriesId} series is a {seriesType}.",separator:{middle:"",end:""}}},data:{allData:"The data is as follows: ",partialData:"The first {displayCnt} items are: ",withName:"the data for {name} is {value}",withoutName:"{value}",separator:{middle:", ",end:". "}}}});Bl("ZH",{time:{month:"\u4e00\u6708 \u4e8c\u6708 \u4e09\u6708 \u56db\u6708 \u4e94\u6708 \u516d\u6708 \u4e03\u6708 \u516b\u6708 \u4e5d\u6708 \u5341\u6708 \u5341\u4e00\u6708 \u5341\u4e8c\u6708".split(" "),monthAbbr:"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),dayOfWeek:"\u661f\u671f\u65e5 \u661f\u671f\u4e00 \u661f\u671f\u4e8c \u661f\u671f\u4e09 \u661f\u671f\u56db \u661f\u671f\u4e94 \u661f\u671f\u516d".split(" "),dayOfWeekAbbr:"\u65e5\u4e00\u4e8c\u4e09\u56db\u4e94\u516d".split("")},legend:{selector:{all:"\u5168\u9009",inverse:"\u53cd\u9009"}},toolbox:{brush:{title:{rect:"\u77e9\u5f62\u9009\u62e9",polygon:"\u5708\u9009",lineX:"\u6a2a\u5411\u9009\u62e9",lineY:"\u7eb5\u5411\u9009\u62e9",keep:"\u4fdd\u6301\u9009\u62e9",clear:"\u6e05\u9664\u9009\u62e9"}},dataView:{title:"\u6570\u636e\u89c6\u56fe",lang:["\u6570\u636e\u89c6\u56fe","\u5173\u95ed","\u5237\u65b0"]},dataZoom:{title:{zoom:"\u533a\u57df\u7f29\u653e",back:"\u533a\u57df\u7f29\u653e\u8fd8\u539f"}},magicType:{title:{line:"\u5207\u6362\u4e3a\u6298\u7ebf\u56fe",bar:"\u5207\u6362\u4e3a\u67f1\u72b6\u56fe",stack:"\u5207\u6362\u4e3a\u5806\u53e0",tiled:"\u5207\u6362\u4e3a\u5e73\u94fa"}},restore:{title:"\u8fd8\u539f"},saveAsImage:{title:"\u4fdd\u5b58\u4e3a\u56fe\u7247",lang:["\u53f3\u952e\u53e6\u5b58\u4e3a\u56fe\u7247"]}},series:{typeNames:{pie:"\u997c\u56fe",bar:"\u67f1\u72b6\u56fe",line:"\u6298\u7ebf\u56fe",scatter:"\u6563\u70b9\u56fe",effectScatter:"\u6d9f\u6f2a\u6563\u70b9\u56fe",radar:"\u96f7\u8fbe\u56fe",tree:"\u6811\u56fe",treemap:"\u77e9\u5f62\u6811\u56fe",boxplot:"\u7bb1\u578b\u56fe",candlestick:"K\u7ebf\u56fe",k:"K\u7ebf\u56fe",heatmap:"\u70ed\u529b\u56fe",map:"\u5730\u56fe",parallel:"\u5e73\u884c\u5750\u6807\u56fe",lines:"\u7ebf\u56fe",graph:"\u5173\u7cfb\u56fe",sankey:"\u6851\u57fa\u56fe",funnel:"\u6f0f\u6597\u56fe",gauge:"\u4eea\u8868\u76d8\u56fe",pictorialBar:"\u8c61\u5f62\u67f1\u56fe",themeRiver:"\u4e3b\u9898\u6cb3\u6d41\u56fe",sunburst:"\u65ed\u65e5\u56fe"}},aria:{general:{withTitle:"\u8fd9\u662f\u4e00\u4e2a\u5173\u4e8e\u201c{title}\u201d\u7684\u56fe\u8868\u3002",withoutTitle:"\u8fd9\u662f\u4e00\u4e2a\u56fe\u8868\uff0c"},series:{single:{prefix:"",withName:"\u56fe\u8868\u7c7b\u578b\u662f{seriesType}\uff0c\u8868\u793a{seriesName}\u3002",withoutName:"\u56fe\u8868\u7c7b\u578b\u662f{seriesType}\u3002"},multiple:{prefix:"\u5b83\u7531{seriesCount}\u4e2a\u56fe\u8868\u7cfb\u5217\u7ec4\u6210\u3002",withName:"\u7b2c{seriesId}\u4e2a\u7cfb\u5217\u662f\u4e00\u4e2a\u8868\u793a{seriesName}\u7684{seriesType}\uff0c",withoutName:"\u7b2c{seriesId}\u4e2a\u7cfb\u5217\u662f\u4e00\u4e2a{seriesType}\uff0c",separator:{middle:"\uff1b",end:"\u3002"}}},data:{allData:"\u5176\u6570\u636e\u662f\u2014\u2014",partialData:"\u5176\u4e2d\uff0c\u524d{displayCnt}\u9879\u662f\u2014\u2014",withName:"{name}\u7684\u6570\u636e\u662f{value}",withoutName:"{value}",separator:{middle:"\uff0c",end:""}}}});var ph={year:"{yyyy}",month:"{MMM}",day:"{d}",hour:"{HH}:{mm}",minute:"{HH}:{mm}",second:"{HH}:{mm}:{ss}",millisecond:"{hh}:{mm}:{ss} {SSS}",none:"{yyyy}-{MM}-{dd} {hh}:{mm}:{ss} {SSS}"},wy={year:"{yyyy}",month:"{yyyy}-{MM}",day:"{yyyy}-{MM}-{dd}",hour:"{yyyy}-{MM}-{dd} "+ph.hour,minute:"{yyyy}-{MM}-{dd} "+ph.minute,second:"{yyyy}-{MM}-{dd} "+ph.second,millisecond:ph.none},Ko="year month day hour minute second millisecond".split(" "),mt="year half-year quarter month week half-week day half-day quarter-day hour minute second millisecond".split(" "),Od=Sh,YA=/([&<>"'])/g,ZA={"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;",'"':"\x26quot;","'":"\x26#39;"},Hr="abcdefg".split(""),Ci=r,Jr="left right top bottom width height".split(" "),Pd=[["width","left","right"],["height","top","bottom"]],me=Gl;P(Gl,"vertical");P(Gl,"horizontal");var iJ=ma(),W=function(b){function a(c,a,e){c=b.call(this,c,a,e)||this;c.uid=$e("ec_cpt_model");return c}x(a,b);a.prototype.init=function(c,a,b){this.mergeDefaultAndTheme(c,b)};a.prototype.mergeDefaultAndTheme=function(c,a){var b=pg(this),d=b?Qd({},c):{},g=a.getTheme();U(c,g.get(this.mainType));U(c,this.getDefaultOption());b&&gd(c,d,b)};a.prototype.mergeOption=function(c,a){U(this.option,c,!0);var b=pg(this);b&&gd(this.option,c,b)};a.prototype.optionUpdated=function(c,a){};a.prototype.getDefaultOption=function(){var c=this.constructor;if(!c||!c.___EC__EXTENDED_CLASS___)return c.defaultOption;var a=iJ(this);if(!a.defaultOption){for(var b=[];c;){var f=c.prototype.defaultOption;f&&b.push(f);c=c.superClass}c={};for(f=b.length-1;0<=f;f--)c=U(c,b[f],!0);a.defaultOption=c}return a.defaultOption};a.prototype.getReferringComponents=function(c,a){var b=c+"Id";return di(this.ecModel,c,{index:this.get(c+"Index",!0),id:this.get(b,!0)},a)};a.prototype.getBoxLayoutParams=function(){return{left:this.get("left"),top:this.get("top"),right:this.get("right"),bottom:this.get("bottom"),width:this.get("width"),height:this.get("height")}};a.protoInitialize=function(){var c=a.prototype;c.type="component";c.id="";c.name="";c.mainType="";c.subType="";c.componentIndex=0}();return a}(la);W.extend=la.extend;ei(W);(function(b){var a={};b.registerSubTypeDefaulter=function(c,b){var d=kc(c);a[d.main]=b};b.determineSubType=function(c,d){var e=d.type;if(!e){var f=kc(c).main;b.hasSubTypes(c)&&a[f]&&(e=a[f](d))}return e}})(W);(function(b,a){function c(c){var b={},f=[];r(c,function(g){var h=d(b,g),k=h.originalDeps=a(g),k=e(k,c);h.entryCount=k.length;0===h.entryCount&&f.push(g);r(k,function(c){0>ba(h.predecessor,c)&&h.predecessor.push(c);var a=d(b,c);0>ba(a.successor,c)&&a.successor.push(g)})});return{graph:b,noEntryList:f}}function d(c,a){c[a]||(c[a]={predecessor:[],successor:[]});return c[a]}function e(c,a){var b=[];r(c,function(c){0<=ba(a,c)&&b.push(c)});return b}b.topologicalTravel=function(a,b,d,e){function f(c){k[c].entryCount--;0===k[c].entryCount&&q.push(c)}function g(c){t[c]=!0;f(c)}if(a.length){var h=c(b),k=h.graph,q=h.noEntryList,t={};for(r(a,function(c){t[c]=!0});q.length;){var h=q.pop(),u=k[h],w=!!t[h];w&&(d.call(e,h,u.originalDeps.slice()),delete t[h]);r(u.successor,w?g:f)}r(t,function(){var c;c=gb("Circle dependency may exists: ",t,a,b);throw Error(c);})}}})(W,function(b){var a=[];r(W.getClassesByMainType(b),function(c){a=a.concat(c.dependencies||c.prototype.dependencies||[])});a=C(a,function(c){return kc(c).main});"dataset"!==b&&0>=ba(a,"dataset")&&a.unshift("dataset");return a});var xy="";"undefined"!==typeof navigator&&(xy=navigator.platform||"");var jJ={darkMode:"auto",color:"#5470c6 #91cc75 #fac858 #ee6666 #73c0de #3ba272 #fc8452 #9a60b4 #ea7ccc".split(" "),gradientColor:["#f6efa6","#d88273","#bf444c"],aria:{decal:{decals:[{color:"rgba(0, 0, 0, 0.2)",dashArrayX:[1,0],dashArrayY:[2,5],symbolSize:1,rotation:Math.PI/6},{color:"rgba(0, 0, 0, 0.2)",symbol:"circle",dashArrayX:[[8,8],[0,8,8,0]],dashArrayY:[6,0],symbolSize:.8},{color:"rgba(0, 0, 0, 0.2)",dashArrayX:[1,0],dashArrayY:[4,3],rotation:-Math.PI/4},{color:"rgba(0, 0, 0, 0.2)",dashArrayX:[[6,6],[0,6,6,0]],dashArrayY:[6,0]},{color:"rgba(0, 0, 0, 0.2)",dashArrayX:[[1,0],[1,6]],dashArrayY:[1,0,6,0],rotation:Math.PI/4},{color:"rgba(0, 0, 0, 0.2)",symbol:"triangle",dashArrayX:[[9,9],[0,9,9,0]],dashArrayY:[7,2],symbolSize:.75}]}},textStyle:{fontFamily:xy.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,stateAnimation:{duration:300,easing:"cubicOut"},animation:"auto",animationDuration:1E3,animationDurationUpdate:500,animationEasing:"cubicInOut",animationEasingUpdate:"cubicInOut",animationThreshold:2E3,progressiveThreshold:3E3,progressive:400,hoverLayerThreshold:3E3,useUTC:!1},jm=R(["tooltip","label","itemName","itemId","seriesName"]),ib={Must:1,Might:2,Not:3},Lr=ma(),Jl=R(),Lo=ma(),cB=ma(),Mo=function(){function b(){}b.prototype.getColorFromPalette=function(a,c,b){var d=xa(this.get("color",!0)),f=this.get("colorLayer",!0);return Nr(this,Lo,d,f,a,c,b)};b.prototype.clearColorPalette=function(){Lo(this).paletteIdx=0;Lo(this).paletteNameMap={}};return b}(),Sj,qh,yy,No=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.init=function(c,a,b,f,g,h){f=f||{};this.option=null;this._theme=new la(f);this._locale=new la(g);this._optionManager=h};a.prototype.setOption=function(c,a,b){O(null!=c,"option is null/undefined");O(1!==c["\x00_ec_inner"],"please use chart.getOption()");a=Qr(a);this._optionManager.setOption(c,b,a);this._resetOption(null,a)};a.prototype.resetOption=function(c,a){return this._resetOption(c,Qr(a))};a.prototype._resetOption=function(c,a){var b=!1,d=this._optionManager;if(!c||"recreate"===c){var g=d.mountOption("recreate"===c);this.option&&"recreate"!==c?(this.restoreData(),this._mergeOption(g,a)):yy(this,g);b=!0}"timeline"!==c&&"media"!==c||this.restoreData();if(!c||"recreate"===c||"timeline"===c)if(g=d.getTimelineOption(this))b=!0,this._mergeOption(g,a);c&&"recreate"!==c&&"media"!==c||(d=d.getMediaOption(this),d.length&&r(d,function(c){b=!0;this._mergeOption(c,a)},this));return b};a.prototype.mergeOption=function(c){this._mergeOption(c,null)};a.prototype._mergeOption=function(c,a){var b=this.option,d=this._componentsMap,g=this._componentsCount,h=[],k=R(),l=a&&a.replaceMergeMainTypeMap;Lr(this).datasetMap=R();r(c,function(c,a){null!=c&&(W.hasClass(a)?a&&(h.push(a),k.set(a,!0)):b[a]=null==b[a]?J(c):U(b[a],c,!0))});l&&l.each(function(c,a){W.hasClass(a)&&!k.get(a)&&(h.push(a),k.set(a,!0))});W.topologicalTravel(h,W.getAllClassMainTypes(),function(a){var e=bB(this,a,xa(c[a])),f=d.get(a),h=f?l&&l.get(a)?"replaceMerge":"normalMerge":"replaceAll",e=yq(f,e,h);BA(e,a,W);b[a]=null;d.set(a,null);g.set(a,0);var k=[],m=[],w=0;r(e,function(c,b){var d=c.existing,e=c.newOption;if(e){var f=W.getClass(a,c.keyInfo.subType,!0);if(d&&d.constructor===f)d.name=c.keyInfo.name,d.mergeOption(e,this),d.optionUpdated(e,!1);else{var g=F({componentIndex:b},c.keyInfo),d=new f(e,this,this,g);F(d,g);c.brandNew&&(d.__requireNewView=!0);d.init(e,this,this);d.optionUpdated(null,!0)}}else d&&(d.mergeOption({},this),d.optionUpdated({},!1));d?(k.push(d.option),m.push(d),w++):(k.push(void 0),m.push(void 0))},this);b[a]=k;d.set(a,m);g.set(a,w);"series"===a&&Sj(this)},this);this._seriesIndices||Sj(this)};a.prototype.getOption=function(){var c=J(this.option);r(c,function(a,b){if(W.hasClass(b)){for(var d=xa(a),e=d.length,h=!1,k=e-1;0<=k;k--)d[k]&&!Qe(d[k])?h=!0:(d[k]=null,!h&&e--);d.length=e;c[b]=d}});delete c["\x00_ec_inner"];return c};a.prototype.getTheme=function(){return this._theme};a.prototype.getLocaleModel=function(){return this._locale};a.prototype.getLocale=function(c){return this.getLocaleModel().get(c)};a.prototype.setUpdatePayload=function(c){this._payload=c};a.prototype.getUpdatePayload=function(){return this._payload};a.prototype.getComponent=function(c,a){var b=this._componentsMap.get(c);if(b){var d=b[a||0];if(d)return d;if(null==a)for(d=0;d<b.length;d++)if(b[d])return b[d]}};a.prototype.queryComponents=function(c){var a=c.mainType;if(!a)return[];var b=c.index,f=c.id,g=c.name,h=this._componentsMap.get(a);if(!h||!h.length)return[];var k;null!=b?(k=[],r(xa(b),function(c){h[c]&&k.push(h[c])})):k=null!=f?Or("id",f,h):null!=g?Or("name",g,h):ta(h,function(c){return!!c});return Pr(k,c)};a.prototype.findComponents=function(c){var a=c.mainType,b=function(c){var b=a+"Index",d=a+"Id",e=a+"Name";return!c||null==c[b]&&null==c[d]&&null==c[e]?null:{mainType:a,index:c[b],id:c[d],name:c[e]}}(c.query),b=b?this.queryComponents(b):ta(this._componentsMap.get(a),function(c){return!!c});return function(a){return c.filter?ta(a,c.filter):a}(Pr(b,c))};a.prototype.eachComponent=function(c,a,b){var d=this._componentsMap;if(fa(c))d.each(function(b,d){for(var e=0;b&&e<b.length;e++){var f=b[e];f&&c.call(a,d,f,f.componentIndex)}});else for(var d=da(c)?d.get(c):N(c)?this.findComponents(c):null,e=0;d&&e<d.length;e++){var h=d[e];h&&a.call(b,h,h.componentIndex)}};a.prototype.getSeriesByName=function(c){var a=Ea(c,null);return ta(this._componentsMap.get("series"),function(c){return!!c&&null!=a&&c.name===a})};a.prototype.getSeriesByIndex=function(c){return this._componentsMap.get("series")[c]};a.prototype.getSeriesByType=function(c){return ta(this._componentsMap.get("series"),function(a){return!!a&&a.subType===c})};a.prototype.getSeries=function(){return ta(this._componentsMap.get("series").slice(),function(c){return!!c})};a.prototype.getSeriesCount=function(){return this._componentsCount.get("series")};a.prototype.eachSeries=function(c,a){qh(this);r(this._seriesIndices,function(b){var d=this._componentsMap.get("series")[b];c.call(a,d,b)},this)};a.prototype.eachRawSeries=function(c,a){r(this._componentsMap.get("series"),function(b){b&&c.call(a,b,b.componentIndex)})};a.prototype.eachSeriesByType=function(c,a,b){qh(this);r(this._seriesIndices,function(d){var e=this._componentsMap.get("series")[d];e.subType===c&&a.call(b,e,d)},this)};a.prototype.eachRawSeriesByType=function(c,a,b){return r(this.getSeriesByType(c),a,b)};a.prototype.isSeriesFiltered=function(c){qh(this);return null==this._seriesIndicesMap.get(c.componentIndex)};a.prototype.getCurrentSeriesIndices=function(){return(this._seriesIndices||[]).slice()};a.prototype.filterSeries=function(c,a){qh(this);var b=[];r(this._seriesIndices,function(d){var e=this._componentsMap.get("series")[d];c.call(a,e,d)&&b.push(d)},this);this._seriesIndices=b;this._seriesIndicesMap=R(b)};a.prototype.restoreData=function(c){Sj(this);var a=this._componentsMap,b=[];a.each(function(c,a){W.hasClass(a)&&b.push(a)});W.topologicalTravel(b,W.getAllClassMainTypes(),function(b){r(a.get(b),function(a){var d;if((d=a)&&!(d="series"!==b)){if(c){d=c.seriesIndex;var e=c.seriesId,f=c.seriesName;d=null!=d&&a.componentIndex!==d||null!=e&&a.id!==e||null!=f&&a.name!==f}else d=void 0;d=!d}d&&a.restoreData()})})};a.internalField=function(){Sj=function(c){var a=c._seriesIndices=[];r(c._componentsMap.get("series"),function(c){c&&a.push(c.componentIndex)});c._seriesIndicesMap=R(a)};qh=function(c){if(!c._seriesIndices)throw Error("Option should contains series.");};yy=function(c,a){c.option={};c.option["\x00_ec_inner"]=1;c._componentsMap=R({series:[]});c._componentsCount=R();var b=a.aria;N(b)&&null==b.enabled&&(b.enabled=!0);dB(a,c._theme.option);U(a,jJ,!1);c._mergeOption(a,null)}}();return a}(la);wa(No,Mo);var kJ="getDom getZr getWidth getHeight getDevicePixelRatio dispatchAction isDisposed on off getDataURL getConnectedDataURL getOption getId updateLabelLayout".split(" "),zy=function(){return function(b){r(kJ,function(a){this[a]=I(b[a],b)},this)}}(),Oo={},Yd=function(){function b(){this._coordinateSystems=[]}b.prototype.create=function(a,c){var b=[];r(Oo,function(d,f){var e=d.create(a,c);b=b.concat(e||[])});this._coordinateSystems=b};b.prototype.update=function(a,c){r(this._coordinateSystems,function(b){b.update&&b.update(a,c)})};b.prototype.getCoordinateSystems=function(){return this._coordinateSystems.slice()};b.register=function(a,c){Oo[a]=c};b.get=function(a){return Oo[a]};return b}(),gB=/^(min|max)?(.+)$/,lJ=function(){function b(a){this._timelineOptions=[];this._mediaList=[];this._currentMediaIndices=[];this._api=a}b.prototype.setOption=function(a,c,b){a&&(r(xa(a.series),function(c){c&&c.data&&db(c.data)&&Ge(c.data)}),r(xa(a.dataset),function(c){c&&c.source&&db(c.source)&&Ge(c.source)}));a=J(a);b=this._optionBackup;a=eB(a,c,!b);this._newBaseOption=a.baseOption;b?(a.timelineOptions.length&&(b.timelineOptions=a.timelineOptions),a.mediaList.length&&(b.mediaList=a.mediaList),a.mediaDefault&&(b.mediaDefault=a.mediaDefault)):this._optionBackup=a};b.prototype.mountOption=function(a){var c=this._optionBackup;this._timelineOptions=c.timelineOptions;this._mediaList=c.mediaList;this._mediaDefault=c.mediaDefault;this._currentMediaIndices=[];return J(a?c.baseOption:this._newBaseOption)};b.prototype.getTimelineOption=function(a){var c,b=this._timelineOptions;b.length&&(a=a.getComponent("timeline"))&&(c=J(b[a.getCurrentIndex()]));return c};b.prototype.getMediaOption=function(a){a=this._api.getWidth();var c=this._api.getHeight(),b=this._mediaList,e=this._mediaDefault,f=[],g=[];if(!b.length&&!e)return g;for(var h=0,k=b.length;h<k;h++)fB(b[h].query,a,c)&&f.push(h);!f.length&&e&&(f=[-1]);f.length&&!hB(f,this._currentMediaIndices)&&(g=C(f,function(c){return J(-1===c?e.option:b[c].option)}));this._currentMediaIndices=f;return g};return b}(),Xb=r,rg=N,Rr="areaStyle lineStyle nodeStyle linkStyle chordStyle label labelLine".split(" "),kB=[["x","left"],["y","top"],["x2","right"],["y2","bottom"]],lB="grid geo parallel legend toolbox title visualMap dataZoom timeline".split(" "),Ml=[["borderRadius","barBorderRadius"],["borderColor","barBorderColor"],["borderWidth","barBorderWidth"]],Rd=function(){return function(b){this.data=b.data||("keyedColumns"===b.sourceFormat?{}:[]);this.sourceFormat=b.sourceFormat||"unknown";this.seriesLayoutBy=b.seriesLayoutBy||"column";this.startIndex=b.startIndex||0;this.dimensionsDefine=b.dimensionsDefine;this.dimensionsDetectedCount=b.dimensionsDetectedCount;this.encodeDefine=b.encodeDefine;this.metaRawOption=b.metaRawOption}}(),Ae,Be,Ce,Ay,By,mJ=function(){function b(a,c){var b=a instanceof Rd?a:Ol(a);this._source=b;var e=this._data=b.data;if("typedArray"===b.sourceFormat){if(null==c)throw Error("Typed array data must specify dimension size");this._offset=0;this._dimSize=c;this._data=e}By(this,e,b)}b.prototype.getSource=function(){return this._source};b.prototype.count=function(){return 0};b.prototype.getItem=function(a,c){};b.prototype.appendData=function(a){};b.prototype.clean=function(){};b.protoInitialize=function(){var a=b.prototype;a.pure=!1;a.persistent=!0}();b.internalField=function(){function a(c){for(var a=0;a<c.length;a++)this._data.push(c[a])}var c;By=function(c,a,d){var g=d.sourceFormat,h=d.seriesLayoutBy,k=d.startIndex;d=d.dimensionsDefine;var p=Ay["arrayRows"===g?g+"_"+h:g];O(p,"Invalide sourceFormat: "+g);F(c,p);"typedArray"===g?(c.getItem=b,c.count=f,c.fillStorage=e):(p=bs(g,h),c.getItem=I(p,null,a,k,d),g=cs(g,h),c.count=I(g,null,a,k,d))};var b=function(c,a){c-=this._offset;a=a||[];for(var b=this._data,d=this._dimSize,e=d*c,f=0;f<d;f++)a[f]=b[e+f];return a},e=function(c,a,b,d){for(var e=this._data,f=this._dimSize,g=0;g<f;g++){for(var h=d[g],k=null==h[0]?Infinity:h[0],l=null==h[1]?-Infinity:h[1],w=a-c,v=b[g],r=0;r<w;r++){var B=e[r*f+g];v[c+r]=B;B<k&&(k=B);B>l&&(l=B)}h[0]=k;h[1]=l}},f=function(){return this._data?this._data.length/this._dimSize:0};Ay=(c={},c.arrayRows_column={pure:!0,appendData:a},c.arrayRows_row={pure:!0,appendData:function(){throw Error('Do not support appendData when set seriesLayoutBy: "row".');}},c.objectRows={pure:!0,appendData:a},c.keyedColumns={pure:!0,appendData:function(c){var a=this._data;r(c,function(c,b){for(var d=a[b]||(a[b]=[]),e=0;e<(c||[]).length;e++)d.push(c[e])})}},c.original={appendData:a},c.typedArray={persistent:!1,pure:!0,appendData:function(c){O(db(c),"Added data must be TypedArray if data in initialization is TypedArray");this._data=c},clean:function(){this._offset+=this.count();this._data=null}},c)}();return b}(),Cy=function(b,a,c,d){return b[d]},qB=(Ae={},Ae.arrayRows_column=function(b,a,c,d){return b[d+a]},Ae.arrayRows_row=function(b,a,c,d){d+=a;a=[];for(c=0;c<b.length;c++){var e=b[c];a.push(e?e[d]:null)}return a},Ae.objectRows=Cy,Ae.keyedColumns=function(b,a,c,d){a=[];for(var e=0;e<c.length;e++){var f=c[e].name;if(null==f)throw Error();f=b[f];a.push(f?f[d]:null)}return a},Ae.original=Cy,Ae),Dy=function(b,a,c){return b.length},rB=(Be={},Be.arrayRows_column=function(b,a,c){return Math.max(0,b.length-a)},Be.arrayRows_row=function(b,a,c){return(b=b[0])?Math.max(0,b.length-a):0},Be.objectRows=Dy,Be.keyedColumns=function(b,a,c){a=c[0].name;if(null==a)throw Error();return(b=b[a])?b.length:0},Be.original=Dy,Be),Po=function(b,a,c){return null!=a?b[a]:b},sB=(Ce={},Ce.arrayRows=Po,Ce.objectRows=function(b,a,c){return null!=a?b[c]:b},Ce.keyedColumns=Po,Ce.original=function(b,a,c){b=bg(b);return null!=a&&b instanceof Array?b[a]:b},Ce.typedArray=Po,Ce),nJ=/\{@(.+?)\}/g,Qo=function(){function b(){}b.prototype.getDataParams=function(a,c){var b=this.getData(c),e=this.getRawValue(a,c),f=b.getRawIndex(a),g=b.getName(a),h=b.getRawDataItem(a),k=b.getItemVisual(a,"style"),l=k&&k[b.getItemVisual(a,"drawType")||"fill"],m=this.mainType,n="series"===m,b=b.userOutput;return{componentType:m,componentSubType:this.subType,componentIndex:this.componentIndex,seriesType:n?this.subType:null,seriesIndex:this.seriesIndex,seriesId:n?this.id:null,seriesName:n?this.name:null,name:g,dataIndex:f,data:h,dataType:c,value:e,color:l,borderColor:k&&k.stroke,dimensionNames:b?b.dimensionNames:null,encode:b?b.encode:null,$vars:["seriesName","name","value"]}};b.prototype.getFormattedLabel=function(a,c,b,e,f,g){c=c||"normal";var d=this.getData(b);b=this.getDataParams(a,b);g&&(b.value=g.interpolatedValue);null!=e&&A(b.value)&&(b.value=b.value[e]);f||(f=d.getItemModel(a).get("normal"===c?["label","formatter"]:[c,"label","formatter"]));if("function"===typeof f)return b.status=c,b.dimensionIndex=e,f(b);if("string"===typeof f)return Fl(f,b).replace(nJ,function(c,b){var e=b.length,f="["===b.charAt(0)&&"]"===b.charAt(e-1)?+b.slice(1,e-1):b,e=Sd(d,a,f);g&&A(g.interpolatedValue)&&(f=d.getDimensionInfo(f))&&(e=g.interpolatedValue[f.index]);return null!=e?e+"":""})};b.prototype.getRawValue=function(a,c){return Sd(this.getData(c),a)};b.prototype.formatTooltip=function(a,c,b){};return b}(),rh=function(){function b(a){a=a||{};this._reset=a.reset;this._plan=a.plan;this._count=a.count;this._onDirty=a.onDirty;this._dirty=!0}b.prototype.perform=function(a){function c(c){1<=c||(c=1);return c}var b=this._upstream,e=a&&a.skip;if(this._dirty&&b){var f=this.context;f.data=f.outputData=b.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var g;this._plan&&!e&&(g=this._plan(this.context));var h=c(this._modBy),k=this._modDataCount||0,f=c(a&&a.modBy),l=a&&a.modDataCount||0;if(h!==f||k!==l)g="reset";var m;if(this._dirty||"reset"===g)this._dirty=!1,m=this._doReset(e);this._modBy=f;this._modDataCount=l;a=a&&a.step;b?(O(null!=b._outputDueEnd),this._dueEnd=b._outputDueEnd):(O(!this._progress||this._count),this._dueEnd=this._count?this._count(this.context):Infinity);if(this._progress){b=this._dueIndex;a=Math.min(null!=a?this._dueIndex+a:Infinity,this._dueEnd);if(!e&&(m||b<a))if(e=this._progress,A(e))for(m=0;m<e.length;m++)this._doProgress(e[m],b,a,f,l);else this._doProgress(e,b,a,f,l);this._dueIndex=a;f=null!=this._settedOutputEnd?this._settedOutputEnd:a;O(f>=this._outputDueEnd);this._outputDueEnd=f}else this._dueIndex=this._outputDueEnd=null!=this._settedOutputEnd?this._settedOutputEnd:this._dueEnd;return this.unfinished()};b.prototype.dirty=function(){this._dirty=!0;this._onDirty&&this._onDirty(this.context)};b.prototype._doProgress=function(a,c,b,e,f){Ey.reset(c,b,e,f);this._callingProgress=a;this._callingProgress({start:c,end:b,count:b-c,next:Ey.next},this.context)};b.prototype._doReset=function(a){this._dueIndex=this._outputDueEnd=this._dueEnd=0;this._settedOutputEnd=null;var c,b;!a&&this._reset&&((c=this._reset(this.context))&&c.progress&&(b=c.forceFirstProgress,c=c.progress),A(c)&&!c.length&&(c=null));this._progress=c;this._modBy=this._modDataCount=null;(a=this._downstream)&&a.dirty();return b};b.prototype.unfinished=function(){return this._progress&&this._dueIndex<this._dueEnd};b.prototype.pipe=function(a){O(a&&!a._disposed&&a!==this);if(this._downstream!==a||this._dirty)this._downstream=a,a._upstream=this,a.dirty()};b.prototype.dispose=function(){this._disposed||(this._upstream&&(this._upstream._downstream=null),this._downstream&&(this._downstream._upstream=null),this._dirty=!1,this._disposed=!0)};b.prototype.getUpstream=function(){return this._upstream};b.prototype.getDownstream=function(){return this._downstream};b.prototype.setOutputEnd=function(a){this._outputDueEnd=this._settedOutputEnd=a};return b}(),Ey=function(){function b(){return d<c?d++:null}function a(){var a=d%g*e+Math.ceil(d/g),a=d>=c?null:a<f?a:d;d++;return a}var c,d,e,f,g,h={reset:function(k,l,m,n){d=k;c=l;e=m;f=n;g=Math.ceil(f/e);h.next=1<e&&0<f?a:b}};return h}(),cy=R({number:function(b){return parseFloat(b)},time:function(b){return+qb(b)},trim:function(b){return"string"===typeof b?Va(b):b}}),ey={lt:function(b,a){return b<a},lte:function(b,a){return b<=a},gt:function(b,a){return b>a},gte:function(b,a){return b>=a}},fI=function(){function b(a,c){"number"!==typeof c&&ja('rvalue of "\x3c", "\x3e", "\x3c\x3d", "\x3e\x3d" can only be number in filter.');this._opFn=ey[a];this._rvalFloat=jc(c)}b.prototype.evaluate=function(a){return"number"===typeof a?this._opFn(a,this._rvalFloat):this._opFn(jc(a),this._rvalFloat)};return b}(),is=function(){function b(a,c){var b="desc"===a;this._resultLT=b?1:-1;null==c&&(c=b?"min":"max");this._incomparable="min"===c?-Infinity:Infinity}b.prototype.evaluate=function(a,c){var b=typeof a,e=typeof c,f="number"===b?a:jc(a),g="number"===e?c:jc(c),h=isNaN(f),k=isNaN(g);h&&(f=this._incomparable);k&&(g=this._incomparable);h&&k&&(b="string"===b,e="string"===e,b&&(f=e?a:0),e&&(g=b?c:0));return f<g?this._resultLT:f>g?-this._resultLT:0};return b}(),eI=function(){function b(a,c){this._rval=c;this._isEQ=a;this._rvalTypeof=typeof c;this._rvalFloat=jc(c)}b.prototype.evaluate=function(a){var c=a===this._rval;if(!c){var b=typeof a;b===this._rvalTypeof||"number"!==b&&"number"!==this._rvalTypeof||(c=jc(a)===this._rvalFloat)}return this._isEQ?c:!c};return b}(),uB=function(){function b(){}b.prototype.getRawData=function(){throw Error("not supported");};b.prototype.getRawDataItem=function(a){throw Error("not supported");};b.prototype.cloneRawData=function(){};b.prototype.getDimensionInfo=function(a){};b.prototype.cloneAllDimensionInfo=function(){};b.prototype.count=function(){};b.prototype.retrieveValue=function(a,c){};b.prototype.retrieveValueFromItem=function(a,c){};b.prototype.convertValue=function(a,c){return Di(a,c)};return b}(),fs=R(),Fy=function(){function b(a){this._sourceList=[];this._upstreamSignList=[];this._versionSignBase=0;this._sourceHost=a}b.prototype.dirty=function(){this._setLocalSource([],[])};b.prototype._setLocalSource=function(a,c){this._sourceList=a;this._upstreamSignList=c;this._versionSignBase++;9E10<this._versionSignBase&&(this._versionSignBase=0)};b.prototype._getVersionSign=function(){return this._sourceHost.uid+"_"+this._versionSignBase};b.prototype.prepareSource=function(){this._isDirty()&&this._createSource()};b.prototype._createSource=function(){this._setLocalSource([],[]);var a=this._sourceHost,c=this._getUpstreamSourceManagers(),b=!!c.length;if("series"===a.mainType){var e,f=void 0;b?(c=c[0],c.prepareSource(),f=c.getSource(),b=f.data,e=f.sourceFormat,c=[c._getVersionSign()]):(b=a.get("data",!0),e=db(b)?"typedArray":"original",c=[]);var g=this._getSourceMetaRawOption(),h=f?f.metaRawOption:null,f=ka(g.seriesLayoutBy,h?h.seriesLayoutBy:null),k=ka(g.sourceHeader,h?h.sourceHeader:null),g=ka(g.dimensions,h?h.dimensions:null),a=[Nl(b,{seriesLayoutBy:f,sourceHeader:k,dimensions:g},e,a.get("encode",!0))]}else b?(c=this._applyTransform(c),a=c.sourceList,c=c.upstreamSignList):(a=a.get("source",!0),a=[Nl(a,this._getSourceMetaRawOption(),null,null)],c=[]);O(a&&c);this._setLocalSource(a,c)};b.prototype._applyTransform=function(a){var c=this._sourceHost,b=c.get("transform",!0),e=c.get("fromTransformResult",!0);O(null!=e||null!=b);if(null!=e&&1!==a.length)throw Error("When using `fromTransformResult`, there should be only one upstream dataset");var f,g=[],h=[];r(a,function(c){c.prepareSource();var a=c.getSource(e||0);if(null!=e&&!a)throw c="Can not retrieve result by `fromTransformResult`: "+e,Error(c);g.push(a);h.push(c._getVersionSign())});b?f=zB(b,g,{datasetIndex:c.componentIndex}):null!=e&&(f=[oB(g[0])]);return{sourceList:f,upstreamSignList:h}};b.prototype._isDirty=function(){if(!this._sourceList.length)return!0;for(var a=this._getUpstreamSourceManagers(),c=0;c<a.length;c++){var b=a[c];if(b._isDirty()||this._upstreamSignList[c]!==b._getVersionSign())return!0}};b.prototype.getSource=function(a){return this._sourceList[a||0]};b.prototype._getUpstreamSourceManagers=function(){var a=this._sourceHost;return"series"===a.mainType?(a=Hl(a))?[a.getSourceManager()]:[]:C(aB(a),function(c){return c.getSourceManager()})};b.prototype._getSourceMetaRawOption=function(){var a=this._sourceHost,c,b,e;"series"===a.mainType?(c=a.get("seriesLayoutBy",!0),b=a.get("sourceHeader",!0),e=a.get("dimensions",!0)):this._getUpstreamSourceManagers().length||(c=a.get("seriesLayoutBy",!0),b=a.get("sourceHeader",!0),e=a.get("dimensions",!0));return{seriesLayoutBy:c,sourceHeader:b,dimensions:e}};return b}(),CB=[0,10,20,30],DB=["","\n","\n\n","\n\n\n"],hs={section:{planLayout:function(b){var a=b.blocks.length,c=1<a||0<a&&!b.noHeader,d=0;r(b.blocks,function(a){Pl(a).planLayout(a);var b=a.__gapLevelBetweenSubBlocks;b>=d&&(d=b+(!c||b&&("section"!==a.type||a.noHeader)?0:1))});b.__gapLevelBetweenSubBlocks=d},build:function(b,a,c,d){var e=a.noHeader,f=js(a),g=BB(b,a,e?c:f.html,d);if(e)return g;a=zi(a.header,"ordinal",b.useUTC);d=gs(d,b.renderMode).nameStyle;return"richText"===b.renderMode?b.markupStyleCreator.wrapRichTextStyle(a,d)+f.richText+g:Ql('\x3cdiv style\x3d"'+d+';line-height:1;"\x3e'+fd(a)+"\x3c/div\x3e"+g,c)}},nameValue:{planLayout:function(b){b.__gapLevelBetweenSubBlocks=0},build:function(b,a,c,d){var e=b.renderMode,f=a.noName,g=a.noValue,h=!a.markerType,k=a.name,l=a.value,m=b.useUTC;if(!f||!g){var n=h?"":b.markupStyleCreator.makeTooltipMarker(a.markerType,a.markerColor||"#333",e),k=f?"":zi(k,"ordinal",m),p=a.valueType;a=g?[]:A(l)?C(l,function(c,a){return zi(c,A(p)?p[a]:p,m)}):[zi(l,A(p)?p[0]:p,m)];var l=!h||!f,q=!h&&f,t=gs(d,e);d=t.nameStyle;t=t.valueStyle;return"richText"===e?(h?"":n)+(f?"":b.markupStyleCreator.wrapRichTextStyle(k,d))+(g?"":FB(b,a,l,q,t)):Ql((h?"":n)+(f?"":'\x3cspan style\x3d"'+d+";"+(h?"":"margin-left:2px")+'"\x3e'+fd(k)+"\x3c/span\x3e")+(g?"":EB(a,l,q,t)),c)}}}},Ro=function(){function b(){this.richTextStyles={};this._nextStyleNameId=Math.round(9*Math.random())}b.prototype._generateStyleName=function(){return"__EC_aUTo_"+this._nextStyleNameId++};b.prototype.makeTooltipMarker=function(a,c,b){var d="richText"===b?this._generateStyleName():null;a=Ir({color:c,type:a,renderMode:b,markerId:d});if(da(a))return a;O(d);this.richTextStyles[d]=a.style;return a.content};b.prototype.wrapRichTextStyle=function(a,c){var b={};A(c)?r(c,function(c){return F(b,c)}):F(b,c);var e=this._generateStyleName();this.richTextStyles[e]=b;return"{"+e+"|"+a+"}"};return b}(),yd=ma(),ra=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c._selectedDataIndicesMap={};return c}x(a,b);a.prototype.init=function(c,a,b){this.seriesIndex=this.componentIndex;this.dataTask=new rh({count:IB,reset:JB});this.dataTask.context={model:this};this.mergeDefaultAndTheme(c,b);(yd(this).sourceManager=new Fy(this)).prepareSource();c=this.getInitialData(c,b);ps(c,this);this.dataTask.context.data=c;O(c,"getInitialData returned invalid data.");yd(this).dataBeforeProcessed=c;os(this);this._initSelectedMapFromData(c)};a.prototype.mergeDefaultAndTheme=function(c,a){var b=pg(this),d=b?Qd({},c):{};W.hasClass(this.subType);U(c,a.getTheme().get(this.subType));U(c,this.getDefaultOption());Id(c,"label",["show"]);this.fillDataTextStyle(c.data);b&&gd(c,d,b)};a.prototype.mergeOption=function(c,a){c=U(this.option,c,!0);this.fillDataTextStyle(c.data);var b=pg(this);b&&gd(this.option,c,b);b=yd(this).sourceManager;b.dirty();b.prepareSource();b=this.getInitialData(c,a);ps(b,this);this.dataTask.dirty();this.dataTask.context.data=b;yd(this).dataBeforeProcessed=b;os(this);this._initSelectedMapFromData(b)};a.prototype.fillDataTextStyle=function(c){if(c&&!db(c))for(var a=["show"],b=0;b<c.length;b++)c[b]&&c[b].label&&Id(c[b],"label",a)};a.prototype.getInitialData=function(c,a){};a.prototype.appendData=function(c){this.getRawData().appendData(c.data)};a.prototype.getData=function(c){var a=Rl(this);return a?(a=a.context.data,null==c?a:a.getLinkedData(c)):yd(this).data};a.prototype.getAllData=function(){var c=this.getData();return c&&c.getLinkedDataAll?c.getLinkedDataAll():[{data:c}]};a.prototype.setData=function(c){var a=Rl(this);if(a){var b=a.context;b.outputData=c;a!==this.dataTask&&(b.data=c)}yd(this).data=c};a.prototype.getSource=function(){return yd(this).sourceManager.getSource()};a.prototype.getRawData=function(){return yd(this).dataBeforeProcessed};a.prototype.getBaseAxis=function(){var c=this.coordinateSystem;return c&&c.getBaseAxis&&c.getBaseAxis()};a.prototype.formatTooltip=function(c,a,b){return ns({series:this,dataIndex:c,multipleSeries:a})};a.prototype.isAnimationEnabled=function(){if(X.node)return!1;var c=this.getShallow("animation");c&&this.getData().count()>this.getShallow("animationThreshold")&&(c=!1);return!!c};a.prototype.restoreData=function(){this.dataTask.dirty()};a.prototype.getColorFromPalette=function(c,a,b){var d=this.ecModel,e=Mo.prototype.getColorFromPalette.call(this,c,a,b);e||(e=d.getColorFromPalette(c,a,b));return e};a.prototype.coordDimToDataDim=function(c){return this.getRawData().mapDimensionsAll(c)};a.prototype.getProgressive=function(){return this.get("progressive")};a.prototype.getProgressiveThreshold=function(){return this.get("progressiveThreshold")};a.prototype.select=function(c,a){this._innerSelect(this.getData(a),c)};a.prototype.unselect=function(c,a){var b=this.option.selectedMap;if(b)for(var d=this.getData(a),g=0;g<c.length;g++){var h=Ei(d,c[g]);b[h]=!1;this._selectedDataIndicesMap[h]=-1}};a.prototype.toggleSelect=function(c,a){for(var b=[],d=0;d<c.length;d++)b[0]=c[d],this.isSelected(c[d],a)?this.unselect(b,a):this.select(b,a)};a.prototype.getSelectedDataIndices=function(){for(var c=this._selectedDataIndicesMap,a=ia(c),b=[],f=0;f<a.length;f++){var g=c[a[f]];0<=g&&b.push(g)}return b};a.prototype.isSelected=function(c,a){var b=this.option.selectedMap;if(!b)return!1;var d=this.getData(a),d=Ei(d,c);return b[d]||!1};a.prototype._innerSelect=function(c,a){var b,d,g=this.option.selectedMode,h=a.length;if(g&&h)if("multiple"===g)for(b=this.option.selectedMap||(this.option.selectedMap={}),d=0;d<h;d++){var k=a[d],g=Ei(c,k);b[g]=!0;this._selectedDataIndicesMap[g]=c.getRawIndex(k)}else if("single"===g||!0===g)h=a[h-1],g=Ei(c,h),this.option.selectedMap=(b={},b[g]=!0,b),this._selectedDataIndicesMap=(d={},d[g]=c.getRawIndex(h),d)};a.prototype._initSelectedMapFromData=function(c){if(!this.option.selectedMap){var a=[];c.hasItemOption&&c.each(function(b){var d=c.getRawDataItem(b);"object"===typeof d&&d.selected&&a.push(b)});0<a.length&&this._innerSelect(c,a)}};a.registerClass=function(c){return W.registerClass(c)};a.protoInitialize=function(){var c=a.prototype;c.type="series.__base__";c.seriesIndex=0;c.useColorPaletteOnData=!1;c.ignoreStyleOnData=!1;c.hasSymbolVisual=!1;c.defaultSymbol="circle";c.visualStyleAccessPath="itemStyle";c.visualDrawType="fill"}();return a}(W);wa(ra,Qo);wa(ra,Mo);ra.extend=W.extend;var na=function(){function b(){this.group=new M;this.uid=$e("viewComponent")}b.prototype.init=function(a,c){};b.prototype.render=function(a,c,b,e){};b.prototype.dispose=function(a,c){};b.prototype.updateView=function(a,c,b,e){};b.prototype.updateLayout=function(a,c,b,e){};b.prototype.updateVisual=function(a,c,b,e){};b.prototype.blurSeries=function(a,c){};return b}();cl(na);ei(na);var rs=ma(),NB=cf(),oa=function(){function b(){this.group=new M;this.uid=$e("viewChart");this.renderTask=new rh({plan:MB,reset:OB});this.renderTask.context={view:this}}b.prototype.init=function(a,c){};b.prototype.render=function(a,c,b,e){};b.prototype.highlight=function(a,c,b,e){qs(a.getData(),e,"emphasis")};b.prototype.downplay=function(a,c,b,e){qs(a.getData(),e,"normal")};b.prototype.remove=function(a,c){this.group.removeAll()};b.prototype.dispose=function(a,c){};b.prototype.updateView=function(a,c,b,e){this.render(a,c,b,e)};b.prototype.updateLayout=function(a,c,b,e){this.render(a,c,b,e)};b.prototype.updateVisual=function(a,c,b,e){this.render(a,c,b,e)};b.markUpdateMethod=function(a,c){rs(a).updateMethod=c};b.prototype.type="chart";b.protoInitialize=void 0;return b}();cl(oa,["dispose"]);ei(oa);var PB={incrementalPrepareRender:{progress:function(b,a){a.view.incrementalRender(b,a.model,a.ecModel,a.api,a.payload)}},render:{forceFirstProgress:!0,progress:function(b,a){a.view.render(a.model,a.ecModel,a.api,a.payload)}}},Gy=ma(),ts={itemStyle:Kd(vy,!0),lineStyle:Kd(uy,!0)},QB={lineStyle:"stroke",itemStyle:"fill"},sh=new la,Tj=Math.PI,at=function(){function b(a,c,b,e){this._stageTaskMap=R();this.ecInstance=a;this.api=c;b=this._dataProcessorHandlers=b.slice();e=this._visualHandlers=e.slice();this._allHandlers=b.concat(e)}b.prototype.restoreData=function(a,c){a.restoreData(c);this._stageTaskMap.each(function(c){(c=c.overallTask)&&c.dirty()})};b.prototype.getPerformArgs=function(a,c){if(a.__pipeline){var b=this._pipelineMap.get(a.__pipeline.id),e=b.context,b=!c&&b.progressiveEnabled&&(!e||e.progressiveRender)&&a.__idxInPipeline>b.blockIndex?b.step:null,e=e&&e.modDataCount;return{step:b,modBy:null!=e?Math.ceil(e/b):null,modDataCount:e}}};b.prototype.getPipeline=function(a){return this._pipelineMap.get(a)};b.prototype.updateStreamModes=function(a,c){var b=this._pipelineMap.get(a.uid),e=a.getData().count(),f=b.progressiveEnabled&&c.incrementalPrepareRender&&e>=b.threshold,g=a.get("large")&&e>=a.get("largeThreshold"),e="mod"===a.get("progressiveChunkMode")?e:null;a.pipelineContext=b.context={progressiveRender:f,modDataCount:e,large:g}};b.prototype.restorePipelines=function(a){var c=this,b=c._pipelineMap=R();a.eachSeries(function(a){var d=a.getProgressive(),e=a.uid;b.set(e,{id:e,head:null,tail:null,threshold:a.getProgressiveThreshold(),progressiveEnabled:d&&!(a.preventIncremental&&a.preventIncremental()),blockIndex:-1,step:Math.round(d||700),count:0});c._pipe(a,a.dataTask)})};b.prototype.prepareStageTasks=function(){var a=this._stageTaskMap,c=this.api.getModel(),b=this.api;r(this._allHandlers,function(d){var e=a.get(d.uid)||a.set(d.uid,{});O(!(d.reset&&d.overallReset),'"reset" and "overallReset" must not be both specified.');d.reset&&this._createSeriesStageTask(d,e,c,b);d.overallReset&&this._createOverallStageTask(d,e,c,b)},this)};b.prototype.prepareView=function(a,c,b,e){var d=a.renderTask,g=d.context;g.model=c;g.ecModel=b;g.api=e;d.__block=!a.incrementalPrepareRender;this._pipe(c,d)};b.prototype.performDataProcessorTasks=function(a,c){this._performStageTasks(this._dataProcessorHandlers,a,c,{block:!0})};b.prototype.performVisualTasks=function(a,c,b){this._performStageTasks(this._visualHandlers,a,c,b)};b.prototype._performStageTasks=function(a,c,b,e){e=e||{};var d=!1,g=this;r(a,function(a,f){if(!e.visualType||e.visualType===a.visualType){var h=g._stageTaskMap.get(a.uid),k=h.seriesTaskMap;if(h=h.overallTask){var n,k=h.agentStubMap;k.each(function(c){!e.setDirty||e.dirtyMap&&!e.dirtyMap.get(c.__pipeline.id)||(c.dirty(),n=!0)});n&&h.dirty();g.updatePayload(h,b);var p=g.getPerformArgs(h,e.block);k.each(function(c){c.perform(p)});h.perform(p)&&(d=!0)}else k&&k.each(function(f,h){!e.setDirty||e.dirtyMap&&!e.dirtyMap.get(f.__pipeline.id)||f.dirty();var k=g.getPerformArgs(f,e.block);k.skip=!a.performRawSeries&&c.isSeriesFiltered(f.context.model);g.updatePayload(f,b);f.perform(k)&&(d=!0)})}});this.unfinished=d||this.unfinished};b.prototype.performSeriesTasks=function(a){var c;a.eachSeries(function(a){c=a.dataTask.perform()||c});this.unfinished=c||this.unfinished};b.prototype.plan=function(){this._pipelineMap.each(function(a){var c=a.tail;do{if(c.__block){a.blockIndex=c.__idxInPipeline;break}c=c.getUpstream()}while(c)})};b.prototype.updatePayload=function(a,c){"remain"!==c&&(a.context.payload=c)};b.prototype._createSeriesStageTask=function(a,c,b,e){function d(c){var d=c.uid,d=k.set(d,h&&h.get(d)||new rh({plan:VB,reset:WB,count:YB}));d.context={model:c,ecModel:b,api:e,useClearVisual:a.isVisual&&!a.isLayout,plan:a.plan,reset:a.reset,scheduler:g};g._pipe(c,d)}var g=this,h=c.seriesTaskMap,k=c.seriesTaskMap=R();c=a.seriesType;var l=a.getTargetSeries;a.createOnAllSeries?b.eachRawSeries(d):c?b.eachRawSeriesByType(c,d):l&&l(b,e).each(d)};b.prototype._createOverallStageTask=function(a,c,b,e){function d(c){var a=c.uid,a=l.set(a,k&&k.get(a)||(p=!0,new rh({reset:SB,onDirty:UB})));a.context={model:c,overallProgress:n};a.agent=h;a.__block=n;g._pipe(c,a)}var g=this,h=c.overallTask=c.overallTask||new rh({reset:RB});h.context={ecModel:b,api:e,overallReset:a.overallReset,scheduler:g};var k=h.agentStubMap,l=h.agentStubMap=R();c=a.seriesType;var m=a.getTargetSeries,n=!0,p=!1;O(!a.createOnAllSeries,'"createOnAllSeries" do not supported for "overallReset", becuase it will block all streams.');c?b.eachRawSeriesByType(c,d):m?m(b,e).each(d):(n=!1,r(b.getSeries(),d));p&&h.dirty()};b.prototype._pipe=function(a,c){var b=this._pipelineMap.get(a.uid);!b.head&&(b.head=c);b.tail&&b.tail.pipe(c);b.tail=c;c.__idxInPipeline=b.count++;c.__pipeline=b};b.wrapStageHandler=function(a,c){if(fa(a)){var b=a;Uj=null;try{a(th,Hy)}catch(e){}a={overallReset:b,seriesType:Uj}}a.uid=$e("stageHandler");c&&(a.visualType=c);return a};return b}(),XB=vs(0),th={},Hy={},Uj;ws(th,No);ws(Hy,zy);th.eachSeriesByType=th.eachRawSeriesByType=function(b){Uj=b};th.eachComponent=function(b){"series"===b.mainType&&b.subType&&(Uj=b.subType)};var Iy="#37A2DA #32C5E9 #67E0E3 #9FE6B8 #FFDB5C #ff9f7f #fb7293 #E062AE #E690D1 #e7bcf3 #9d96f5 #8378EA #96BFFF".split(" "),oJ={color:Iy,colorLayer:[["#37A2DA","#ffd85c","#fd7b5f"],"#37A2DA #67E0E3 #FFDB5C #ff9f7f #E062AE #9d96f5".split(" "),"#37A2DA #32C5E9 #9FE6B8 #FFDB5C #ff9f7f #fb7293 #e7bcf3 #8378EA #96BFFF".split(" "),Iy]},Vj=function(){return{axisLine:{lineStyle:{color:"#B9B8CE"}},splitLine:{lineStyle:{color:"#484753"}},splitArea:{areaStyle:{color:["rgba(255,255,255,0.02)","rgba(255,255,255,0.05)"]}},minorSplitLine:{lineStyle:{color:"#20203B"}}}},Jy="#4992ff #7cffb2 #fddd60 #ff6e76 #58d9f9 #05c091 #ff8a45 #8d48e3 #dd79ff".split(" "),Ky={darkMode:!0,color:Jy,backgroundColor:"#100C2A",axisPointer:{lineStyle:{color:"#817f91"},crossStyle:{color:"#817f91"},label:{color:"#fff"}},legend:{textStyle:{color:"#B9B8CE"}},textStyle:{color:"#B9B8CE"},title:{textStyle:{color:"#EEF1FA"},subtextStyle:{color:"#B9B8CE"}},toolbox:{iconStyle:{borderColor:"#B9B8CE"}},dataZoom:{borderColor:"#71708A",textStyle:{color:"#B9B8CE"},brushStyle:{color:"rgba(135,163,206,0.3)"},handleStyle:{color:"#353450",borderColor:"#C5CBE3"},moveHandleStyle:{color:"#B0B6C3",opacity:.3},fillerColor:"rgba(135,163,206,0.2)",emphasis:{handleStyle:{borderColor:"#91B7F2",color:"#4D587D"},moveHandleStyle:{color:"#636D9A",opacity:.7}},dataBackground:{lineStyle:{color:"#71708A",width:1},areaStyle:{color:"#71708A"}},selectedDataBackground:{lineStyle:{color:"#87A3CE"},areaStyle:{color:"#87A3CE"}}},visualMap:{textStyle:{color:"#B9B8CE"}},timeline:{lineStyle:{color:"#B9B8CE"},label:{color:"#B9B8CE"},controlStyle:{color:"#B9B8CE",borderColor:"#B9B8CE"}},calendar:{itemStyle:{color:"#100C2A"},dayLabel:{color:"#B9B8CE"},monthLabel:{color:"#B9B8CE"},yearLabel:{color:"#B9B8CE"}},timeAxis:Vj(),logAxis:Vj(),valueAxis:Vj(),categoryAxis:Vj(),line:{symbol:"circle"},graph:{color:Jy},gauge:{title:{color:"#B9B8CE"},axisLine:{lineStyle:{color:[[1,"rgba(207,212,219,0.2)"]]}},axisLabel:{color:"#B9B8CE"},detail:{color:"#EEF1FA"}},candlestick:{itemStyle:{color:"#f64e56",color0:"#54ea92",borderColor:"#f64e56",borderColor0:"#54ea92"}}};Ky.categoryAxis.splitLine.show=!1;var Ly=R(),Ri={registerMap:function(b,a,c){if(!A(a))if(a.svg)a=[{type:"svg",source:a.svg,specialAreas:a.specialAreas}];else{var d=a.geoJson||a.geoJSON;d&&!a.features&&(c=a.specialAreas,a=d);a=[{type:"geoJSON",source:a,specialAreas:c}]}r(a,function(c){var a=c.type;"geoJson"===a&&(a=c.type="geoJSON");var b=pJ[a];O(b,"Illegal map type: "+a);b(c)});return Ly.set(b,a)},retrieveMap:function(b){return Ly.get(b)}},pJ={geoJSON:function(b){var a=b.source;b.geoJSON=da(a)?"undefined"!==typeof JSON&&JSON.parse?JSON.parse(a):(new Function("return ("+a+");"))():a},svg:function(b){b.svgXML=xs(b.source)}},qJ=function(){function b(){}b.prototype.normalizeQuery=function(a){var c={},b={},e={};if(da(a))a=kc(a),c.mainType=a.main||null,c.subType=a.sub||null;else{var f=["Index","Name","Id"],g={name:1,dataIndex:1,dataType:1};r(a,function(a,d){for(var h=!1,k=0;k<f.length;k++){var n=f[k],p=d.lastIndexOf(n);0<p&&p===d.length-n.length&&(p=d.slice(0,p),"data"!==p&&(c.mainType=p,c[n.toLowerCase()]=a,h=!0))}g.hasOwnProperty(d)&&(b[d]=a,h=!0);h||(e[d]=a)})}return{cptQuery:c,dataQuery:b,otherQuery:e}};b.prototype.filter=function(a,c){function b(c,a,b,d){return null==c[b]||a[d||b]===c[b]}var e=this.eventInfo;if(!e)return!0;var f=e.targetEl,g=e.packedEvent,h=e.model,e=e.view;if(!h||!e)return!0;var k=c.cptQuery,l=c.dataQuery;return b(k,h,"mainType")&&b(k,h,"subType")&&b(k,h,"index","componentIndex")&&b(k,h,"name")&&b(k,h,"id")&&b(l,g,"name")&&b(l,g,"dataIndex")&&b(l,g,"dataType")&&(!e.filterForExposedEvent||e.filterForExposedEvent(a,c.otherQuery,f,g))};b.prototype.afterTrigger=function(){this.eventInfo=null};return b}(),vg=2*Math.PI,Td=pc.CMD,ZB=["top","right","bottom","left"],Zb=[],Yb=new V,pa=new V,Ka=new V,qc=new V,rc=new V,Hi=[],jb=new V,My=["align","verticalAlign","width","height","fontSize"],ec=new Dc,So=ma(),rJ=ma(),Wj=["x","y","rotation"],sJ=function(){function b(){this._labelList=[];this._chartViewList=[]}b.prototype.clearLabels=function(){this._labelList=[];this._chartViewList=[]};b.prototype._addLabel=function(a,c,b,e,f){var d=e.style,h=e.__hostTarget.textConfig||{},k=e.getComputedTransform(),l=e.getBoundingRect().plain();aa.applyTransform(l,l,k);k?ec.setLocalTransform(k):(ec.x=ec.y=ec.rotation=ec.originX=ec.originY=0,ec.scaleX=ec.scaleY=1);var k=e.__hostTarget,m;if(k){m=k.getBoundingRect().plain();var n=k.getComputedTransform();aa.applyTransform(m,m,n)}k=m&&k.getTextGuideLine();this._labelList.push({label:e,labelLine:k,seriesModel:b,dataIndex:a,dataType:c,layoutOption:f,computedLayoutOption:null,rect:l,hostRect:m,priority:m?m.width*m.height:0,defaultAttr:{ignore:e.ignore,labelGuideIgnore:k&&k.ignore,x:ec.x,y:ec.y,rotation:ec.rotation,style:{x:d.x,y:d.y,align:d.align,verticalAlign:d.verticalAlign,width:d.width,height:d.height,fontSize:d.fontSize},cursor:e.cursor,attachedPos:h.position,attachedRot:h.rotation}})};b.prototype.addLabelsOfSeries=function(a){var c=this;this._chartViewList.push(a);var b=a.__model,e=b.get("labelLayout");(fa(e)||ia(e).length)&&a.group.traverse(function(a){if(a.ignore)return!0;var d=a.getTextContent();a=S(a);d&&!d.disableLabelLayout&&c._addLabel(a.dataIndex,a.dataType,b,d,e)})};b.prototype.updateLayoutConfig=function(a){function c(c,a){return function(){As(c,a)}}var b=a.getWidth();a=a.getHeight();for(var e=0;e<this._labelList.length;e++){var f=this._labelList[e],g=f.label,h=g.__hostTarget,k=f.defaultAttr,l=void 0,l=(l="function"===typeof f.layoutOption?f.layoutOption(dC(f,h)):f.layoutOption)||{};f.computedLayoutOption=l;var m=Math.PI/180;h&&h.setTextConfig({local:!1,position:null!=l.x||null!=l.y?null:k.attachedPos,rotation:null!=l.rotate?l.rotate*m:k.attachedRot,offset:[l.dx||0,l.dy||0]});var n=!1;null!=l.x?(g.x=H(l.x,b),g.setStyle("x",0),n=!0):(g.x=k.x,g.setStyle("x",k.style.x));null!=l.y?(g.y=H(l.y,a),g.setStyle("y",0),n=!0):(g.y=k.y,g.setStyle("y",k.style.y));if(l.labelLinePoints){var p=h.getTextGuideLine();p&&(p.setShape({points:l.labelLinePoints}),n=!1)}So(g).needsUpdateLabelLine=n;g.rotation=null!=l.rotate?l.rotate*m:k.rotation;for(m=0;m<My.length;m++)n=My[m],g.setStyle(n,null!=l[n]?l[n]:k.style[n]);l.draggable?(g.draggable=!0,g.cursor="move",h&&(k=f.seriesModel,null!=f.dataIndex&&(k=f.seriesModel.getData(f.dataType).getItemModel(f.dataIndex)),g.on("drag",c(h,k.getModel("labelLine"))))):(g.off("drag"),g.cursor=k.cursor)}};b.prototype.layout=function(a){var c=a.getWidth();a=a.getHeight();var b=bC(this._labelList),e=ta(b,function(c){return"shiftX"===c.layoutOption.moveOverlap}),f=ta(b,function(c){return"shiftY"===c.layoutOption.moveOverlap});Vl(e,"x","width",0,c,void 0);Vl(f,"y","height",0,a,void 0);c=ta(b,function(c){return c.layoutOption.hideOverlap});cC(c)};b.prototype.processLabelsOverall=function(){var a=this;r(this._chartViewList,function(c){var b=c.__model,e=c.ignoreLabelLineUpdate,f=b.isAnimationEnabled();c.group.traverse(function(c){if(c.ignore)return!0;var d=!e,g=c.getTextContent();!d&&g&&(d=So(g).needsUpdateLabelLine);d&&a._updateLabelLine(c,b);f&&a._animateLabels(c,b)})})};b.prototype._updateLabelLine=function(a,c){var b=a.getTextContent(),e=S(a),f=e.dataIndex;if(b&&null!=f){var g=c.getData(e.dataType),b=g.getItemModel(f),e={},f=g.getItemVisual(f,"style"),g=g.getVisual("drawType");e.stroke=f[g];f=b.getModel("labelLine");Tl(a,Ul(b),e);As(a,f)}};b.prototype._animateLabels=function(a,c){var b=a.getTextContent(),e=a.getTextGuideLine();if(b&&!b.ignore&&!b.invisible&&!a.disableLabelAnimation&&!Ye(a)){var f=So(b),g=f.oldLayout,h=S(a),k=h.dataIndex,l={x:b.x,y:b.y,rotation:b.rotation},h=c.getData(h.dataType);if(g){b.attr(g);if(g=a.prevStates)0<=ba(g,"select")&&b.attr(f.oldLayoutSelect),0<=ba(g,"emphasis")&&b.attr(f.oldLayoutEmphasis);ea(b,l,c,k)}else b.attr(l),lg(b).valueAnimation||(g=ka(b.style.opacity,1),b.style.opacity=0,za(b,{style:{opacity:g}},c,k));f.oldLayout=l;b.states.select&&(g=f.oldLayoutSelect={},Ji(g,l,Wj),Ji(g,b.states.select,Wj));b.states.emphasis&&(f=f.oldLayoutEmphasis={},Ji(f,l,Wj),Ji(f,b.states.emphasis,Wj));Cr(b,k,h,c,c)}!e||e.ignore||e.invisible||(f=rJ(e),g=f.oldLayout,b={points:e.shape.points},g?(e.attr({shape:g}),ea(e,{shape:b},c)):(e.setShape(b),e.style.strokePercent=0,za(e,{style:{strokePercent:1}},c)),f.oldLayout=b)};return b}(),tJ=Math.round(9*Math.random()),Ny=function(){function b(){this._id="__ec_inner_"+tJ++}b.prototype.get=function(a){return this._guard(a)[this._id]};b.prototype.set=function(a,c){var b=this._guard(a);"function"===typeof Object.defineProperty?Object.defineProperty(b,this._id,{value:c,enumerable:!1,configurable:!0}):b[this._id]=c;return this};b.prototype["delete"]=function(a){return this.has(a)?(delete this._guard(a)[this._id],!0):!1};b.prototype.has=function(a){return!!this._guard(a)[this._id]};b.prototype._guard=function(a){if(a!==Object(a))throw TypeError("Value of WeakMap is not a non-null object.");return a};return b}(),uJ=Y.extend({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(b,a){var c=a.cx,d=a.cy,e=a.width/2,f=a.height/2;b.moveTo(c,d-f);b.lineTo(c+e,d+f);b.lineTo(c-e,d+f);b.closePath()}}),vJ=Y.extend({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(b,a){var c=a.cx,d=a.cy,e=a.width/2,f=a.height/2;b.moveTo(c,d-f);b.lineTo(c+e,d);b.lineTo(c,d+f);b.lineTo(c-e,d);b.closePath()}}),wJ=Y.extend({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(b,a){var c=a.x,d=a.y,e=a.width/5*3,f=Math.max(e,a.height),e=e/2,g=e*e/(f-e),f=d-f+e+g,h=Math.asin(g/e),k=Math.cos(h)*e,l=Math.sin(h),m=Math.cos(h),n=.6*e,p=.7*e;b.moveTo(c-k,f+g);b.arc(c,f,e,Math.PI-h,2*Math.PI+h);b.bezierCurveTo(c+k-l*n,f+g+m*n,c,d-p,c,d);b.bezierCurveTo(c,d-p,c-k+l*n,f+g+m*n,c-k,f+g);b.closePath()}}),xJ=Y.extend({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(b,a){var c=a.height,d=a.x,e=a.y,f=a.width/3*2;b.moveTo(d,e);b.lineTo(d+f,e+c);b.lineTo(d,e+c/4*3);b.lineTo(d-f,e+c);b.lineTo(d,e);b.closePath()}}),yJ={line:function(b,a,c,d,e){e.x=b;e.y=a+d/2-1;e.width=c;e.height=2},rect:function(b,a,c,d,e){e.x=b;e.y=a;e.width=c;e.height=d},roundRect:function(b,a,c,d,e){e.x=b;e.y=a;e.width=c;e.height=d;e.r=Math.min(c,d)/4},square:function(b,a,c,d,e){c=Math.min(c,d);e.x=b;e.y=a;e.width=c;e.height=c},circle:function(b,a,c,d,e){e.cx=b+c/2;e.cy=a+d/2;e.r=Math.min(c,d)/2},diamond:function(b,a,c,d,e){e.cx=b+c/2;e.cy=a+d/2;e.width=c;e.height=d},pin:function(b,a,c,d,e){e.x=b+c/2;e.y=a+d/2;e.width=c;e.height=d},arrow:function(b,a,c,d,e){e.x=b+c/2;e.y=a+d/2;e.width=c;e.height=d},triangle:function(b,a,c,d,e){e.cx=b+c/2;e.cy=a+d/2;e.width=c;e.height=d}},Xj={};r({line:Z,rect:Z,roundRect:Z,square:Z,circle:Nb,diamond:vJ,pin:wJ,arrow:xJ,triangle:uJ},function(b,a){Xj[a]=new b});var gC=Y.extend({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},calculateTextPosition:function(b,a,c){b=kq(b,a,c);var d=this.shape;d&&"pin"===d.symbolType&&"inside"===a.position&&(b.y=c.y+.4*c.height);return b},buildPath:function(b,a,c){var d=a.symbolType;if("none"!==d){var e=Xj[d];e||(d="rect",e=Xj[d]);yJ[d](a.x,a.y,a.width,a.height,e.shape);e.buildPath(b,e.shape,c)}}}),iC=new pc(!0),Is=["shadowBlur","shadowOffsetX","shadowOffsetY"],Ks=[["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]],$l=new Ny,Ns=new Yf(100),Ms="symbol symbolSize symbolKeepAspect color backgroundColor dashArrayX dashArrayY maxTileWidth maxTileHeight".split(" "),ff=O,Ca=r,mC=fa,zg=N,Ni=ba,Oy="undefined"!==typeof window,Py={PROCESSOR:{FILTER:1E3,SERIES_FILTER:800,STATISTIC:5E3},VISUAL:{LAYOUT:1E3,PROGRESSIVE_LAYOUT:1100,GLOBAL:2E3,CHART:3E3,POST_CHART_LAYOUT:4600,COMPONENT:4E3,BRUSH:5E3,CHART_ITEM:4500,ARIA:6E3,DECAL:7E3}},Xs=/^[a-zA-Z0-9_]+$/,Qy=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);return a}($b),Ry=Qy.prototype;Ry.on=Ts("on");Ry.off=Ts("off");var If,To,Uo,zd,Vo,Wo,Xo,uh,vh,Sy,Ty,wh,Yo,Uy,Yj,xh,Vy,Wy,Xy,fc,Yy,ak=function(b){function a(c,a,e){function d(c,a){return c.__prio-a.__prio}var g=b.call(this,new qJ)||this;g._chartsViews=[];g._chartsMap={};g._componentsViews=[];g._componentsMap={};g._pendingActions=[];e=e||{};"string"===typeof a&&(a=Zj[a]);g._dom=c;var h,k=Oy?window:global;h=k.__ECHARTS__DEFAULT__RENDERER__||"canvas";k=k.__ECHARTS__DEFAULT__USE_DIRTY_RECT__;c=g._zr=Uk(c,{renderer:e.renderer||h,devicePixelRatio:e.devicePixelRatio,width:e.width,height:e.height,useDirtyRect:null==e.useDirtyRect?null==k?!1:k:e.useDirtyRect});g._throttledZrFlush=Fi(I(c.flush,c),17);(a=J(a))&&Yr(a,!0);g._theme=a;g._locale=WA(e.locale||Dr);g._coordSysMgr=new Yd;a=g._api=Vy(g);Pk(Pi,d);Pk(gm,d);g._scheduler=new at(g,a,gm,Pi);g._messageCenter=new Qy;g._labelManager=new sJ;g._initEvents();g.resize=I(g.resize,g);c.animation.on("frame",g._onframe,g);Sy(c,g);Ty(c,g);Ge(g);return g}x(a,b);a.prototype._onframe=function(){if(!this._disposed){Yy(this);var c=this._scheduler;if(this.__optionUpdated)c=this.__optionUpdated.silent,this.__flagInMainProcess=!0,If(this),zd.update.call(this),this._zr.flush(),this.__optionUpdated=this.__flagInMainProcess=!1,uh.call(this,c),vh.call(this,c);else if(c.unfinished){var a=1,b=this._model,f=this._api;c.unfinished=!1;do{var g=+new Date;c.performSeriesTasks(b);c.performDataProcessorTasks(b);Wo(this,b);c.performVisualTasks(b);Yj(this,this._model,f,"remain");a-=+new Date-g}while(0<a&&c.unfinished);c.unfinished||this._zr.flush()}}};a.prototype.getDom=function(){return this._dom};a.prototype.getId=function(){return this.id};a.prototype.getZr=function(){return this._zr};a.prototype.setOption=function(c,a,b){ff(!this.__flagInMainProcess,"`setOption` should not be called during main process.");if(this._disposed)vb(this.id);else{var d,e,h;zg(a)&&(b=a.lazyUpdate,d=a.silent,e=a.replaceMerge,h=a.transition,a=a.notMerge);this.__flagInMainProcess=!0;if(!this._model||a){a=new lJ(this._api);var k=this._theme,l=this._model=new No;l.scheduler=this._scheduler;l.init(null,null,null,k,this._locale,a)}this._model.setOption(c,{replaceMerge:e},dm);Xy(this,h);b?(this.__optionUpdated={silent:d},this.__flagInMainProcess=!1,this.getZr().wakeUp()):(If(this),zd.update.call(this),this._zr.flush(),this.__flagInMainProcess=this.__optionUpdated=!1,uh.call(this,d),vh.call(this,d))}};a.prototype.setTheme=function(){console.error("ECharts#setTheme() is DEPRECATED in ECharts 3.0")};a.prototype.getModel=function(){return this._model};a.prototype.getOption=function(){return this._model&&this._model.getOption()};a.prototype.getWidth=function(){return this._zr.getWidth()};a.prototype.getHeight=function(){return this._zr.getHeight()};a.prototype.getDevicePixelRatio=function(){return this._zr.painter.dpr||Oy&&window.devicePixelRatio||1};a.prototype.getRenderedCanvas=function(c){if(X.canvasSupported)return c=F({},c||{}),c.pixelRatio=c.pixelRatio||1,c.backgroundColor=c.backgroundColor||this._model.get("backgroundColor"),this._zr.painter.getRenderedCanvas(c)};a.prototype.getSvgDataURL=function(){if(X.svgSupported){var c=this._zr,a=c.storage.getDisplayList();r(a,function(c){c.stopAnimation(null,!0)});return c.painter.toDataURL()}};a.prototype.getDataURL=function(c){if(this._disposed)vb(this.id);else{c=c||{};var a=this._model,b=[],f=this;Ca(c.excludeComponents,function(c){a.eachComponent({mainType:c},function(c){c=f._componentsMap[c.__viewId];c.group.ignore||(b.push(c),c.group.ignore=!0)})});c="svg"===this._zr.painter.getType()?this.getSvgDataURL():this.getRenderedCanvas(c).toDataURL("image/"+(c&&c.type||"png"));Ca(b,function(c){c.group.ignore=!1});return c}};a.prototype.getConnectedDataURL=function(c){if(this._disposed)vb(this.id);else if(X.canvasSupported){var a="svg"===c.type,b=this.group,f=Math.min,g=Math.max;if(Mi[b]){var h=Infinity,k=Infinity,l=-Infinity,m=-Infinity,n=[],p=c&&c.pixelRatio||1;r(Xd,function(d,e){if(d.group===b){var p=a?d.getZr().painter.getSvgDom().innerHTML:d.getRenderedCanvas(J(c)),q=d.getDom().getBoundingClientRect();h=f(q.left,h);k=f(q.top,k);l=g(q.right,l);m=g(q.bottom,m);n.push({dom:p,left:q.left,top:q.top})}});var h=h*p,k=k*p,l=l*p,m=m*p,q=l-h,t=m-k,u=Wd(),w=Uk(u,{renderer:a?"svg":"canvas"});w.resize({width:q,height:t});if(a){var v="";Ca(n,function(c){v+='\x3cg transform\x3d"translate('+(c.left-h)+","+(c.top-k)+')"\x3e'+c.dom+"\x3c/g\x3e"});w.painter.getSvgRoot().innerHTML=v;c.connectedBackgroundColor&&w.painter.setBackgroundColor(c.connectedBackgroundColor);w.refreshImmediately();return w.painter.toDataURL()}c.connectedBackgroundColor&&w.add(new Z({shape:{x:0,y:0,width:q,height:t},style:{fill:c.connectedBackgroundColor}}));Ca(n,function(c){c=new Ga({style:{x:c.left*p-h,y:c.top*p-k,image:c.dom}});w.add(c)});w.refreshImmediately();return u.toDataURL("image/"+(c&&c.type||"png"))}return this.getDataURL(c)}};a.prototype.convertToPixel=function(c,a){return Vo(this,"convertToPixel",c,a)};a.prototype.convertFromPixel=function(c,a){return Vo(this,"convertFromPixel",c,a)};a.prototype.containPixel=function(c,a){if(this._disposed)vb(this.id);else{var b,d=Vc(this._model,c);r(d,function(c,d){0<=d.indexOf("Models")&&r(c,function(c){var e=c.coordinateSystem;e&&e.containPoint?b=b||!!e.containPoint(a):"seriesModels"===d?(e=this._chartsMap[c.__viewId])&&e.containPoint?b=b||e.containPoint(a,c):console.warn(d+": "+(e?"The found component do not support containPoint.":"No view mapping to the found component.")):console.warn(d+": containPoint is not supported")},this)},this);return!!b}};a.prototype.getVisual=function(c,a){var b=Vc(this._model,c,{defaultMainType:"series"}),d=b.seriesModel;d||console.warn("There is no specified seires model");d=d.getData();b=b.hasOwnProperty("dataIndexInside")?b.dataIndexInside:b.hasOwnProperty("dataIndex")?d.indexOfRawIndex(b.dataIndex):null;return null!=b?Sl(d,b,a):ug(d,a)};a.prototype.getViewOfComponentModel=function(c){return this._componentsMap[c.__viewId]};a.prototype.getViewOfSeriesModel=function(c){return this._chartsMap[c.__viewId]};a.prototype._initEvents=function(){var c=this;Ca(zJ,function(a){var b=function(b){var d=c.getModel(),e=b.target,f,l="globalout"===a;l?f={}:e&&ef(e,function(c){if((c=S(c))&&null!=c.dataIndex){var a=c.dataModel||d.getSeriesByIndex(c.seriesIndex);f=a&&a.getDataParams(c.dataIndex,c.dataType)||{};return!0}if(c.eventData)return f=F({},c.eventData),!0},!0);if(f){var m=f.componentType,n=f.componentIndex;if("markLine"===m||"markPoint"===m||"markArea"===m)m="series",n=f.seriesIndex;n=(m=m&&null!=n&&d.getComponent(m,n))&&c["series"===m.mainType?"_chartsMap":"_componentsMap"][m.__viewId];l||m&&n||console.warn("model or view can not be found by params");f.event=b;f.type=a;c._$eventProcessor.eventInfo={targetEl:e,packedEvent:f,model:m,view:n};c.trigger(a,f)}};b.zrEventfulCallAtLast=!0;c._zr.on(a,b,c)});Ca(Ag,function(a,b){c._messageCenter.on(b,function(c){this.trigger(b,c)},c)});Ca(["selectchanged"],function(a){c._messageCenter.on(a,function(c){this.trigger(a,c)},c)});eC(this._messageCenter,this,this._api)};a.prototype.isDisposed=function(){return this._disposed};a.prototype.clear=function(){this._disposed?vb(this.id):this.setOption({series:[]},!0)};a.prototype.dispose=function(){if(this._disposed)vb(this.id);else{this._disposed=!0;Cq(this.getDom(),bm,"");var c=this._api,a=this._model;Ca(this._componentsViews,function(b){b.dispose(a,c)});Ca(this._chartsViews,function(b){b.dispose(a,c)});this._zr.dispose();delete Xd[this.id]}};a.prototype.resize=function(c){ff(!this.__flagInMainProcess,"`resize` should not be called during main process.");if(this._disposed)vb(this.id);else{this._zr.resize(c);var a=this._model;this._loadingFX&&this._loadingFX.resize();a&&(a=a.resetOption("media"),c=c&&c.silent,this.__flagInMainProcess=!0,a&&If(this),zd.update.call(this,{type:"resize",animation:{duration:0}}),this.__flagInMainProcess=!1,uh.call(this,c),vh.call(this,c))}};a.prototype.showLoading=function(c,a){if(this._disposed)vb(this.id);else if(zg(c)&&(a=c,c=""),c=c||"default",this.hideLoading(),Qi[c]){var b=Qi[c](this._api,a),d=this._zr;this._loadingFX=b;d.add(b)}else console.warn("Loading effects "+c+" not exists.")};a.prototype.hideLoading=function(){this._disposed?vb(this.id):(this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null)};a.prototype.makeActionFromEvent=function(c){var a=F({},c);a.type=Ag[c.type];return a};a.prototype.dispatchAction=function(c,a){if(this._disposed)vb(this.id);else if(zg(a)||(a={silent:!!a}),Oi[c.type]&&this._model)if(this.__flagInMainProcess)this._pendingActions.push(c);else{var b=a.silent;Xo.call(this,c,b);var d=a.flush;d?this._zr.flush():!1!==d&&X.browser.weChat&&this._throttledZrFlush();uh.call(this,b);vh.call(this,b)}};a.prototype.updateLabelLayout=function(){var c=this._labelManager;c.updateLayoutConfig(this._api);c.layout(this._api);c.processLabelsOverall()};a.prototype.appendData=function(c){if(this._disposed)vb(this.id);else{var a=c.seriesIndex,a=this.getModel().getSeriesByIndex(a);ff(c.data&&a);a.appendData(c);this._scheduler.unfinished=!0;this.getZr().wakeUp()}};a.internalField=function(){function c(c){for(var a=[],b=c.currentStates,d=0;d<b.length;d++){var e=b[d];"emphasis"!==e&&"blur"!==e&&"select"!==e&&a.push(e)}c.selected&&c.states.select&&a.push("select");2===c.hoverState&&c.states.emphasis?a.push("emphasis"):1===c.hoverState&&c.states.blur&&a.push("blur");c.useStates(a)}function a(c,a){var b=0;c._zr.storage.traverse(function(c){c.isGroup||b++});b>a.get("hoverLayerThreshold")&&!X.node&&!X.worker&&a.eachSeries(function(a){a.preventUsingHoverLayer||(a=c._chartsMap[a.__viewId],a.__alive&&a.group.traverse(function(c){c.states.emphasis&&(c.states.emphasis.hoverLayer=!0)}))})}function b(c,a){var b=c.get("blendMode")||null;!X.canvasSupported&&b&&"source-over"!==b&&console.warn("Only canvas support blendMode");a.group.traverse(function(c){c.isGroup||(c.style.blend=b);c.eachPendingDisplayable&&c.eachPendingDisplayable(function(c){c.style.blend=b})})}function f(c,a){if(!c.preventAutoZ){var b=c.get("z"),d=c.get("zlevel");a.group.traverse(function(c){if(!c.isGroup){null!=b&&(c.z=b);null!=d&&(c.zlevel=d);var a=c.getTextContent(),e=c.getTextGuideLine();a&&(a.z=c.z,a.zlevel=c.zlevel,a.z2=c.z2+2);e&&(a=c.textGuideLineConfig&&c.textGuideLineConfig.showAbove,e.z=c.z,e.zlevel=c.zlevel,e.z2=c.z2+(a?1:-1))}})}}function g(c,a){a.group.traverse(function(c){if(!Ye(c)){var a=c.getTextContent(),b=c.getTextGuideLine();c.stateTransition&&(c.stateTransition=null);a&&a.stateTransition&&(a.stateTransition=null);b&&b.stateTransition&&(b.stateTransition=null);c.hasState()?(c.prevStates=c.currentStates,c.clearStates()):c.prevStates&&(c.prevStates=null)}})}function h(a,b){var d=a.getModel("stateAnimation"),e=a.isAnimationEnabled(),f=d.get("duration"),g=0<f?{duration:f,delay:d.get("delay"),easing:d.get("easing")}:null;b.group.traverse(function(a){if(a.states&&a.states.emphasis&&!Ye(a)){if(a instanceof Y){var b=dr(a);b.normalFill=a.style.fill;b.normalStroke=a.style.stroke;var d=a.states.select||{};b.selectFill=d.style&&d.style.fill||null;b.selectStroke=d.style&&d.style.stroke||null}a.__dirty&&(b=a.prevStates)&&a.useStates(b);e&&(a.stateTransition=g,b=a.getTextContent(),d=a.getTextGuideLine(),b&&(b.stateTransition=g),d&&(d.stateTransition=g));a.__dirty&&c(a)}})}If=function(c){var a=c._scheduler;a.restorePipelines(c._model);a.prepareStageTasks();To(c,!0);To(c,!1);a.plan()};To=function(c,a){function b(c){var b=c.__requireNewView;c.__requireNewView=!1;var l="_ec_"+c.id+"_"+c.type,b=!b&&g[l];if(!b){var b=kc(c.type),m=a?na.getClass(b.main,b.sub):oa.getClass(b.sub);ff(m,b.sub+" does not exist.");b=new m;b.init(d,k);g[l]=b;f.push(b);h.add(b.group)}c.__viewId=b.__id=l;b.__alive=!0;b.__model=c;b.group.__ecComponentInfo={mainType:c.mainType,index:c.componentIndex};!a&&e.prepareView(b,c,d,k)}for(var d=c._model,e=c._scheduler,f=a?c._componentsViews:c._chartsViews,g=a?c._componentsMap:c._chartsMap,h=c._zr,k=c._api,l=0;l<f.length;l++)f[l].__alive=!1;a?d.eachComponent(function(c,a){"series"!==c&&b(a)}):d.eachSeries(b);for(l=0;l<f.length;){var r=f[l];r.__alive?l++:(!a&&r.renderTask.dispose(),h.remove(r.group),r.dispose(d,k),f.splice(l,1),g[r.__id]===r&&delete g[r.__id],r.__id=r.group.__ecComponentInfo=null)}};Uo=function(c,a,b,d,e){function f(d){d&&d.__alive&&d[a]&&d[a](d.__model,g,c._api,b)}var g=c._model;g.setUpdatePayload(b);if(d){var h={};h[d+"Id"]=b[d+"Id"];h[d+"Index"]=b[d+"Index"];h[d+"Name"]=b[d+"Name"];h={mainType:d,query:h};e&&(h.subType=e);e=b.excludeSeriesId;var k;null!=e&&(k=R(),Ca(xa(e),function(c){c=Ea(c,null);null!=c&&k.set(c,!0)}));g&&g.eachComponent(h,function(a){if(!k||null==k.get(a.id)){if(ql(b)&&!b.notBlur){if(a instanceof ra){var e=c._api;if(ql(b)){var g="highlight"===b.type,h=a.seriesIndex,l=a.getData(b.dataType),m=Jd(l,b),m=(A(m)?m[0]:m)||0,m=l.getItemGraphicEl(m);if(!m)for(var n=l.count(),p=0;!m&&p<n;)m=l.getItemGraphicEl(p++);m?(l=S(m),ji(h,l.focus,l.blurScope,e,g)):(l=a.get(["emphasis","focus"]),m=a.get(["emphasis","blurScope"]),null!=l&&ji(h,l,m,e,g))}}}else pl(b)&&a instanceof ra&&(pl(b)&&(e=b.dataType,g=a.getData(e),g=Jd(g,b),A(g)||(g=[g]),a["toggleSelect"===b.type?"toggleSelect":"select"===b.type?"select":"unselect"](g,e)),er(a),fc(c));f(c["series"===d?"_chartsMap":"_componentsMap"][a.__viewId])}},c)}else Ca([].concat(c._componentsViews).concat(c._chartsViews),f)};zd={prepareAndUpdate:function(c){If(this);zd.update.call(this,c)},update:function(c){var a=this._model,b=this._api,d=this._zr,e=this._coordSysMgr,f=this._scheduler;a&&(a.setUpdatePayload(c),f.restoreData(a,c),f.performSeriesTasks(a),e.create(a,b),f.performDataProcessorTasks(a,c),Wo(this,a),e.update(a,b),wh(a),f.performVisualTasks(a,c),Yo(this,a,b,c),c=a.get("backgroundColor")||"transparent",e=a.get("darkMode"),X.canvasSupported?(d.setBackgroundColor(c),null!=e&&"auto"!==e&&d.setDarkMode(e)):(d=eb(c),Tb(d,"rgb")),xh(a,b))},updateTransform:function(c){var a=this,b=this._model,d=this._api;if(b){b.setUpdatePayload(c);var e=[];b.eachComponent(function(f,g){if("series"!==f){var h=a.getViewOfComponentModel(g);if(h&&h.__alive)if(h.updateTransform){var k=h.updateTransform(g,b,d,c);k&&k.update&&e.push(h)}else e.push(h)}});var f=R();b.eachSeries(function(e){var g=a._chartsMap[e.__viewId];g.updateTransform?(g=g.updateTransform(e,b,d,c))&&g.update&&f.set(e.uid,1):f.set(e.uid,1)});wh(b);this._scheduler.performVisualTasks(b,c,{setDirty:!0,dirtyMap:f});Yj(this,b,d,c,f);xh(b,this._api)}},updateView:function(c){var a=this._model;a&&(a.setUpdatePayload(c),oa.markUpdateMethod(c,"updateView"),wh(a),this._scheduler.performVisualTasks(a,c,{setDirty:!0}),Yo(this,this._model,this._api,c),xh(a,this._api))},updateVisual:function(c){var a=this,b=this._model;b&&(b.setUpdatePayload(c),b.eachSeries(function(c){c.getData().clearAllVisual()}),oa.markUpdateMethod(c,"updateVisual"),wh(b),this._scheduler.performVisualTasks(b,c,{visualType:"visual",setDirty:!0}),b.eachComponent(function(d,e){if("series"!==d){var f=a.getViewOfComponentModel(e);f&&f.__alive&&f.updateVisual(e,b,a._api,c)}}),b.eachSeries(function(d){a._chartsMap[d.__viewId].updateVisual(d,b,a._api,c)}),xh(b,this._api))},updateLayout:function(c){zd.update.call(this,c)}};Vo=function(c,a,b,d){if(c._disposed)vb(c.id);else{var e=c._model;c=c._coordSysMgr.getCoordinateSystems();var f;b=Vc(e,b);for(var g=0;g<c.length;g++){var h=c[g];if(h[a]&&null!=(f=h[a](e,b,d)))return f}console.warn("No coordinate system that supports "+a+" found by the given finder.")}};Wo=function(c,a){var b=c._chartsMap,d=c._scheduler;a.eachSeries(function(c){d.updateStreamModes(c,b[c.__viewId])})};Xo=function(c,a){var b=this,d=this.getModel(),e=c.type,f=c.escapeConnect,g=Oi[e],h=g.actionInfo,k=(h.update||"update").split(":"),l=k.pop(),r=null!=k[0]&&kc(k[0]);this.__flagInMainProcess=!0;var B=[c],y=!1;c.batch&&(y=!0,B=C(c.batch,function(a){a=K(F({},a),c);a.batch=null;return a}));var x=[],D,k=pl(c),A=ql(c)||k;Ca(B,function(c){D=(D=g.action(c,b._model,b._api))||F({},c);D.type=h.event||D.type;x.push(D);A?(Uo(b,l,c,"series"),fc(b)):r&&Uo(b,l,c,r.main,r.sub)});"none"===l||A||r||(this.__optionUpdated?(If(this),zd.update.call(this,c),this.__optionUpdated=!1):zd[l].call(this,c));D=y?{type:h.event||e,escapeConnect:f,batch:x}:x[0];this.__flagInMainProcess=!1;a||(e=this._messageCenter,e.trigger(D.type,D),k&&(d={type:"selectchanged",escapeConnect:f,selected:MA(d),isFromClick:c.isFromClick||!1,fromAction:c.type,fromActionPayload:c},e.trigger(d.type,d)))};uh=function(c){for(var a=this._pendingActions;a.length;){var b=a.shift();Xo.call(this,b,c)}};vh=function(c){!c&&this.trigger("updated")};Sy=function(c,a){c.on("rendered",function(b){a.trigger("rendered",b);!c.animation.isFinished()||a.__optionUpdated||a._scheduler.unfinished||a._pendingActions.length||a.trigger("finished")})};Ty=function(c,a){c.on("mouseover",function(c){var b=ef(c.target,ki);if(b){var d=S(b);ji(d.seriesIndex,d.focus,d.blurScope,a._api,!0);b.__highDownSilentOnTouch&&c.zrByTouch||b.__highByOuter||rb(b,$q);fc(a)}}).on("mouseout",function(c){var b=ef(c.target,ki);if(b){var d=S(b);ji(d.seriesIndex,d.focus,d.blurScope,a._api,!1);b.__highDownSilentOnTouch&&c.zrByTouch||b.__highByOuter||rb(b,ar);fc(a)}}).on("click",function(c){var b=ef(c.target,function(c){return null!=S(c).dataIndex},!0);b&&(c=b.selected?"unselect":"select",b=S(b),a._api.dispatchAction({type:c,dataType:b.dataType,dataIndexInside:b.dataIndex,seriesIndex:b.seriesIndex,isFromClick:!0}))})};wh=function(c){c.clearColorPalette();c.eachSeries(function(c){c.clearColorPalette()})};Yo=function(c,a,b,d){Uy(c,a,b,d);Ca(c._chartsViews,function(c){c.__alive=!1});Yj(c,a,b,d);Ca(c._chartsViews,function(c){c.__alive||c.remove(a,b)})};Uy=function(c,a,b,d,e){Ca(e||c._componentsViews,function(c){var e=c.__model;g(e,c);c.render(e,a,b,d);f(e,c);h(e,c)})};Yj=function(c,d,e,n,p){var k=c._scheduler,l=c._labelManager;l.clearLabels();var m=!1;d.eachSeries(function(a){var d=c._chartsMap[a.__viewId];d.__alive=!0;var e=d.renderTask;k.updatePayload(e,n);g(a,d);p&&p.get(a.uid)&&e.dirty();e.perform(k.getPerformArgs(e))&&(m=!0);a.__transientTransitionOpt=null;d.group.silent=!!a.get("silent");b(a,d);er(a);l.addLabelsOfSeries(d)});k.unfinished=m||k.unfinished;l.updateLayoutConfig(e);l.layout(e);l.processLabelsOverall();d.eachSeries(function(a){var b=c._chartsMap[a.__viewId];f(a,b);h(a,b)});a(c,d)};xh=function(c,a){Ca(im,function(b){b(c,a)})};fc=function(c){c.__needsUpdateStatus=!0;c.getZr().wakeUp()};Yy=function(a){a.__needsUpdateStatus&&(a.getZr().storage.traverse(function(a){Ye(a)||c(a)}),a.__needsUpdateStatus=!1)};Vy=function(c){return new (function(a){function b(){return null!==a&&a.apply(this,arguments)||this}x(b,a);b.prototype.getCoordinateSystems=function(){return c._coordSysMgr.getCoordinateSystems()};b.prototype.getComponentByElement=function(a){for(;a;){var b=a.__ecComponentInfo;if(null!=b)return c._model.getComponent(b.mainType,b.index);a=a.parent}};b.prototype.enterEmphasis=function(a,b){nc(a,b);fc(c)};b.prototype.leaveEmphasis=function(a,b){oc(a,b);fc(c)};b.prototype.enterBlur=function(a){rb(a,kl);fc(c)};b.prototype.leaveBlur=function(a){rb(a,ll);fc(c)};b.prototype.enterSelect=function(a){rb(a,br);fc(c)};b.prototype.leaveSelect=function(a){rb(a,cr);fc(c)};b.prototype.getModel=function(){return c.getModel()};b.prototype.getViewOfComponentModel=function(a){return c.getViewOfComponentModel(a)};b.prototype.getViewOfSeriesModel=function(a){return c.getViewOfSeriesModel(a)};return b}(zy))(c)};Wy=function(c){function a(c,a){for(var b=0;b<c.length;b++)c[b].__connectUpdateStatus=a}Ca(Ag,function(b,d){c._messageCenter.on(d,function(b){if(Mi[c.group]&&0!==c.__connectUpdateStatus&&(!b||!b.escapeConnect)){var d=c.makeActionFromEvent(b),e=[];Ca(Xd,function(a){a!==c&&a.group===c.group&&e.push(a)});a(e,0);Ca(e,function(c){1!==c.__connectUpdateStatus&&c.dispatchAction(d)});a(e,2)}})})};Xy=function(c,a){var b=c._model;r(xa(a),function(c){var a,d=c.from,e=c.to;null==e&&(a="`transition.to` must be specified.",ja(a));var f={includeMainTypes:["series"],enableAll:!1,enableNone:!1},g=d?Vc(b,d,f):null,f=Vc(b,e,f).seriesModel;null==f&&(a="`transition` is only supported on series.");g&&g.seriesModel!==f&&(a="`transition.from` and `transition.to` must be specified to the same series.");null!=a&&ja(a);f.__transientTransitionOpt={from:d?d.dimension:null,to:e.dimension,dividingMethod:c.dividingMethod}})}}();return a}($b),Zo=ak.prototype;Zo.on=Rs("on");Zo.off=Rs("off");Zo.one=function(b,a,c){function d(){for(var c=[],g=0;g<arguments.length;g++)c[g]=arguments[g];a&&a.apply&&a.apply(this,c);e.off(b,d)}var e=this;Vb("ECharts#one is deprecated.");this.on.call(this,b,d,c)};var zJ="click dblclick mouseover mouseout mousemove mousedown mouseup globalout contextmenu".split(" "),Oi={},Ag={},gm=[],dm=[],hm=[],im=[],Pi=[],Zj={},Qi={},Xd={},Mi={},AJ=+new Date-0,BJ=+new Date-0,bm="_echarts_instance_",$s=[],Zy=function(b){b=J(b);var a=b.type;a||ja("Must have a `type` when `registerTransform`.");var c=a.split(":");2!==c.length&&ja('Name must include namespace like "ns:regression".');var d=!1;"echarts"===c[0]&&(a=c[1],d=!0);b.__isBuiltIn=d;fs.set(a,b)};id(2E3,{createOnAllSeries:!0,performRawSeries:!0,reset:function(b,a){var c=b.getData(),d=b.visualStyleAccessPath||"itemStyle",e=b.getModel(d),f=ss(b,d)(e);if(e=e.getShallow("decal"))c.setVisual("decal",e),e.dirty=!0;var g=us(b,d),d=f[g],h=fa(d)?d:null;if(!f[g]||h)f[g]=b.getColorFromPalette(b.name,null,a.getSeriesCount()),c.setVisual("colorFromPalette",!0);c.setVisual("style",f);c.setVisual("drawType",g);if(!a.isSeriesFiltered(b)&&h)return c.setVisual("colorFromPalette",!1),{dataEach:function(c,a){var d=b.getDataParams(a),e=F({},f);e[g]=h(d);c.setItemVisual(a,"style",e)}}}});id(4500,{createOnAllSeries:!0,performRawSeries:!0,reset:function(b,a){if(!b.ignoreStyleOnData&&!a.isSeriesFiltered(b)){var c=b.getData(),d=b.visualStyleAccessPath||"itemStyle",e=ss(b,d),f=c.getVisual("drawType");return{dataEach:c.hasItemOption?function(c,a){var b=c.getRawDataItem(a);if(b&&b[d]){sh.option=b[d];var b=e(sh),g=c.ensureUniqueItemVisual(a,"style");F(g,b);sh.option.decal&&(c.setItemVisual(a,"decal",sh.option.decal),sh.option.decal.dirty=!0);f in b&&c.setItemVisual(a,"colorFromPalette",!1)}}:null}}}});id(4500,{performRawSeries:!0,overallReset:function(b){var a=R();b.eachSeries(function(c){if(c.useColorPaletteOnData){var b=a.get(c.type);b||(b={},a.set(c.type,b));Gy(c).scope=b}});b.eachSeries(function(c){if(c.useColorPaletteOnData&&!b.isSeriesFiltered(c)){var a=c.getRawData(),e={},f=c.getData(),g=Gy(c).scope,h=us(c,c.visualStyleAccessPath||"itemStyle");f.each(function(c){var a=f.getRawIndex(c);e[a]=c});a.each(function(b){var d=e[b];if(f.getItemVisual(d,"colorFromPalette")){d=f.ensureUniqueItemVisual(d,"style");b=a.getName(b)||b+"";var k=a.count();d[h]=c.getColorFromPalette(b,g,k)}})}})}});id(2E3,{createOnAllSeries:!0,performRawSeries:!0,reset:function(b,a){function c(c,a){var d=b.getRawValue(a),g=b.getDataParams(a);k&&c.setItemVisual(a,"symbol",e(d,g));l&&c.setItemVisual(a,"symbolSize",f(d,g));m&&c.setItemVisual(a,"symbolRotate",h(d,g))}var d=b.getData();b.legendSymbol&&d.setVisual("legendSymbol",b.legendSymbol);if(b.hasSymbolVisual){var e=b.get("symbol"),f=b.get("symbolSize"),g=b.get("symbolKeepAspect"),h=b.get("symbolRotate"),k=fa(e),l=fa(f),m=fa(h),n=k||l||m,p=!k&&e?e:b.defaultSymbol;d.setVisual({legendSymbol:b.legendSymbol||p,symbol:p,symbolSize:l?null:f,symbolKeepAspect:g,symbolRotate:m?null:h});if(!a.isSeriesFiltered(b))return{dataEach:n?c:null}}}});id(4500,{createOnAllSeries:!0,performRawSeries:!0,reset:function(b,a){function c(c,a){var b=c.getItemModel(a),d=b.getShallow("symbol",!0),e=b.getShallow("symbolSize",!0),k=b.getShallow("symbolRotate",!0),b=b.getShallow("symbolKeepAspect",!0);null!=d&&c.setItemVisual(a,"symbol",d);null!=e&&c.setItemVisual(a,"symbolSize",e);null!=k&&c.setItemVisual(a,"symbolRotate",k);null!=b&&c.setItemVisual(a,"symbolKeepAspect",b)}if(b.hasSymbolVisual&&!a.isSeriesFiltered(b))return{dataEach:b.getData().hasItemOption?c:null}}});id(7E3,function(b,a){b.eachRawSeries(function(c){if(!b.isSeriesFiltered(c)){var d=c.getData();d.hasItemVisual()&&d.each(function(c){var b=d.getItemVisual(c,"decal");b&&(d.ensureUniqueItemVisual(c,"style").decal=yg(b,a))});if(c=d.getVisual("decal"))d.getVisual("style").decal=yg(c,a)}})});cm(Yr);em(900,function(b){var a=R();b.eachSeries(function(c){var b=c.get("stack");if(b){var b=a.get(b)||a.set(b,[]),e=c.getData();c={stackResultDimension:e.getCalculationInfo("stackResultDimension"),stackedOverDimension:e.getCalculationInfo("stackedOverDimension"),stackedDimension:e.getCalculationInfo("stackedDimension"),stackedByDimension:e.getCalculationInfo("stackedByDimension"),isStackedByIndex:e.getCalculationInfo("isStackedByIndex"),data:e,seriesModel:c};c.stackedDimension&&(c.isStackedByIndex||c.stackedByDimension)&&(b.length&&e.setCalculationInfo("stackedOnSeries",b[b.length-1].seriesModel),b.push(c))}});a.each(mB)});Qi["default"]=function(b,a){a=a||{};K(a,{text:"loading",textColor:"#000",fontSize:12,fontWeight:"normal",fontStyle:"normal",fontFamily:"sans-serif",maskColor:"rgba(255, 255, 255, 0.8)",showSpinner:!0,color:"#5470c6",spinnerRadius:10,lineWidth:5,zlevel:0});var c=new M,d=new Z({style:{fill:a.maskColor},zlevel:a.zlevel,z:1E4});c.add(d);var e=new ha({style:{text:a.text,fill:a.textColor,fontSize:a.fontSize,fontWeight:a.fontWeight,fontStyle:a.fontStyle,fontFamily:a.fontFamily}}),f=new Z({style:{fill:"none"},textContent:e,textConfig:{position:"right",distance:10},zlevel:a.zlevel,z:10001});c.add(f);var g;a.showSpinner&&(g=new oh({shape:{startAngle:-Tj/2,endAngle:-Tj/2+.1,r:a.spinnerRadius},style:{stroke:a.color,lineCap:"round",lineWidth:a.lineWidth},zlevel:a.zlevel,z:10001}),g.animateShape(!0).when(1E3,{endAngle:3*Tj/2}).start("circularInOut"),g.animateShape(!0).when(1E3,{startAngle:3*Tj/2}).delay(300).start("circularInOut"),c.add(g));c.resize=function(){var c=e.getBoundingRect().width,k=a.showSpinner?a.spinnerRadius:0,c=(b.getWidth()-2*k-(a.showSpinner&&c?10:0)-c)/2-(a.showSpinner&&c?0:5+c/2)+(a.showSpinner?0:c/2)+(c?0:k),l=b.getHeight()/2;a.showSpinner&&g.setShape({cx:c,cy:l});f.setShape({x:c-k,y:l-k,width:2*k,height:2*k});d.setShape({x:0,y:0,width:b.getWidth(),height:b.getHeight()})};c.resize();return c};ac({type:"highlight",event:"highlight",update:"highlight"},hc);ac({type:"downplay",event:"downplay",update:"downplay"},hc);ac({type:"select",event:"select",update:"select"},hc);ac({type:"unselect",event:"unselect",update:"unselect"},hc);ac({type:"toggleSelect",event:"toggleSelect",update:"toggleSelect"},hc);Zj.light=oJ;Zj.dark=Ky;var dt=[],nC={registerPreprocessor:cm,registerProcessor:em,registerPostInit:Vs,registerPostUpdate:Ws,registerAction:ac,registerCoordinateSystem:Ys,registerLayout:Zs,registerVisual:id,registerTransform:Zy,registerLoading:bt,registerMap:ct,PRIORITY:Py,ComponentModel:W,ComponentView:na,SeriesModel:ra,ChartView:oa,registerComponentModel:function(b){W.registerClass(b)},registerComponentView:function(b){na.registerClass(b)},registerSeriesModel:function(b){ra.registerClass(b)},registerChartView:function(b){oa.registerClass(b)},registerSubTypeDefaulter:function(b,a){W.registerSubTypeDefaulter(b,a)},registerPainter:function(b,a){Ff[b]=a}},sd=function(){function b(a,c,b,e,f,g){this._old=a;this._new=c;this._oldKeyGetter=b||et;this._newKeyGetter=e||et;this.context=f;this._diffModeMultiple="multiple"===g}b.prototype.add=function(a){this._add=a;return this};b.prototype.update=function(a){this._update=a;return this};b.prototype.updateManyToOne=function(a){this._updateManyToOne=a;return this};b.prototype.updateOneToMany=function(a){this._updateOneToMany=a;return this};b.prototype.remove=function(a){this._remove=a;return this};b.prototype.execute=function(){this[this._diffModeMultiple?"_executeMultiple":"_executeOneToOne"]()};b.prototype._executeOneToOne=function(){var a=this._old,c=this._new,b={},e=Array(a.length),f=Array(c.length);this._initIndexMap(a,null,e,"_oldKeyGetter");this._initIndexMap(c,b,f,"_newKeyGetter");for(c=0;c<a.length;c++){var g=e[c],h=b[g],k=Bg(h);1<k?(k=h.shift(),1===h.length&&(b[g]=h[0]),this._update&&this._update(k,c)):1===k?(b[g]=null,this._update&&this._update(h,c)):this._remove&&this._remove(c)}this._performRestAdd(f,b)};b.prototype._executeMultiple=function(){var a=this._new,c={},b={},e=[],f=[];this._initIndexMap(this._old,c,e,"_oldKeyGetter");this._initIndexMap(a,b,f,"_newKeyGetter");for(a=0;a<e.length;a++){var g=e[a],h=c[g],k=b[g],l=Bg(h),m=Bg(k);if(1<l&&1===m)this._updateManyToOne&&this._updateManyToOne(k,h),b[g]=null;else if(1===l&&1<m)this._updateOneToMany&&this._updateOneToMany(k,h),b[g]=null;else if(1===l&&1===m)this._update&&this._update(k,h),b[g]=null;else if(1<l)for(g=0;g<l;g++)this._remove&&this._remove(h[g]);else this._remove&&this._remove(h)}this._performRestAdd(f,b)};b.prototype._performRestAdd=function(a,c){for(var b=0;b<a.length;b++){var e=a[b],f=c[e],g=Bg(f);if(1<g)for(var h=0;h<g;h++)this._add&&this._add(f[h]);else 1===g&&this._add&&this._add(f);c[e]=null}};b.prototype._initIndexMap=function(a,c,b,e){for(var d=this._diffModeMultiple,g=0;g<a.length;g++){var h="_ec_"+this[e](a[g],g);d||(b[g]=h);if(c){var k=c[h],l=Bg(k);0===l?(c[h]=g,d&&b.push(h)):1===l?c[h]=[k,g]:k.push(g)}}};return b}(),Cg=function(){return function(b){this.otherDims={};null!=b&&F(this,b)}}(),$y=Math.floor,yh=N,CJ={"float":"undefined"===typeof Float64Array?Array:Float64Array,"int":"undefined"===typeof Int32Array?Array:Int32Array,ordinal:Array,number:Array,time:Array},DJ="undefined"===typeof Uint32Array?Array:Uint32Array,EJ="undefined"===typeof Int32Array?Array:Int32Array,FJ="undefined"===typeof Uint16Array?Array:Uint16Array,GJ="hasItemOption _nameList _idList _invertedIndicesMap _rawData _dimValueGetter _count _rawCount _nameDimIdx _idDimIdx _nameRepeatCount".split(" "),HJ=["_extent","_approximateExtent","_rawExtent"],$o,ap,Jf,bp,Kf,De,bk,zh,cp,ck,Ah,dk,Bh,az,dp,Wa=function(){function b(a,c){this.type="list";this._rawCount=this._count=0;this._storage={};this._storageArr=[];this._nameList=[];this._idList=[];this._visual={};this._layout={};this._itemVisuals=[];this._itemLayouts=[];this._graphicEls=[];this._rawExtent={};this._extent={};this._approximateExtent={};this._calculationInfo={};this.hasItemOption=!0;this.TRANSFERABLE_METHODS=["cloneShallow","downSample","lttbDownSample","map"];this.CHANGABLE_METHODS=["filterSelf","selectRange"];this.DOWNSAMPLE_METHODS=["downSample","lttbDownSample"];this.getRawIndex=Kf;a=a||["x","y"];for(var b={},e=[],f={},g=0;g<a.length;g++){var h=a[g],h=da(h)?new Cg({name:h}):h instanceof Cg?h:new Cg(h),k=h.name;h.type=h.type||"float";h.coordDim||(h.coordDim=k,h.coordDimIndex=0);var l=h.otherDims=h.otherDims||{};e.push(k);b[k]=h;h.index=g;h.createInvertedIndices&&(f[k]=[]);0===l.itemName&&(this._nameDimIdx=g,this._nameOrdinalMeta=h.ordinalMeta);0===l.itemId&&(this._idDimIdx=g,this._idOrdinalMeta=h.ordinalMeta)}this.dimensions=e;this._dimensionInfos=b;this.hostModel=c;this._dimensionsSummary=oC(this);this._invertedIndicesMap=f;this.userOutput=this._dimensionsSummary.userOutput}b.prototype.getDimension=function(a){if("number"===typeof a||!isNaN(a)&&!this._dimensionInfos.hasOwnProperty(a))a=this.dimensions[a];return a};b.prototype.getDimensionInfo=function(a){return this._dimensionInfos[this.getDimension(a)]};b.prototype.getDimensionsOnCoord=function(){return this._dimensionsSummary.dataDimsOnCoord.slice()};b.prototype.mapDimension=function(a,c){var b=this._dimensionsSummary;return null==c?b.encodeFirstDimNotExtra[a]:(b=b.encode[a])?b[c]:null};b.prototype.mapDimensionsAll=function(a){return(this._dimensionsSummary.encode[a]||[]).slice()};b.prototype.initData=function(a,c,b){var d=a instanceof Rd||Xa(a);a=d?new mJ(a,this.dimensions.length):a;O(d||fa(a.getItem)&&fa(a.count),"Inavlid data provider.");this._rawData=a;d=a.getSource().sourceFormat;this._storage={};this._indices=null;this._dontMakeIdFromName=null!=this._idDimIdx||"typedArray"===d||!!a.fillStorage;this._nameList=(c||[]).slice();this._idList=[];this._nameRepeatCount={};b||(this.hasItemOption=!1);this.defaultDimValueGetter=$o[d];this._dimValueGetter=b||this.defaultDimValueGetter;this._dimValueGetterArrayRows=$o.arrayRows;this._rawExtent={};this._initDataFromProvider(0,a.count());a.pure&&(this.hasItemOption=!1)};b.prototype.getProvider=function(){return this._rawData};b.prototype.appendData=function(a){O(!this._indices,"appendData can only be called on raw data.");var c=this._rawData,b=this.count();c.appendData(a);a=c.count();c.persistent||(a+=b);this._initDataFromProvider(b,a,!0)};b.prototype.appendValues=function(a,c){for(var b=this._storage,e=this.dimensions,f=e.length,g=this._rawExtent,h=this.count(),k=h+Math.max(a.length,c?c.length:0),l=0;l<f;l++){var m=e[l];g[m]||(g[m]=Bh());bp(b,this._dimensionInfos[m],k,!0)}for(var l=C(e,function(c){return g[c]}),n=this._storageArr=C(e,function(c){return b[c]}),p=[],q=h;q<k;q++){for(var t=q-h,u=0;u<f;u++){m=e[u];m=this._dimValueGetterArrayRows(a[t]||p,m,t,u);n[u][q]=m;var w=l[u];m<w[0]&&(w[0]=m);m>w[1]&&(w[1]=m)}c&&(this._nameList[q]=c[t],this._dontMakeIdFromName||cp(this,q))}this._rawCount=this._count=k;this._extent={};ap(this)};b.prototype._initDataFromProvider=function(a,c,b){if(!(a>=c)){for(var d=this._rawData,f=this._storage,g=this.dimensions,h=g.length,k=this._dimensionInfos,l=this._nameList,m=this._idList,n=this._rawExtent,p="original"===d.getSource().sourceFormat,q=0;q<h;q++){var t=g[q];n[t]||(n[t]=Bh());bp(f,k[t],c,b)}b=this._storageArr=C(g,function(c){return f[c]});k=C(g,function(c){return n[c]});if(d.fillStorage)d.fillStorage(a,c,b,k);else for(q=[];a<c;a++){for(var q=d.getItem(a,q),u=0;u<h;u++){var t=g[u],w=b[u],t=this._dimValueGetter(q,t,a,u);w[a]=t;w=k[u];t<w[0]&&(w[0]=t);t>w[1]&&(w[1]=t)}p&&!d.pure&&q&&(t=q.name,null==l[a]&&null!=t&&(l[a]=Ea(t,null)),t=q.id,null==m[a]&&null!=t&&(m[a]=Ea(t,null)));this._dontMakeIdFromName||cp(this,a)}!d.persistent&&d.clean&&d.clean();this._rawCount=this._count=c;this._extent={};ap(this)}};b.prototype.count=function(){return this._count};b.prototype.getIndices=function(){var a,c=this._indices;if(c){a=c.constructor;var b=this._count;if(a===Array){a=new a(b);for(var e=0;e<b;e++)a[e]=c[e]}else a=new a(c.buffer,0,b)}else for(a=Jf(this),a=new a(this.count()),e=0;e<a.length;e++)a[e]=e;return a};b.prototype.getByDimIdx=function(a,c){if(!(0<=c&&c<this._count))return NaN;var b=this._storageArr[a];return b?b[this.getRawIndex(c)]:NaN};b.prototype.get=function(a,c){if(!(0<=c&&c<this._count))return NaN;var b=this._storage[a];return b?b[this.getRawIndex(c)]:NaN};b.prototype.getByRawIndex=function(a,c){if(!(0<=c&&c<this._rawCount))return NaN;var b=this._storage[a];return b?b[c]:NaN};b.prototype.getValues=function(a,c){var b=[];A(a)||(c=a,a=this.dimensions);for(var e=0,f=a.length;e<f;e++)b.push(this.get(a[e],c));return b};b.prototype.hasValue=function(a){for(var c=this._dimensionsSummary.dataDimsOnCoord,b=0,e=c.length;b<e;b++)if(isNaN(this.get(c[b],a)))return!1;return!0};b.prototype.getDataExtent=function(a){a=this.getDimension(a);var c=this._storage[a],b=Bh();if(!c)return b;var e=this.count(),f;if(!this._indices)return this._rawExtent[a].slice();if(f=this._extent[a])return f.slice();f=b;b=f[0];f=f[1];for(var g=0;g<e;g++){var h=this.getRawIndex(g),h=c[h];h<b&&(b=h);h>f&&(f=h)}f=[b,f];return this._extent[a]=f};b.prototype.getApproximateExtent=function(a){a=this.getDimension(a);return this._approximateExtent[a]||this.getDataExtent(a)};b.prototype.setApproximateExtent=function(a,c){c=this.getDimension(c);this._approximateExtent[c]=a.slice()};b.prototype.getCalculationInfo=function(a){return this._calculationInfo[a]};b.prototype.setCalculationInfo=function(a,c){yh(a)?F(this._calculationInfo,a):this._calculationInfo[a]=c};b.prototype.getSum=function(a){var c=0;if(this._storage[a])for(var b=0,e=this.count();b<e;b++){var f=this.get(a,b);isNaN(f)||(c+=f)}return c};b.prototype.getMedian=function(a){var c=[];this.each(a,function(a){isNaN(a)||c.push(a)});a=c.sort(function(c,a){return c-a});var b=this.count();return 0===b?0:1===b%2?a[(b-1)/2]:(a[b/2]+a[b/2-1])/2};b.prototype.rawIndexOf=function(a,c){var b=a&&this._invertedIndicesMap[a];if(!b)throw Error("Do not supported yet");b=b[c];return null==b||isNaN(b)?-1:b};b.prototype.indexOfName=function(a){for(var c=0,b=this.count();c<b;c++)if(this.getName(c)===a)return c;return-1};b.prototype.indexOfRawIndex=function(a){if(a>=this._rawCount||0>a)return-1;if(!this._indices)return a;var c=this._indices,b=c[a];if(null!=b&&b<this._count&&b===a)return a;for(var b=0,e=this._count-1;b<=e;){var f=(b+e)/2|0;if(c[f]<a)b=f+1;else if(c[f]>a)e=f-1;else return f}return-1};b.prototype.indicesOfNearest=function(a,c,b){a=this._storage[a];var d=[];if(!a)return d;null==b&&(b=Infinity);for(var f=Infinity,g=-1,h=0,k=0,l=this.count();k<l;k++){var m=this.getRawIndex(k),m=c-a[m],n=Math.abs(m);if(n<=b){if(n<f||n===f&&0<=m&&0>g)f=n,g=m,h=0;m===g&&(d[h++]=k)}}d.length=h;return d};b.prototype.getRawDataItem=function(a){if(this._rawData.persistent)return this._rawData.getItem(this.getRawIndex(a));for(var c=[],b=0;b<this.dimensions.length;b++)c.push(this.get(this.dimensions[b],a));return c};b.prototype.getName=function(a){a=this.getRawIndex(a);var c=this._nameList[a];null==c&&null!=this._nameDimIdx&&(c=zh(this,this._nameDimIdx,this._nameOrdinalMeta,a));null==c&&(c="");return c};b.prototype.getId=function(a){return bk(this,this.getRawIndex(a))};b.prototype.each=function(a,c,b,e){var d=this;if(this._count){"function"===typeof a&&(e=b,b=c,c=a,a=[]);b=b||e||this;e=C(ck(a),this.getDimension,this);Ah(this,e);a=e.length;e=C(e,function(c){return d._dimensionInfos[c].index});for(var g=this._storageArr,h=0,k=this.count();h<k;h++){var l=this.getRawIndex(h);switch(a){case 0:c.call(b,h);break;case 1:c.call(b,g[e[0]][l],h);break;case 2:c.call(b,g[e[0]][l],g[e[1]][l],h);break;default:for(var m=0,n=[];m<a;m++)n[m]=g[e[m]][l];n[m]=h;c.apply(b,n)}}}};b.prototype.filterSelf=function(a,c,b,e){var d=this;if(this._count){"function"===typeof a&&(e=b,b=c,c=a,a=[]);b=b||e||this;var g=C(ck(a),this.getDimension,this);Ah(this,g);a=this.count();e=new (Jf(this))(a);for(var h=[],k=g.length,l=0,g=C(g,function(c){return d._dimensionInfos[c].index}),m=g[0],n=this._storageArr,p=0;p<a;p++){var q=void 0,t=this.getRawIndex(p);if(0===k)q=c.call(b,p);else if(1===k)q=c.call(b,n[m][t],p);else{for(q=0;q<k;q++)h[q]=n[g[q]][t];h[q]=p;q=c.apply(b,h)}q&&(e[l++]=t)}l<a&&(this._indices=e);this._count=l;this._extent={};this.getRawIndex=this._indices?De:Kf;return this}};b.prototype.selectRange=function(a){var c=this,b=this._count;if(b){var e=[],f;for(f in a)a.hasOwnProperty(f)&&e.push(f);Ah(this,e);if(f=e.length){var g=this.count(),h=new (Jf(this))(g),k=0,l=e[0],m=C(e,function(a){return c._dimensionInfos[a].index}),n=a[l][0],p=a[l][1],l=this._storageArr,q=!1;if(!this._indices){var t=0;if(1===f){for(var u=l[m[0]],q=0;q<b;q++){var w=u[q];if(w>=n&&w<=p||isNaN(w))h[k++]=t;t++}q=!0}else if(2===f){for(var u=l[m[0]],v=l[m[1]],r=a[e[1]][0],B=a[e[1]][1],q=0;q<b;q++){var w=u[q],y=v[q];(w>=n&&w<=p||isNaN(w))&&(y>=r&&y<=B||isNaN(y))&&(h[k++]=t);t++}q=!0}}if(!q)if(1===f)for(q=0;q<g;q++){if(b=this.getRawIndex(q),w=l[m[0]][b],w>=n&&w<=p||isNaN(w))h[k++]=b}else for(q=0;q<g;q++){n=!0;b=this.getRawIndex(q);for(p=0;p<f;p++)if(t=e[p],w=l[m[p]][b],w<a[t][0]||w>a[t][1])n=!1;n&&(h[k++]=this.getRawIndex(q))}k<g&&(this._indices=h);this._count=k;this._extent={};this.getRawIndex=this._indices?De:Kf;return this}}};b.prototype.mapArray=function(a,c,b,e){"function"===typeof a&&(e=b,b=c,c=a,a=[]);var d=[];this.each(a,function(){d.push(c&&c.apply(this,arguments))},b||e||this);return d};b.prototype.map=function(a,c,b,e){b=b||e||this;a=C(ck(a),this.getDimension,this);Ah(this,a);e=dk(this,a);var d=e._storage;e._indices=this._indices;e.getRawIndex=e._indices?De:Kf;for(var g=[],h=a.length,k=this.count(),l=[],m=e._rawExtent,n=0;n<k;n++){for(var p=0;p<h;p++)l[p]=this.get(a[p],n);l[h]=n;p=c&&c.apply(b,l);if(null!=p){"object"!==typeof p&&(g[0]=p,p=g);for(var q=this.getRawIndex(n),t=0;t<p.length;t++){var u=a[t],w=p[t],v=m[u];(u=d[u])&&(u[q]=w);w<v[0]&&(v[0]=w);w>v[1]&&(v[1]=w)}}}return e};b.prototype.downSample=function(a,c,b,e){var d=dk(this,[a]),g=d._storage,h=[];c=$y(1/c);var g=g[a],k=this.count();a=d._rawExtent[a];for(var l=new (Jf(this))(k),m=0,n=0;n<k;n+=c){c>k-n&&(c=k-n,h.length=c);for(var p=0;p<c;p++){var q=this.getRawIndex(n+p);h[p]=g[q]}p=b(h);q=this.getRawIndex(Math.min(n+e(h,p)||0,k-1));g[q]=p;p<a[0]&&(a[0]=p);p>a[1]&&(a[1]=p);l[m++]=q}d._count=m;d._indices=l;d.getRawIndex=De;return d};b.prototype.lttbDownSample=function(a,c){var b=dk(this,[]),e=b._storage[a],f=this.count(),g=new (Jf(this))(f),h=0,k=$y(1/c),l=this.getRawIndex(0),m,n;g[h++]=l;for(var p=1;p<f-1;p+=k){for(var q=Math.min(p+k,f-1),t=Math.min(p+2*k,f),u=(t+q)/2,w=0,v=q;v<t;v++){var r=this.getRawIndex(v);m=e[r];isNaN(m)||(w+=m)}var w=w/(t-q),v=p,q=Math.min(p+k,f),t=p-1,B=e[l],l=-1;for(n=v;v<q;v++)r=this.getRawIndex(v),m=e[r],isNaN(m)||(m=Math.abs((t-u)*(m-B)-(t-v)*(w-B)),m>l&&(l=m,n=r));l=g[h++]=n}g[h++]=this.getRawIndex(f-1);b._count=h;b._indices=g;b.getRawIndex=De;return b};b.prototype.getItemModel=function(a){var c=this.hostModel;a=this.getRawDataItem(a);return new la(a,c,c&&c.ecModel)};b.prototype.diff=function(a){var c=this;return new sd(a?a.getIndices():[],this.getIndices(),function(c){return bk(a,c)},function(a){return bk(c,a)})};b.prototype.getVisual=function(a){var c=this._visual;return c&&c[a]};b.prototype.setVisual=function(a,c){this._visual=this._visual||{};yh(a)?F(this._visual,a):this._visual[a]=c};b.prototype.getItemVisual=function(a,c){var b=this._itemVisuals[a],b=b&&b[c];return null==b?this.getVisual(c):b};b.prototype.hasItemVisual=function(){return 0<this._itemVisuals.length};b.prototype.ensureUniqueItemVisual=function(a,c){var b=this._itemVisuals,e=b[a];e||(e=b[a]={});b=e[c];null==b&&(b=this.getVisual(c),A(b)?b=b.slice():yh(b)&&(b=F({},b)),e[c]=b);return b};b.prototype.setItemVisual=function(a,c,b){var d=this._itemVisuals[a]||{};this._itemVisuals[a]=d;yh(c)?F(d,c):d[c]=b};b.prototype.clearAllVisual=function(){this._visual={};this._itemVisuals=[]};b.prototype.setLayout=function(a,c){if(yh(a))for(var b in a)a.hasOwnProperty(b)&&this.setLayout(b,a[b]);else this._layout[a]=c};b.prototype.getLayout=function(a){return this._layout[a]};b.prototype.getItemLayout=function(a){return this._itemLayouts[a]};b.prototype.setItemLayout=function(a,c,b){this._itemLayouts[a]=b?F(this._itemLayouts[a]||{},c):c};b.prototype.clearItemLayouts=function(){this._itemLayouts.length=0};b.prototype.setItemGraphicEl=function(a,c){var b=this.hostModel;if(c){var e=S(c);e.dataIndex=a;e.dataType=this.dataType;e.seriesIndex=b&&b.seriesIndex;"group"===c.type&&c.traverse(az,c)}this._graphicEls[a]=c};b.prototype.getItemGraphicEl=function(a){return this._graphicEls[a]};b.prototype.eachItemGraphicEl=function(a,c){r(this._graphicEls,function(b,e){b&&a&&a.call(c,b,e)})};b.prototype.cloneShallow=function(a){a||(a=C(this.dimensions,this.getDimensionInfo,this),a=new b(a,this.hostModel));a._storage=this._storage;a._storageArr=this._storageArr;dp(a,this);if(this._indices){var c=this._indices.constructor;if(c===Array){var d=this._indices.length;a._indices=new c(d);for(c=0;c<d;c++)a._indices[c]=this._indices[c]}else a._indices=new c(this._indices)}else a._indices=null;a.getRawIndex=a._indices?De:Kf;return a};b.prototype.wrapMethod=function(a,c){var b=this[a];"function"===typeof b&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(a),this[a]=function(){var a=b.apply(this,arguments);return c.apply(this,[a].concat(Nf(arguments)))})};b.internalField=function(){function a(c,a,b,f){return Di(c[f],this._dimensionInfos[a])}$o={arrayRows:a,objectRows:function(c,a,b,f){return Di(c[a],this._dimensionInfos[a])},keyedColumns:a,original:function(c,a,b,f){b=c&&(null==c.value?c:c.value);var d;if(d=!this._rawData.pure)d=N(c)&&!(c instanceof Array);d&&(this.hasItemOption=!0);return Di(b instanceof Array?b[f]:b,this._dimensionInfos[a])},typedArray:function(c,a,b,f){return c[f]}};ap=function(c){var a=c._invertedIndicesMap;r(a,function(b,d){var e=c._dimensionInfos[d].ordinalMeta;if(e){b=a[d]=new EJ(e.categories.length);for(e=0;e<b.length;e++)b[e]=-1;for(e=0;e<c._count;e++)b[c.get(d,e)]=e}})};zh=function(c,a,b,f){var d;if(c=c._storageArr[a])d=c[f],b&&b.categories.length&&(d=b.categories[d]);return Ea(d,null)};Jf=function(c){return 65535<c._rawCount?DJ:FJ};bp=function(c,a,b,f){var d=CJ[a.type];a=a.name;if(f){var e=(f=c[a])&&f.length;if(e!==b){b=new d(b);for(d=0;d<e;d++)b[d]=f[d];c[a]=b}}else c[a]=new d(b)};Kf=function(c){return c};De=function(c){return c<this._count&&0<=c?this._indices[c]:-1};bk=function(c,a){var b=c._idList[a];null==b&&null!=c._idDimIdx&&(b=zh(c,c._idDimIdx,c._idOrdinalMeta,a));null==b&&(b="e\x00\x00"+a);return b};ck=function(c){A(c)||(c=null!=c?[c]:[]);return c};Ah=function(c,a){for(var b=0;b<a.length;b++)c._dimensionInfos[a[b]]||console.error("Unkown dimension "+a[b])};dk=function(c,a){var d=c.dimensions,f=new b(C(d,c.getDimensionInfo,c),c.hostModel);dp(f,c);for(var g=f._storage={},h=c._storage,k=f._storageArr=[],l=0;l<d.length;l++){var m=d[l];if(h[m]){if(0<=ba(a,m)){var n=m,p;p=h[m];var q=p.constructor;p=q===Array?p.slice():new q(p);g[n]=p;f._rawExtent[m]=Bh();f._extent[m]=null}else g[m]=h[m];k.push(g[m])}}return f};Bh=function(){return[Infinity,-Infinity]};az=function(c){c=S(c);var a=S(this);c.seriesIndex=a.seriesIndex;c.dataIndex=a.dataIndex;c.dataType=a.dataType};dp=function(c,a){r(GJ.concat(a.__wrappedMethods||[]),function(b){a.hasOwnProperty(b)&&(c[b]=a[b])});c.__wrappedMethods=a.__wrappedMethods;r(HJ,function(b){c[b]=J(a[b])});c._calculationInfo=F({},a._calculationInfo)};cp=function(c,a){var b=c._nameList,d=c._idList,g=c._nameDimIdx,h=c._idDimIdx,k=b[a],l=d[a];null==k&&null!=g&&(b[a]=k=zh(c,g,c._nameOrdinalMeta,a));null==l&&null!=h&&(d[a]=l=zh(c,h,c._idOrdinalMeta,a));null==l&&null!=k&&(l=c._nameRepeatCount,b=l[k]=(l[k]||0)+1,l=k,1<b&&(l+="__ec__"+b),d[a]=l)}}();return b}(),tC=function(){return function(b){this.coordSysDims=[];this.axisMap=R();this.categoryAxisMap=R();this.coordSysName=b}}(),uC={cartesian2d:function(b,a,c,d){var e=b.getReferringComponents("xAxis",Da).models[0],f=b.getReferringComponents("yAxis",Da).models[0];if(!e)throw Error('xAxis "'+Ba(b.get("xAxisIndex"),b.get("xAxisId"),0)+'" not found');if(!f)throw Error('yAxis "'+Ba(b.get("xAxisIndex"),b.get("yAxisId"),0)+'" not found');a.coordSysDims=["x","y"];c.set("x",e);c.set("y",f);hf(e)&&(d.set("x",e),a.firstCategoryDimIndex=0);hf(f)&&(d.set("y",f),null==a.firstCategoryDimIndex&&(a.firstCategoryDimIndex=1))},singleAxis:function(b,a,c,d){b=b.getReferringComponents("singleAxis",Da).models[0];if(!b)throw Error("singleAxis should be specified.");a.coordSysDims=["single"];c.set("single",b);hf(b)&&(d.set("single",b),a.firstCategoryDimIndex=0)},polar:function(b,a,c,d){var e=b.getReferringComponents("polar",Da).models[0];b=e.findAxisModel("radiusAxis");e=e.findAxisModel("angleAxis");if(!e)throw Error("angleAxis option not found");if(!b)throw Error("radiusAxis option not found");a.coordSysDims=["radius","angle"];c.set("radius",b);c.set("angle",e);hf(b)&&(d.set("radius",b),a.firstCategoryDimIndex=0);hf(e)&&(d.set("angle",e),null==a.firstCategoryDimIndex&&(a.firstCategoryDimIndex=1))},geo:function(b,a,c,d){a.coordSysDims=["lng","lat"]},parallel:function(b,a,c,d){var e=b.ecModel;b=e.getComponent("parallel",b.get("parallelIndex"));var f=a.coordSysDims=b.dimensions.slice();r(b.parallelAxisIndex,function(b,h){var g=e.getComponent("parallelAxis",b),l=f[h];c.set(l,g);hf(g)&&(d.set(l,g),null==a.firstCategoryDimIndex&&(a.firstCategoryDimIndex=h))})}},tc=function(){function b(a){this._setting=a||{};this._extent=[Infinity,-Infinity]}b.prototype.getSetting=function(a){return this._setting[a]};b.prototype.unionExtent=function(a){var c=this._extent;a[0]<c[0]&&(c[0]=a[0]);a[1]>c[1]&&(c[1]=a[1])};b.prototype.unionExtentFromData=function(a,c){this.unionExtent(a.getApproximateExtent(c))};b.prototype.getExtent=function(){return this._extent.slice()};b.prototype.setExtent=function(a,c){var b=this._extent;isNaN(a)||(b[0]=a);isNaN(c)||(b[1]=c)};b.prototype.isInExtentRange=function(a){return this._extent[0]<=a&&this._extent[1]>=a};b.prototype.isBlank=function(){return this._isBlank};b.prototype.setBlank=function(a){this._isBlank=a};return b}();ei(tc);var Am=function(){function b(a){this.categories=a.categories||[];this._needCollect=a.needCollect;this._deduplication=a.deduplication}b.createByAxisModel=function(a){a=a.option;var c=a.data,c=c&&C(c,wC);return new b({categories:c,needCollect:!c,deduplication:!1!==a.dedplication})};b.prototype.getOrdinal=function(a){return this._getOrCreateMap().get(a)};b.prototype.parseAndCollect=function(a){var c,b=this._needCollect;if("string"!==typeof a&&!b)return a;if(b&&!this._deduplication)return c=this.categories.length,this.categories[c]=a,c;var e=this._getOrCreateMap();c=e.get(a);null==c&&(b?(c=this.categories.length,this.categories[c]=a,e.set(a,c)):c=NaN);return c};b.prototype._getOrCreateMap=function(){return this._map||(this._map=R(this.categories))};return b}(),Wi=function(b){function a(c){c=b.call(this,c)||this;c.type="ordinal";var a=c.getSetting("ordinalMeta");a||(a=new Am({}));A(a)&&(a=new Am({categories:C(a,function(c){return N(c)?c.value:c})}));c._ordinalMeta=a;c._extent=c.getSetting("extent")||[0,a.categories.length-1];return c}x(a,b);a.prototype.parse=function(c){return"string"===typeof c?this._ordinalMeta.getOrdinal(c):Math.round(c)};a.prototype.contain=function(c){c=this.parse(c);return Ti(c,this._extent)&&null!=this._ordinalMeta.categories[c]};a.prototype.normalize=function(c){c=this._getTickNumber(this.parse(c));return Ui(c,this._extent)};a.prototype.scale=function(c){c=Math.round(Vi(c,this._extent));return this.getRawOrdinalNumber(c)};a.prototype.getTicks=function(){for(var c=[],a=this._extent,b=a[0];b<=a[1];)c.push({value:b}),b++;return c};a.prototype.getMinorTicks=function(c){};a.prototype.setSortInfo=function(c){if(null==c)this._ordinalNumbersByTick=this._ticksByOrdinalNumber=null;else{var a=c.ordinalNumbers;c=this._ordinalNumbersByTick=[];for(var b=this._ticksByOrdinalNumber=[],f=0,g=this._ordinalMeta.categories.length,h=Math.min(g,a.length);f<h;++f){var k=a[f];c[f]=k;b[k]=f}for(a=0;f<g;++f){for(;null!=b[a];)a++;c.push(a);b[a]=f}}};a.prototype._getTickNumber=function(c){var a=this._ticksByOrdinalNumber;return a&&0<=c&&c<a.length?a[c]:c};a.prototype.getRawOrdinalNumber=function(c){var a=this._ordinalNumbersByTick;return a&&0<=c&&c<a.length?a[c]:c};a.prototype.getLabel=function(c){if(!this.isBlank())return c=this.getRawOrdinalNumber(c.value),c=this._ordinalMeta.categories[c],null==c?"":c+""};a.prototype.count=function(){return this._extent[1]-this._extent[0]+1};a.prototype.unionExtentFromData=function(c,a){this.unionExtent(c.getApproximateExtent(a))};a.prototype.isInExtentRange=function(c){c=this._getTickNumber(c);return this._extent[0]<=c&&this._extent[1]>=c};a.prototype.getOrdinalMeta=function(){return this._ordinalMeta};a.prototype.niceTicks=function(){};a.prototype.niceExtent=function(){};a.type="ordinal";return a}(tc);tc.registerClass(Wi);var Zd=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type="interval";c._interval=0;c._intervalPrecision=2;return c}x(a,b);a.prototype.parse=function(c){return c};a.prototype.contain=function(c){return Ti(c,this._extent)};a.prototype.normalize=function(c){return Ui(c,this._extent)};a.prototype.scale=function(c){return Vi(c,this._extent)};a.prototype.setExtent=function(c,a){var b=this._extent;isNaN(c)||(b[0]=parseFloat(c));isNaN(a)||(b[1]=parseFloat(a))};a.prototype.unionExtent=function(c){var a=this._extent;c[0]<a[0]&&(a[0]=c[0]);c[1]>a[1]&&(a[1]=c[1]);this.setExtent(a[0],a[1])};a.prototype.getInterval=function(){return this._interval};a.prototype.setInterval=function(c){this._interval=c;this._niceExtent=this._extent.slice();this._intervalPrecision=Db(c)+2};a.prototype.getTicks=function(c){var a=this._interval,b=this._extent,f=this._niceExtent,g=this._intervalPrecision,h=[];if(!a)return h;b[0]<f[0]&&(c?h.push({value:sa(f[0]-a,g)}):h.push({value:b[0]}));for(var k=f[0];k<=f[1];){h.push({value:k});k=sa(k+a,g);if(k===h[h.length-1].value)break;if(1E4<h.length)return[]}f=h.length?h[h.length-1].value:f[1];b[1]>f&&(c?h.push({value:sa(f+a,g)}):h.push({value:b[1]}));return h};a.prototype.getMinorTicks=function(c){for(var a=this.getTicks(!0),b=[],f=this.getExtent(),g=1;g<a.length;g++){for(var h=a[g-1],k=0,l=[],m=(a[g].value-h.value)/c;k<c-1;){var n=sa(h.value+(k+1)*m);n>f[0]&&n<f[1]&&l.push(n);k++}b.push(l)}return b};a.prototype.getLabel=function(c,a){if(null==c)return"";var b=a&&a.precision;null==b?b=Db(c.value)||0:"auto"===b&&(b=this._intervalPrecision);b=sa(c.value,b,!0);return El(b)};a.prototype.niceTicks=function(c,a,b){c=c||5;var d=this._extent,e=d[1]-d[0];isFinite(e)&&(0>e&&d.reverse(),e=c=Zk((d[1]-d[0])/c,!0),null!= +a&&e<a&&(e=c=a),null!=b&&e>b&&(e=c=b),b=a=Db(e)+2,e=b=[sa(Math.ceil(d[0]/e)*e,b),sa(Math.floor(d[1]/e)*e,b)],!isFinite(e[0])&&(e[0]=d[0]),!isFinite(e[1])&&(e[1]=d[1]),e[0]=Math.max(Math.min(e[0],d[1]),d[0]),e[1]=Math.max(Math.min(e[1],d[1]),d[0]),e[0]>e[1]&&(e[0]=e[1]),this._intervalPrecision=a,this._interval=c,this._niceExtent=b)};a.prototype.niceExtent=function(c){var a=this._extent;if(a[0]===a[1])if(0!==a[0]){var b=a[0];c.fixMax||(a[1]+=b/2);a[0]-=b/2}else a[1]=1;isFinite(a[1]-a[0])||(a[0]=0,a[1]=1);this.niceTicks(c.splitNumber,c.minInterval,c.maxInterval);b=this._interval;c.fixMin||(a[0]=sa(Math.floor(a[0]/b)*b));c.fixMax||(a[1]=sa(Math.ceil(a[1]/b)*b))};a.type="interval";return a}(tc);tc.registerClass(Zd);var ep="undefined"!==typeof Float32Array?Float32Array:Array,IJ={seriesType:"bar",plan:cf(),reset:function(b){if(b.coordinateSystem&&"cartesian2d"===b.coordinateSystem.type&&b.pipelineContext&&b.pipelineContext.large){var a=b.getData(),c=b.coordinateSystem,d=c.master.getRect(),e=c.getBaseAxis(),f=c.getOtherAxis(e),g=a.mapDimension(f.dim),h=a.mapDimension(e.dim),k=f.isHorizontal(),l=k?0:1,m=jt(nm([b]),e,b).width;.5<m||(m=.5);return{progress:function(a,b){for(var e=a.count,n=new ep(2*e),p=new ep(2*e),e=new ep(e),w,v=[],r=[],B=0,y=0;null!=(w=a.next());)r[l]=b.get(g,w),r[1-l]=b.get(h,w),v=c.dataToPoint(r,null,v),p[B]=k?d.x+d.width:v[0],n[B++]=v[0],p[B]=k?v[1]:d.y+d.height,n[B++]=v[1],e[y++]=w;b.setLayout({largePoints:n,largeDataIndices:e,largeBackgroundPoints:p,barWidth:m,valueAxisStart:f.toGlobalCoord(f.dataToCoord("log"===f.type?1:0)),backgroundStart:k?d.x:d.y,valueAxisHorizontal:k})}}}}},JJ=function(b,a,c,d){for(;c<d;){var e=c+d>>>1;b[e][1]<a?c=e+1:d=e}return c},pm=function(b){function a(c){c=b.call(this,c)||this;c.type="time";return c}x(a,b);a.prototype.getLabel=function(c){var a=this.getSetting("useUTC");c=c.value;var b;a:switch(af(this._minLevelUnit)){case "year":case "month":b="day";break a;case "millisecond":b="millisecond";break a;default:b="second"}return mg(c,wy[b]||wy.second,a,this.getSetting("locale"))};a.prototype.getFormattedLabel=function(c,a,b){var d=this.getSetting("useUTC"),e=this.getSetting("locale"),h=null;if("string"===typeof b)h=b;else if("function"===typeof b)h=b(c.value,a,{level:c.level});else{a=F({},ph);if(0<c.level)for(var k=0;k<Ko.length;++k)a[Ko[k]]="{primary|"+a[Ko[k]]+"}";b=b?!1===b.inherit?b:K(b,a):a;var l=Er(c.value,d);if(b[l])h=b[l];else if(b.inherit){for(k=mt.indexOf(l)-1;0<=k;--k)if(b[l]){h=b[l];break}h=h||a.none}A(h)&&(a=null==c.level?0:0<=c.level?c.level:h.length+c.level,a=Math.min(a,h.length-1),h=h[a])}return mg(new Date(c.value),h,d,e)};a.prototype.getTicks=function(c){c=this._extent;var a=[];if(!this._interval)return a;a.push({value:c[0],level:0});var b=this.getSetting("useUTC"),b=zC(this._minLevelUnit,this._approxInterval,b,c),a=a.concat(b);a.push({value:c[1],level:0});return a};a.prototype.niceExtent=function(c){var a=this._extent;a[0]===a[1]&&(a[0]-=864E5,a[1]+=864E5);if(-Infinity===a[1]&&Infinity===a[0]){var b=new Date;a[1]=+new Date(b.getFullYear(),b.getMonth(),b.getDate());a[0]=a[1]-864E5}this.niceTicks(c.splitNumber,c.minInterval,c.maxInterval)};a.prototype.niceTicks=function(c,a,b){var d=this._extent;this._approxInterval=(d[1]-d[0])/(c||10);null!=a&&this._approxInterval<a&&(this._approxInterval=a);null!=b&&this._approxInterval>b&&(this._approxInterval=b);c=ek.length;c=Math.min(JJ(ek,this._approxInterval,0,c),c-1);this._interval=ek[c][1];this._minLevelUnit=ek[Math.max(c-1,0)][0]};a.prototype.parse=function(c){return"number"===typeof c?c:+qb(c)};a.prototype.contain=function(c){return Ti(this.parse(c),this._extent)};a.prototype.normalize=function(c){return Ui(this.parse(c),this._extent)};a.prototype.scale=function(c){return Vi(c,this._extent)};a.type="time";return a}(Zd),ek=[["second",1E3],["minute",6E4],["hour",36E5],["quarter-day",216E5],["half-day",432E5],["day",10368E4],["half-week",3024E5],["week",6048E5],["month",26784E5],["quarter",8208E6],["half-year",15768E6],["year",31536E6]];tc.registerClass(pm);var bz=tc.prototype,Ch=Zd.prototype,KJ=Math.floor,LJ=Math.ceil,fk=Math.pow,Ob=Math.log,om=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type="log";c.base=10;c._originalScale=new Zd;c._interval=0;return c}x(a,b);a.prototype.getTicks=function(c){var a=this._extent,b=this._originalScale.getExtent();c=Ch.getTicks.call(this,c);return C(c,function(c){c=c.value;var d=sa(fk(this.base,c)),d=c===a[0]&&this._fixMin?sa(d,Db(b[0])):d,d=c===a[1]&&this._fixMax?sa(d,Db(b[1])):d;return{value:d}},this)};a.prototype.setExtent=function(c,a){var b=this.base;c=Ob(c)/Ob(b);a=Ob(a)/Ob(b);Ch.setExtent.call(this,c,a)};a.prototype.getExtent=function(){var c=this.base,a=bz.getExtent.call(this);a[0]=fk(c,a[0]);a[1]=fk(c,a[1]);c=this._originalScale.getExtent();this._fixMin&&(a[0]=sa(a[0],Db(c[0])));this._fixMax&&(a[1]=sa(a[1],Db(c[1])));return a};a.prototype.unionExtent=function(c){this._originalScale.unionExtent(c);var a=this.base;c[0]=Ob(c[0])/Ob(a);c[1]=Ob(c[1])/Ob(a);bz.unionExtent.call(this,c)};a.prototype.unionExtentFromData=function(c,a){this.unionExtent(c.getApproximateExtent(a))};a.prototype.niceTicks=function(c){c=c||10;var a=this._extent,b=a[1]-a[0];if(!(Infinity===b||0>=b)){var f=uq(b);for(.5>=c/b*f&&(f*=10);!isNaN(f)&&1>Math.abs(f)&&0<Math.abs(f);)f*=10;c=[sa(LJ(a[0]/f)*f),sa(KJ(a[1]/f)*f)];this._interval=f;this._niceExtent=c}};a.prototype.niceExtent=function(c){Ch.niceExtent.call(this,c);this._fixMin=c.fixMin;this._fixMax=c.fixMax};a.prototype.parse=function(c){return c};a.prototype.contain=function(c){c=Ob(c)/Ob(this.base);return Ti(c,this._extent)};a.prototype.normalize=function(c){c=Ob(c)/Ob(this.base);return Ui(c,this._extent)};a.prototype.scale=function(c){c=Vi(c,this._extent);return fk(this.base,c)};a.type="log";return a}(tc),cz=om.prototype;cz.getMinorTicks=Ch.getMinorTicks;cz.getLabel=Ch.getLabel;tc.registerClass(om);var AC=function(){function b(a,c,b){this._prepareParams(a,c,b)}b.prototype._prepareParams=function(a,c,b){b[1]<b[0]&&(b=[NaN,NaN]);this._dataMin=b[0];this._dataMax=b[1];var d=this._isOrdinal="ordinal"===a.type;this._needCrossZero=c.getNeedCrossZero&&c.getNeedCrossZero();var f=this._modelMinRaw=c.get("min",!0);fa(f)?this._modelMinNum=jf(a,f({min:b[0],max:b[1]})):"dataMin"!==f&&(this._modelMinNum=jf(a,f));f=this._modelMaxRaw=c.get("max",!0);fa(f)?this._modelMaxNum=jf(a,f({min:b[0],max:b[1]})):"dataMax"!==f&&(this._modelMaxNum=jf(a,f));d?this._axisDataLen=c.getCategories().length:(a=c.get("boundaryGap"),a=A(a)?a:[a||0,a||0],"boolean"===typeof a[0]||"boolean"===typeof a[1]?(console.warn('Boolean type for boundaryGap is only allowed for ordinal axis. Please use string in percentage instead, e.g., "20%". Currently, boundaryGap is set to be 0.'),this._boundaryGapInner=[0,0]):this._boundaryGapInner=[Ub(a[0],1),Ub(a[1],1)])};b.prototype.calculate=function(){var a=this._isOrdinal,c=this._dataMin,b=this._dataMax,e=this._axisDataLen,f=this._boundaryGapInner,g=a?null:b-c||Math.abs(c),h="dataMin"===this._modelMinRaw?c:this._modelMinNum,k="dataMax"===this._modelMaxRaw?b:this._modelMaxNum,l=null!=h,m=null!=k;null==h&&(h=a?e?0:NaN:c-f[0]*g);null==k&&(k=a?e?e-1:NaN:b+f[1]*g);null!=h&&isFinite(h)||(h=NaN);null!=k&&isFinite(k)||(k=NaN);h>k&&(k=h=NaN);a=Nc(h)||Nc(k)||a&&!e;this._needCrossZero&&(0<h&&0<k&&!l&&(h=0),0>h&&0>k&&!m&&(k=0));c=this._determinedMin;b=this._determinedMax;null!=c&&(h=c,l=!0);null!=b&&(k=b,m=!0);return{min:h,max:k,minFixed:l,maxFixed:m,isBlank:a}};b.prototype.modifyDataMinMax=function(a,c){O(!this.frozen);this[MJ[a]]=c};b.prototype.setDeterminedMinMax=function(a,c){var b=NJ[a];O(!this.frozen&&null==this[b]);this[b]=c};b.prototype.freeze=function(){this.frozen=!0};return b}(),NJ={min:"_determinedMin",max:"_determinedMax"},MJ={min:"_dataMin",max:"_dataMax"},Lf=function(){function b(){}b.prototype.getNeedCrossZero=function(){return!this.option.scale};b.prototype.getCoordSysModel=function(){};return b}(),OJ=Object.freeze({__proto__:null,createList:function(b){return sc(b.getSource(),b)},getLayoutRect:Aa,dataStack:{isDimensionStacked:Gc,enableDataStack:gt,getStackedDimension:lm},createScale:function(b,a){var c=a;a instanceof la||(c=new la(a));var d=Dg(c);d.setExtent(b[0],b[1]);jd(d,c);return d},mixinAxisModelCommonMethods:function(b){wa(b,Lf)},getECData:S,createTextStyle:function(b,a){a=a||{};return Ja(b,null,null,"normal"!==a.state)},createDimensions:gf,createSymbol:Pa,enableHoverEmphasis:va}),rt=function(){function b(a,c,b){this.name=a;this.geometries=c;b?b=[b[0],b[1]]:(a=this.getBoundingRect(),b=[a.x+a.width/2,a.y+a.height/2]);this.center=b}b.prototype.getBoundingRect=function(){var a=this._rect;if(a)return a;for(var c=Number.MAX_VALUE,a=[c,c],c=[-c,-c],b=[],e=[],f=this.geometries,g=0;g<f.length;g++)"polygon"===f[g].type&&(hl(f[g].exterior,b,e),Qc(a,a,b),Rc(c,c,e));0===g&&(a[0]=a[1]=c[0]=c[1]=0);return this._rect=new aa(a[0],a[1],c[0]-a[0],c[1]-a[1])};b.prototype.contain=function(a){var c=this.getBoundingRect(),b=this.geometries;if(!c.contain(a[0],a[1]))return!1;var c=0,e=b.length;a:for(;c<e;c++)if("polygon"===b[c].type){var f=b[c].interiors;if($d(b[c].exterior,a[0],a[1])){for(var g=0;g<(f?f.length:0);g++)if($d(f[g],a[0],a[1]))continue a;return!0}}return!1};b.prototype.transformTo=function(a,c,b,e){var d=this.getBoundingRect(),g=d.width/d.height;b?e||(e=b/g):b=g*e;a=new aa(a,c,b,e);d=d.calculateTransform(a);c=this.geometries;for(b=0;b<c.length;b++)if("polygon"===c[b].type){var h=c[b].exterior;e=c[b].interiors;for(g=0;g<h.length;g++)Qa(h[g],h[g],d);for(h=0;h<(e?e.length:0);h++)for(g=0;g<e[h].length;g++)Qa(e[h][g],e[h][g],d)}d=this._rect;d.copy(a);this.center=[d.x+d.width/2,d.y+d.height/2]};b.prototype.cloneShallow=function(a){null==a&&(a=this.name);a=new b(a,this.geometries,this.center);a._rect=this._rect;a.transformTo=null;return a};return b}(),PJ=Object.freeze({__proto__:null,linearMap:ga,round:sa,asc:Cb,getPrecision:sq,getPrecisionSafe:Db,getPixelPrecision:Wk,getPercentWithPrecision:tq,MAX_SAFE_INTEGER:9007199254740991,remRadian:Xk,isRadianAroundZero:ag,parseDate:qb,quantity:uq,quantityExponent:Yk,nice:Zk,quantile:ai,reformIntervals:$k,isNumeric:bi,numericToNumber:jc}),QJ=Object.freeze({__proto__:null,parse:qb,format:mg}),RJ=Object.freeze({__proto__:null,extendShape:or,extendPath:pr,makePath:hg,makeImage:xl,mergePath:xb,resizePath:wl,createIcon:Ze,updateProps:ea,initProps:za,getTransform:dd,clipPointsByRect:zl,clipRectByRect:tr,registerShape:qr,getShapeClass:oi,Group:M,Image:Ga,Text:ha,Circle:Nb,Ellipse:nh,Sector:lb,Ring:Hf,Polygon:bb,Polyline:kb,Rect:Z,Line:Ua,BezierCurve:rf,Arc:oh,IncrementalDisplayable:xg,CompoundPath:Io,LinearGradient:mf,RadialGradient:ty,BoundingRect:aa}),SJ=Object.freeze({__proto__:null,addCommas:El,toCamelCase:Gr,normalizeCssArray:Od,encodeHTML:fd,formatTpl:Fl,getTooltipMarker:Ir,formatTime:function(b,a,c){Sa("echarts.format.formatTime","echarts.time.format");if("week"===b||"month"===b||"quarter"===b||"half-year"===b||"year"===b)b="MM-dd\nyyyy";a=qb(a);var d=c?"UTC":"";c=a["get"+d+"FullYear"]();var e=a["get"+d+"Month"]()+1,f=a["get"+d+"Date"](),g=a["get"+d+"Hours"](),h=a["get"+d+"Minutes"](),k=a["get"+d+"Seconds"]();a=a["get"+d+"Milliseconds"]();return b=b.replace("MM",ub(e,2)).replace("M",e).replace("yyyy",c).replace("yy",c%100+"").replace("dd",ub(f,2)).replace("d",f).replace("hh",ub(g,2)).replace("h",g).replace("mm",ub(h,2)).replace("m",h).replace("ss",ub(k,2)).replace("s",k).replace("SSS",ub(a,3))},capitalFirst:function(b){return b?b.charAt(0).toUpperCase()+b.substr(1):b},truncateText:Eq,getTextRect:function(b,a,c,d,e,f,g,h){Vb("getTextRect is deprecated.");return(new ha({style:{text:b,font:a,align:c,verticalAlign:d,padding:e,rich:f,overflow:g?"truncate":null,lineHeight:h}})).getBoundingRect()}}),TJ=Object.freeze({__proto__:null,map:C,each:r,indexOf:ba,inherits:Qh,reduce:Ed,filter:ta,bind:I,curry:P,isArray:A,isString:da,isObject:N,isFunction:fa,extend:F,defaults:K,clone:J,merge:U}),Fg=ma(),dz=[0,1],Pb=function(){function b(a,c,b){this.inverse=this.onBand=!1;this.dim=a;this.scale=c;this._extent=b||[0,0]}b.prototype.contain=function(a){var c=this._extent,b=Math.max(c[0],c[1]);return a>=Math.min(c[0],c[1])&&a<=b};b.prototype.containData=function(a){return this.scale.contain(a)};b.prototype.getExtent=function(){return this._extent.slice()};b.prototype.getPixelPrecision=function(a){return Wk(a||this.scale.getExtent(),this._extent)};b.prototype.setExtent=function(a,c){var b=this._extent;b[0]=a;b[1]=c};b.prototype.dataToCoord=function(a,c){var b=this._extent,e=this.scale;a=e.normalize(a);this.onBand&&"ordinal"===e.type&&(b=b.slice(),yt(b,e.count()));return ga(a,dz,b,c)};b.prototype.coordToData=function(a,c){var b=this._extent,e=this.scale;this.onBand&&"ordinal"===e.type&&(b=b.slice(),yt(b,e.count()));b=ga(a,b,dz,c);return this.scale.scale(b)};b.prototype.pointToData=function(a,c){};b.prototype.getTicksCoords=function(a){a=a||{};var c=a.tickModel||this.getTickModel(),b=EC(this,c).ticks,b=C(b,function(c){return{coord:this.dataToCoord("ordinal"===this.scale.type?this.scale.getRawOrdinalNumber(c):c),tickValue:c}},this),c=c.get("alignWithLabel");HC(this,b,c,a.clamp);return b};b.prototype.getMinorTicksCoords=function(){if("ordinal"===this.scale.type)return[];var a=this.model.getModel("minorTick").get("splitNumber");0<a&&100>a||(a=5);a=this.scale.getMinorTicks(a);return C(a,function(c){return C(c,function(c){return{coord:this.dataToCoord(c),tickValue:c}},this)},this)};b.prototype.getViewLabels=function(){var a;if("category"===this.type){a=this.getLabelModel();var c=st(this,a);a=!a.get("show")||this.scale.isBlank()?{labels:[],labelCategoryInterval:c.labelCategoryInterval}:c}else a=GC(this);return a.labels};b.prototype.getLabelModel=function(){return this.model.getModel("axisLabel")};b.prototype.getTickModel=function(){return this.model.getModel("axisTick")};b.prototype.getBandWidth=function(){var a=this._extent,c=this.scale.getExtent(),c=c[1]-c[0]+(this.onBand?1:0);0===c&&(c=1);return Math.abs(Math.abs(a[1]-a[0]))/c};b.prototype.calculateCategoryInterval=function(){var a,c,b;b=this.getLabelModel();a=this.getRotate?this.getRotate():this.isHorizontal&&!this.isHorizontal()?90:0;c=b.get("rotate")||0;b=b.getFont();var e=Eg(this),f=(a-c)/180*Math.PI;a=this.scale;c=a.getExtent();a=a.count();if(1>c[1]-c[0])a=0;else{var g=1;40<a&&(g=Math.max(1,Math.floor(a/40)));for(var h=c[0],k=this.dataToCoord(h+1)-this.dataToCoord(h),l=Math.abs(k*Math.cos(f)),f=Math.abs(k*Math.sin(f)),m=0,k=0;h<=c[1];h+=g){var n,p;p=$f(e({value:h}),b,"center","top");n=1.3*p.width;p=1.3*p.height;m=Math.max(m,n,7);k=Math.max(k,p,7)}b=m/l;e=k/f;isNaN(b)&&(b=Infinity);isNaN(e)&&(e=Infinity);b=Math.max(0,Math.floor(Math.min(b,e)));e=Fg(this.model);c=this.getExtent();g=e.lastAutoInterval;h=e.lastTickCount;null!=g&&null!=h&&1>=Math.abs(g-b)&&1>=Math.abs(h-a)&&g>b&&e.axisExtent0===c[0]&&e.axisExtent1===c[1]?b=g:(e.lastTickCount=a,e.lastAutoInterval=b,e.axisExtent0=c[0],e.axisExtent1=c[1]);a=b}return a};return b}(),ae=Math.round,ez=Math.sin,fz=Math.cos,gz=Math.PI,Ad=2*Math.PI,hz=180/gz,UJ=function(){function b(){}b.prototype.reset=function(){this._d=[];this._str=""};b.prototype.moveTo=function(a,c){this._add("M",a,c)};b.prototype.lineTo=function(a,c){this._add("L",a,c)};b.prototype.bezierCurveTo=function(a,c,b,e,f,g){this._add("C",a,c,b,e,f,g)};b.prototype.quadraticCurveTo=function(a,c,b,e){this._add("Q",a,c,b,e)};b.prototype.arc=function(a,c,b,e,f,g){this.ellipse(a,c,b,b,0,e,f,g)};b.prototype.ellipse=function(a,c,b,e,f,g,h,k){var d=0===this._d.length;h-=g;k=!k;var m=Math.abs(h),n=m-Ad,n=1E-4>n&&-1E-4<n||(k?h>=Ad:-h>=Ad),p=0<h?h%Ad:h%Ad+Ad,m=n?!0:1E-4>m&&-1E-4<m?!1:p>=gz===!!k,p=Hc(a+b*fz(g)),q=Hc(c+e*ez(g));n&&(h=k?Ad-1E-4:-Ad+1E-4,m=!0,d&&this._d.push("M",p,q));a=Hc(a+b*fz(g+h));c=Hc(c+e*ez(g+h));if(isNaN(p)||isNaN(q)||isNaN(b)||isNaN(e)||isNaN(f)||isNaN(hz)||isNaN(a)||isNaN(c))return"";this._d.push("A",Hc(b),Hc(e),ae(f*hz),+m,+k,a,c)};b.prototype.rect=function(a,c,b,e){this._add("M",a,c);this._add("L",a+b,c);this._add("L",a+b,c+e);this._add("L",a,c+e);this._add("L",a,c)};b.prototype.closePath=function(){0<this._d.length&&this._add("Z")};b.prototype._add=function(a,c,b,e,f,g,h,k,l){this._d.push(a);for(var d=1;d<arguments.length;d++){var n=arguments[d];if(isNaN(n)){this._invalid=!0;break}this._d.push(Hc(n))}};b.prototype.generateStr=function(){this._str=this._invalid?"":this._d.join(" ");this._d=[]};b.prototype.getStr=function(){return this._str};return b}(),Yi={brush:function(b){var a=b.style,c=b.__svgEl;c||(c=uc("path"),b.__svgEl=c);b.path||b.createPathProxy();var d=b.path;b.shapeChanged()&&(d.beginPath(),b.buildPath(d,b.shape),b.pathUpdated());var e=d.getVersion(),f=b.__svgPathBuilder;if(b.__svgPathVersion!==e||!f||1>b.style.strokePercent)f||(f=b.__svgPathBuilder=new UJ),f.reset(),d.rebuildPath(f,b.style.strokePercent),f.generateStr(),b.__svgPathVersion=e;ua(c,"d",f.getStr());um(c,a,b);tm(c,b.transform)}},Et={brush:function(b){var a=b.style,c=a.image;c instanceof HTMLImageElement?c=c.src:c instanceof HTMLCanvasElement&&(c=c.toDataURL());if(c){var d=a.x||0,e=a.y||0,f=a.width,g=a.height,h=b.__svgEl;h||(h=uc("image"),b.__svgEl=h);c!==b.__imageSrc&&(h.setAttributeNS("http://www.w3.org/1999/xlink","href",c),b.__imageSrc=c);ua(h,"width",f+"");ua(h,"height",g+"");ua(h,"x",d+"");ua(h,"y",e+"");um(h,a,b);tm(h,b.transform)}}},VJ={left:"start",right:"end",center:"middle",middle:"middle"},Ft={brush:function(b){var a=b.style,c=a.text;null!=c&&(c+="");if(c&&!isNaN(a.x)&&!isNaN(a.y)){var d=b.__svgEl;d||(d=uc("text"),d.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),b.__svgEl=d);var e=a.font||"12px sans-serif";d.style.font=e;d.textContent=c;um(d,a,b);tm(d,b.transform);b=a.x||0;var c=a.y||0,e=Ya("\u56fd",e),f=a.textBaseline;"top"===f?c+=e/2:"bottom"===f&&(c-=e/2);e=c;a=VJ[a.textAlign]||a.textAlign;ua(d,"dominant-baseline","central");ua(d,"text-anchor",a);ua(d,"x",b+"");ua(d,"y",e+"")}}},gk=function(){function b(a,c,b,e,f){this.nextId=0;this._domName="_dom";this.createElement=uc;this._zrId=a;this._svgRoot=c;this._tagNames="string"===typeof b?[b]:b;this._markLabel=e;f&&(this._domName=f)}b.prototype.getDefs=function(a){var c=this._svgRoot,b=this._svgRoot.getElementsByTagName("defs");if(0===b.length){if(a){var e=c.insertBefore(this.createElement("defs"),c.firstChild);e.contains||(e.contains=function(c){var a=e.children;if(!a)return!1;for(var b=a.length-1;0<=b;--b)if(a[b]===c)return!0;return!1});return e}return null}return b[0]};b.prototype.doUpdate=function(a,c){if(a){var b=this.getDefs(!1);a[this._domName]&&b.contains(a[this._domName])?"function"===typeof c&&c(a):(b=this.add(a))&&(a[this._domName]=b)}};b.prototype.add=function(a){return null};b.prototype.addDom=function(a){var c=this.getDefs(!0);a.parentNode!==c&&c.appendChild(a)};b.prototype.removeDom=function(a){var c=this.getDefs(!1);c&&a[this._domName]&&(c.removeChild(a[this._domName]),a[this._domName]=null)};b.prototype.getDoms=function(){var a=this.getDefs(!1);if(!a)return[];var c=[];r(this._tagNames,function(b){b=a.getElementsByTagName(b);for(var d=0;d<b.length;d++)c.push(b[d])});return c};b.prototype.markAllUnused=function(){var a=this.getDoms(),c=this;r(a,function(a){a[c._markLabel]="0"})};b.prototype.markDomUsed=function(a){a&&(a[this._markLabel]="1")};b.prototype.markDomUnused=function(a){a&&(a[this._markLabel]="0")};b.prototype.isDomUnused=function(a){return a&&"1"!==a[this._markLabel]};b.prototype.removeUnused=function(){var a=this,c=this.getDefs(!1);if(c){var b=this.getDoms();r(b,function(b){a.isDomUnused(b)&&c.removeChild(b)})}};b.prototype.getSvgProxy=function(a){return a instanceof Y?Yi:a instanceof Ga?Et:a instanceof Vd?Ft:Yi};b.prototype.getSvgElement=function(a){return a.__svgEl};return b}(),WJ=function(b){function a(c,a){return b.call(this,c,a,["linearGradient","radialGradient"],"__gradient_in_use__")||this}x(a,b);a.prototype.addWithoutUpdate=function(c,a){if(a&&a.style){var b=this;r(["fill","stroke"],function(d){var e=a.style[d];if(Bt(e)){var f=b.getDefs(!0),k;e.__dom?(k=e.__dom,f.contains(e.__dom)||b.addDom(k)):k=b.add(e);b.markUsed(a);e=k.getAttribute("id");c.setAttribute(d,"url(#"+e+")")}})}};a.prototype.add=function(c){var a;if("linear"===c.type)a=this.createElement("linearGradient");else if("radial"===c.type)a=this.createElement("radialGradient");else return yb("Illegal gradient type."),null;c.id=c.id||this.nextId++;a.setAttribute("id","zr"+this._zrId+"-gradient-"+c.id);this.updateDom(c,a);this.addDom(a);return a};a.prototype.update=function(c){if(Bt(c)){var a=this;this.doUpdate(c,function(){var b=c.__dom;if(b){var b=b.tagName,d=c.type;"linear"===d&&"linearGradient"===b||"radial"===d&&"radialGradient"===b?a.updateDom(c,c.__dom):(a.removeDom(c),a.add(c))}})}};a.prototype.updateDom=function(c,a){if("linear"===c.type)a.setAttribute("x1",c.x+""),a.setAttribute("y1",c.y+""),a.setAttribute("x2",c.x2+""),a.setAttribute("y2",c.y2+"");else if("radial"===c.type)a.setAttribute("cx",c.x+""),a.setAttribute("cy",c.y+""),a.setAttribute("r",c.r+"");else{yb("Illegal gradient type.");return}c.global?a.setAttribute("gradientUnits","userSpaceOnUse"):a.setAttribute("gradientUnits","objectBoundingBox");a.innerHTML="";for(var b=c.colorStops,d=0,g=b.length;d<g;++d){var h=this.createElement("stop");h.setAttribute("offset",100*b[d].offset+"%");var k=b[d].color;if(-1<k.indexOf("rgba")){var l=eb(k)[3],k=Ik(k);h.setAttribute("stop-color","#"+k);h.setAttribute("stop-opacity",l+"")}else h.setAttribute("stop-color",b[d].color);a.appendChild(h)}c.__dom=a};a.prototype.markUsed=function(c){if(c.style){var a=c.style.fill;a&&a.__dom&&b.prototype.markDomUsed.call(this,a.__dom);(a=c.style.stroke)&&a.__dom&&b.prototype.markDomUsed.call(this,a.__dom)}};return a}(gk),Dh=new Ny,XJ=function(b){function a(c,a){return b.call(this,c,a,["pattern"],"__pattern_in_use__")||this}x(a,b);a.prototype.addWithoutUpdate=function(c,a){if(a&&a.style){var b=this;r(["fill","stroke"],function(d){var e=a.style[d];if(Gg(e)){var f=b.getDefs(!0),k=Dh.get(e);k?f.contains(k)||b.addDom(k):k=b.add(e);b.markUsed(a);e=k.getAttribute("id");c.setAttribute(d,"url(#"+e+")")}})}};a.prototype.add=function(c){if(Gg(c)){var a=this.createElement("pattern");c.id=null==c.id?this.nextId++:c.id;a.setAttribute("id","zr"+this._zrId+"-pattern-"+c.id);a.setAttribute("x","0");a.setAttribute("y","0");a.setAttribute("patternUnits","userSpaceOnUse");this.updateDom(c,a);this.addDom(a);return a}};a.prototype.update=function(c){if(Gg(c)){var a=this;this.doUpdate(c,function(){var b=Dh.get(c);a.updateDom(c,b)})}};a.prototype.updateDom=function(c,a){var b=c.svgElement;if(b instanceof SVGElement)b.parentNode!==a&&(a.innerHTML="",a.appendChild(b),a.setAttribute("width",c.svgWidth+""),a.setAttribute("height",c.svgHeight+""));else{var b=void 0,d=a.getElementsByTagName("image");if(d.length)if(c.image)b=d[0];else{a.removeChild(d[0]);return}else c.image&&(b=this.createElement("image"));b&&(d=void 0,"string"===typeof c.image?d=c.image:c.image instanceof HTMLImageElement?d=c.image.src:c.image instanceof HTMLCanvasElement&&(d=c.image.toDataURL()),d&&(b.setAttribute("href",d),b.setAttribute("x","0"),b.setAttribute("y","0"),(d=dl(d,b,{dirty:function(){}},function(c){a.setAttribute("width",c.width+"");a.setAttribute("height",c.height+"")}))&&d.width&&d.height&&(a.setAttribute("width",d.width+""),a.setAttribute("height",d.height+"")),a.appendChild(b)))}a.setAttribute("patternTransform","translate("+(c.x||0)+", "+(c.y||0)+") rotate("+(c.rotation||0)/Math.PI*180+") scale("+(c.scaleX||1)+", "+(c.scaleY||1)+")");Dh.set(c,a)};a.prototype.markUsed=function(c){c.style&&(Gg(c.style.fill)&&b.prototype.markDomUsed.call(this,Dh.get(c.style.fill)),Gg(c.style.stroke)&&b.prototype.markDomUsed.call(this,Dh.get(c.style.stroke)))};return a}(gk),YJ=function(b){function a(c,a){var d=b.call(this,c,a,"clipPath","__clippath_in_use__")||this;d._refGroups={};d._keyDuplicateCount={};return d}x(a,b);a.prototype.markAllUnused=function(){b.prototype.markAllUnused.call(this);for(var c in this._refGroups)this.markDomUnused(this._refGroups[c]);this._keyDuplicateCount={}};a.prototype._getClipPathGroup=function(c,a){if(Ct(c)){var b=c.__clipPaths,d=this._keyDuplicateCount,g;g=[];if(b)for(var h=0;h<b.length;h++)g.push(b[h].id);g=g.join(",");Es(b,a&&a.__clipPaths)&&(d[g]=d[g]||0,d[g]&&(g+="-"+d[g]),d[g]++);return this._refGroups[g]||(this._refGroups[g]=this.createElement("g"))}};a.prototype.update=function(c,a){var b=this._getClipPathGroup(c,a);b&&(this.markDomUsed(b),this.updateDom(b,c.__clipPaths));return b};a.prototype.updateDom=function(c,a){if(a&&0<a.length){var b=this.getDefs(!0),d=a[0],g,h;d._dom?(h=d._dom.getAttribute("id"),g=d._dom,b.contains(g)||b.appendChild(g)):(h="zr"+this._zrId+"-clip-"+this.nextId,++this.nextId,g=this.createElement("clipPath"),g.setAttribute("id",h),b.appendChild(g),d._dom=g);this.getSvgProxy(d).brush(d);b=this.getSvgElement(d);g.innerHTML="";g.appendChild(b);c.setAttribute("clip-path","url(#"+h+")");1<a.length&&this.updateDom(g,a.slice(1))}else c&&c.setAttribute("clip-path","none")};a.prototype.markUsed=function(c){var a=this;c.__clipPaths&&r(c.__clipPaths,function(c){c._dom&&b.prototype.markDomUsed.call(a,c._dom)})};a.prototype.removeUnused=function(){b.prototype.removeUnused.call(this);var c={},a;for(a in this._refGroups){var e=this._refGroups[a];this.isDomUnused(e)?e.parentNode&&e.parentNode.removeChild(e):c[a]=e}this._refGroups=c};return a}(gk),ZJ=function(b){function a(c,a){var d=b.call(this,c,a,["filter"],"__filter_in_use__","_shadowDom")||this;d._shadowDomMap={};d._shadowDomPool=[];return d}x(a,b);a.prototype._getFromPool=function(){var c=this._shadowDomPool.pop();if(!c){c=this.createElement("filter");c.setAttribute("id","zr"+this._zrId+"-shadow-"+this.nextId++);var a=this.createElement("feDropShadow");c.appendChild(a);this.addDom(c)}return c};a.prototype.update=function(c,a){var b=a.style;if(b&&(b.shadowBlur||b.shadowOffsetX||b.shadowOffsetY)){var b=a.style,d=a.getGlobalScale(),b=[b.shadowColor,(b.shadowBlur||0).toFixed(2),(b.shadowOffsetX||0).toFixed(2),(b.shadowOffsetY||0).toFixed(2),d[0],d[1]].join(),d=a._shadowDom=this._shadowDomMap[b];d||(d=this._getFromPool(),this._shadowDomMap[b]=d);this.updateDom(c,a,d)}else this.remove(c,a)};a.prototype.remove=function(c,a){null!=a._shadowDom&&(a._shadowDom=null,c.style.filter="")};a.prototype.updateDom=function(c,a,b){var d=b.children[0],e=a.style,h=a.getGlobalScale(),k=h[0],h=h[1];if(k&&h){var l=e.shadowOffsetY||0,m=e.shadowBlur,n=e.shadowColor;d.setAttribute("dx",(e.shadowOffsetX||0)/k+"");d.setAttribute("dy",l/h+"");d.setAttribute("flood-color",n);d.setAttribute("stdDeviation",m/2/k+" "+m/2/h);b.setAttribute("x","-100%");b.setAttribute("y","-100%");b.setAttribute("width","300%");b.setAttribute("height","300%");a._shadowDom=b;a=b.getAttribute("id");c.style.filter="url(#"+a+")"}};a.prototype.removeUnused=function(){if(this.getDefs(!1)){var c=this._shadowDomPool,a;for(a in this._shadowDomMap)c.push(this._shadowDomMap[a]);this._shadowDomMap={}}};return a}(gk),$J=function(){function b(a,c,b,e){this.type="svg";this.refreshHover=vm("refreshHover");this.pathToImage=vm("pathToImage");this.configLayer=vm("configLayer");this.root=a;this.storage=c;this._opts=b=F({},b||{});c=uc("svg");c.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns","http://www.w3.org/2000/svg");c.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink");c.setAttribute("version","1.1");c.setAttribute("baseProfile","full");c.style.cssText="user-select:none;position:absolute;left:0;top:0;";var d=uc("g");c.appendChild(d);var g=uc("g");c.appendChild(g);this._gradientManager=new WJ(e,g);this._patternManager=new XJ(e,g);this._clipPathManager=new YJ(e,g);this._shadowManager=new ZJ(e,g);e=document.createElement("div");e.style.cssText="overflow:hidden;position:relative";this._svgDom=c;this._svgRoot=g;this._backgroundRoot=d;this._viewport=e;a.appendChild(e);e.appendChild(c);this.resize(b.width,b.height);this._visibleList=[]}b.prototype.getType=function(){return"svg"};b.prototype.getViewportRoot=function(){return this._viewport};b.prototype.getSvgDom=function(){return this._svgDom};b.prototype.getSvgRoot=function(){return this._svgRoot};b.prototype.getViewportRootOffset=function(){var a=this.getViewportRoot();if(a)return{offsetLeft:a.offsetLeft||0,offsetTop:a.offsetTop||0}};b.prototype.refresh=function(){var a=this.storage.getDisplayList(!0);this._paintList(a)};b.prototype.setBackgroundColor=function(a){this._backgroundRoot&&this._backgroundNode&&this._backgroundRoot.removeChild(this._backgroundNode);var c=uc("rect");c.setAttribute("width",this.getWidth());c.setAttribute("height",this.getHeight());c.setAttribute("x",0);c.setAttribute("y",0);c.setAttribute("id",0);c.style.fill=a;this._backgroundRoot.appendChild(c);this._backgroundNode=c};b.prototype.createSVGElement=function(a){return uc(a)};b.prototype.paintOne=function(a){var c=Dt(a);c&&c.brush(a);return a.__svgEl};b.prototype._paintList=function(a){var c=this._gradientManager,b=this._patternManager,e=this._clipPathManager,f=this._shadowManager;c.markAllUnused();b.markAllUnused();e.markAllUnused();f.markAllUnused();for(var g=this._svgRoot,h=this._visibleList,k=a.length,l=[],m=0;m<k;m++){var n=a[m],p=Dt(n),q=n.__svgEl;if(!n.invisible){if(n.__dirty||!q)p&&p.brush(n),(q=n.__svgEl)&&n.style&&(c.update(n.style.fill),c.update(n.style.stroke),b.update(n.style.fill),b.update(n.style.stroke),f.update(q,n)),n.__dirty=0;q&&l.push(n)}}a=IC(h,l,void 0);for(var t,u,m=0;m<a.length;m++)if(k=a[m],k.removed)for(p=0;p<k.count;p++)n=h[k.indices[p]],q=n.__svgEl,Ct(n)?q&&q.parentNode&&q.parentNode.removeChild(q):q&&g&&q.parentNode===g&&g.removeChild(q);for(var w,v,m=0;m<a.length;m++)if(k=a[m],!k.removed)for(p=0;p<k.count;p++)n=l[k.indices[p]],h=e.update(n,w),h!==v&&(t=u,h&&(t?Gt(g,h,t):Ht(g,h),u=h,t=null),v=h),q=n.__svgEl,t?Gt(v||g,q,t):Ht(v||g,q),t=q||t,v||(u=t),c.markUsed(n),c.addWithoutUpdate(q,n),b.markUsed(n),b.addWithoutUpdate(q,n),e.markUsed(n),w=n;c.removeUnused();b.removeUnused();e.removeUnused();f.removeUnused();this._visibleList=l};b.prototype._getDefs=function(a){var c=this._svgDom,b=c.getElementsByTagName("defs");if(0===b.length){if(a){var e=c.insertBefore(uc("defs"),c.firstChild);e.contains||(e.contains=function(c){var a=e.children;if(!a)return!1;for(var b=a.length-1;0<=b;--b)if(a[b]===c)return!0;return!1});return e}return null}return b[0]};b.prototype.resize=function(a,c){var b=this._viewport;b.style.display="none";var e=this._opts;null!=a&&(e.width=a);null!=c&&(e.height=c);a=this._getSize(0);c=this._getSize(1);b.style.display="";if(this._width!==a||this._height!==c)this._width=a,this._height=c,b=b.style,b.width=a+"px",b.height=c+"px",b=this._svgDom,b.setAttribute("width",a+""),b.setAttribute("height",c+"");this._backgroundNode&&(this._backgroundNode.setAttribute("width",a),this._backgroundNode.setAttribute("height",c))};b.prototype.getWidth=function(){return this._width};b.prototype.getHeight=function(){return this._height};b.prototype._getSize=function(a){var c=this._opts,b=["width","height"][a],e=["clientWidth","clientHeight"][a],f=["paddingLeft","paddingTop"][a];a=["paddingRight","paddingBottom"][a];if(null!=c[b]&&"auto"!==c[b])return parseFloat(c[b]);var c=this.root,g=document.defaultView.getComputedStyle(c);return(c[e]||parseInt(g[b],10)||parseInt(c.style[b],10))-(parseInt(g[f],10)||0)-(parseInt(g[a],10)||0)|0};b.prototype.dispose=function(){this.root.innerHTML="";this._svgRoot=this._backgroundRoot=this._svgDom=this._backgroundNode=this._viewport=this.storage=null};b.prototype.clear=function(){var a=this._viewport;a&&a.parentNode&&a.parentNode.removeChild(a)};b.prototype.toDataURL=function(){this.refresh();var a=this._svgDom;return"data:image/svg+xml;charset\x3dUTF-8,"+encodeURIComponent((a.outerHTML||(a.parentNode&&a.parentNode).innerHTML).replace(/></g,"\x3e\n\r\x3c"))};return b}(),fp=function(b){function a(c,a,e){var d=b.call(this)||this;d.motionBlur=!1;d.lastFrameAlpha=.7;d.dpr=1;d.virtual=!1;d.config={};d.incremental=!1;d.zlevel=0;d.maxRepaintRectCount=5;d.__dirty=!0;d.__firstTimePaint=!0;d.__used=!1;d.__drawIndex=0;d.__startIndex=0;d.__endIndex=0;d.__prevStartIndex=null;d.__prevEndIndex=null;var g;e=e||Ij;"string"===typeof c?g=It(c,a,e):N(c)&&(g=c,c=g.id);d.id=c;d.dom=g;if(c=g.style)g.onselectstart=LC,c.webkitUserSelect="none",c.userSelect="none",c.webkitTapHighlightColor="rgba(0,0,0,0)",c["-webkit-touch-callout"]="none",c.padding="0",c.margin="0",c.borderWidth="0";d.domBack=null;d.ctxBack=null;d.painter=a;d.config=null;d.dpr=e;return d}x(a,b);a.prototype.getElementCount=function(){return this.__endIndex-this.__startIndex};a.prototype.afterBrush=function(){this.__prevStartIndex=this.__startIndex;this.__prevEndIndex=this.__endIndex};a.prototype.initContext=function(){this.ctx=this.dom.getContext("2d");this.ctx.dpr=this.dpr};a.prototype.setUnpainted=function(){this.__firstTimePaint=!0};a.prototype.createBackBuffer=function(){var c=this.dpr;this.domBack=It("back-"+this.id,this.painter,c);this.ctxBack=this.domBack.getContext("2d");1!==c&&this.ctxBack.scale(c,c)};a.prototype.createRepaintRects=function(c,a,b,f){function d(c){if(c.isFinite()&&!c.isZero())if(0===e.length){var a=new aa(0,0,0,0);a.copy(c);e.push(a)}else{for(var b=!1,d=Infinity,f=a=0;f<e.length;++f){var g=e[f];if(g.intersect(c)){b=new aa(0,0,0,0);b.copy(g);b.union(c);e[f]=b;b=!0;break}else l&&(m.copy(c),m.union(g),g=m.width*m.height-c.width*c.height-g.width*g.height,g<d&&(d=g,a=f))}l&&(e[a].union(c),b=!0);b||(a=new aa(0,0,0,0),a.copy(c),e.push(a));l||(l=e.length>=k)}}if(this.__firstTimePaint)return this.__firstTimePaint=!1,null;for(var e=[],k=this.maxRepaintRectCount,l=!1,m=new aa(0,0,0,0),n=this.__startIndex;n<this.__endIndex;++n){var p=c[n];if(p){var q=p.shouldBePainted(b,f,!0,!0),t=p.__isRendered&&(p.__dirty&Hb.REDARAW_BIT||!q)?p.getPrevPaintRect():null;t&&d(t);(p=q&&(p.__dirty&Hb.REDARAW_BIT||!p.__isRendered)?p.getPaintRect():null)&&d(p)}}for(n=this.__prevStartIndex;n<this.__prevEndIndex;++n)p=a[n],q=p.shouldBePainted(b,f,!0,!0),!p||q&&p.__zr||!p.__isRendered||(t=p.getPrevPaintRect())&&d(t);do for(c=!1,n=0;n<e.length;)if(e[n].isZero())e.splice(n,1);else{for(a=n+1;a<e.length;)e[n].intersect(e[a])?(c=!0,e[n].union(e[a]),e.splice(a,1)):a++;n++}while(c);return this._paintRects=e};a.prototype.debugGetPaintRects=function(){return(this._paintRects||[]).slice()};a.prototype.resize=function(c,a){var b=this.dpr,d=this.dom,g=d.style,h=this.domBack;g&&(g.width=c+"px",g.height=a+"px");d.width=c*b;d.height=a*b;h&&(h.width=c*b,h.height=a*b,1!==b&&this.ctxBack.scale(b,b))};a.prototype.clear=function(c,a,b){function d(c,b,d,e){h.clearRect(c,b,d,e);if(a&&"transparent"!==a){var f=void 0;Tp(a)?(f=a.__canvasGradient||Wl(h,a,{x:0,y:0,width:d,height:e}),a.__canvasGradient=f):Up(a)&&(f=Yl(h,a,{dirty:function(){q.setUnpainted();q.__painter.refresh()}}));h.save();h.fillStyle=f||a;h.fillRect(c,b,d,e);h.restore()}m&&(h.save(),h.globalAlpha=n,h.drawImage(t,c,b,d,e),h.restore())}var e=this.dom,h=this.ctx,k=e.width,l=e.height;a=a||this.clearColor;var m=this.motionBlur&&!c,n=this.lastFrameAlpha,p=this.dpr,q=this;m&&(this.domBack||this.createBackBuffer(),this.ctxBack.globalCompositeOperation="copy",this.ctxBack.drawImage(e,0,0,k/p,l/p));var t=this.domBack;!b||m?d(0,0,k,l):b.length&&r(b,function(c){d(c.x*p,c.y*p,c.width*p,c.height*p)})};return a}($b),aK=function(){function b(a,c,b,e){this.type="canvas";this._zlevelList=[];this._prevDisplayList=[];this._layers={};this._layerConfig={};this._needsManuallyCompositing=!1;this.type="canvas";var d=!a.nodeName||"CANVAS"===a.nodeName.toUpperCase();this._opts=b=F({},b||{});this.dpr=b.devicePixelRatio||Ij;this._singleCanvas=d;this.root=a;if(e=a.style)e.webkitTapHighlightColor="transparent",e.webkitUserSelect="none",e.userSelect="none",e["-webkit-touch-callout"]="none",a.innerHTML="";this.storage=c;c=this._zlevelList;this._prevDisplayList=[];e=this._layers;if(d){var d=a.width,g=a.height;null!=b.width&&(d=b.width);null!=b.height&&(g=b.height);this.dpr=b.devicePixelRatio||1;a.width=d*this.dpr;a.height=g*this.dpr;this._width=d;this._height=g;b=new fp(a,this,this.dpr);b.__builtin__=!0;b.initContext();e[314159]=b;b.zlevel=314159;c.push(314159);this._domRoot=a}else this._width=this._getSize(0),this._height=this._getSize(1),b=this._width,c=this._height,e=document.createElement("div"),e.style.cssText=["position:relative","width:"+b+"px","height:"+c+"px","padding:0;margin:0;border-width:0"].join(";")+";",b=this._domRoot=e,a.appendChild(b)}b.prototype.getType=function(){return"canvas"};b.prototype.isSingleCanvas=function(){return this._singleCanvas};b.prototype.getViewportRoot=function(){return this._domRoot};b.prototype.getViewportRootOffset=function(){var a=this.getViewportRoot();if(a)return{offsetLeft:a.offsetLeft||0,offsetTop:a.offsetTop||0}};b.prototype.refresh=function(a){var c=this.storage.getDisplayList(!0),b=this._prevDisplayList,e=this._zlevelList;this._redrawId=Math.random();this._paintList(c,b,a,this._redrawId);for(a=0;a<e.length;a++)b=this._layers[e[a]],!b.__builtin__&&b.refresh&&b.refresh(0===a?this._backgroundColor:null);this._opts.useDirtyRect&&(this._prevDisplayList=c.slice());return this};b.prototype.refreshHover=function(){this._paintHoverList(this.storage.getDisplayList(!1))};b.prototype._paintHoverList=function(a){var c=a.length,b=this._hoverlayer;b&&b.clear();if(c){for(var e={inHover:!0,viewWidth:this._width,viewHeight:this._height},f,g=0;g<c;g++){var h=a[g];h.__inHover&&(b||(b=this._hoverlayer=this.getLayer(1E5)),f||(f=b.ctx,f.save()),hd(f,h,e,g===c-1))}f&&f.restore()}};b.prototype.getHoverLayer=function(){return this.getLayer(1E5)};b.prototype.paintOne=function(a,c){Zl(a,c)};b.prototype._paintList=function(a,c,b,e){if(this._redrawId===e){b=b||!1;this._updateLayerStatus(a);var d=this._doPaintList(a,c,b),g=d.finished,d=d.needsRefreshHover;this._needsManuallyCompositing&&this._compositeManually();d&&this._paintHoverList(a);if(g)this.eachLayer(function(c){c.afterBrush&&c.afterBrush()});else{var h=this;wo(function(){h._paintList(a,c,b,e)})}}};b.prototype._compositeManually=function(){var a=this.getLayer(314159).ctx,c=this._domRoot.width,b=this._domRoot.height;a.clearRect(0,0,c,b);this.eachBuiltinLayer(function(d){d.virtual&&a.drawImage(d.dom,0,0,c,b)})};b.prototype._doPaintList=function(a,c,b){for(var d=this,f=[],g=this._opts.useDirtyRect,h=0;h<this._zlevelList.length;h++){var k=this._layers[this._zlevelList[h]];k.__builtin__&&k!==this._hoverlayer&&(k.__dirty||b)&&f.push(k)}for(var l=!0,m=!1,h=function(e){var h=f[e],k=h.ctx;e=g&&h.createRepaintRects(a,c,n._width,n._height);k.save();var p=b?h.__startIndex:h.__drawIndex,w=!b&&h.incremental&&Date.now,v=w&&Date.now(),r=h.zlevel===n._zlevelList[0]?n._backgroundColor:null;if(h.__startIndex===h.__endIndex)h.clear(!1,r,e);else if(p===h.__startIndex){var B=a[p];B.incremental&&B.notClear&&!b||h.clear(!1,r,e)}-1===p&&(console.error("For some unknown reason. drawIndex is -1"),p=h.__startIndex);var y,r=function(c){var b={inHover:!1,allClipped:!1,prevEl:null,viewWidth:d._width,viewHeight:d._height};for(y=p;y<h.__endIndex;y++){var e=a[y];e.__inHover&&(m=!0);d._doPaintEl(e,h,g,c,b,y===h.__endIndex-1);if(w&&15<Date.now()-v)break}b.prevElClipPaths&&k.restore()};if(e)if(0===e.length)y=h.__endIndex;else for(var B=n.dpr,x=0;x<e.length;++x){var D=e[x];k.save();k.beginPath();k.rect(D.x*B,D.y*B,D.width*B,D.height*B);k.clip();r(D);k.restore()}else k.save(),r(),k.restore();h.__drawIndex=y;h.__drawIndex<h.__endIndex&&(l=!1)},n=this,k=0;k<f.length;k++)h(k);X.wxa&&r(this._layers,function(c){c&&c.ctx&&c.ctx.draw&&c.ctx.draw()});return{finished:l,needsRefreshHover:m}};b.prototype._doPaintEl=function(a,c,b,e,f,g){c=c.ctx;if(b){if(b=a.getPaintRect(),!e||b&&b.intersect(e))hd(c,a,f,g),a.setPrevPaintRect(b)}else hd(c,a,f,g)};b.prototype.getLayer=function(a,c){this._singleCanvas&&!this._needsManuallyCompositing&&(a=314159);var b=this._layers[a];b||(b=new fp("zr_"+a,this,this.dpr),b.zlevel=a,b.__builtin__=!0,this._layerConfig[a]?U(b,this._layerConfig[a],!0):this._layerConfig[a-.01]&&U(b,this._layerConfig[a-.01],!0),c&&(b.virtual=c),this.insertLayer(a,b),b.initContext());return b};b.prototype.insertLayer=function(a,c){var b=this._layers,e=this._zlevelList,f=e.length,g=this._domRoot,h=null,k=-1;if(b[a])yb("ZLevel "+a+" has been used already");else if(c&&(c.__builtin__||"function"===typeof c.resize&&"function"===typeof c.refresh)){if(0<f&&a>e[0]){for(k=0;k<f-1&&!(e[k]<a&&e[k+1]>a);k++);h=b[e[k]]}e.splice(k+1,0,a);b[a]=c;c.virtual||(h?(b=h.dom,b.nextSibling?g.insertBefore(c.dom,b.nextSibling):g.appendChild(c.dom)):g.firstChild?g.insertBefore(c.dom,g.firstChild):g.appendChild(c.dom));c.__painter=this}else yb("Layer of zlevel "+a+" is not valid")};b.prototype.eachLayer=function(a,c){for(var b=this._zlevelList,e=0;e<b.length;e++){var f=b[e];a.call(c,this._layers[f],f)}};b.prototype.eachBuiltinLayer=function(a,c){for(var b=this._zlevelList,e=0;e<b.length;e++){var f=b[e],g=this._layers[f];g.__builtin__&&a.call(c,g,f)}};b.prototype.eachOtherLayer=function(a,c){for(var b=this._zlevelList,e=0;e<b.length;e++){var f=b[e],g=this._layers[f];g.__builtin__||a.call(c,g,f)}};b.prototype.getLayers=function(){return this._layers};b.prototype._updateLayerStatus=function(a){function c(c){f&&(f.__endIndex!==c&&(f.__dirty=!0),f.__endIndex=c)}this.eachBuiltinLayer(function(c,a){c.__dirty=c.__used=!1});if(this._singleCanvas)for(var b=1;b<a.length;b++){var e=a[b];if(e.zlevel!==a[b-1].zlevel||e.incremental){this._needsManuallyCompositing=!0;break}}var f=null,b=0,g,h;for(h=0;h<a.length;h++){var e=a[h],k=e.zlevel,l=void 0;g!==k&&(g=k,b=0);e.incremental?(l=this.getLayer(k+.001,this._needsManuallyCompositing),l.incremental=!0,b=1):l=this.getLayer(k+(0<b?.01:0),this._needsManuallyCompositing);l.__builtin__||yb("ZLevel "+k+" has been used by unkown layer "+l.id);l!==f&&(l.__used=!0,l.__startIndex!==h&&(l.__dirty=!0),l.__startIndex=h,l.__drawIndex=l.incremental?-1:h,c(h),f=l);e.__dirty&Hb.REDARAW_BIT&&!e.__inHover&&(l.__dirty=!0,l.incremental&&0>l.__drawIndex&&(l.__drawIndex=h))}c(h);this.eachBuiltinLayer(function(c,a){!c.__used&&0<c.getElementCount()&&(c.__dirty=!0,c.__startIndex=c.__endIndex=c.__drawIndex=0);c.__dirty&&0>c.__drawIndex&&(c.__drawIndex=c.__startIndex)})};b.prototype.clear=function(){this.eachBuiltinLayer(this._clearLayer);return this};b.prototype._clearLayer=function(a){a.clear()};b.prototype.setBackgroundColor=function(a){this._backgroundColor=a;r(this._layers,function(c){c.setUnpainted()})};b.prototype.configLayer=function(a,c){if(c){var b=this._layerConfig;b[a]?U(b[a],c,!0):b[a]=c;for(var e=0;e<this._zlevelList.length;e++){var f=this._zlevelList[e];f!==a&&f!==a+.01||U(this._layers[f],b[a],!0)}}};b.prototype.delLayer=function(a){var c=this._layers,b=this._zlevelList,e=c[a];e&&(e.dom.parentNode.removeChild(e.dom),delete c[a],b.splice(ba(b,a),1))};b.prototype.resize=function(a,c){if(this._domRoot.style){var b=this._domRoot;b.style.display="none";var e=this._opts;null!=a&&(e.width=a);null!=c&&(e.height=c);a=this._getSize(0);c=this._getSize(1);b.style.display="";if(this._width!==a||c!==this._height){b.style.width=a+"px";b.style.height=c+"px";for(var f in this._layers)this._layers.hasOwnProperty(f)&&this._layers[f].resize(a,c);this.refresh(!0)}this._width=a;this._height=c}else{if(null==a||null==c)return;this._width=a;this._height=c;this.getLayer(314159).resize(a,c)}return this};b.prototype.clearLayer=function(a){(a=this._layers[a])&&a.clear()};b.prototype.dispose=function(){this.root.innerHTML="";this.root=this.storage=this._domRoot=this._layers=null};b.prototype.getRenderedCanvas=function(a){a=a||{};if(this._singleCanvas&&!this._compositeManually)return this._layers[314159].dom;var c=new fp("image",this,a.pixelRatio||this.dpr),b=c.ctx;c.initContext();c.clear(!1,a.backgroundColor||this._backgroundColor);if(a.pixelRatio<=this.dpr){this.refresh();var e=c.dom.width,f=c.dom.height,g=c.ctx;this.eachLayer(function(a){a.__builtin__?g.drawImage(a.dom,0,0,e,f):a.renderToCanvas&&(c.ctx.save(),a.renderToCanvas(c.ctx),c.ctx.restore())})}else{a={inHover:!1,viewWidth:this._width,viewHeight:this._height};for(var h=this.storage.getDisplayList(!0),k=0,l=h.length;k<l;k++)hd(b,h[k],a,k===l-1)}return c.dom};b.prototype.getWidth=function(){return this._width};b.prototype.getHeight=function(){return this._height};b.prototype._getSize=function(a){var c=this._opts,b=["width","height"][a],e=["clientWidth","clientHeight"][a],f=["paddingLeft","paddingTop"][a];a=["paddingRight","paddingBottom"][a];if(null!=c[b]&&"auto"!==c[b])return parseFloat(c[b]);var c=this.root,g=document.defaultView.getComputedStyle(c);return(c[e]||parseInt(g[b],10)||parseInt(c.style[b],10))-(parseInt(g[f],10)||0)-(parseInt(g[a],10)||0)|0};b.prototype.pathToImage=function(a,c){c=c||this.dpr;var b=document.createElement("canvas"),e=b.getContext("2d"),f=a.getBoundingRect(),g=a.style,h=g.shadowBlur*c,k=g.shadowOffsetX*c,l=g.shadowOffsetY*c,m=a.hasStroke()?g.lineWidth:0,g=Math.max(m/2,-k+h),n=Math.max(m/2,-l+h),k=f.width+g+Math.max(m/2,k+h),h=f.height+n+Math.max(m/2,l+h);b.width=k*c;b.height=h*c;e.scale(c,c);e.clearRect(0,0,k,h);e.dpr=c;h={x:a.x,y:a.y,scaleX:a.scaleX,scaleY:a.scaleY,rotation:a.rotation,originX:a.originX,originY:a.originY};a.x=g-f.x;a.y=n-f.y;a.rotation=0;a.scaleX=1;a.scaleY=1;a.updateTransform();a&&hd(e,a,{inHover:!1,viewWidth:this._width,viewHeight:this._height},!0);b=new Ga({style:{x:0,y:0,image:b}});F(a,h);return b};return b}(),bK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.hasSymbolVisual=!0;c.legendSymbol="line";return c}x(a,b);a.prototype.getInitialData=function(c){c=c.coordinateSystem;if("polar"!==c&&"cartesian2d"!==c)throw Error("Line not support coordinateSystem besides cartesian and polar");return sc(this.getSource(),this,{useEncodeDefaulter:!0})};a.type="series.line";a.dependencies=["grid","polar"];a.defaultOption={zlevel:0,z:3,coordinateSystem:"cartesian2d",legendHoverLink:!0,clip:!0,label:{position:"top"},endLabel:{show:!1,valueAnimation:!0,distance:8},lineStyle:{width:2,type:"solid"},emphasis:{scale:!0,lineStyle:{width:"bolder"}},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:Infinity};return a}(ra),Hg=function(b){function a(c,a,e,f){var d=b.call(this)||this;d.updateData(c,a,e,f);return d}x(a,b);a.prototype._createSymbol=function(c,a,b,f,g){this.removeAll();a=Pa(c,-1,-1,2,2,null,g);a.attr({z2:100,culling:!0,scaleX:f[0]/2,scaleY:f[1]/2});a.drift=MC;this._symbolType=c;this.add(a)};a.prototype.stopSymbolAnimation=function(c){this.childAt(0).stopAnimation(null,c)};a.prototype.getSymbolPath=function(){return this.childAt(0)};a.prototype.highlight=function(){nc(this.childAt(0))};a.prototype.downplay=function(){oc(this.childAt(0))};a.prototype.setZ=function(c,a){var b=this.childAt(0);b.zlevel=c;b.z=a};a.prototype.setDraggable=function(c){var a=this.childAt(0);a.draggable=c;a.cursor=c?"move":a.cursor};a.prototype.updateData=function(c,b,e,f){this.silent=!1;var d=c.getItemVisual(b,"symbol")||"circle",h=c.hostModel,k=a.getSymbolSize(c,b),l=d!==this._symbolType,m=f&&f.disableAnimation;if(l){var n=c.getItemVisual(b,"symbolKeepAspect");this._createSymbol(d,c,b,k,n)}else d=this.childAt(0),d.silent=!1,n={scaleX:k[0]/2,scaleY:k[1]/2},m?d.attr(n):ea(d,n,h,b);this._updateCommon(c,b,k,e,f);l&&(d=this.childAt(0),m||(n={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:d.style.opacity}},d.scaleX=d.scaleY=0,d.style.opacity=0,za(d,n,h,b)));m&&this.childAt(0).stopAnimation("remove");this._seriesModel=h};a.prototype._updateCommon=function(c,a,b,f,g){var d=this.childAt(0),e=c.hostModel,l,m,n,p,q,t,u,w,v;f&&(l=f.emphasisItemStyle,m=f.blurItemStyle,n=f.selectItemStyle,p=f.focus,q=f.blurScope,t=f.symbolOffset,u=f.labelStatesModels,w=f.hoverScale,v=f.cursorStyle);if(!f||c.hasItemOption)v=f&&f.itemModel?f.itemModel:c.getItemModel(a),w=v.getModel("emphasis"),l=w.getModel("itemStyle").getItemStyle(),n=v.getModel(["select","itemStyle"]).getItemStyle(),m=v.getModel(["blur","itemStyle"]).getItemStyle(),p=w.get("focus"),q=w.get("blurScope"),t=v.getShallow("symbolOffset"),u=Ra(v),w=w.getShallow("scale"),v=v.getShallow("cursor");f=c.getItemVisual(a,"symbolRotate");d.attr("rotation",(f||0)*Math.PI/180||0);t&&(d.x=H(t[0],b[0]),d.y=H(t[1],b[1]));v&&d.attr("cursor",v);t=c.getItemVisual(a,"style");v=t.fill;d instanceof Ga?(f=d.style,d.useStyle(F({image:f.image,x:f.x,y:f.y,width:f.width,height:f.height},t))):(d.__isEmptyBrush?d.useStyle(F({},t)):d.useStyle(t),d.style.decal=null,d.setColor(v,g&&g.symbolInnerColor),d.style.strokeNoScale=!0);f=c.getItemVisual(a,"liftZ");var r=this._z2;null!=f?null==r&&(this._z2=d.z2,d.z2+=f):null!=r&&(d.z2=r,this._z2=null);var B=g&&g.useNameLabel;cb(d,u,{labelFetcher:e,labelDataIndex:a,defaultText:function(a){return B?c.getName(a):kf(c,a)},inheritColor:v,defaultOpacity:t.opacity});this._sizeX=b[0]/2;this._sizeY=b[1]/2;a=d.ensureState("emphasis");a.style=l;d.ensureState("select").style=n;d.ensureState("blur").style=m;w&&(d=Math.max(1.1,3/this._sizeY),a.scaleX=this._sizeX*d,a.scaleY=this._sizeY*d);this.setSymbolScale(1);va(this,p,q)};a.prototype.setSymbolScale=function(c){this.scaleX=this.scaleY=c};a.prototype.fadeOut=function(c,a){var b=this.childAt(0),d=this._seriesModel,g=S(this).dataIndex,h=a&&a.animation;this.silent=b.silent=!0;if(a&&a.fadeLabel){var k=b.getTextContent();k&&cd(k,{style:{opacity:0}},d,{dataIndex:g,removeOpt:h,cb:function(){b.removeTextContent()}})}else b.removeTextContent();cd(b,{style:{opacity:0},scaleX:0,scaleY:0},d,{dataIndex:g,cb:c,removeOpt:h})};a.getSymbolSize=function(c,a){var b=c.getItemVisual(a,"symbolSize");return b instanceof Array?b.slice():[+b,+b]};return a}(M),Eh=function(){function b(a){this.group=new M;this._SymbolCtor=a||Hg}b.prototype.updateData=function(a,c){c=Kt(c);var b=this.group,e=a.hostModel,f=this._data,g=this._SymbolCtor,h=c.disableAnimation,k=Lt(a),l={disableAnimation:h},m=c.getSymbolPoint||function(c){return a.getItemLayout(c)};f||b.removeAll();a.diff(f).add(function(d){var e=m(d);if(wm(a,e,d,c)){var f=new g(a,d,k,l);f.setPosition(e);a.setItemGraphicEl(d,f);b.add(f)}}).update(function(d,p){var n=f.getItemGraphicEl(p),t=m(d);wm(a,t,d,c)?(n?(n.updateData(a,d,k,l),t={x:t[0],y:t[1]},h?n.attr(t):ea(n,t,e)):(n=new g(a,d),n.setPosition(t)),b.add(n),a.setItemGraphicEl(d,n)):b.remove(n)}).remove(function(c){var a=f.getItemGraphicEl(c);a&&a.fadeOut(function(){b.remove(a)})}).execute();this._getSymbolPoint=m;this._data=a};b.prototype.isPersistent=function(){return!0};b.prototype.updateLayout=function(){var a=this,c=this._data;c&&c.eachItemGraphicEl(function(c,b){var d=a._getSymbolPoint(b);c.setPosition(d);c.markRedraw()})};b.prototype.incrementalPrepareUpdate=function(a){this._seriesScope=Lt(a);this._data=null;this.group.removeAll()};b.prototype.incrementalUpdate=function(a,c,b){function d(c){c.isGroup||(c.incremental=!0,c.ensureState("emphasis").hoverLayer=!0)}b=Kt(b);for(var f=a.start;f<a.end;f++){var g=c.getItemLayout(f);if(wm(c,g,f,b)){var h=new this._SymbolCtor(c,f,this._seriesScope);h.traverse(d);h.setPosition(g);this.group.add(h);c.setItemGraphicEl(f,h)}}};b.prototype.remove=function(a){var c=this.group,b=this._data;b&&a?b.eachItemGraphicEl(function(a){a.fadeOut(function(){c.remove(a)})}):c.removeAll()};return b}(),Mt="undefined"!==typeof Float32Array,OC=Mt?Float32Array:Array,kd=Math.min,ld=Math.max,iz=function(){return function(){this.smooth=0;this.smoothConstraint=!0}}(),cK=function(b){function a(c){c=b.call(this,c)||this;c.type="ec-polyline";return c}x(a,b);a.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}};a.prototype.getDefaultShape=function(){return new iz};a.prototype.buildPath=function(c,a){var b=a.points,d=0,g=b.length/2;if(a.connectNulls){for(;0<g&&be(b[2*g-2],b[2*g-1]);g--);for(;d<g&&be(b[2*d],b[2*d+1]);d++);}for(;d<g;)d+=zm(c,b,d,g,g,1,a.smooth,a.smoothMonotone,a.connectNulls)+1};a.prototype.getPointOn=function(c,a){this.path||(this.createPathProxy(),this.buildPath(this.path,this.shape));for(var b=this.path.data,d=pc.CMD,g,h,k="x"===a,l=[],m=0;m<b.length;){var n,p,q,t,u,w;switch(b[m++]){case d.M:g=b[m++];h=b[m++];break;case d.L:n=b[m++];p=b[m++];q=k?(c-g)/(n-g):(c-h)/(p-h);if(1>=q&&0<=q)return b=k?(p-h)*q+h:(n-g)*q+g,k?[c,b]:[b,c];g=n;h=p;break;case d.C:n=b[m++];p=b[m++];q=b[m++];t=b[m++];u=b[m++];w=b[m++];var v=k?gl(g,n,q,u,c,l):gl(h,p,t,w,c,l);if(0<v)for(var r=0;r<v;r++){var B=l[r];if(1>=B&&0<=B)return b=k?Oa(h,p,t,w,B):Oa(g,n,q,u,B),k?[c,b]:[b,c]}g=u;h=w}}};return a}(Y),dK=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);return a}(iz),jz=function(b){function a(c){c=b.call(this,c)||this;c.type="ec-polygon";return c}x(a,b);a.prototype.getDefaultShape=function(){return new dK};a.prototype.buildPath=function(c,a){var b=a.points,d=a.stackedOnPoints,g=0,h=b.length/2,k=a.smoothMonotone;if(a.connectNulls){for(;0<h&&be(b[2*h-2],b[2*h-1]);h--);for(;g<h&&be(b[2*g],b[2*g+1]);g++);}for(;g<h;){var l=zm(c,b,g,h,h,1,a.smooth,k,a.connectNulls);zm(c,d,g+l-1,l,h,-1,a.stackedOnSmooth,k,a.connectNulls);g+=l+1;c.closePath()}};return a}(Y),eK=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.init=function(){var c=new M,a=new Eh;this.group.add(a.group);this._symbolDraw=a;this._lineGroup=c};a.prototype.render=function(c,a,b){var d=this;a=c.coordinateSystem;var e=this.group,h=c.getData(),k=c.getModel("lineStyle"),l=c.getModel("areaStyle"),m=h.getLayout("points")||[],n="polar"===a.type,p=this._coordSys,q=this._symbolDraw,t=this._polyline,u=this._polygon,w=this._lineGroup,v=c.get("animation"),r=!l.isEmpty(),B=l.get("origin"),y=xm(a,h,B),y=r&&RC(a,h,y),x=c.get("showSymbol"),D=x&&!n&&TC(c,h,a),A=this._data;A&&A.eachItemGraphicEl(function(c,a){c.__temp&&(e.remove(c),A.setItemGraphicEl(a,null))});x||q.remove();e.add(w);var E=n?!1:c.get("step"),G;a&&a.getArea&&c.get("clip",!0)&&(G=a.getArea(),null!=G.width?(G.x-=.1,G.y-=.1,G.width+=.2,G.height+=.2):G.r0&&(G.r0-=.5,G.r+=.5));this._clipShapeForSymbol=G;t&&p.type===a.type&&E===this._step?(r&&!u?u=this._newPolygon(m,y):u&&!r&&(w.remove(u),u=this._polygon=null),n||this._initOrUpdateEndLabel(c,a),w.setClipPath(Tt(this,a,!1,c)),x&&q.updateData(h,{isIgnore:D,clipShape:G,disableAnimation:!0,getSymbolPoint:function(c){return[m[2*c],m[2*c+1]]}}),Pt(this._stackedOnPoints,y)&&Pt(this._points,m)||(v?this._doUpdateAnimation(h,y,a,b,E,B):(E&&(m=md(m,a,E),y&&(y=md(y,a,E))),t.setShape({points:m}),u&&u.setShape({points:m,stackedOnPoints:y})))):(x&&q.updateData(h,{isIgnore:D,clipShape:G,disableAnimation:!0,getSymbolPoint:function(c){return[m[2*c],m[2*c+1]]}}),v&&this._initSymbolLabelAnimation(h,a,G),E&&(m=md(m,a,E),y&&(y=md(y,a,E))),t=this._newPolyline(m),r&&(u=this._newPolygon(m,y)),n||this._initOrUpdateEndLabel(c,a),w.setClipPath(Tt(this,a,!0,c)));b=SC(h,a)||h.getVisual("style")[h.getVisual("drawType")];G=c.get(["emphasis","focus"]);n=c.get(["emphasis","blurScope"]);t.useStyle(K(k.getLineStyle(),{fill:"none",stroke:b,lineJoin:"bevel"}));Fa(t,c,"lineStyle");0<t.style.lineWidth&&"bolder"===c.get(["emphasis","lineStyle","width"])&&(t.getState("emphasis").style.lineWidth=t.style.lineWidth+1);S(t).seriesIndex=c.seriesIndex;va(t,G,n);k=St(c.get("smooth"));p=c.get("smoothMonotone");q=c.get("connectNulls");t.setShape({smooth:k,smoothMonotone:p,connectNulls:q});u&&(t=h.getCalculationInfo("stackedOnSeries"),w=0,u.useStyle(K(l.getAreaStyle(),{fill:b,opacity:.7,lineJoin:"bevel",decal:h.getVisual("style").decal})),t&&(w=St(t.get("smooth"))),u.setShape({smooth:k,stackedOnSmooth:w,smoothMonotone:p,connectNulls:q}),Fa(u,c,"areaStyle"),S(u).seriesIndex=c.seriesIndex,va(u,G,n));var C=function(c){d._changePolyState(c)};h.eachItemGraphicEl(function(c){c&&(c.onHoverStateChange=C)});this._polyline.onHoverStateChange=C;this._data=h;this._coordSys=a;this._stackedOnPoints=y;this._points=m;this._step=E;this._valueOrigin=B};a.prototype.dispose=function(){};a.prototype.highlight=function(c,a,b,f){var d=c.getData(),e=Jd(d,f);this._changePolyState("emphasis");if(!(e instanceof Array)&&null!=e&&0<=e){f=d.getLayout("points");a=d.getItemGraphicEl(e);if(!a){b=f[2*e];f=f[2*e+1];if(isNaN(b)||isNaN(f)||this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(b,f))return;a=new Hg(d,e);a.x=b;a.y=f;a.setZ(c.get("zlevel"),c.get("z"));a.__temp=!0;d.setItemGraphicEl(e,a);a.stopSymbolAnimation(!0);this.group.add(a)}a.highlight()}else oa.prototype.highlight.call(this,c,a,b,f)};a.prototype.downplay=function(c,a,b,f){var d=c.getData(),e=Jd(d,f);this._changePolyState("normal");if(null!=e&&0<=e){if(c=d.getItemGraphicEl(e))c.__temp?(d.setItemGraphicEl(e,null),this.group.remove(c)):c.downplay()}else oa.prototype.downplay.call(this,c,a,b,f)};a.prototype._changePolyState=function(c){var a=this._polygon;ml(this._polyline,c);a&&ml(a,c)};a.prototype._newPolyline=function(c){var a=this._polyline;a&&this._lineGroup.remove(a);a=new cK({shape:{points:c},segmentIgnoreThreshold:2,z2:10});this._lineGroup.add(a);return this._polyline=a};a.prototype._newPolygon=function(c,a){var b=this._polygon;b&&this._lineGroup.remove(b);b=new jz({shape:{points:c,stackedOnPoints:a},segmentIgnoreThreshold:2});this._lineGroup.add(b);return this._polygon=b};a.prototype._initSymbolLabelAnimation=function(c,a,b){var d,e,h=a.getBaseAxis(),k=h.inverse;"cartesian2d"===a.type?(d=h.isHorizontal(),e=!1):"polar"===a.type&&(d="angle"===h.dim,e=!0);var h=c.hostModel,l=h.get("animationDuration");"function"===typeof l&&(l=l(null));var m=h.get("animationDelay")||0,n="function"===typeof m?m(null):m;c.eachItemGraphicEl(function(c,f){if(c){var g=[c.x,c.y],h,p;e?(p=a.pointToCoord(g),d?(g=b.startAngle,h=b.endAngle,p=-p[1]/180*Math.PI):(g=b.r0,h=b.r,p=p[0])):d?(g=b.x,h=b.x+b.width,p=c.x):(g=b.y+b.height,h=b.y,p=c.y);g=h===g?0:(p-g)/(h-g);k&&(g=1-g);g="function"===typeof m?m(f):l*g+n;h=c.getSymbolPath();p=h.getTextContent();c.attr({scaleX:0,scaleY:0});c.animateTo({scaleX:1,scaleY:1},{duration:200,delay:g});p&&p.animateFrom({style:{opacity:0}},{duration:300,delay:g});h.disableLabelAnimation=!0}})};a.prototype._initOrUpdateEndLabel=function(c,a){var b=c.getModel("endLabel");if(b.get("show")){var d=c.getData(),g=this._polyline,h=this._endLabel;h||(h=this._endLabel=new ha({z2:200}),h.ignoreClip=!0,g.setTextContent(this._endLabel),g.disableLabelAnimation=!0);h=VC(d.getLayout("points"));0<=h&&(cb(g,Ra(c,"endLabel"),{labelFetcher:c,labelDataIndex:h,defaultText:function(c,a,b){return null!=b?Jt(d,b):kf(d,c)},enableTextSetter:!0},WC(b,a)),g.textConfig.position=null)}else this._endLabel&&(this._polyline.removeTextContent(),this._endLabel=null)};a.prototype._endLabelOnDuring=function(c,a,b,f,g,h,k){var d,e,n=this._endLabel,p=this._polyline;if(n){1>c&&null==f.originalX&&(f.originalX=n.x,f.originalY=n.y);var q=b.getLayout("points"),t=b.hostModel,u=t.get("connectNulls"),w=h.get("precision");h=h.get("distance")||0;k=k.getBaseAxis();var v=k.isHorizontal();d=k.inverse;a=a.shape;k=d?v?a.x:a.y+a.height:v?a.x+a.width:a.y;a=(v?h:0)*(d?-1:1);h=(v?0:-h)*(d?-1:1);v=v?"x":"y";d=q.length/2;for(var r="x"===v?0:1,B,y=0,x=-1,D=0;D<d;D++)if(e=q[2*D+r],!isNaN(e)&&!isNaN(q[2*D+1-r])){if(0!==D){if(B<=k&&e>=k||B>=k&&e<=k){x=D;break}y=D}B=e}d=[y,x];e=(k-B)/(e-B);r=d[1]-d[0];B=void 0;1<=r?(1<r&&!u?(b=d[0],q=[q[2*b],q[2*b+1]],n.attr({x:q[0]+a,y:q[1]+h}),g&&(B=t.getRawValue(d[0]))):((q=p.getPointOn(k,v))&&n.attr({x:q[0]+a,y:q[1]+h}),q=t.getRawValue(d[0]),t=t.getRawValue(d[1]),g&&(B=Dq(b,w,q,t,e))),f.lastFrameIndex=d[0]):(f=1===c||0<f.lastFrameIndex?d[0]:0,q=[q[2*f],q[2*f+1]],g&&(B=t.getRawValue(f)),n.attr({x:q[0]+a,y:q[1]+h}));g&&lg(n).setLabelText(B)}};a.prototype._doUpdateAnimation=function(c,a,b,f,g,h){var d=this._polyline,e=this._polygon;f=c.hostModel;a=QC(this._data,c,this._stackedOnPoints,a,this._coordSys,b,this._valueOrigin,h);h=a.current;var m=a.stackedOnCurrent,n=a.next,p=a.stackedOnNext;g&&(h=md(a.current,b,g),m=md(a.stackedOnCurrent,b,g),n=md(a.next,b,g),p=md(a.stackedOnNext,b,g));if(3E3<Rt(h,n)||e&&3E3<Rt(m,p))d.setShape({points:n}),e&&e.setShape({points:n,stackedOnPoints:p});else{d.shape.__points=a.current;d.shape.points=h;b={shape:{points:n}};a.current!==h&&(b.shape.__points=a.next);d.stopAnimation();ea(d,b,f);e&&(e.setShape({points:h,stackedOnPoints:m}),e.stopAnimation(),ea(e,{shape:{stackedOnPoints:p}},f),d.shape.points!==e.shape.points&&(e.shape.points=d.shape.points));var q=[];b=a.status;for(g=0;g<b.length;g++)"\x3d"===b[g].cmd&&(f=c.getItemGraphicEl(b[g].idx1))&&q.push({el:f,ptIdx:g});d.animators&&d.animators.length&&d.animators[0].during(function(){e&&e.dirtyShape();for(var c=d.shape.__points,a=0;a<q.length;a++){var b=q[a].el,f=2*q[a].ptIdx;b.x=c[f];b.y=c[f+1];b.markRedraw()}})}};a.prototype.remove=function(c){var a=this.group,b=this._data;this._lineGroup.removeAll();this._symbolDraw.remove(!0);b&&b.eachItemGraphicEl(function(c,d){c.__temp&&(a.remove(c),b.setItemGraphicEl(d,null))});this._polyline=this._polygon=this._coordSys=this._points=this._stackedOnPoints=this._endLabel=this._data=null};a.type="line";return a}(oa),XC={average:function(b){for(var a=0,c=0,d=0;d<b.length;d++)isNaN(b[d])||(a+=b[d],c++);return 0===c?NaN:a/c},sum:function(b){for(var a=0,c=0;c<b.length;c++)a+=b[c]||0;return a},max:function(b){for(var a=-Infinity,c=0;c<b.length;c++)b[c]>a&&(a=b[c]);return isFinite(a)?a:NaN},min:function(b){for(var a=Infinity,c=0;c<b.length;c++)b[c]<a&&(a=b[c]);return isFinite(a)?a:NaN},nearest:function(b){return b[0]}},YC=function(b){return Math.round(b.length/2)},Fh=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.getInitialData=function(c,a){return sc(this.getSource(),this,{useEncodeDefaulter:!0})};a.prototype.getMarkerPosition=function(c){var a=this.coordinateSystem;if(a){c=a.dataToPoint(a.clampData(c));var b=this.getData(),f=b.getLayout("offset"),b=b.getLayout("size"),a=a.getBaseAxis().isHorizontal()?0:1;c[a]+=f+b/2;return c}return[NaN,NaN]};a.type="series.__base_bar__";a.defaultOption={zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3E3,progressiveChunkMode:"mod"};return a}(ra);ra.registerClass(Fh);var fK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.getInitialData=function(){return sc(this.getSource(),this,{useEncodeDefaulter:!0,createInvertedIndices:!!this.get("realtimeSort",!0)||null})};a.prototype.getProgressive=function(){return this.get("large")?this.get("progressive"):!1};a.prototype.getProgressiveThreshold=function(){var c=this.get("progressiveThreshold"),a=this.get("largeThreshold");a>c&&(c=a);return c};a.prototype.brushSelector=function(c,a,b){return b.rect(a.getItemLayout(c))};a.type="series.bar";a.dependencies=["grid","polar"];a.defaultOption=ed(Fh.defaultOption,{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:"rgba(180, 180, 180, 0.2)",borderColor:null,borderWidth:0,borderType:"solid",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1},select:{itemStyle:{borderColor:"#212121"}},realtimeSort:!1});return a}(Fh),gK=function(){return function(){this.startAngle=this.r=this.r0=this.cy=this.cx=0;this.endAngle=2*Math.PI;this.clockwise=!0}}(),gp=function(b){function a(c){c=b.call(this,c)||this;c.type="sausage";return c}x(a,b);a.prototype.getDefaultShape=function(){return new gK};a.prototype.buildPath=function(c,a){var b=a.cx,d=a.cy,g=Math.max(a.r0||0,0),h=Math.max(a.r,0),k=.5*(h-g),l=g+k,m=a.startAngle,n=a.endAngle,p=a.clockwise,q=Math.cos(m),t=Math.sin(m),u=Math.cos(n),w=Math.sin(n);if(p?n-m<2*Math.PI:m-n<2*Math.PI)c.moveTo(q*g+b,t*g+d),c.arc(q*l+b,t*l+d,k,-Math.PI+m,m,!p);c.arc(b,d,h,m,n,!p);c.moveTo(u*h+b,w*h+d);c.arc(u*l+b,w*l+d,k,n-2*Math.PI,n-Math.PI,!p);0!==g&&(c.arc(b,d,g,n,m,p),c.moveTo(q*g+b,w*g+d));c.closePath()};return a}(Y),hK=["itemStyle","borderWidth"],aD=["itemStyle","borderRadius"],hk=[0,0],hp=Math.max,ip=Math.min,iK=function(b){function a(){var c=b.call(this)||this;c.type=a.type;c._isFirstFrame=!0;return c}x(a,b);a.prototype.render=function(c,a,b,f){this._model=c;this._removeOnRenderedListener(b);this._updateDrawMode(c);var d=c.get("coordinateSystem");"cartesian2d"===d||"polar"===d?this._isLargeDraw?this._renderLarge(c,a,b):this._renderNormal(c,a,b,f):Pe("Only cartesian2d and polar supported for bar.")};a.prototype.incrementalPrepareRender=function(c){this._clear();this._updateDrawMode(c);this._updateLargeClip(c)};a.prototype.incrementalRender=function(c,a){this._incrementalRenderLarge(c,a)};a.prototype._updateDrawMode=function(c){c=c.pipelineContext.large;if(null==this._isLargeDraw||c!==this._isLargeDraw)this._isLargeDraw=c,this._clear()};a.prototype._renderNormal=function(c,a,b,f){function d(c){var a=ik[m.type](k,c),a=new ("polar"===m.type?lb:Z)({shape:$t(p,a,m),silent:!0,z2:0});a.useStyle(B.getItemStyle());"cartesian2d"===m.type&&a.setShape("r",y);return x[c]=a}var e=this.group,k=c.getData(),l=this._data,m=c.coordinateSystem,n=m.getBaseAxis(),p;"cartesian2d"===m.type?p=n.isHorizontal():"polar"===m.type&&(p="angle"===n.dim);var q=c.isAnimationEnabled()?c:null,t=$C(c,m);t&&this._enableRealtimeSort(t,k,b);var u=c.get("clip",!0)||t,w=ZC(m,k);e.removeClipPath();var v=c.get("roundCap",!0),r=c.get("showBackground",!0),B=c.getModel("backgroundStyle"),y=B.get("borderRadius")||0,x=[],D=this._backgroundEls,A=f&&f.isInitSort,E=f&&"changeAxisOrder"===f.type;k.diff(l).add(function(a){var b=k.getItemModel(a),f=ik[m.type](k,a,b);r&&d(a);if(k.hasValue(a)){var g=!1;u&&(g=kz[m.type](w,f));var h=lz[m.type](c,k,a,f,p,q,n.model,!1,v);Wt(h,k,a,b,f,c,p,"polar"===m.type);A?h.attr({shape:f}):t?Vt(t,q,h,f,a,p,!1,!1):za(h,{shape:f},c,a);k.setItemGraphicEl(a,h);e.add(h);h.ignore=g}}).update(function(a,b){var f=k.getItemModel(a),g=ik[m.type](k,a,f);if(r){var h;0===D.length?h=d(b):(h=D[b],h.useStyle(B.getItemStyle()),"cartesian2d"===m.type&&h.setShape("r",y),x[a]=h);var z=ik[m.type](k,a),z=$t(p,z,m);ea(h,{shape:z},q,a)}h=l.getItemGraphicEl(b);k.hasValue(a)?(z=!1,u&&(z=kz[m.type](w,g))&&e.remove(h),h||(h=lz[m.type](c,k,a,g,p,q,n.model,!!h,v)),E||Wt(h,k,a,f,g,c,p,"polar"===m.type),A?h.attr({shape:g}):t?Vt(t,q,h,g,a,p,!0,E):ea(h,{shape:g},c,a,null),k.setItemGraphicEl(a,h),h.ignore=z,e.add(h)):e.remove(h)}).remove(function(a){var b=l.getItemGraphicEl(a);b&&ig(b,c,a)}).execute();a=this._backgroundGroup||(this._backgroundGroup=new M);a.removeAll();for(b=0;b<x.length;++b)a.add(x[b]);e.add(a);this._backgroundEls=x;this._data=k};a.prototype._renderLarge=function(c,a,b){this._clear();Xt(c,this.group);this._updateLargeClip(c)};a.prototype._incrementalRenderLarge=function(c,a){this._removeBackground();Xt(a,this.group,!0)};a.prototype._updateLargeClip=function(c){(c=c.get("clip",!0)?Zi(c.coordinateSystem,!1,c):null)?this.group.setClipPath(c):this.group.removeClipPath()};a.prototype._enableRealtimeSort=function(c,a,b){var d=this;if(a.count()){var e=c.baseAxis;if(this._isFirstFrame)this._dispatchInitSort(a,c,b),this._isFirstFrame=!1;else{var h=function(c){return(c=a.getItemGraphicEl(c))?(c=c.shape,(e.isHorizontal()?Math.abs(c.height):Math.abs(c.width))||0):0};this._onRendered=function(){d._updateSortWithinSameData(a,h,e,b)};b.getZr().on("rendered",this._onRendered)}}};a.prototype._dataSort=function(c,a,b){var d=[];c.each(c.mapDimension(a.dim),function(c,a){var e=b(a),e=null==e?NaN:e;d.push({dataIndex:a,mappedValue:e,ordinalNumber:c})});d.sort(function(c,a){return a.mappedValue-c.mappedValue});return{ordinalNumbers:C(d,function(c){return c.ordinalNumber})}};a.prototype._isOrderChangedWithinSameData=function(c,a,b){var d=b.scale;b=c.mapDimension(b.dim);for(var e=Number.MAX_VALUE,h=0,k=d.getOrdinalMeta().categories.length;h<k;++h){var l=c.rawIndexOf(b,d.getRawOrdinalNumber(h)),l=0>l?Number.MIN_VALUE:a(c.indexOfRawIndex(l));if(l>e)return!0;e=l}return!1};a.prototype._isOrderDifferentInView=function(c,a){for(var b=a.scale,d=b.getExtent(),g=Math.max(0,d[0]),d=Math.min(d[1],b.getOrdinalMeta().categories.length-1);g<=d;++g)if(c.ordinalNumbers[g]!==b.getRawOrdinalNumber(g))return!0};a.prototype._updateSortWithinSameData=function(c,a,b,f){this._isOrderChangedWithinSameData(c,a,b)&&(c=this._dataSort(c,b,a),this._isOrderDifferentInView(c,b)&&(this._removeOnRenderedListener(f),f.dispatchAction({type:"changeAxisOrder",componentType:b.dim+"Axis",axisId:b.index,sortInfo:c})))};a.prototype._dispatchInitSort=function(c,a,b){var d=a.baseAxis,e=this._dataSort(c,d,function(b){return c.get(c.mapDimension(a.otherAxis.dim),b)});b.dispatchAction({type:"changeAxisOrder",componentType:d.dim+"Axis",isInitSort:!0,axisId:d.index,sortInfo:e,animation:{duration:0}})};a.prototype.remove=function(c,a){this._clear(this._model);this._removeOnRenderedListener(a)};a.prototype.dispose=function(c,a){this._removeOnRenderedListener(a)};a.prototype._removeOnRenderedListener=function(c){this._onRendered&&(c.getZr().off("rendered",this._onRendered),this._onRendered=null)};a.prototype._clear=function(c){var a=this.group,b=this._data;c&&c.isAnimationEnabled()&&b&&!this._isLargeDraw?(this._removeBackground(),this._backgroundEls=[],b.eachItemGraphicEl(function(a){ig(a,c,S(a).dataIndex)})):a.removeAll();this._data=null;this._isFirstFrame=!0};a.prototype._removeBackground=function(){this.group.remove(this._backgroundGroup);this._backgroundGroup=null};a.type="bar";return a}(oa),kz={cartesian2d:function(b,a){var c=0>a.width?-1:1,d=0>a.height?-1:1;0>c&&(a.x+=a.width,a.width=-a.width);0>d&&(a.y+=a.height,a.height=-a.height);var e=b.x+b.width,f=b.y+b.height,g=hp(a.x,b.x),h=ip(a.x+a.width,e),k=hp(a.y,b.y),l=ip(a.y+a.height,f),m=h<g,n=l<k;a.x=m&&g>e?h:g;a.y=n&&k>f?l:k;a.width=m?0:h-g;a.height=n?0:l-k;0>c&&(a.x+=a.width,a.width=-a.width);0>d&&(a.y+=a.height,a.height=-a.height);return m||n},polar:function(b,a){var c=a.r0<=a.r?1:-1;if(0>c){var d=a.r;a.r=a.r0;a.r0=d}var e=ip(a.r,b.r),f=hp(a.r0,b.r0);a.r=e;a.r0=f;0>c&&(d=a.r,a.r=a.r0,a.r0=d);return 0>e-f}},lz={cartesian2d:function(b,a,c,d,e,f,g,h,k){b=new Z({shape:F({},d),z2:1});b.__dataIndex=c;b.name="item";f&&(b.shape[e?"height":"width"]=0);return b},polar:function(b,a,c,d,e,f,g,h,k){b=new (!e&&k?gp:lb)({shape:K({clockwise:d.startAngle<d.endAngle},d),z2:1});b.name="item";f&&(a=e?"r":"endAngle",c={},b.shape[a]=e?0:d.startAngle,c[a]=d[a],(h?ea:za)(b,{shape:c},f));return b}},ik={cartesian2d:function(b,a,c){b=b.getItemLayout(a);if(c){c=c.get(hK)||0;a=isNaN(b.width)?Number.MAX_VALUE:Math.abs(b.width);var d=isNaN(b.height)?Number.MAX_VALUE:Math.abs(b.height);c=Math.min(c,a,d)}else c=0;a=0<b.width?1:-1;d=0<b.height?1:-1;return{x:b.x+a*c/2,y:b.y+d*c/2,width:b.width-a*c,height:b.height-d*c}},polar:function(b,a,c){b=b.getItemLayout(a);return{cx:b.cx,cy:b.cy,r0:b.r0,r:b.r,startAngle:b.startAngle,endAngle:b.endAngle}}},jK=function(){return function(){}}(),Yt=function(b){function a(c){c=b.call(this,c)||this;c.type="largeBar";return c}x(a,b);a.prototype.getDefaultShape=function(){return new jK};a.prototype.buildPath=function(c,a){for(var b=a.points,d=this.__startPoint,g=this.__baseDimIdx,h=0;h<b.length;h+=2)d[g]=b[h+g],c.moveTo(d[0],d[1]),c.lineTo(b[h],b[h+1])};return a}(Y),Zt=Fi(function(b){var a;a:{var c=b.offsetY;a=this.__baseDimIdx;var d=1-a,e=this.shape.points,f=this.__largeDataIndices,g=Math.abs(this.__barWidth/2),h=this.__startPoint[d];hk[0]=b.offsetX;hk[1]=c;var k=hk[a];b=hk[1-a];for(var c=k-g,g=k+g,k=0,l=e.length/2;k<l;k++){var m=2*k,n=e[m+a],m=e[m+d];if(n>=c&&n<=g&&(h<=m?b>=h&&b<=m:b>=m&&b<=h)){a=f[k];break a}}a=-1}S(this).dataIndex=0<=a?a:null},30,!1),$i=2*Math.PI,au=Math.PI/180,fD=Math.PI/180,kK=function(b){function a(c,a,e){var d=b.call(this)||this;d.z2=2;var g=new kb,h=new ha;d.setTextGuideLine(g);d.setTextContent(h);d.updateData(c,a,e,!0);return d}x(a,b);a.prototype.updateData=function(c,a,b,f){var d=c.hostModel,e=c.getItemModel(a),k=e.getModel("emphasis"),l=c.getItemLayout(a),m=F(nf(e.getModel("itemStyle"),l)||{},l);f?(this.setShape(m),"scale"===d.getShallow("animationType")?(this.shape.r=l.r0,za(this,{shape:{r:l.r}},d,a)):null!=b?(this.setShape({startAngle:b,endAngle:b}),za(this,{shape:{startAngle:l.startAngle,endAngle:l.endAngle}},d,a)):(this.shape.endAngle=l.startAngle,ea(this,{shape:{endAngle:l.endAngle}},d,a))):ea(this,{shape:m},d,a);this.useStyle(c.getItemVisual(a,"style"));Fa(this,e);f=(l.startAngle+l.endAngle)/2;m=d.get("selectedOffset");b=Math.cos(f)*m;f=Math.sin(f)*m;(m=e.getShallow("cursor"))&&this.attr("cursor",m);this._updateLabel(d,c,a);this.ensureState("emphasis").shape=ro({r:l.r+(k.get("scale")?k.get("scaleSize")||0:0)},nf(k.getModel("itemStyle"),l));F(this.ensureState("select"),{x:b,y:f,shape:nf(e.getModel(["select","itemStyle"]),l)});F(this.ensureState("blur"),{shape:nf(e.getModel(["blur","itemStyle"]),l)});c=this.getTextGuideLine();a=this.getTextContent();F(c.ensureState("select"),{x:b,y:f});F(a.ensureState("select"),{x:b,y:f});va(this,k.get("focus"),k.get("blurScope"))};a.prototype._updateLabel=function(c,a,b){var d=a.getItemModel(b),e=d.getModel("labelLine"),h=a.getItemVisual(b,"style"),k=h&&h.fill,h=h&&h.opacity;cb(this,Ra(d),{labelFetcher:a.hostModel,labelDataIndex:b,inheritColor:k,defaultOpacity:h,defaultText:c.getFormattedLabel(b,"normal")||a.getName(b)});c=this.getTextContent();this.setTextConfig({position:null,rotation:null});c.attr({z2:10});Tl(this,Ul(d),{stroke:k,opacity:zb(e.get(["lineStyle","opacity"]),h,1)})};return a}(lb),lK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.ignoreLabelLineUpdate=!0;return c}x(a,b);a.prototype.init=function(){this._sectorGroup=new M};a.prototype.render=function(c,a,b,f){var d=c.getData(),e=this._data,k=this.group,l;if(!e&&0<d.count()){a=d.getItemLayout(0);for(b=1;isNaN(a&&a.startAngle)&&b<d.count();++b)a=d.getItemLayout(b);a&&(l=a.startAngle)}d.diff(e).add(function(c){var a=new kK(d,c,l);d.setItemGraphicEl(c,a);k.add(a)}).update(function(c,a){var b=e.getItemGraphicEl(a);b.updateData(d,c,l);b.off("click");k.add(b);d.setItemGraphicEl(c,b)}).remove(function(a){var b=e.getItemGraphicEl(a);ig(b,c,a)}).execute();eD(c);"expansion"!==c.get("animationTypeUpdate")&&(this._data=d)};a.prototype.dispose=function(){};a.prototype.containPoint=function(c,a){var b=a.getData().getItemLayout(0);if(b){var d=c[0]-b.cx,g=c[1]-b.cy,d=Math.sqrt(d*d+g*g);return d<=b.r&&d>=b.r0}};a.type="pie";return a}(oa),Gh=function(){function b(a,c){this._getDataWithEncodedVisual=a;this._getRawData=c}b.prototype.getAllNames=function(){var a=this._getRawData();return a.mapArray(a.getName)};b.prototype.containName=function(a){return 0<=this._getRawData().indexOfName(a)};b.prototype.indexOfName=function(a){return this._getDataWithEncodedVisual().indexOfName(a)};b.prototype.getItemVisual=function(a,c){return this._getDataWithEncodedVisual().getItemVisual(a,c)};return b}(),mK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.useColorPaletteOnData=!0;return c}x(a,b);a.prototype.init=function(c){b.prototype.init.apply(this,arguments);this.legendVisualProvider=new Gh(I(this.getData,this),I(this.getRawData,this));this._defaultLabelLine(c)};a.prototype.mergeOption=function(){b.prototype.mergeOption.apply(this,arguments)};a.prototype.getInitialData=function(){return of(this,{coordDimensions:["value"],encodeDefaulter:P(Il,this)})};a.prototype.getDataParams=function(c){var a=this.getData(),e=b.prototype.getDataParams.call(this,c),f=[];a.each(a.mapDimension("value"),function(c){f.push(c)});e.percent=tq(f,c,a.hostModel.get("percentPrecision"));e.$vars.push("percent");return e};a.prototype._defaultLabelLine=function(c){Id(c,"labelLine",["show"]);var a=c.labelLine,b=c.emphasis.labelLine;a.show=a.show&&c.label.show;b.show=b.show&&c.emphasis.label.show};a.type="series.pie";a.defaultOption={zlevel:0,z:2,legendHoverLink:!0,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,minShowLabelAngle:0,selectedOffset:10,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:0,show:!0,overflow:"truncate",position:"outer",alignTo:"none",edgeDistance:"25%",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,minTurnAngle:90,maxSurfaceAngle:90,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1},labelLayout:{hideOverlap:!0},emphasis:{scale:!0,scaleSize:5},avoidLabelOverlap:!0,animationType:"expansion",animationDuration:1E3,animationTypeUpdate:"transition",animationEasingUpdate:"cubicInOut",animationDurationUpdate:500,animationEasing:"cubicInOut"};return a}(ra),nK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.hasSymbolVisual=!0;return c}x(a,b);a.prototype.getInitialData=function(c,a){return sc(this.getSource(),this,{useEncodeDefaulter:!0})};a.prototype.getProgressive=function(){var c=this.option.progressive;return null==c?this.option.large?5E3:this.get("progressive"):c};a.prototype.getProgressiveThreshold=function(){var c=this.option.progressiveThreshold;return null==c?this.option.large?1E4:this.get("progressiveThreshold"):c};a.prototype.brushSelector=function(c,a,b){return b.point(a.getItemLayout(c))};a.type="series.scatter";a.dependencies=["grid","polar","geo","singleAxis","calendar"];a.defaultOption={coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,symbolSize:10,large:!1,largeThreshold:2E3,itemStyle:{opacity:.8},emphasis:{scale:!0},clip:!0,select:{itemStyle:{borderColor:"#212121"}}};return a}(ra),oK=function(){return function(){}}(),jp=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultShape=function(){return new oK};a.prototype.buildPath=function(c,a){var b=a.points,d=a.size,g=this.symbolProxy,h=g.shape,k=c.getContext?c.getContext():c;if(k&&4>d[0])this._ctx=k;else for(this._ctx=null,k=0;k<b.length;){var l=b[k++],m=b[k++];isNaN(l)||isNaN(m)||this.softClipShape&&!this.softClipShape.contain(l,m)||(h.x=l-d[0]/2,h.y=m-d[1]/2,h.width=d[0],h.height=d[1],g.buildPath(c,h,!0))}};a.prototype.afterBrush=function(){var c=this.shape,a=c.points,c=c.size,b=this._ctx;if(b)for(var f=0;f<a.length;){var g=a[f++],h=a[f++];isNaN(g)||isNaN(h)||this.softClipShape&&!this.softClipShape.contain(g,h)||b.fillRect(g-c[0]/2,h-c[1]/2,c[0],c[1])}};a.prototype.findDataIndex=function(c,a){for(var b=this.shape,d=b.points,g=b.size,b=Math.max(g[0],4),g=Math.max(g[1],4),h=d.length/2-1;0<=h;h--){var k=2*h,l=d[k]-b/2,k=d[k+1]-g/2;if(c>=l&&a>=k&&c<=l+b&&a<=k+g)return h}return-1};return a}(Y),pK=function(){function b(){this.group=new M}b.prototype.isPersistent=function(){return!this._incremental};b.prototype.updateData=function(a,c){this.group.removeAll();var b=new jp({rectHover:!0,cursor:"default"});b.setShape({points:a.getLayout("points")});this._setCommon(b,a,!1,c);this.group.add(b);this._incremental=null};b.prototype.updateLayout=function(a){if(!this._incremental){var c=a.getLayout("points");this.group.eachChild(function(a){null!=a.startIndex&&(c=new Float32Array(c.buffer,8*a.startIndex,2*(a.endIndex-a.startIndex)));a.setShape("points",c)})}};b.prototype.incrementalPrepareUpdate=function(a){this.group.removeAll();this._clearIncremental();2E6<a.count()?(this._incremental||(this._incremental=new xg({silent:!0})),this.group.add(this._incremental)):this._incremental=null};b.prototype.incrementalUpdate=function(a,c,b){this._incremental?(a=new jp,this._incremental.addDisplayable(a,!0)):(a=new jp({rectHover:!0,cursor:"default",startIndex:a.start,endIndex:a.end}),a.incremental=!0,this.group.add(a));a.setShape({points:c.getLayout("points")});this._setCommon(a,c,!!this._incremental,b)};b.prototype._setCommon=function(a,c,b,e){var d=c.hostModel;e=e||{};var g=c.getVisual("symbolSize");a.setShape("size",g instanceof Array?g:[g,g]);a.softClipShape=e.clipShape||null;a.symbolProxy=Pa(c.getVisual("symbol"),0,0,0,0);a.setColor=a.symbolProxy.setColor;e=4>a.shape.size[0];a.useStyle(d.getModel("itemStyle").getItemStyle(e?["color","shadowBlur","shadowColor"]:["color"]));(c=(c=c.getVisual("style"))&&c.fill)&&a.setColor(c);if(!b){var h=S(a);h.seriesIndex=d.seriesIndex;a.on("mousemove",function(c){h.dataIndex=null;c=a.findDataIndex(c.offsetX,c.offsetY);0<=c&&(h.dataIndex=c+(a.startIndex||0))})}};b.prototype.remove=function(){this._clearIncremental();this._incremental=null;this.group.removeAll()};b.prototype._clearIncremental=function(){var a=this._incremental;a&&a.clearDisplaybles()};return b}(),qK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(c,a,b){a=c.getData();this._updateSymbolDraw(a,c).updateData(a,{clipShape:this._getClipShape(c)});this._finished=!0};a.prototype.incrementalPrepareRender=function(c,a,b){a=c.getData();this._updateSymbolDraw(a,c).incrementalPrepareUpdate(a);this._finished=!1};a.prototype.incrementalRender=function(c,a,b){this._symbolDraw.incrementalUpdate(c,a.getData(),{clipShape:this._getClipShape(a)});this._finished=c.end===a.getData().count()};a.prototype.updateTransform=function(c,a,b){var d=c.getData();this.group.dirty();if(!this._finished||1E4<d.count()||!this._symbolDraw.isPersistent())return{update:!0};c=Ig("").reset(c,a,b);c.progress&&c.progress({start:0,end:d.count(),count:d.count()},d);this._symbolDraw.updateLayout(d)};a.prototype._getClipShape=function(c){var a=c.coordinateSystem,a=a&&a.getArea&&a.getArea();return c.get("clip",!0)?a:null};a.prototype._updateSymbolDraw=function(c,a){var b=this._symbolDraw,d=a.pipelineContext.large;b&&d===this._isLargeDraw||(b&&b.remove(),b=this._symbolDraw=d?new pK:new Eh,this._isLargeDraw=d,this.group.removeAll());this.group.add(b.group);return b};a.prototype.remove=function(c,a){this._symbolDraw&&this._symbolDraw.remove(!0);this._symbolDraw=null};a.prototype.dispose=function(){};a.type="scatter";return a}(oa),oD=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.type="grid";a.dependencies=["xAxis","yAxis"];a.layoutMode="box";a.defaultOption={show:!1,zlevel:0,z:0,left:"10%",top:60,right:"10%",bottom:70,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"};return a}(W),Gm=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.getCoordSysModel=function(){return this.getReferringComponents("grid",Da).models[0]};a.type="cartesian2dAxis";return a}(W);wa(Gm,Lf);var mz={show:!0,zlevel:0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#6E7079",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#E0E6F1"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.2)","rgba(210,219,238,0.2)"]}}},rK=U({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},mz),kp=U({boundaryGap:[0,0],axisLine:{show:"auto"},axisTick:{show:"auto"},splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#F4F7FD",width:1}}},mz),sK=U({scale:!0,splitNumber:6,axisLabel:{showMinLabel:!1,showMaxLabel:!1,rich:{primary:{fontWeight:"bold"}}},splitLine:{show:!1}},kp),tK=K({scale:!0,logBase:10},kp),cu={category:rK,value:kp,time:sK,log:tK},gD={value:1,category:1,time:1,log:1},lp=["x","y"],uK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type="cartesian2d";c.dimensions=lp;return c}x(a,b);a.prototype.calcAffineTransform=function(){this._transform=this._invTransform=null;var c=this.getAxis("x").scale,a=this.getAxis("y").scale;if(!("interval"!==c.type&&"time"!==c.type||"interval"!==a.type&&"time"!==a.type)){var c=c.getExtent(),a=a.getExtent(),b=this.dataToPoint([c[0],a[0]]),f=this.dataToPoint([c[1],a[1]]),g=c[1]-c[0],h=a[1]-a[0];g&&h&&(g=(f[0]-b[0])/g,f=(f[1]-b[1])/h,c=this._transform=[g,0,0,f,b[0]-c[0]*g,b[1]-a[0]*f],this._invTransform=Ke([],c))}};a.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")};a.prototype.containPoint=function(c){var a=this.getAxis("x"),b=this.getAxis("y");return a.contain(a.toLocalCoord(c[0]))&&b.contain(b.toLocalCoord(c[1]))};a.prototype.containData=function(c){return this.getAxis("x").containData(c[0])&&this.getAxis("y").containData(c[1])};a.prototype.dataToPoint=function(c,a,b){b=b||[];a=c[0];var d=c[1];if(this._transform&&null!=a&&isFinite(a)&&null!=d&&isFinite(d))return Qa(b,c,this._transform);c=this.getAxis("x");var e=this.getAxis("y");b[0]=c.toGlobalCoord(c.dataToCoord(a));b[1]=e.toGlobalCoord(e.dataToCoord(d));return b};a.prototype.clampData=function(c,a){var b=this.getAxis("x").scale,d=this.getAxis("y").scale,g=b.getExtent(),h=d.getExtent(),b=b.parse(c[0]),d=d.parse(c[1]);a=a||[];a[0]=Math.min(Math.max(Math.min(g[0],g[1]),b),Math.max(g[0],g[1]));a[1]=Math.min(Math.max(Math.min(h[0],h[1]),d),Math.max(h[0],h[1]));return a};a.prototype.pointToData=function(c,a){a=a||[];if(this._invTransform)return Qa(a,c,this._invTransform);var b=this.getAxis("x"),d=this.getAxis("y");a[0]=b.coordToData(b.toLocalCoord(c[0]));a[1]=d.coordToData(d.toLocalCoord(c[1]));return a};a.prototype.getOtherAxis=function(c){return this.getAxis("x"===c.dim?"y":"x")};a.prototype.getArea=function(){var c=this.getAxis("x").getGlobalExtent(),a=this.getAxis("y").getGlobalExtent(),b=Math.min(c[0],c[1]),f=Math.min(a[0],a[1]);return new aa(b,f,Math.max(c[0],c[1])-b,Math.max(a[0],a[1])-f)};return a}(function(){function b(a){this.type="cartesian";this._dimList=[];this._axes={};this.name=a||""}b.prototype.getAxis=function(a){return this._axes[a]};b.prototype.getAxes=function(){return C(this._dimList,function(a){return this._axes[a]},this)};b.prototype.getAxesByScale=function(a){a=a.toLowerCase();return ta(this.getAxes(),function(c){return c.scale.type===a})};b.prototype.addAxis=function(a){var c=a.dim;this._axes[c]=a;this._dimList.push(c)};return b}()),vK=function(b){function a(c,a,e,f,g){c=b.call(this,c,a,e)||this;c.index=0;c.type=f||"value";c.position=g||"bottom";return c}x(a,b);a.prototype.isHorizontal=function(){var c=this.position;return"top"===c||"bottom"===c};a.prototype.getGlobalExtent=function(c){var a=this.getExtent();a[0]=this.toGlobalCoord(a[0]);a[1]=this.toGlobalCoord(a[1]);c&&a[0]>a[1]&&a.reverse();return a};a.prototype.pointToData=function(c,a){return this.coordToData(this.toLocalCoord(c["x"===this.dim?0:1]),a)};a.prototype.setCategorySortInfo=function(c){if("category"!==this.type)return!1;this.model.option.categorySortInfo=c;this.scale.setSortInfo(c)};return a}(Pb),pD=function(){function b(a,c,b){this.type="grid";this._coordsMap={};this._coordsList=[];this._axesMap={};this._axesList=[];this.axisPointerEnabled=!0;this.dimensions=lp;this._initCartesian(a,c,b);this.model=a}b.prototype.getRect=function(){return this._rect};b.prototype.update=function(a,c){var b=this._axesMap;this._updateScale(a,this.model);r(b.x,function(c){jd(c.scale,c.model)});r(b.y,function(c){jd(c.scale,c.model)});var e={};r(b.x,function(c){gu(b,"y",c,e)});r(b.y,function(c){gu(b,"x",c,e)});this.resize(this.model,c)};b.prototype.resize=function(a,c,b){function d(){r(h,function(c){var a=c.isHorizontal(),b=a?[0,g.width]:[0,g.height],d=c.inverse?1:0;c.setExtent(b[d],b[1-d]);hD(c,a?g.x:g.y)})}var f=a.getBoxLayoutParams();a=!b&&a.get("containLabel");var g=Aa(f,{width:c.getWidth(),height:c.getHeight()});this._rect=g;var h=this._axesList;d();a&&(r(h,function(c){if(!c.model.get(["axisLabel","inside"])){var a;var b=c.scale;if(!c.model.get(["axisLabel","show"])||b.isBlank())a=void 0;else{var d=b.getExtent();b instanceof Wi?b=b.count():(a=b.getTicks(),b=a.length);var e=c.getLabelModel(),f=Eg(c),h,k=1;40<b&&(k=Math.ceil(b/40));for(var w=0;w<b;w+=k){var v=f(a?a[w]:{value:d[0]+w},w),v=e.getTextRect(v),r=(e.get("rotate")||0)*Math.PI/180,B=v.width,y=v.height,v=new aa(v.x,v.y,B*Math.abs(Math.cos(r))+Math.abs(y*Math.sin(r)),B*Math.abs(Math.sin(r))+Math.abs(y*Math.cos(r)));h?h.union(v):h=v}a=h}a&&(d=c.isHorizontal()?"height":"width",h=c.model.get(["axisLabel","margin"]),g[d]-=a[d]+h,"top"===c.position?g.y+=a.height+h:"left"===c.position&&(g.x+=a.width+h))}}),d());r(this._coordsList,function(c){c.calcAffineTransform()})};b.prototype.getAxis=function(a,c){var b=this._axesMap[a];if(null!=b)return b[c||0]};b.prototype.getAxes=function(){return this._axesList.slice()};b.prototype.getCartesian=function(a,c){if(null!=a&&null!=c)return this._coordsMap["x"+a+"y"+c];N(a)&&(c=a.yAxisIndex,a=a.xAxisIndex);for(var b=0,e=this._coordsList;b<e.length;b++)if(e[b].getAxis("x").index===a||e[b].getAxis("y").index===c)return e[b]};b.prototype.getCartesians=function(){return this._coordsList.slice()};b.prototype.convertToPixel=function(a,c,b){a=this._findConvertTarget(c);return a.cartesian?a.cartesian.dataToPoint(b):a.axis?a.axis.toGlobalCoord(a.axis.dataToCoord(b)):null};b.prototype.convertFromPixel=function(a,c,b){a=this._findConvertTarget(c);return a.cartesian?a.cartesian.pointToData(b):a.axis?a.axis.coordToData(a.axis.toLocalCoord(b)):null};b.prototype._findConvertTarget=function(a){var c=a.seriesModel,b=a.xAxisModel||c&&c.getReferringComponents("xAxis",Da).models[0],e=a.yAxisModel||c&&c.getReferringComponents("yAxis",Da).models[0];a=a.gridModel;var f=this._coordsList,g,h;c?(g=c.coordinateSystem,0>ba(f,g)&&(g=null)):b&&e?g=this.getCartesian(b.componentIndex,e.componentIndex):b?h=this.getAxis("x",b.componentIndex):e?h=this.getAxis("y",e.componentIndex):a&&a.coordinateSystem===this&&(g=this._coordsList[0]);return{cartesian:g,axis:h}};b.prototype.containPoint=function(a){var c=this._coordsList[0];if(c)return c.containPoint(a)};b.prototype._initCartesian=function(a,c,b){function d(c){return function(b,d){if(Cm(b,a)){var e=b.get("position");"x"===c?"top"!==e&&"bottom"!==e&&(e=h.bottom?"top":"bottom"):"left"!==e&&"right"!==e&&(e=h.left?"right":"left");h[e]=!0;e=new vK(c,Dg(b),[0,0],b.get("type"),e);e.onBand="category"===e.type&&b.get("boundaryGap");e.inverse=b.get("inverse");b.axis=e;e.model=b;e.grid=g;e.index=d;g._axesList.push(e);k[c][d]=e;l[c]++}}}var f=this,g=this,h={left:!1,right:!1,top:!1,bottom:!1},k={x:{},y:{}},l={x:0,y:0};c.eachComponent("xAxis",d("x"),this);c.eachComponent("yAxis",d("y"),this);l.x&&l.y?(this._axesMap=k,r(k.x,function(c,b){r(k.y,function(d,e){var g="x"+b+"y"+e,h=new uK(g);h.master=f;h.model=a;f._coordsMap[g]=h;f._coordsList.push(h);h.addAxis(c);h.addAxis(d)})})):(this._axesMap={},this._axesList=[])};b.prototype._updateScale=function(a,c){function b(c,a){r(Xi(c,a.dim),function(b){a.scale.unionExtentFromData(c,b)})}r(this._axesList,function(c){c.scale.setExtent(Infinity,-Infinity);if("category"===c.type){var a=c.model.get("categorySortInfo");c.scale.setSortInfo(a)}});a.eachSeries(function(a){if(eu(a)){var d=fu(a),e=d.xAxisModel,d=d.yAxisModel;Cm(e,c)&&Cm(d,c)&&(e=this.getCartesian(e.componentIndex,d.componentIndex),a=a.getData(),d=e.getAxis("x"),e=e.getAxis("y"),"list"===a.type&&(b(a,d),b(a,e)))}},this)};b.prototype.getTooltipAxes=function(a){var c=[],b=[];r(this.getCartesians(),function(d){var e=null!=a&&"auto"!==a?d.getAxis(a):d.getBaseAxis();d=d.getOtherAxis(e);0>ba(c,e)&&c.push(e);0>ba(b,d)&&b.push(d)});return{baseAxes:c,otherAxes:b}};b.create=function(a,c){var d=[];a.eachComponent("grid",function(e,f){var g=new b(e,a,c);g.name="grid_"+f;g.resize(e,c,!0);e.coordinateSystem=g;d.push(g)});a.eachSeries(function(c){if(eu(c)){var a=fu(c),b=a.xAxisModel,a=a.yAxisModel,d=b.getCoordSysModel();if(!d)throw Error('Grid "'+zb(b.get("gridIndex"),b.get("gridId"),0)+'" not found');if(b.getCoordSysModel()!==a.getCoordSysModel())throw Error("xAxis and yAxis must use the same grid");c.coordinateSystem=d.coordinateSystem.getCartesian(b.componentIndex,a.componentIndex)}});return d};b.dimensions=lp;return b}(),nd=Math.PI,mb=function(){function b(a,c){this.group=new M;this.opt=c;this.axisModel=a;K(c,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0,handleAutoShown:function(){return!0}});var b=new M({x:c.position[0],y:c.position[1],rotation:c.rotation});b.updateTransform();this._transformGroup=b}b.prototype.hasBuilder=function(a){return!!nz[a]};b.prototype.add=function(a){nz[a](this.opt,this.axisModel,this.group,this._transformGroup)};b.prototype.getGroup=function(){return this.group};b.innerTextLayout=function(a,c,b){a=Xk(c-a);ag(a)?(c=0<b?"top":"bottom",b="center"):ag(a-nd)?(c=0<b?"bottom":"top",b="center"):(c="middle",b=0<a&&a<nd?0<b?"right":"left":0<b?"left":"right");return{rotation:a,textAlign:b,textVerticalAlign:c}};b.makeAxisEventDataBase=function(a){var c={componentType:a.mainType,componentIndex:a.componentIndex};c[a.mainType+"Index"]=a.componentIndex;return c};b.isLabelSilent=function(a){var c=a.get("tooltip");return a.get("silent")||!(a.get("triggerEvent")||c&&c.show)};return b}(),nz={axisLine:function(b,a,c,d){var e=a.get(["axisLine","show"]);"auto"===e&&b.handleAutoShown&&(e=b.handleAutoShown("axisLine"));if(e){var e=a.axis.getExtent(),f=d.transform,g=[e[0],0];d=[e[1],0];f&&(Qa(g,g,f),Qa(d,d,f));var h=F({lineCap:"round"},a.getModel(["axisLine","lineStyle"]).getLineStyle()),e=new Ua({subPixelOptimize:!0,shape:{x1:g[0],y1:g[1],x2:d[0],y2:d[1]},style:h,strokeContainThreshold:b.strokeContainThreshold||5,silent:!0,z2:1});e.anid="line";c.add(e);var k=a.get(["axisLine","symbol"]),e=a.get(["axisLine","symbolSize"]);a=a.get(["axisLine","symbolOffset"])||0;"number"===typeof a&&(a=[a,a]);if(null!=k){"string"===typeof k&&(k=[k,k]);if("string"===typeof e||"number"===typeof e)e=[e,e];var l=e[0],m=e[1];r([{rotate:b.rotation+Math.PI/2,offset:a[0],r:0},{rotate:b.rotation-Math.PI/2,offset:a[1],r:Math.sqrt((g[0]-d[0])*(g[0]-d[0])+(g[1]-d[1])*(g[1]-d[1]))}],function(a,d){if("none"!==k[d]&&null!=k[d]){var e=Pa(k[d],-l/2,-m/2,l,m,h.stroke,!0),f=a.r+a.offset;e.attr({rotation:a.rotate,x:g[0]+f*Math.cos(b.rotation),y:g[1]-f*Math.sin(b.rotation),silent:!0,z2:11});c.add(e)}})}}},axisTickLabel:function(b,a,c,d){var e;e=a.axis;var f=a.getModel("axisTick"),g=f.get("show");"auto"===g&&b.handleAutoShown&&(g=b.handleAutoShown("axisTick"));if(!g||e.scale.isBlank())e=void 0;else for(g=f.getModel("lineStyle"),f=b.tickDirection*f.get("length"),e=e.getTicksCoords(),e=ju(e,d.transform,f,K(g.getLineStyle(),{stroke:a.get(["axisLine","lineStyle","color"])}),"ticks"),g=0;g<e.length;g++)c.add(e[g]);var h=jD(c,d,a,b),k=e;if(!pt(a.axis)){e=a.get(["axisLabel","showMinLabel"]);var g=a.get(["axisLabel","showMaxLabel"]),h=h||[],k=k||[],f=h[0],l=h[1],m=h[h.length-1],h=h[h.length-2],n=k[0],p=k[1],q=k[k.length-1],k=k[k.length-2];!1===e?(Ib(f),Ib(n)):iu(f,l)&&(e?(Ib(l),Ib(p)):(Ib(f),Ib(n)));!1===g?(Ib(m),Ib(q)):iu(h,m)&&(g?(Ib(h),Ib(k)):(Ib(m),Ib(q)))}e=b.tickDirection;b=a.axis;g=a.getModel("minorTick");if(g.get("show")&&!b.scale.isBlank()&&(b=b.getMinorTicksCoords(),b.length))for(f=g.getModel("lineStyle"),e*=g.get("length"),a=K(f.getLineStyle(),K(a.getModel("axisTick").getLineStyle(),{stroke:a.get(["axisLine","lineStyle","color"])})),g=0;g<b.length;g++)for(f=ju(b[g],d.transform,e,a,"minorticks_"+g),l=0;l<f.length;l++)c.add(f[l])},axisName:function(b,a,c,d){var e=Ba(b.axisName,a.get("name"));if(e){var f=a.get("nameLocation"),g=b.nameDirection,h=a.getModel("nameTextStyle"),k=a.get("nameGap")||0,l=a.axis.getExtent(),m=l[0]>l[1]?-1:1,k=["start"===f?l[0]-m*k:"end"===f?l[1]+m*k:(l[0]+l[1])/2,"middle"===f||"center"===f?b.labelOffset+g*k:0],m=a.get("nameRotate");null!=m&&(m=m*nd/180);var n;"middle"===f||"center"===f?f=mb.innerTextLayout(b.rotation,null!=m?m:b.rotation,g):(f=iD(b.rotation,f,m||0,l),n=b.axisNameAvailableWidth,null!=n&&(n=Math.abs(n/Math.sin(f.rotation)),!isFinite(n)&&(n=null)));g=h.getFont();m=a.get("nameTruncate",!0)||{};l=m.ellipsis;m=Ba(b.nameTruncateMaxWidth,m.maxWidth,n);b=a.get("tooltip",!0);var p=a.mainType;n={componentType:p,name:e,$vars:["name"]};n[p+"Index"]=a.componentIndex;h=new ha({x:k[0],y:k[1],rotation:f.rotation,silent:mb.isLabelSilent(a),style:Ja(h,{text:e,font:g,overflow:"truncate",width:m,ellipsis:l,fill:h.getTextColor()||a.get(["axisLine","lineStyle","color"]),align:h.get("align")||f.textAlign,verticalAlign:h.get("verticalAlign")||f.textVerticalAlign}),z2:1});h.tooltip=b&&b.show?F({content:e,formatter:function(){return e},formatterParams:n},b):null;h.__fullText=e;h.anid="name";a.get("triggerEvent")&&(a=mb.makeAxisEventDataBase(a),a.targetType="axisName",a.name=e,S(h).eventData=a);d.add(h);h.updateTransform();c.add(h);h.decomposeTransform()}}},mp={},le=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(c,a,e,f){if(this.axisPointerClass){var d=Fm(c);if(d){var h=d.axisPointerModel,k=d.axis.scale,l=h.option,m=h.get("status"),n=h.get("value");null!=n&&(n=k.parse(n));h=Dm(h);null==m&&(l.status=h?"show":"hide");k=k.getExtent().slice();k[0]>k[1]&&k.reverse();if(null==n||n>k[1])n=k[1];n<k[0]&&(n=k[0]);l.value=n;h&&(l.status=d.axis.scale.isBlank()?"hide":"show")}}b.prototype.render.apply(this,arguments);this._doUpdateAxisPointerClass(c,e,!0)};a.prototype.updateAxisPointer=function(c,a,b,f){this._doUpdateAxisPointerClass(c,b,!1)};a.prototype.remove=function(c,a){var b=this._axisPointer;b&&b.remove(a)};a.prototype.dispose=function(c,a){this._disposeAxisPointer(a);b.prototype.dispose.apply(this,arguments)};a.prototype._doUpdateAxisPointerClass=function(c,b,e){var d=a.getAxisPointerClass(this.axisPointerClass);if(d){var g;(g=(g=Fm(c))&&g.axisPointerModel)?(this._axisPointer||(this._axisPointer=new d)).render(c,g,b,e):this._disposeAxisPointer(b)}};a.prototype._disposeAxisPointer=function(c){this._axisPointer&&this._axisPointer.dispose(c);this._axisPointer=null};a.registerAxisPointerClass=function(c,a){if(mp[c])throw Error("axisPointer "+c+" exists");mp[c]=a};a.getAxisPointerClass=function(c){return c&&mp[c]};a.type="axis";return a}(na),aj=ma(),wK=["axisLine","axisTickLabel","axisName"],xK=["splitArea","splitLine","minorSplitLine"],oz=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.axisPointerClass="CartesianAxisPointer";return c}x(a,b);a.prototype.render=function(c,a,e,f){this.group.removeAll();var d=this._axisGroup;this._axisGroup=new M;this.group.add(this._axisGroup);if(c.get("show")){var h=c.getCoordSysModel(),k=Bm(h,c),k=new mb(c,F({handleAutoShown:function(a){a=h.coordinateSystem.getCartesians();for(var b=0;b<a.length;b++){var d=a[b].getOtherAxis(c.axis).type;if("value"===d||"log"===d)return!0}return!1}},k));r(wK,k.add,k);this._axisGroup.add(k.getGroup());r(xK,function(a){if(c.get([a,"show"]))yK[a](this,this._axisGroup,c,h)},this);jg(d,this._axisGroup,c);b.prototype.render.call(this,c,a,e,f)}};a.prototype.remove=function(){aj(this).splitAreaColors=null};a.type="cartesianAxis";return a}(le),yK={splitLine:function(b,a,c,d){b=c.axis;if(!b.scale.isBlank()){var e=c.getModel("splitLine"),f=e.getModel("lineStyle");c=f.get("color");c=A(c)?c:[c];d=d.coordinateSystem.getRect();for(var g=b.isHorizontal(),h=0,e=b.getTicksCoords({tickModel:e}),k=[],l=[],f=f.getLineStyle(),m=0;m<e.length;m++){var n=b.toGlobalCoord(e[m].coord);g?(k[0]=n,k[1]=d.y,l[0]=n,l[1]=d.y+d.height):(k[0]=d.x,k[1]=n,l[0]=d.x+d.width,l[1]=n);n=h++%c.length;a.add(new Ua({anid:null!=e[m].tickValue?"line_"+e[m].tickValue:null,subPixelOptimize:!0,autoBatch:!0,shape:{x1:k[0],y1:k[1],x2:l[0],y2:l[1]},style:K({stroke:c[n]},f),silent:!0}))}}},minorSplitLine:function(b,a,c,d){b=c.axis;var e=c.getModel("minorSplitLine").getModel("lineStyle");d=d.coordinateSystem.getRect();c=b.isHorizontal();var f=b.getMinorTicksCoords();if(f.length)for(var g=[],h=[],e=e.getLineStyle(),k=0;k<f.length;k++)for(var l=0;l<f[k].length;l++){var m=b.toGlobalCoord(f[k][l].coord);c?(g[0]=m,g[1]=d.y,h[0]=m,h[1]=d.y+d.height):(g[0]=d.x,g[1]=m,h[0]=d.x+d.width,h[1]=m);a.add(new Ua({anid:"minor_line_"+f[k][l].tickValue,subPixelOptimize:!0,autoBatch:!0,shape:{x1:g[0],y1:g[1],x2:h[0],y2:h[1]},style:e,silent:!0}))}},splitArea:function(b,a,c,d){ku(b,a,c,d)}},nu=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="xAxis";return a}(oz),qD=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=nu.type;return c}x(a,b);a.type="yAxis";return a}(oz),nD=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type="grid";return c}x(a,b);a.prototype.render=function(c,a){this.group.removeAll();c.get("show")&&this.group.add(new Z({shape:c.coordinateSystem.getRect(),style:K({fill:c.get("backgroundColor")},c.getItemStyle()),silent:!0,z2:-1}))};a.type="grid";return a}(na),mu={offset:0},zK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(c,a,b){function d(a,b,d,e,f,g){d.removeAll();for(var h=0;h<b.length-1;h++){var k;k=e;var l=f,m=k.getItemVisual(l,"symbol")||"circle";if("none"===m)k=void 0;else{var n;n=k.getItemVisual(l,"symbolSize");A(n)||(n=[+n,+n]);m=Pa(m,-1,-1,2,2);k=k.getItemVisual(l,"symbolRotate")||0;m.attr({style:{strokeNoScale:!0},z2:100,scaleX:n[0]/2,scaleY:n[1]/2,rotation:k*Math.PI/180||0});k=m}k&&(k.__dimIdx=h,a[h]?(k.setPosition(a[h]),Yg[g?"initProps":"updateProps"](k,{x:b[h][0],y:b[h][1]},c,f)):k.setPosition(b[h]),d.add(k))}}function e(c){return C(c,function(c){return[h.cx,h.cy]})}var h=c.coordinateSystem,k=this.group,l=c.getData(),m=this._data;l.diff(m).add(function(a){var b=l.getItemLayout(a);if(b){var f=new bb,g=new kb,h={shape:{points:b}};f.shape.points=e(b);g.shape.points=e(b);za(f,h,c,a);za(g,h,c,a);var h=new M,k=new M;h.add(g);h.add(f);h.add(k);d(g.shape.points,b,k,l,a,!0);l.setItemGraphicEl(a,h)}}).update(function(a,b){var e=m.getItemGraphicEl(b),f=e.childAt(0),g=e.childAt(1),h=e.childAt(2),k={shape:{points:l.getItemLayout(a)}};k.shape.points&&(d(f.shape.points,k.shape.points,h,l,a,!1),ea(f,k,c),ea(g,k,c),l.setItemGraphicEl(a,e))}).remove(function(c){k.remove(m.getItemGraphicEl(c))}).execute();l.eachItemGraphicEl(function(c,a){var b=l.getItemModel(a),d=c.childAt(0),e=c.childAt(1),f=c.childAt(2),g=l.getItemVisual(a,"style"),h=g.fill;k.add(c);d.useStyle(K(b.getModel("lineStyle").getLineStyle(),{fill:"none",stroke:h}));Fa(d,b,"lineStyle");Fa(e,b,"areaStyle");var d=b.getModel("areaStyle"),m=d.isEmpty()&&d.parentModel.isEmpty();e.ignore=m;r(["emphasis","select","blur"],function(c){var a=b.getModel([c,"areaStyle"]),a=a.isEmpty()&&a.parentModel.isEmpty();e.ensureState(c).ignore=a&&m});e.useStyle(K(d.getAreaStyle(),{fill:h,opacity:.7,decal:g.decal}));var d=b.getModel("emphasis"),n=d.getModel("itemStyle").getItemStyle();f.eachChild(function(c){if(c instanceof Ga){var d=c.style;c.useStyle(F({image:d.image,x:d.x,y:d.y,width:d.width,height:d.height},g))}else c.useStyle(g),c.setColor(h);c.ensureState("emphasis").style=J(n);d=l.get(l.dimensions[c.__dimIdx],a);(null==d||isNaN(d))&&(d="");cb(c,Ra(b),{labelFetcher:l.hostModel,labelDataIndex:a,labelDimIndex:c.__dimIdx,defaultText:d,inheritColor:h,defaultOpacity:g.opacity})});va(c,d.get("focus"),d.get("blurScope"))});this._data=l};a.prototype.remove=function(){this.group.removeAll();this._data=null};a.type="radar";return a}(oa),AK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.useColorPaletteOnData=!0;c.hasSymbolVisual=!0;return c}x(a,b);a.prototype.init=function(c){b.prototype.init.apply(this,arguments);this.legendVisualProvider=new Gh(I(this.getData,this),I(this.getRawData,this))};a.prototype.getInitialData=function(c,a){return of(this,{generateCoord:"indicator_",generateCoordCount:Infinity})};a.prototype.formatTooltip=function(c,a,b){var d=this.getData();a=this.coordinateSystem.getIndicatorAxes();b=this.getData().getName(c);b=""===b?this.name:b;var e=ls(this,c);return Ha("section",{header:b,sortBlocks:!0,blocks:C(a,function(a){var b=d.get(d.mapDimension(a.dim),c);return Ha("nameValue",{markerType:"subItem",markerColor:e,name:a.name,value:b,sortParam:b})})})};a.prototype.getTooltipPosition=function(c){if(null!=c){var a=this.getData(),b=this.coordinateSystem;c=a.getValues(C(b.dimensions,function(c){return a.mapDimension(c)}),c);for(var f=0,g=c.length;f<g;f++)if(!isNaN(c[f]))return g=b.getIndicatorAxes(),b.coordToPoint(g[f].dataToCoord(c[f]),f)}};a.type="series.radar";a.dependencies=["radar"];a.defaultOption={zlevel:0,z:2,coordinateSystem:"radar",legendHoverLink:!0,radarIndex:0,lineStyle:{width:2,type:"solid"},label:{position:"top"},symbol:"emptyCircle",symbolSize:4};return a}(ra),Hh=cu.value,vD=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.optionUpdated=function(){var c=this.get("boundaryGap"),a=this.get("splitNumber"),b=this.get("scale"),f=this.get("axisLine"),g=this.get("axisTick"),h=this.get("axisLabel"),k=this.get("axisName"),l=this.get(["axisName","show"]),m=this.get(["axisName","formatter"]),n=this.get("axisNameGap"),p=this.get("triggerEvent");this._indicatorModels=C(this.get("indicator")||[],function(d){null!=d.max&&0<d.max&&!d.min?d.min=0:null!=d.min&&0>d.min&&!d.max&&(d.max=0);var e=k;null!=d.color&&(e=K({color:d.color},k));d=U(J(d),{boundaryGap:c,splitNumber:a,scale:b,axisLine:f,axisTick:g,axisLabel:h,name:d.text,nameLocation:"end",nameGap:n,nameTextStyle:e,triggerEvent:p},!1);l||(d.name="");"string"===typeof m?(e=d.name,d.name=m.replace("{value}",null!=e?e:"")):"function"===typeof m&&(d.name=m(d.name,d));d=new la(d,null,this.ecModel);wa(d,Lf.prototype);d.mainType="radar";d.componentIndex=this.componentIndex;return d},this)};a.prototype.getIndicatorModels=function(){return this._indicatorModels};a.type="radar";a.defaultOption={zlevel:0,z:0,center:["50%","50%"],radius:"75%",startAngle:90,axisName:{show:!0},boundaryGap:[0,0],splitNumber:5,axisNameGap:15,scale:!1,shape:"polygon",axisLine:U({lineStyle:{color:"#bbb"}},Hh.axisLine),axisLabel:K({show:!1},Hh.axisLabel),axisTick:K({show:!1},Hh.axisTick),splitLine:K({show:!0},Hh.splitLine),splitArea:K({show:!0},Hh.splitArea),indicator:[]};return a}(W),BK=["axisLine","axisTickLabel","axisName"],wD=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(c,a,b){this.group.removeAll();this._buildAxes(c);this._buildSplitLineAndArea(c)};a.prototype._buildAxes=function(c){var a=c.coordinateSystem;c=a.getIndicatorAxes();c=C(c,function(c){return new mb(c.model,{position:[a.cx,a.cy],rotation:c.angle,labelDirection:-1,tickDirection:-1,nameDirection:1})});r(c,function(c){r(BK,c.add,c);this.group.add(c.getGroup())},this)};a.prototype._buildSplitLineAndArea=function(c){function a(c,a,b){a=b%a.length;c[a]=c[a]||[];return a}var b=c.coordinateSystem,f=b.getIndicatorAxes();if(f.length){var g=c.get("shape"),h=c.getModel("splitLine"),k=c.getModel("splitArea");c=h.getModel("lineStyle");var l=k.getModel("areaStyle"),h=h.get("show"),k=k.get("show"),m=c.get("color"),n=l.get("color"),p=A(m)?m:[m],q=A(n)?n:[n],m=[],n=[];if("circle"===g)for(var f=f[0].getTicksCoords(),t=b.cx,u=b.cy,g=0;g<f.length;g++){if(h){var w=a(m,p,g);m[w].push(new Nb({shape:{cx:t,cy:u,r:f[g].coord}}))}k&&g<f.length-1&&(w=a(n,q,g),n[w].push(new Hf({shape:{cx:t,cy:u,r0:f[g].coord,r:f[g+1].coord}})))}else for(var v,t=C(f,function(c,a){var d=c.getTicksCoords();v=null==v?d.length-1:Math.min(d.length-1,v);return C(d,function(c){return b.coordToPoint(c.coord,a)})}),u=[],g=0;g<=v;g++){for(var z=[],w=0;w<f.length;w++)z.push(t[w][g]);z[0]?z.push(z[0].slice()):console.error("Can't draw value axis "+g);h&&(w=a(m,p,g),m[w].push(new kb({shape:{points:z}})));k&&u&&(w=a(n,q,g-1),n[w].push(new bb({shape:{points:z.concat(u)}})));u=z.slice().reverse()}var B=c.getLineStyle(),y=l.getAreaStyle();r(n,function(c,a){this.group.add(xb(c,{style:K({stroke:"none",fill:q[a%q.length]},y),silent:!0}))},this);r(m,function(c,a){this.group.add(xb(c,{style:K({fill:"none",stroke:p[a%p.length]},B),silent:!0}))},this)}};a.type="radar";return a}(na),CK=function(b){function a(c,a,e){c=b.call(this,c,a,e)||this;c.type="value";c.angle=0;c.name="";return c}x(a,b);return a}(Pb),uD=function(){function b(a,c,b){this.dimensions=[];this._model=a;this._indicatorAxes=C(a.getIndicatorModels(),function(c,a){var b="indicator_"+a,d=new CK(b,new Zd);d.name=c.get("name");d.model=c;c.axis=d;this.dimensions.push(b);return d},this);this.resize(a,b)}b.prototype.getIndicatorAxes=function(){return this._indicatorAxes};b.prototype.dataToPoint=function(a,c){return this.coordToPoint(this._indicatorAxes[c].dataToCoord(a),c)};b.prototype.coordToPoint=function(a,c){var b=this._indicatorAxes[c].angle;return[this.cx+a*Math.cos(b),this.cy-a*Math.sin(b)]};b.prototype.pointToData=function(a){var c=a[0]-this.cx,b=a[1]-this.cy;a=Math.sqrt(c*c+b*b);for(var c=Math.atan2(-(b/a),c/a),b=Infinity,e,f=-1,g=0;g<this._indicatorAxes.length;g++){var h=this._indicatorAxes[g],k=Math.abs(c-h.angle);k<b&&(e=h,f=g,b=k)}return[f,+(e&&e.coordToData(a))]};b.prototype.resize=function(a,c){var b=a.get("center"),e=c.getWidth(),f=c.getHeight(),g=Math.min(e,f)/2;this.cx=H(b[0],e);this.cy=H(b[1],f);this.startAngle=a.get("startAngle")*Math.PI/180;b=a.get("radius");if("string"===typeof b||"number"===typeof b)b=[0,b];this.r0=H(b[0],g);this.r=H(b[1],g);r(this._indicatorAxes,function(c,a){c.setExtent(this.r0,this.r);var b=this.startAngle+a*Math.PI*2/this._indicatorAxes.length,b=Math.atan2(Math.sin(b),Math.cos(b));c.angle=b},this)};b.prototype.update=function(a,c){function b(c){var a=Math.pow(10,Math.floor(Math.log(c)/Math.LN10));c/=a;return(2===c?5:2*c)*a}var e=this._indicatorAxes,f=this._model;r(e,function(c){c.scale.setExtent(Infinity,-Infinity)});a.eachSeriesByType("radar",function(c,b){if("radar"===c.get("coordinateSystem")&&a.getComponent("radar",c.get("radarIndex"))===f){var d=c.getData();r(e,function(c){c.scale.unionExtentFromData(d,d.mapDimension(c.dim))})}},this);var g=f.get("splitNumber");r(e,function(c,a){var d=ot(c.scale,c.model).extent;jd(c.scale,c.model);var e=c.model,f=c.scale,h=jf(f,e.get("min",!0)),k=jf(f,e.get("max",!0)),e=f.getInterval();if(null!=h&&null!=k)f.setExtent(+h,+k),f.setInterval((k-h)/g);else if(null!=h){do k=h+e*g,f.setExtent(+h,k),f.setInterval(e),e=b(e);while(k<d[1]&&isFinite(k)&&isFinite(d[1]))}else if(null!=k){do h=k-e*g,f.setExtent(h,+k),f.setInterval(e),e=b(e);while(h>d[0]&&isFinite(h)&&isFinite(d[0]))}else f.getTicks().length-1>g&&(e=b(e)),k=Math.ceil(d[1]/e)*e,h=sa(k-e*g),f.setExtent(h,k),f.setInterval(e)})};b.prototype.convertToPixel=function(a,c,b){console.warn("Not implemented.");return null};b.prototype.convertFromPixel=function(a,c,b){console.warn("Not implemented.");return null};b.prototype.containPoint=function(a){console.warn("Not implemented.");return!1};b.create=function(a,c){var d=[];a.eachComponent("radar",function(e){var f=new b(e,a,c);d.push(f);e.coordinateSystem=f});a.eachSeriesByType("radar",function(c){"radar"===c.get("coordinateSystem")&&(c.coordinateSystem=d[c.get("radarIndex")||0])});return d};b.dimensions=[];return b}();ac({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},function(){});for(var fh=function(b){function a(c){var a=b.call(this)||this;a._zr=c;var e=I(a._mousedownHandler,a),f=I(a._mousemoveHandler,a),g=I(a._mouseupHandler,a),h=I(a._mousewheelHandler,a),k=I(a._pinchHandler,a);a.enable=function(a,b){this.disable();this._opt=K(J(b)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0});null==a&&(a=!0);if(!0===a||"move"===a||"pan"===a)c.on("mousedown",e),c.on("mousemove",f),c.on("mouseup",g);if(!0===a||"scale"===a||"zoom"===a)c.on("mousewheel",h),c.on("pinch",k)};a.disable=function(){c.off("mousedown",e);c.off("mousemove",f);c.off("mouseup",g);c.off("mousewheel",h);c.off("pinch",k)};return a}x(a,b);a.prototype.isDragging=function(){return this._dragging};a.prototype.isPinching=function(){return this._pinching};a.prototype.setPointerChecker=function(c){this.pointerChecker=c};a.prototype.dispose=function(){this.disable()};a.prototype._mousedownHandler=function(c){if(!(2===c.which||3===c.which||c.target&&c.target.draggable)){var a=c.offsetX,b=c.offsetY;this.pointerChecker&&this.pointerChecker(c,a,b)&&(this._x=a,this._y=b,this._dragging=!0)}};a.prototype._mousemoveHandler=function(c){if(this._dragging&&Lg("moveOnMouseMove",c,this._opt)&&"pinch"!==c.gestureEvent&&!bj(this._zr).globalPan){var a=c.offsetX,b=c.offsetY,f=this._x,g=this._y,h=a-f,k=b-g;this._x=a;this._y=b;this._opt.preventDefaultMouseMove&&Bc(c.event);a={dx:h,dy:k,oldX:f,oldY:g,newX:a,newY:b,isAvailableBehavior:null};a.isAvailableBehavior=I(Lg,null,"moveOnMouseMove",c);this.trigger("pan",a)}};a.prototype._mouseupHandler=function(c){2!==c.which&&3!==c.which&&(this._dragging=!1)};a.prototype._mousewheelHandler=function(c){var a=Lg("zoomOnMouseWheel",c,this._opt),b=Lg("moveOnMouseWheel",c,this._opt),f=c.wheelDelta,g=Math.abs(f),h=c.offsetX,k=c.offsetY;0!==f&&(a||b)&&(a&&(a=3<g?1.4:1<g?1.2:1.1,Hm(this,"zoom","zoomOnMouseWheel",c,{scale:0<f?a:1/a,originX:h,originY:k,isAvailableBehavior:null})),b&&(b=Math.abs(f),Hm(this,"scrollMove","moveOnMouseWheel",c,{scrollDelta:(0<f?1:-1)*(3<b?.4:1<b?.15:.05),originX:h,originY:k,isAvailableBehavior:null})))};a.prototype._pinchHandler=function(c){bj(this._zr).globalPan||Hm(this,"zoom",null,c,{scale:1<c.pinchScale?1.1:1/1.1,originX:c.pinchX,originY:c.pinchY,isAvailableBehavior:null})};return a}($b),zD={axisPointer:1,tooltip:1,brush:1},Km=[126,25],bc=[[[0,3.5],[7,11.2],[15,11.9],[30,7],[42,.7],[52,.7],[56,7.7],[59,.7],[64,.7],[64,0],[5,0],[0,3.5]],[[13,16.1],[19,14.7],[16,21.7],[11,23.1],[13,16.1]],[[12,32.2],[14,38.5],[15,38.5],[13,32.2],[12,32.2]],[[16,47.6],[12,53.2],[13,53.2],[18,47.6],[16,47.6]],[[6,64.4],[8,70],[9,70],[8,64.4],[6,64.4]],[[23,82.6],[29,79.8],[30,79.8],[25,82.6],[23,82.6]],[[37,70.7],[43,62.3],[44,62.3],[39,70.7],[37,70.7]],[[48,51.1],[51,45.5],[53,45.5],[50,51.1],[48,51.1]],[[51,35],[51,28.7],[53,28.7],[53,35],[51,35]],[[52,22.4],[55,17.5],[56,17.5],[53,22.4],[52,22.4]],[[58,12.6],[62,7],[63,7],[60,12.6],[58,12.6]],[[0,3.5],[0,93.1],[64,93.1],[64,0],[63,0],[63,92.4],[1,92.4],[1,3.5],[0,3.5]]],gc=0;gc<bc.length;gc++)for(var Ac=0;Ac<bc[gc].length;Ac++)bc[gc][Ac][0]/=10.5,bc[gc][Ac][1]/=-14,bc[gc][Ac][0]+=Km[0],bc[gc][Ac][1]+=Km[1];var DK={"\u5357\u6d77\u8bf8\u5c9b":[32,80],"\u5e7f\u4e1c":[0,-10],"\u9999\u6e2f":[10,5],"\u6fb3\u95e8":[-10,10],"\u5929\u6d25":[5,5]},EK={Russia:[100,60],"United States":[-99,38],"United States of America":[-99,38]},FK=[[[123.45165252685547,25.73527164402261],[123.49731445312499,25.73527164402261],[123.49731445312499,25.750734064600884],[123.45165252685547,25.750734064600884],[123.45165252685547,25.73527164402261]]],pz=ma(),od=/[\s,]+/,qz,GD=function(){function b(){this._defs={};this._root=null;this._isText=this._isDefine=!1}b.prototype.parse=function(a,c){c=c||{};var b=xs(a);if(!b)throw Error("Illegal svg");var e=new M;this._root=e;var f=b.getAttribute("viewBox")||"",g=parseFloat(b.getAttribute("width")||c.width),h=parseFloat(b.getAttribute("height")||c.height);isNaN(g)&&(g=null);isNaN(h)&&(h=null);wb(b,e,null,!0);for(b=b.firstChild;b;)this._parseNode(b,e),b=b.nextSibling;var k,l;f&&(f=Va(f).split(od),4<=f.length&&(k={x:parseFloat(f[0]||0),y:parseFloat(f[1]||0),width:parseFloat(f[2]),height:parseFloat(f[3])}));k&&null!=g&&null!=h&&(l=su(k,g,h),c.ignoreViewBox||(f=e,e=new M,e.add(f),f.scaleX=f.scaleY=l.scale,f.x=l.x,f.y=l.y));c.ignoreRootClip||null==g||null==h||e.setClipPath(new Z({shape:{x:0,y:0,width:g,height:h}}));return{root:e,width:g,height:h,viewBoxRect:k,viewBoxTransform:l}};b.prototype._parseNode=function(a,c){var b=a.nodeName.toLowerCase();"defs"===b?this._isDefine=!0:"text"===b&&(this._isText=!0);var e;if(this._isDefine){var f=GK[b];if(f){var f=f.call(this,a),g=a.getAttribute("id");g&&(this._defs[g]=f)}}else if(f=qz[b])e=f.call(this,a,c),c.add(e);if(e)for(f=a.firstChild;f;)1===f.nodeType&&this._parseNode(f,e),3===f.nodeType&&this._isText&&this._parseText(f,e),f=f.nextSibling;"defs"===b?this._isDefine=!1:"text"===b&&(this._isText=!1)};b.prototype._parseText=function(a,c){if(1===a.nodeType){var b=a.getAttribute("dx")||0,e=a.getAttribute("dy")||0;this._textX+=parseFloat(b);this._textY+=parseFloat(e)}b=new Vd({style:{text:a.textContent},x:this._textX||0,y:this._textY||0});Jb(c,b);wb(a,b,this._defs);var e=b.style,f=e.fontSize;f&&9>f&&(e.fontSize=9,b.scaleX*=f/9,b.scaleY*=f/9);f=(e.fontSize||e.fontFamily)&&[e.fontStyle,e.fontWeight,(e.fontSize||12)+"px",e.fontFamily||"sans-serif"].join(" ");e.font=f;e=b.getBoundingRect();this._textX+=e.width;c.add(b);return b};b.internalField=function(){qz={g:function(a,c){var b=new M;Jb(c,b);wb(a,b,this._defs);return b},rect:function(a,c){var b=new Z;Jb(c,b);wb(a,b,this._defs);b.setShape({x:parseFloat(a.getAttribute("x")||"0"),y:parseFloat(a.getAttribute("y")||"0"),width:parseFloat(a.getAttribute("width")||"0"),height:parseFloat(a.getAttribute("height")||"0")});return b},circle:function(a,c){var b=new Nb;Jb(c,b);wb(a,b,this._defs);b.setShape({cx:parseFloat(a.getAttribute("cx")||"0"),cy:parseFloat(a.getAttribute("cy")||"0"),r:parseFloat(a.getAttribute("r")||"0")});return b},line:function(a,c){var b=new Ua;Jb(c,b);wb(a,b,this._defs);b.setShape({x1:parseFloat(a.getAttribute("x1")||"0"),y1:parseFloat(a.getAttribute("y1")||"0"),x2:parseFloat(a.getAttribute("x2")||"0"),y2:parseFloat(a.getAttribute("y2")||"0")});return b},ellipse:function(a,c){var b=new nh;Jb(c,b);wb(a,b,this._defs);b.setShape({cx:parseFloat(a.getAttribute("cx")||"0"),cy:parseFloat(a.getAttribute("cy")||"0"),rx:parseFloat(a.getAttribute("rx")||"0"),ry:parseFloat(a.getAttribute("ry")||"0")});return b},polygon:function(a,c){var b=a.getAttribute("points"),e;b&&(e=pu(b));b=new bb({shape:{points:e||[]}});Jb(c,b);wb(a,b,this._defs);return b},polyline:function(a,c){var b=new Y;Jb(c,b);wb(a,b,this._defs);var b=a.getAttribute("points"),e;b&&(e=pu(b));return new kb({shape:{points:e||[]}})},image:function(a,c){var b=new Ga;Jb(c,b);wb(a,b,this._defs);b.setStyle({image:a.getAttribute("xlink:href"),x:+a.getAttribute("x"),y:+a.getAttribute("y"),width:+a.getAttribute("width"),height:+a.getAttribute("height")});return b},text:function(a,c){var b=a.getAttribute("x")||"0",e=a.getAttribute("y")||"0",f=a.getAttribute("dx")||"0",g=a.getAttribute("dy")||"0";this._textX=parseFloat(b)+parseFloat(f);this._textY=parseFloat(e)+parseFloat(g);b=new M;Jb(c,b);wb(a,b,this._defs);return b},tspan:function(a,c){var b=a.getAttribute("x"),e=a.getAttribute("y");null!=b&&(this._textX=parseFloat(b));null!=e&&(this._textY=parseFloat(e));var b=a.getAttribute("dx")||0,e=a.getAttribute("dy")||0,f=new M;Jb(c,f);wb(a,f,this._defs);this._textX+=b;this._textY+=e;return f},path:function(a,c){var b=a.getAttribute("d")||"",b=new vl(tl(b,void 0));Jb(c,b);wb(a,b,this._defs);return b}}}();return b}(),GK={lineargradient:function(b){var a=parseInt(b.getAttribute("x1")||"0",10),c=parseInt(b.getAttribute("y1")||"0",10),d=parseInt(b.getAttribute("x2")||"10",10),e=parseInt(b.getAttribute("y2")||"0",10),a=new mf(a,c,d,e);for(b=b.firstChild;b;)1===b.nodeType&&(c=b.getAttribute("offset"),c=0<c.indexOf("%")?parseInt(c,10)/100:c?parseFloat(c):0,d=b.getAttribute("stop-color")||"#000000",a.colorStops.push({offset:c,color:d})),b=b.nextSibling;return a}},qf={fill:"fill",stroke:"stroke","stroke-width":"lineWidth",opacity:"opacity","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","stroke-dasharray":"lineDash","stroke-dashoffset":"lineDashOffset","stroke-linecap":"lineCap","stroke-linejoin":"lineJoin","stroke-miterlimit":"miterLimit","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","text-align":"textAlign","alignment-baseline":"textBaseline"},ED=/url\(\s*#(.*?)\)/,FD=/(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.e,]*)\)/g,ru=/([^\s:;]+)\s*:\s*([^:;]+)/g,Mf=ma(),np={geoJSON:{load:function(b,a,c){var d=pz(a).parsed;if(d)return d;var e=a.specialAreas||{},d=a.geoJSON,f;try{f=d?sm(d,c):[]}catch(g){throw Error("Invalid geoJson format\n"+g.message);}AD(b,f);r(f,function(c){var a=c.name;if("china"===b){var d=DK[c.name];if(d){var f=c.center;f[0]+=d[0]/10.5;f[1]+=-d[1]/14}}"world"===b&&(d=EK[c.name])&&(f=c.center,f[0]=d[0],f[1]=d[1]);"china"===b&&"\u53f0\u6e7e"===c.name&&c.geometries.push({type:"polygon",exterior:FK[0]});(a=e[a])&&c.transformTo(a.left,a.top,a.width,a.height)});return pz(a).parsed={regions:f,boundingRect:BD(f)}}},svg:{load:function(b,a){var c=Mf(a).originRoot;if(c)return{root:c,boundingRect:Mf(a).boundingRect};c=tu(a);Mf(a).originRoot=c.root;Mf(a).boundingRect=c.boundingRect;return c},makeGraphic:function(b,a,c){b=Mf(a);var d=b.rootMap||(b.rootMap=R()),e=d.get(c);if(e)return e;var e=b.originRoot,f=b.boundingRect;b.originRootHostKey?e=tu(a,f).root:b.originRootHostKey=c;return d.set(c,e)},removeGraphic:function(b,a,c){b=Mf(a);(a=b.rootMap)&&a.removeKey(c);c===b.originRootHostKey&&(b.originRootHostKey=null)}}},Ih={load:function(b,a,c){var d=[],e=R(),f=R(),g,h=Lm(b);r(h,function(h){h=np[h.type].load(b,h,c);r(h.regions,function(c){var b=c.name;a&&a.hasOwnProperty(b)&&(c=c.cloneShallow(b=a[b]));d.push(c);e.set(b,c);f.set(b,c.center)});(h=h.boundingRect)&&(g?g.union(h):g=h.clone())});return{regions:d,regionsMap:e,nameCoordMap:f,boundingRect:g||new aa(0,0,0,0)}},makeGraphic:function(b,a){var c=Lm(b),d=[];r(c,function(c){var e=np[c.type].makeGraphic;e&&d.push(e(b,c,a))});return d},removeGraphic:function(b,a){var c=Lm(b);r(c,function(c){var d=np[c.type].makeGraphic;d&&d(b,c,a)})}},rz=function(){function b(a){var c=new M;this.uid=$e("ec_map_draw");this._controller=new fh(a.getZr());this._controllerHost={target:c};this.group=c;c.add(this._regionsGroup=new M);c.add(this._backgroundGroup=new M)}b.prototype.draw=function(a,c,b,e,f){var d="geo"===a.mainType,h=a.getData&&a.getData();d&&c.eachComponent({mainType:"series",subType:"map"},function(c){h||c.getHostGeoModel()!==a||(h=c.getData())});var k=a.coordinateSystem;this._updateBackground(k);var l=this._regionsGroup,m=this.group,n=k.getTransformInfo(),p=!l.childAt(0)||f,q,t;if(p)m.transform=n.roamTransform,m.decomposeTransform(),m.dirty();else{f=new Dc;f.transform=n.roamTransform;f.decomposeTransform();var u={scaleX:f.scaleX,scaleY:f.scaleY,x:f.x,y:f.y};q=f.scaleX;t=f.scaleY;ea(m,u,a)}l.removeAll();var w=R(),v=h&&h.getVisual("visualMeta")&&0<h.getVisual("visualMeta").length;r(k.regions,function(c){var e=w.get(c.name)||w.set(c.name,new M),f=new Io({segmentIgnoreThreshold:1,shape:{paths:[]}});e.add(f);var g=a.getRegionModel(c.name)||a,k=g.getModel("itemStyle"),u=g.getModel("emphasis"),z=u.getModel("itemStyle"),x=g.getModel(["blur","itemStyle"]),A=g.getModel(["select","itemStyle"]),k=dj(k),z=dj(z),x=dj(x),A=dj(A),C;if(h){C=h.indexOfName(c.name);var F=h.getItemVisual(C,"style"),H=h.getItemVisual(C,"decal");v&&F.fill&&(k.fill=F.fill);H&&(k.decal=yg(H,b))}var I=n.rawScaleX,J=n.rawScaleY,K=n.rawX,N=n.rawY,O=function(c){return[c[0]*I+K,c[1]*J+N]};r(c.geometries,function(c){if("polygon"===c.type){for(var a=[],b=0;b<c.exterior.length;++b)a.push(O(c.exterior[b]));f.shape.paths.push(new bb({segmentIgnoreThreshold:1,shape:{points:a}}));for(b=0;b<(c.interiors?c.interiors.length:0);++b){for(var a=c.interiors[b],d=[],e=0;e<a.length;++e)d.push(O(a[e]));f.shape.paths.push(new bb({segmentIgnoreThreshold:1,shape:{points:d}}))}}});f.setStyle(k);f.style.strokeNoScale=!0;f.culling=!0;f.ensureState("emphasis").style=z;f.ensureState("blur").style=x;f.ensureState("select").style=A;k=!1;for(z=0;z<Nd.length;z++)if(A=Nd[z],g.get("normal"===A?["label","show"]:[A,"label","show"])){k=!0;break}z=h&&isNaN(h.get(h.mapDimension("value"),C));A=h&&h.getItemLayout(C);if(d||z&&k||A&&A.showLabel){k=d?c.name:C;z=void 0;if(!h||0<=C)z=a;A=O(c.center);A=new ha({x:A[0],y:A[1],scaleX:1/m.scaleX,scaleY:1/m.scaleY,z2:10,silent:!0});cb(A,Ra(g),{labelFetcher:z,labelDataIndex:k,defaultText:c.name},{normal:{align:"center",verticalAlign:"middle"}});f.setTextContent(A);f.setTextConfig({local:!0});f.disableLabelAnimation=!0;p||ea(A,{scaleX:1/q,scaleY:1/t},a)}h?h.setItemGraphicEl(C,e):(g=a.getRegionModel(c.name),S(f).eventData={componentType:"geo",componentIndex:a.componentIndex,geoIndex:a.componentIndex,name:c.name,region:g&&g.option||{}});(e.__regions||(e.__regions=[])).push(c);e.highDownSilentOnTouch=!!a.get("selectedMode");va(e,u.get("focus"),u.get("blurScope"));l.add(e)});this._updateController(a,c,b);this._updateMapSelectHandler(a,l,b,e)};b.prototype.remove=function(){this._regionsGroup.removeAll();this._backgroundGroup.removeAll();this._controller.dispose();this._mapName&&Ih.removeGraphic(this._mapName,this.uid);this._controllerHost=this._mapName=null};b.prototype._updateBackground=function(a){a=a.map;this._mapName!==a&&r(Ih.makeGraphic(a,this.uid),function(c){this._backgroundGroup.add(c)},this);this._mapName=a};b.prototype._updateController=function(a,c,b){function d(){var c={type:"geoRoam",componentType:h};c[h+"Id"]=a.id;return c}var f=a.coordinateSystem;c=this._controller;var g=this._controllerHost;g.zoomLimit=a.get("scaleLimit");g.zoom=f.getZoom();c.enable(a.get("roam")||!1);var h=a.mainType;c.off("pan").on("pan",function(c){this._mouseDownFlag=!1;Im(g,c.dx,c.dy);b.dispatchAction(F(d(),{dx:c.dx,dy:c.dy}))},this);c.off("zoom").on("zoom",function(c){this._mouseDownFlag=!1;Jm(g,c.scale,c.originX,c.originY);b.dispatchAction(F(d(),{zoom:c.scale,originX:c.originX,originY:c.originY}));var a=this.group;this._regionsGroup.traverse(function(c){if(c=c.getTextContent())c.scaleX=1/a.scaleX,c.scaleY=1/a.scaleY,c.markRedraw()})},this);c.setPointerChecker(function(c,d,e){return f.getViewRectAfterRoam().contain(d,e)&&!cj(c,b,a)})};b.prototype._updateMapSelectHandler=function(a,c,b,e){var d=this;c.off("mousedown");a.get("selectedMode")&&(c.on("mousedown",function(){d._mouseDownFlag=!0}),c.on("click",function(c){d._mouseDownFlag&&(d._mouseDownFlag=!1)}))};return b}(),HK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(c,a,b,f){if(!f||"mapToggleSelect"!==f.type||f.from!==this.uid){var d=this.group;d.removeAll();if(!c.getHostGeoModel()){if(f&&"geoRoam"===f.type&&"series"===f.componentType&&f.seriesId===c.id)(e=this._mapDraw)&&d.add(e.group);else if(c.needsDrawMap){var e=this._mapDraw||new rz(b);d.add(e.group);e.draw(c,a,b,this,f);this._mapDraw=e}else this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;c.get("showLegendSymbol")&&a.getComponent("legend")&&this._renderSymbols(c,a,b)}}};a.prototype.remove=function(){this._mapDraw&&this._mapDraw.remove();this._mapDraw=null;this.group.removeAll()};a.prototype.dispose=function(){this._mapDraw&&this._mapDraw.remove();this._mapDraw=null};a.prototype._renderSymbols=function(c,a,b){var d=c.originalData,e=this.group;d.each(d.mapDimension("value"),function(a,b){if(!isNaN(a)){var f=d.getItemLayout(b);if(f&&f.point){var g=f.point,f=f.offset,h=new Nb({style:{fill:c.getData().getVisual("style").fill},shape:{cx:g[0]+9*f,cy:g[1],r:3},silent:!0,z2:8+(f?0:11)});if(!f){var g=c.mainSeries.getData(),f=d.getName(b),k=g.indexOfName(f),f=d.getItemModel(b),q=f.getModel("label"),g=g.getItemGraphicEl(k);cb(h,Ra(f),{labelFetcher:{getFormattedLabel:function(a,b){return c.getFormattedLabel(k,b)}}});h.disableLabelAnimation=!0;q.get("position")||h.setTextConfig({position:"bottom"});g.onHoverStateChange=function(c){h.useState(c)}}e.add(h)}}})};a.type="map";return a}(oa),IK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.needsDrawMap=!1;c.seriesGroup=[];c.getTooltipPosition=function(c){if(null!=c){var a=this.getData().getName(c);c=this.coordinateSystem;return(a=c.getRegion(a))&&c.dataToPoint(a.center)}};return c}x(a,b);a.prototype.getInitialData=function(c){c=of(this,{coordDimensions:["value"],encodeDefaulter:P(Il,this)});for(var a=R(),b=[],f=0,g=c.count();f<g;f++){var h=c.getName(f);a.set(h,!0)}f=Ih.load(this.getMapType(),this.option.nameMap,this.option.nameProperty);r(f.regions,function(c){c=c.name;a.get(c)||b.push(c)});c.appendValues([],b);return c};a.prototype.getHostGeoModel=function(){var c=this.option.geoIndex;return null!=c?this.ecModel.getComponent("geo",c):null};a.prototype.getMapType=function(){return(this.getHostGeoModel()||this).option.map};a.prototype.getRawValue=function(c){var a=this.getData();return a.get(a.mapDimension("value"),c)};a.prototype.getRegionModel=function(c){var a=this.getData();return a.getItemModel(a.indexOfName(c))};a.prototype.formatTooltip=function(c,a,b){a=this.getData();b=this.getRawValue(c);c=a.getName(c);for(var d=this.seriesGroup,e=[],h=0;h<d.length;h++){var k=d[h].originalData.indexOfName(c),l=a.mapDimension("value");isNaN(d[h].originalData.get(l,k))||e.push(d[h].name)}return Ha("section",{header:e.join(", "),noHeader:!e.length,blocks:[Ha("nameValue",{name:c,value:b})]})};a.prototype.setZoom=function(c){this.option.zoom=c};a.prototype.setCenter=function(c){this.option.center=c};a.type="series.map";a.dependencies=["geo"];a.layoutMode="box";a.defaultOption={zlevel:0,z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:.75,showLegendSymbol:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,selectedMode:!0,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}},select:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},nameProperty:"name"};return a}(ra),tf=function(b){function a(c){var a=b.call(this)||this;a.type="view";a.dimensions=["x","y"];a._roamTransformable=new Dc;a._rawTransformable=new Dc;a.name=c;return a}x(a,b);a.prototype.setBoundingRect=function(c,a,b,f){return this._rect=new aa(c,a,b,f)};a.prototype.getBoundingRect=function(){return this._rect};a.prototype.setViewRect=function(c,a,b,f){this.transformTo(c,a,b,f);this._viewRect=new aa(c,a,b,f)};a.prototype.transformTo=function(c,a,b,f){var d=this.getBoundingRect(),e=this._rawTransformable;e.transform=d.calculateTransform(new aa(c,a,b,f));e.decomposeTransform();this._updateTransform()};a.prototype.setCenter=function(c){c&&(this._center=c,this._updateCenterAndZoom())};a.prototype.setZoom=function(c){c=c||1;var a=this.zoomLimit;a&&(null!=a.max&&(c=Math.min(a.max,c)),null!=a.min&&(c=Math.max(a.min,c)));this._zoom=c;this._updateCenterAndZoom()};a.prototype.getDefaultCenter=function(){var c=this.getBoundingRect();return[c.x+c.width/2,c.y+c.height/2]};a.prototype.getCenter=function(){return this._center||this.getDefaultCenter()};a.prototype.getZoom=function(){return this._zoom||1};a.prototype.getRoamTransform=function(){return this._roamTransformable.getLocalTransform()};a.prototype._updateCenterAndZoom=function(){var c=this._rawTransformable.getLocalTransform(),a=this._roamTransformable,b=this.getDefaultCenter(),f=this.getCenter(),g=this.getZoom(),f=Qa([],f,c),b=Qa([],b,c);a.originX=f[0];a.originY=f[1];a.x=b[0]-f[0];a.y=b[1]-f[1];a.scaleX=a.scaleY=g;this._updateTransform()};a.prototype._updateTransform=function(){var c=this._roamTransformable,a=this._rawTransformable;a.parent=c;c.updateTransform();a.updateTransform();Je(this.transform||(this.transform=[]),a.transform||nb());this._rawTransform=a.getLocalTransform();this.invTransform=this.invTransform||[];Ke(this.invTransform,this.transform);this.decomposeTransform()};a.prototype.getTransformInfo=function(){var c=this._roamTransformable.transform,a=this._rawTransformable;return{roamTransform:c?Nf(c):nb(),rawScaleX:a.scaleX,rawScaleY:a.scaleY,rawX:a.x,rawY:a.y}};a.prototype.getViewRect=function(){return this._viewRect};a.prototype.getViewRectAfterRoam=function(){var c=this.getBoundingRect().clone();c.applyTransform(this.transform);return c};a.prototype.dataToPoint=function(c,a,b){a=a?this._rawTransform:this.transform;b=b||[];return a?Qa(b,c,a):Na(b,c)};a.prototype.pointToData=function(c){var a=this.invTransform;return a?Qa([],c,a):[c[0],c[1]]};a.prototype.convertToPixel=function(c,a,b){c=vu(a);return c===this?c.dataToPoint(b):null};a.prototype.convertFromPixel=function(c,a,b){c=vu(a);return c===this?c.pointToData(b):null};a.prototype.containPoint=function(c){return this.getViewRectAfterRoam().contain(c[0],c[1])};a.dimensions=["x","y"];return a}(Dc),JK=function(){return function(){this.parentPoint=[];this.childPoints=[]}}(),QD=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}};a.prototype.getDefaultShape=function(){return new JK};a.prototype.buildPath=function(c,a){var b=a.childPoints,d=b.length,g=a.parentPoint,h=b[0],k=b[d-1];if(1===d)c.moveTo(g[0],g[1]),c.lineTo(h[0],h[1]);else{var l=a.orient,l="TB"===l||"BT"===l?0:1,m=1-l,n=H(a.forkPosition,1),p=[];p[l]=g[l];p[m]=g[m]+(k[m]-g[m])*n;c.moveTo(g[0],g[1]);c.lineTo(p[0],p[1]);c.moveTo(h[0],h[1]);p[l]=h[l];c.lineTo(p[0],p[1]);p[l]=k[l];c.lineTo(p[0],p[1]);c.lineTo(k[0],k[1]);for(g=1;g<d-1;g++)h=b[g],c.moveTo(h[0],h[1]),p[l]=h[l],c.lineTo(p[0],p[1])}};return a}(Y),KK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c._mainGroup=new M;return c}x(a,b);a.prototype.init=function(c,a){this._controller=new fh(a.getZr());this._controllerHost={target:this.group};this.group.add(this._mainGroup)};a.prototype.render=function(c,a,b){var d=c.getData(),e=c.layoutInfo,h=this._mainGroup;"radial"===c.get("layout")?(h.x=e.x+e.width/2,h.y=e.y+e.height/2):(h.x=e.x,h.y=e.y);this._updateViewCoordSys(c);this._updateController(c,a,b);var k=this._data;d.diff(k).add(function(a){wu(d,a)&&xu(d,a,null,h,c)}).update(function(a,b){var e=k.getItemGraphicEl(b);wu(d,a)?xu(d,a,e,h,c):e&&yu(k,b,e,h,c)}).remove(function(a){var b=k.getItemGraphicEl(a);b&&yu(k,a,b,h,c)}).execute();this._nodeScaleRatio=c.get("nodeScaleRatio");this._updateNodeAndLinkScale(c);!0===c.get("expandAndCollapse")&&d.eachItemGraphicEl(function(a,d){a.off("click").on("click",function(){b.dispatchAction({type:"treeExpandAndCollapse",seriesId:c.id,dataIndex:d})})});this._data=d};a.prototype._updateViewCoordSys=function(c){var a=c.getData(),b=[];a.each(function(c){c=a.getItemLayout(c);!c||isNaN(c.x)||isNaN(c.y)||b.push([+c.x,+c.y])});var f=[],g=[];hl(b,f,g);var h=this._min,k=this._max;0===g[0]-f[0]&&(f[0]=h?h[0]:f[0]-1,g[0]=k?k[0]:g[0]+1);0===g[1]-f[1]&&(f[1]=h?h[1]:f[1]-1,g[1]=k?k[1]:g[1]+1);h=c.coordinateSystem=new tf;h.zoomLimit=c.get("scaleLimit");h.setBoundingRect(f[0],f[1],g[0]-f[0],g[1]-f[1]);h.setCenter(c.get("center"));h.setZoom(c.get("zoom"));this.group.attr({x:h.x,y:h.y,scaleX:h.scaleX,scaleY:h.scaleY});this._min=f;this._max=g};a.prototype._updateController=function(c,a,b){var d=this;a=this._controller;var e=this._controllerHost,h=this.group;a.setPointerChecker(function(a,d,e){var f=h.getBoundingRect();f.applyTransform(h.transform);return f.contain(d,e)&&!cj(a,b,c)});a.enable(c.get("roam"));e.zoomLimit=c.get("scaleLimit");e.zoom=c.coordinateSystem.getZoom();a.off("pan").off("zoom").on("pan",function(a){Im(e,a.dx,a.dy);b.dispatchAction({seriesId:c.id,type:"treeRoam",dx:a.dx,dy:a.dy})}).on("zoom",function(a){Jm(e,a.scale,a.originX,a.originY);b.dispatchAction({seriesId:c.id,type:"treeRoam",zoom:a.scale,originX:a.originX,originY:a.originY});d._updateNodeAndLinkScale(c);b.updateLabelLayout()})};a.prototype._updateNodeAndLinkScale=function(c){var a=c.getData(),b=this._getNodeGlobalScale(c);a.eachItemGraphicEl(function(c,a){c.setSymbolScale(b)})};a.prototype._getNodeGlobalScale=function(c){c=c.coordinateSystem;if("view"!==c.type)return 1;var a=this._nodeScaleRatio,b=c.scaleX||1;return((c.getZoom()-1)*a+1)/b};a.prototype.dispose=function(){this._controller&&this._controller.dispose();this._controllerHost=null};a.prototype.remove=function(){this._mainGroup.removeAll();this._data=null};a.type="tree";return a}(oa),Kb=ma(),LK=function(){function b(a,c){this.height=this.depth=0;this.dataIndex=-1;this.children=[];this.viewChildren=[];this.isExpand=!1;this.name=a||"";this.hostTree=c}b.prototype.isRemoved=function(){return 0>this.dataIndex};b.prototype.eachNode=function(a,c,b){"function"===typeof a&&(b=c,c=a,a=null);a=a||{};da(a)&&(a={order:a});var d=a.order||"preorder",f=this[a.attr||"children"],g;"preorder"===d&&(g=c.call(b,this));for(var h=0;!g&&h<f.length;h++)f[h].eachNode(a,c,b);"postorder"===d&&c.call(b,this)};b.prototype.updateDepthAndHeight=function(a){var c=0;this.depth=a;for(var b=0;b<this.children.length;b++){var e=this.children[b];e.updateDepthAndHeight(a+1);e.height>c&&(c=e.height)}this.height=c+1};b.prototype.getNodeById=function(a){if(this.getId()===a)return this;for(var c=0,b=this.children,e=b.length;c<e;c++){var f=b[c].getNodeById(a);if(f)return f}};b.prototype.contains=function(a){if(a===this)return!0;for(var c=0,b=this.children,e=b.length;c<e;c++){var f=b[c].contains(a);if(f)return f}};b.prototype.getAncestors=function(a){var c=[];for(a=a?this:this.parentNode;a;)c.push(a),a=a.parentNode;c.reverse();return c};b.prototype.getAncestorsIndices=function(){for(var a=[],c=this;c;)a.push(c.dataIndex),c=c.parentNode;a.reverse();return a};b.prototype.getDescendantIndices=function(){var a=[];this.eachNode(function(c){a.push(c.dataIndex)});return a};b.prototype.getValue=function(a){var c=this.hostTree.data;return c.get(c.getDimension(a||"value"),this.dataIndex)};b.prototype.setLayout=function(a,c){0<=this.dataIndex&&this.hostTree.data.setItemLayout(this.dataIndex,a,c)};b.prototype.getLayout=function(){return this.hostTree.data.getItemLayout(this.dataIndex)};b.prototype.getModel=function(a){if(!(0>this.dataIndex))return this.hostTree.data.getItemModel(this.dataIndex).getModel(a)};b.prototype.getLevelModel=function(){return(this.hostTree.levelModels||[])[this.depth]};b.prototype.setVisual=function(a,c){0<=this.dataIndex&&this.hostTree.data.setItemVisual(this.dataIndex,a,c)};b.prototype.getVisual=function(a){return this.hostTree.data.getItemVisual(this.dataIndex,a)};b.prototype.getRawIndex=function(){return this.hostTree.data.getRawIndex(this.dataIndex)};b.prototype.getId=function(){return this.hostTree.data.getId(this.dataIndex)};b.prototype.isAncestorOf=function(a){for(a=a.parentNode;a;){if(a===this)return!0;a=a.parentNode}return!1};b.prototype.isDescendantOf=function(a){return a!==this&&a.isAncestorOf(this)};return b}(),op=function(){function b(a){this.type="tree";this._nodes=[];this.hostModel=a}b.prototype.eachNode=function(a,c,b){this.root.eachNode(a,c,b)};b.prototype.getNodeByDataIndex=function(a){a=this.data.getRawIndex(a);return this._nodes[a]};b.prototype.getNodeById=function(a){return this.root.getNodeById(a)};b.prototype.update=function(){for(var a=this.data,c=this._nodes,b=0,e=c.length;b<e;b++)c[b].dataIndex=-1;b=0;for(e=a.count();b<e;b++)c[a.getRawIndex(b)].dataIndex=b};b.prototype.clearLayouts=function(){this.data.clearItemLayouts()};b.createTree=function(a,c,d){function e(c,a){var b=c.value;h=Math.max(h,A(b)?b.length:1);g.push(c);b=new LK(Ea(c.name,""),f);a?b.parentNode!==a&&(a.children.push(b),b.parentNode=a):f.root=b;f._nodes.push(b);var d=c.children;if(d)for(var k=0;k<d.length;k++)e(d[k],b)}var f=new b(c),g=[],h=1;e(a);f.root.updateDepthAndHeight(0);a=gf(g,{coordDimensions:["value"],dimensionsCount:h});c=new Wa(a,c);c.initData(g);d&&d(c);zu({mainData:c,struct:f,structAttr:"tree"});f.update();return f};return b}(),MK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.hasSymbolVisual=!0;c.ignoreStyleOnData=!0;return c}x(a,b);a.prototype.getInitialData=function(c){var a={name:c.name,children:c.data},b=new la(c.leaves||{},this,this.ecModel),f=op.createTree(a,this,function(c){c.wrapMethod("getItemModel",function(c,a){var d=f.getNodeByDataIndex(a);d.children.length&&d.isExpand||(c.parentModel=b);return c})}),g=0;f.eachNode("preorder",function(c){c.depth>g&&(g=c.depth)});var h=c.expandAndCollapse&&0<=c.initialTreeDepth?c.initialTreeDepth:g;f.root.eachNode("preorder",function(c){var a=c.hostTree.data.getRawDataItem(c.dataIndex);c.isExpand=a&&null!=a.collapsed?!a.collapsed:c.depth<=h});return f.data};a.prototype.getOrient=function(){var c=this.get("orient");"horizontal"===c?c="LR":"vertical"===c&&(c="TB");return c};a.prototype.setZoom=function(c){this.option.zoom=c};a.prototype.setCenter=function(c){this.option.center=c};a.prototype.formatTooltip=function(c,a,b){b=this.getData().tree;a=b.root.children[0];c=b.getNodeByDataIndex(c);b=c.getValue();for(var d=c.name;c&&c!==a;)d=c.parentNode.name+"."+d,c=c.parentNode;return Ha("nameValue",{name:d,value:b,noValue:isNaN(b)||null==b})};a.type="series.tree";a.layoutMode="box";a.defaultOption={zlevel:0,z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",edgeShape:"curve",edgeForkPosition:"50%",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderColor:"#c23531",borderWidth:1.5},label:{show:!0},animationEasing:"linear",animationDuration:700,animationDurationUpdate:500};return a}(ra),bE=function(){},Cu=["treemapZoomToNode","treemapRender","treemapMove"],NK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.preventUsingHoverLayer=!0;return c}x(a,b);a.prototype.getInitialData=function(c,a){var b={name:c.name,children:c.data};Eu(b);var d=c.levels||[],g=this.designatedVisualItemStyle={},h=new la({itemStyle:g},this,a),d=c.levels=cE(d,a),k=C(d||[],function(c){return new la(c,h,a)},this),l=op.createTree(b,this,function(c){c.wrapMethod("getItemModel",function(c,a){var b=l.getNodeByDataIndex(a);c.parentModel=k[b.depth]||h;return c})});return l.data};a.prototype.optionUpdated=function(){this.resetViewRoot()};a.prototype.formatTooltip=function(c,a,b){b=this.getData();a=this.getRawValue(c);c=b.getName(c);return Ha("nameValue",{name:c,value:a})};a.prototype.getDataParams=function(c){var a=b.prototype.getDataParams.apply(this,arguments),e=this.getData().tree.getNodeByDataIndex(c);a.treePathInfo=Sm(e,this);return a};a.prototype.setLayoutInfo=function(c){this.layoutInfo=this.layoutInfo||{};F(this.layoutInfo,c)};a.prototype.mapIdToIndex=function(c){var a=this._idIndexMap;a||(a=this._idIndexMap=R(),this._idIndexMapCount=0);var b=a.get(c);null==b&&a.set(c,b=this._idIndexMapCount++);return b};a.prototype.getViewRoot=function(){return this._viewRoot};a.prototype.resetViewRoot=function(c){c?this._viewRoot=c:c=this._viewRoot;var a=this.getRawData().tree.root;if(!c||c!==a&&!a.contains(c))this._viewRoot=a};a.prototype.enableAriaDecal=function(){Du(this)};a.type="series.treemap";a.layoutMode="box";a.defaultOption={progressive:0,left:"center",top:"middle",width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"\u25b6",zoomToNodeRatio:.1024,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",textStyle:{color:"#fff"}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",overflow:"truncate"},upperLabel:{show:!1,position:[0,"50%"],height:20,overflow:"truncate",verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],ellipsis:!0,verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]};return a}(ra),OK=function(){function b(a){this.group=new M;a.add(this.group)}b.prototype.render=function(a,c,b,e){var d=a.getModel("breadcrumb"),g=this.group;g.removeAll();if(d.get("show")&&b){var h=d.getModel("itemStyle"),k=h.getModel("textStyle");c={pos:{left:d.get("left"),right:d.get("right"),top:d.get("top"),bottom:d.get("bottom")},box:{width:c.getWidth(),height:c.getHeight()},emptyItemWidth:d.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(b,c,k);this._renderContent(a,c,h,k,e);Bi(g,c.pos,c.box)}};b.prototype._prepare=function(a,c,b){for(;a;a=a.parentNode){var d=Ea(a.getModel().get("name"),""),f=b.getTextRect(d),f=Math.max(f.width+16,c.emptyItemWidth);c.totalWidth+=f+8;c.renderList.push({node:a,text:d,width:f})}};b.prototype._renderContent=function(a,c,b,e,f){var d,h=0,k=c.emptyItemWidth,l=a.get(["breadcrumb","height"]);d=c.pos;var m=c.box,n=void 0,p=m.width,q=m.height,m=H(d.left,p),t=H(d.top,q),u=H(d.right,p),q=H(d.bottom,q);(isNaN(m)||isNaN(parseFloat(d.left)))&&(m=0);(isNaN(u)||isNaN(parseFloat(d.right)))&&(u=p);isNaN(t)||isNaN(parseFloat(d.top));isNaN(q)||isNaN(parseFloat(d.bottom));n=Od(n||0);d=Math.max(u-m-n[1]-n[3],0);n=c.totalWidth;c=c.renderList;for(p=c.length-1;0<=p;p--){u=c[p];t=u.node;m=u.width;u=u.text;n>d&&(n-=m-k,m=k,u=null);var q=h,w=l,r=p===c.length-1,z=[[r?q:q-5,0],[q+m,0],[q+m,0+w],[r?q:q-5,0+w]];0!==p&&z.splice(2,0,[q+m+5,0+w/2]);!r&&z.push([q,0+w/2]);u=new bb({shape:{points:z},style:K(b.getItemStyle(),{lineJoin:"bevel"}),textContent:new ha({style:{text:u,fill:e.getTextColor(),font:e.getFont()}}),textConfig:{position:"inside"},z:10,onclick:P(f,t)});u.disableLabelAnimation=!0;this.group.add(u);q=a;S(u).eventData={componentType:"series",componentSubType:"treemap",componentIndex:q.componentIndex,seriesIndex:q.componentIndex,seriesName:q.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:t&&t.dataIndex,name:t&&t.name},treePathInfo:t&&Sm(t,q)};h+=m+8}};b.prototype.remove=function(){this.group.removeAll()};return b}(),PK=function(){function b(){this._storage=[];this._elExistsMap={}}b.prototype.add=function(a,c,b,e,f){if(this._elExistsMap[a.id])return!1;this._elExistsMap[a.id]=!0;this._storage.push({el:a,target:c,duration:b,delay:e,easing:f});return!0};b.prototype.finished=function(a){this._finishedCallback=a;return this};b.prototype.start=function(){for(var a=this,c=this._storage.length,b=function(){c--;0>=c&&(a._storage.length=0,a._elExistsMap={},a._finishedCallback&&a._finishedCallback())},e=0,f=this._storage.length;e<f;e++){var g=this._storage[e];g.el.animateTo(g.target,{duration:g.duration,delay:g.delay,easing:g.easing,setToFinal:!0,done:b,aborted:b})}return this};return b}(),Tm=M,Gu=Z,ce=Kd([["fill","color"],["stroke","strokeColor"],["lineWidth","strokeWidth"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),Fu=function(b){b=ce(b);b.stroke=b.fill=b.lineWidth=null;return b},ej=ma(),QK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c._state="ready";c._storage=Pg();return c}x(a,b);a.prototype.render=function(c,a,b,f){var d=a.findComponents({mainType:"series",subType:"treemap",query:f});if(!(0>ba(d,c))){this.seriesModel=c;this.api=b;this.ecModel=a;a=Og(f,["treemapZoomToNode","treemapRootToNode"],c);var d=f&&f.type,e=c.layoutInfo,k=!this._oldTree,l=this._storage;f="treemapRootToNode"===d&&a&&l?{rootNodeGroup:l.nodeGroup[a.node.getRawIndex()],direction:f.direction}:null;e=this._giveContainerGroup(e);l=this._doRender(e,c,f);k||d&&"treemapZoomToNode"!==d&&"treemapRootToNode"!==d?l.renderFinally():this._doAnimation(e,l,c,f);this._resetController(b);this._renderBreadcrumb(c,b,a)}};a.prototype._giveContainerGroup=function(c){var a=this._containerGroup;a||(a=this._containerGroup=new Tm,this._initEvents(a),this.group.add(a));a.x=c.x;a.y=c.y;return a};a.prototype._doRender=function(c,a,b){function d(c,e,f,g,h){function p(c){return c.getId()}function q(p,q){var t=null!=p?c[p]:null,u=null!=q?e[q]:null,w=dE(a,l,m,b,k,n,t,u,f,h);w&&d(t&&t.viewChildren||[],u&&u.viewChildren||[],w,g,h+1)}g?(e=c,r(c,function(c,a){!c.isRemoved()&&q(a,a)})):(new sd(e,c,p,p)).add(q).update(q).remove(P(q,null)).execute()}var e=a.getData().tree,h=this._oldTree,k=Pg(),l=Pg(),m=this._storage,n=[];d(e.root?[e.root]:[],h&&h.root?[h.root]:[],c,e===h||!h,0);var p=function(c){var a=Pg();c&&r(c,function(c,b){var d=a[b];r(c,function(c){c&&(d.push(c),ej(c).willDelete=!0)})});return a}(m);this._oldTree=e;this._storage=l;return{lastsForAnimation:k,willDeleteEls:p,renderFinally:function(){r(p,function(c){r(c,function(c){c.parent&&c.parent.remove(c)})});r(n,function(c){c.invisible=!0;c.dirty()})}}};a.prototype._doAnimation=function(c,a,b,f){if(b.get("animation")){c=b.get("animationDurationUpdate");b=b.get("animationEasing");var d=(fa(c)?0:c)||0,e=(fa(b)?null:b)||"cubicOut",k=new PK;r(a.willDeleteEls,function(c,a){r(c,function(c,b){if(!c.invisible){var g=c.parent,h;h=ej(g);if(f&&"drillDown"===f.direction)h=g===f.rootNodeGroup?{shape:{x:0,y:0,width:h.nodeWidth,height:h.nodeHeight},style:{opacity:0}}:{style:{opacity:0}};else{var l=g=0;h.willDelete||(g=h.nodeWidth/2,l=h.nodeHeight/2);h="nodeGroup"===a?{x:g,y:l,style:{opacity:0}}:{shape:{x:g,y:l,width:0,height:0},style:{opacity:0}}}h&&k.add(c,h,d,0,e)}})});r(this._storage,function(c,b){r(c,function(c,f){var g=a.lastsForAnimation[b][f],h={};g&&(c instanceof M?null!=g.oldX&&(h.x=c.x,h.y=c.y,c.x=g.oldX,c.y=g.oldY):(g.oldShape&&(h.shape=F({},c.shape),c.setShape(g.oldShape)),g.fadein?(c.setStyle("opacity",0),h.style={opacity:1}):1!==c.style.opacity&&(h.style={opacity:1})),k.add(c,h,d,0,e))})},this);this._state="animating";k.finished(I(function(){this._state="ready";a.renderFinally()},this)).start()}};a.prototype._resetController=function(c){var a=this._controller;a||(a=this._controller=new fh(c.getZr()),a.enable(this.seriesModel.get("roam")),a.on("pan",I(this._onPan,this)),a.on("zoom",I(this._onZoom,this)));var b=new aa(0,0,c.getWidth(),c.getHeight());a.setPointerChecker(function(c,a,d){return b.contain(a,d)})};a.prototype._clearController=function(){var c=this._controller;c&&c.dispose()};a.prototype._onPan=function(c){if("animating"!==this._state&&(3<Math.abs(c.dx)||3<Math.abs(c.dy))){var a=this.seriesModel.getData().tree.root;a&&(a=a.getLayout())&&this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:a.x+c.dx,y:a.y+c.dy,width:a.width,height:a.height}})}};a.prototype._onZoom=function(c){var a=c.originX,b=c.originY;if("animating"!==this._state){var f=this.seriesModel.getData().tree.root;if(f&&(f=f.getLayout())){var f=new aa(f.x,f.y,f.width,f.height),g=this.seriesModel.layoutInfo,a=a-g.x,b=b-g.y,g=nb();Rb(g,g,[-a,-b]);Vh(g,g,[c.scale,c.scale]);Rb(g,g,[a,b]);f.applyTransform(g);this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:f.x,y:f.y,width:f.width,height:f.height}})}}};a.prototype._initEvents=function(c){var a=this;c.on("click",function(c){if("ready"===a._state){var b=a.seriesModel.get("nodeClick",!0);if(b&&(c=a.findTarget(c.offsetX,c.offsetY))){var d=c.node;d.getLayout().isLeafRoot?a._rootToNode(c):"zoomToNode"===b?a._zoomToNode(c):"link"===b&&(c=d.hostTree.data.getItemModel(d.dataIndex),b=c.get("link",!0),c=c.get("target",!0)||"blank",b&&Ai(b,c))}}},this)};a.prototype._renderBreadcrumb=function(c,a,b){var d=this;b||(b=null!=c.get("leafDepth",!0)?{node:c.getViewRoot()}:this.findTarget(a.getWidth()/2,a.getHeight()/2))||(b={node:c.getData().tree.root});(this._breadcrumb||(this._breadcrumb=new OK(this.group))).render(c,a,b.node,function(a){"animating"!==d._state&&(Rm(c.getViewRoot(),a)?d._rootToNode({node:a}):d._zoomToNode({node:a}))})};a.prototype.remove=function(){this._clearController();this._containerGroup&&this._containerGroup.removeAll();this._storage=Pg();this._state="ready";this._breadcrumb&&this._breadcrumb.remove()};a.prototype.dispose=function(){this._clearController()};a.prototype._zoomToNode=function(c){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:c.node})};a.prototype._rootToNode=function(c){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:c.node})};a.prototype.findTarget=function(c,a){var b;this.seriesModel.getViewRoot().eachNode({attr:"viewChildren",order:"preorder"},function(d){var e=this._storage.background[d.getRawIndex()];if(e){var f=e.transformCoordToLocal(c,a),e=e.shape;if(e.x<=f[0]&&f[0]<=e.x+e.width&&e.y<=f[1]&&f[1]<=e.y+e.height)b={node:d,offsetX:f[0],offsetY:f[1]};else return!1}},this);return b};a.type="treemap";return a}(oa),Qg=r,RK=N,La=function(){function b(a){var c=a.mappingMethod,d=a.type;a=this.option=J(a);this.type=d;this.mappingMethod=c;this._normalizeData=SK[c];d=b.visualHandlers[d];this.applyVisual=d.applyVisual;this.getColorMapper=d.getColorMapper;this._normalizedToVisual=d._normalizedToVisual[c];"piecewise"===c?(Um(a),eE(a)):"category"===c?a.categories?fE(a):Um(a,!0):(O("linear"!==c||a.dataExtent),Um(a))}b.prototype.mapValueToVisual=function(a){var c=this._normalizeData(a);return this._normalizedToVisual(c,a)};b.prototype.getNormalizer=function(){return I(this._normalizeData,this)};b.listVisualTypes=function(){return ia(b.visualHandlers)};b.isValidType=function(a){return b.visualHandlers.hasOwnProperty(a)};b.eachVisual=function(a,c,b){N(a)?r(a,c,b):c.call(b,a)};b.mapVisual=function(a,c,d){var e,f=A(a)?[]:N(a)?{}:(e=!0,null);b.eachVisual(a,function(a,b){var g=c.call(d,a,b);e?f=g:f[b]=g});return f};b.retrieveVisuals=function(a){var c={},d;a&&Qg(b.visualHandlers,function(b,f){a.hasOwnProperty(f)&&(c[f]=a[f],d=!0)});return d?c:null};b.prepareVisualTypes=function(a){if(A(a))a=a.slice();else if(RK(a)){var c=[];Qg(a,function(a,b){c.push(b)});a=c}else return[];a.sort(function(c,a){return"color"===a&&"color"!==c&&0===c.indexOf("color")?1:-1});return a};b.dependsOn=function(a,c){return"color"===c?!(!a||0!==a.indexOf(c)):a===c};b.findPieceIndex=function(a,c,b){function d(c,b){var d=Math.abs(c-a);d<g&&(g=d,f=b)}for(var f,g=Infinity,h=0,k=c.length;h<k;h++){var l=c[h].value;if(null!=l){if(l===a||"string"===typeof l&&l===a+"")return h;b&&d(l,h)}}h=0;for(k=c.length;h<k;h++){var m=c[h],l=m.interval,m=m.close;if(l){if(-Infinity===l[0]){if(gj(m[1],a,l[1]))return h}else if(Infinity===l[1]){if(gj(m[0],l[0],a))return h}else if(gj(m[0],l[0],a)&&gj(m[1],a,l[1]))return h;b&&d(l[0],h);b&&d(l[1],h)}}if(b)return Infinity===a?c.length-1:-Infinity===a?0:f};b.visualHandlers={color:{applyVisual:Rg("color"),getColorMapper:function(){var a=this.option;return I("category"===a.mappingMethod?function(c,a){!a&&(c=this._normalizeData(c));return Sg.call(this,c)}:function(c,b,e){var d=!!e;!b&&(c=this._normalizeData(c));e=Tf(c,a.parsedVisual,e);return d?e:Tb(e,"rgba")},this)},_normalizedToVisual:{linear:function(a){return Tb(Tf(a,this.option.parsedVisual),"rgba")},category:Sg,piecewise:function(a,c){var b=Wm.call(this,c);null==b&&(b=Tb(Tf(a,this.option.parsedVisual),"rgba"));return b},fixed:ee}},colorHue:fj(function(a,c){return Ne(a,c)}),colorSaturation:fj(function(a,c){return Ne(a,null,c)}),colorLightness:fj(function(a,c){return Ne(a,null,null,c)}),colorAlpha:fj(function(a,c){return Uf(a,c)}),decal:{applyVisual:Rg("decal"),_normalizedToVisual:{linear:null,category:Sg,piecewise:null,fixed:null}},opacity:{applyVisual:Rg("opacity"),_normalizedToVisual:Vm([0,1])},liftZ:{applyVisual:Rg("liftZ"),_normalizedToVisual:{linear:ee,category:ee,piecewise:ee,fixed:ee}},symbol:{applyVisual:function(a,c,b){a=this.mapValueToVisual(a);b("symbol",a)},_normalizedToVisual:{linear:Iu,category:Sg,piecewise:function(a,c){var b=Wm.call(this,c);null==b&&(b=Iu.call(this,a));return b},fixed:ee}},symbolSize:{applyVisual:Rg("symbolSize"),_normalizedToVisual:Vm([0,1])}};return b}(),SK={linear:function(b){return ga(b,this.option.dataExtent,[0,1],!0)},piecewise:function(b){var a=this.option.pieceList;b=La.findPieceIndex(b,a,!0);if(null!=b)return ga(b,[0,a.length-1],[0,1],!0)},category:function(b){b=this.option.categories?this.option.categoryMap[b]:b;return null==b?-1:b},fixed:hc},Lu=ma(),TK={seriesType:"treemap",reset:function(b){var a=b.getData().tree.root;a.isRemoved()||Ju(a,{},b.getViewRoot().getAncestors(),b)}},Tg=Math.max,hj=Math.min,Zm=r,Nu=["itemStyle","borderWidth"],iE=["itemStyle","gapWidth"],pE=["upperLabel","show"],qE=["upperLabel","height"],UK={seriesType:"treemap",reset:function(b,a,c,d){a=c.getWidth();var e=c.getHeight(),f=b.option;c=Aa(b.getBoxLayoutParams(),{width:c.getWidth(),height:c.getHeight()});var g=f.size||[],h=H(Ba(c.width,g[0]),a),k=H(Ba(c.height,g[1]),e),l=d&&d.type,g=Og(d,["treemapZoomToNode","treemapRootToNode"],b);d="treemapRender"===l||"treemapMove"===l?d.rootRect:null;var m=b.getViewRoot(),n=Bu(m);if("treemapMove"!==l){h="treemapZoomToNode"===l?nE(b,g,m,h,k):d?[d.width,d.height]:[h,k];(k=f.sort)&&"asc"!==k&&"desc"!==k&&(k="desc");f={squareRatio:f.squareRatio,sort:k,leafDepth:f.leafDepth};m.hostTree.clearLayouts();var p={x:0,y:0,width:h[0],height:h[1],area:h[0]*h[1]};m.setLayout(p);Mu(m,f,!1,0);p=m.getLayout();Zm(n,function(c,a){var b=(n[a+1]||m).getValue();c.setLayout(F({dataExtent:[b,b],borderWidth:0,upperHeight:0},p))})}f=b.getData().tree.root;f.setLayout(oE(c,d,g),!0);b.setLayoutInfo(c);Qu(f,new aa(-c.x,-c.y,a,e),n,m,0)}},jj=function(b){return b.get("autoCurveness")||null},Ru=function(b,a){var c=jj(b),d=20;if("number"===typeof c)d=c;else if(A(c)){b.__curvenessList=c;return}a>d&&(d=a);for(var d=d%2?d+2:d+3,c=[],e=0;e<d;e++)c.push((e%2?e+1:e)/10*(e%2?-1:1));b.__curvenessList=c},Ug=function(b,a,c){b=[b.id,b.dataIndex].join(".");a=[a.id,a.dataIndex].join(".");return[c.uid,b,a].join("--\x3e")},Su=function(b){b=b.split("--\x3e");return[b[0],b[2],b[1]].join("--\x3e")},an=function(b,a){var c=a.__edgeMap;return c[b]?c[b].length:0},sz=Math.PI,pp=[],vE={value:function(b,a,c,d,e,f,g){var h=0,k=c.getSum("value"),l=2*Math.PI/(k||g);a.eachNode(function(c){var a=c.getValue("value"),a=l*(k?a:1)/2;h+=a;c.setLayout([d*Math.cos(h)+e,d*Math.sin(h)+f]);h+=a})},symbolSize:function(b,a,c,d,e,f,g){var h=0;pp.length=g;var k=Vg(b);a.eachNode(function(c){var a=Wg(c);isNaN(a)&&(a=2);0>a&&(a=0);a*=k;a=Math.asin(a/2/d);isNaN(a)&&(a=sz/2);pp[c.dataIndex]=a;h+=2*a});var l=(2*sz-h)/g/2,m=0;a.eachNode(function(c){var a=l+pp[c.dataIndex];m+=a;c.setLayout([d*Math.cos(m)+e,d*Math.sin(m)+f]);m+=a})}},sf=Th,tz=Ua.prototype,qp=rf.prototype,uz=function(){return function(){this.y2=this.x2=this.y1=this.x1=0;this.percent=1}}();(function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);return a})(uz);var CE=function(b){function a(c){c=b.call(this,c)||this;c.type="ec-line";return c}x(a,b);a.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}};a.prototype.getDefaultShape=function(){return new uz};a.prototype.buildPath=function(c,a){bn(a)?tz.buildPath.call(this,c,a):qp.buildPath.call(this,c,a)};a.prototype.pointAt=function(c){return bn(this.shape)?tz.pointAt.call(this,c):qp.pointAt.call(this,c)};a.prototype.tangentAt=function(c){var a=this.shape;c=bn(a)?[a.x2-a.x1,a.y2-a.y1]:qp.tangentAt.call(this,c);return Ie(c,c)};return a}(Y),rp=["fromSymbol","toSymbol"],sp=function(b){function a(c,a,e){var d=b.call(this)||this;d._createLine(c,a,e);return d}x(a,b);a.prototype._createLine=function(c,a,b){var d=c.hostModel,e=c.getItemLayout(a),e=BE(e);e.shape.percent=0;za(e,{shape:{percent:1}},d,a);this.add(e);r(rp,function(b){var d=Wu(b,c,a);this.add(d);this["_"+b+"Type"]=c.getItemVisual(a,b)},this);this._updateCommonStl(c,a,b)};a.prototype.updateData=function(c,a,b){var d=c.hostModel,e=this.childOfName("line"),h=c.getItemLayout(a),k={shape:{}};cn(k.shape,h);ea(e,k,d,a);r(rp,function(b){var d=c.getItemVisual(a,b),e="_"+b+"Type";this[e]!==d&&(this.remove(this.childOfName(b)),b=Wu(b,c,a),this.add(b));this[e]=d},this);this._updateCommonStl(c,a,b)};a.prototype.getLinePath=function(){return this.childAt(0)};a.prototype._updateCommonStl=function(c,a,b){var d=c.hostModel,e=this.childOfName("line"),h=b&&b.emphasisLineStyle,k=b&&b.blurLineStyle,l=b&&b.selectLineStyle,m=b&&b.labelStatesModels;if(!b||c.hasItemOption)m=c.getItemModel(a),h=m.getModel(["emphasis","lineStyle"]).getLineStyle(),k=m.getModel(["blur","lineStyle"]).getLineStyle(),l=m.getModel(["select","lineStyle"]).getLineStyle(),m=Ra(m);var n=c.getItemVisual(a,"style"),p=n.stroke;e.useStyle(n);e.style.fill=null;e.style.strokeNoScale=!0;e.ensureState("emphasis").style=h;e.ensureState("blur").style=k;e.ensureState("select").style=l;r(rp,function(c){if(c=this.childOfName(c)){c.setColor(p);c.style.opacity=n.opacity;for(var a=0;a<tb.length;a++){var b=tb[a],d=e.getState(b);d&&(d=d.style||{},b=c.ensureState(b),b=b.style||(b.style={}),null!=d.stroke&&(b[c.__isEmptyBrush?"stroke":"fill"]=d.stroke),null!=d.opacity&&(b.opacity=d.opacity))}c.markRedraw()}},this);h=d.getRawValue(a);cb(this,m,{labelDataIndex:a,labelFetcher:{getFormattedLabel:function(a,b){return d.getFormattedLabel(a,b,c.dataType)}},inheritColor:p||"#000",defaultOpacity:n.opacity,defaultText:(null==h?c.getName(a):isFinite(h)?sa(h):h)+""});if(a=this.getTextContent())m=m.normal,a.__align=a.style.align,a.__verticalAlign=a.style.verticalAlign,a.__position=m.get("position")||"middle",m=m.get("distance"),A(m)||(m=[m,m]),a.__labelDistance=m;this.setTextConfig({position:null,local:!0,inside:!1});va(this)};a.prototype.highlight=function(){nc(this)};a.prototype.downplay=function(){oc(this)};a.prototype.updateLayout=function(c,a){this.setLinePoints(c.getItemLayout(a))};a.prototype.setLinePoints=function(c){var a=this.childOfName("line");cn(a.shape,c);a.dirty()};a.prototype.beforeUpdate=function(){function c(c,a){var b=c.__specifiedRotation;null==b?(b=k.tangentAt(a),c.attr("rotation",(1===a?-1:1)*Math.PI/2-Math.atan2(b[1],b[0]))):c.attr("rotation",b)}var a=this.childOfName("fromSymbol"),b=this.childOfName("toSymbol"),f=this.getTextContent();if(a||b||f&&!f.ignore){for(var g=1,h=this.parent;h;)h.scaleX&&(g/=h.scaleX),h=h.parent;var k=this.childOfName("line");if(this.__dirty||k.__dirty){var l=k.shape.percent,h=k.pointAt(0),m=k.pointAt(l),n=Pc([],m,h);Ie(n,n);a&&(a.setPosition(h),c(a,0),a.scaleX=a.scaleY=g*l,a.markRedraw());b&&(b.setPosition(m),c(b,1),b.scaleX=b.scaleY=g*l,b.markRedraw());if(f&&!f.ignore){f.x=f.y=0;f.originX=f.originY=0;var p=a=void 0,q=f.__labelDistance,b=q[0]*g,q=q[1]*g,t=l/2,l=k.tangentAt(t),p=[l[1],-l[0]],t=k.pointAt(t);0<p[1]&&(p[0]=-p[0],p[1]=-p[1]);var u=0>l[0]?-1:1;"start"!==f.__position&&"end"!==f.__position&&(p=-Math.atan2(l[1],l[0]),m[0]<h[0]&&(p=Math.PI+p),f.rotation=p);var w=void 0;switch(f.__position){case "insideStartTop":case "insideMiddleTop":case "insideEndTop":case "middle":w=-q;p="bottom";break;case "insideStartBottom":case "insideMiddleBottom":case "insideEndBottom":w=q;p="top";break;default:w=0,p="middle"}switch(f.__position){case "end":f.x=n[0]*b+m[0];f.y=n[1]*q+m[1];a=.8<n[0]?"left":-.8>n[0]?"right":"center";p=.8<n[1]?"top":-.8>n[1]?"bottom":"middle";break;case "start":f.x=-n[0]*b+h[0];f.y=-n[1]*q+h[1];a=.8<n[0]?"right":-.8>n[0]?"left":"center";p=.8<n[1]?"bottom":-.8>n[1]?"top":"middle";break;case "insideStartTop":case "insideStart":case "insideStartBottom":f.x=b*u+h[0];f.y=h[1]+w;a=0>l[0]?"right":"left";f.originX=-b*u;f.originY=-w;break;case "insideMiddleTop":case "insideMiddle":case "insideMiddleBottom":case "middle":f.x=t[0];f.y=t[1]+w;a="center";f.originY=-w;break;case "insideEndTop":case "insideEnd":case "insideEndBottom":f.x=-b*u+m[0],f.y=m[1]+w,a=0<=l[0]?"right":"left",f.originX=b*u,f.originY=-w}f.scaleX=f.scaleY=g;f.setStyle({verticalAlign:f.__verticalAlign||p,align:f.__align||a})}}}};return a}(M),tp=function(){function b(a){this.group=new M;this._LineCtor=a||sp}b.prototype.isPersistent=function(){return!0};b.prototype.updateData=function(a){var c=this,b=this.group,e=this._lineData;this._lineData=a;e||b.removeAll();var f=Xu(a);a.diff(e).add(function(b){c._doAdd(a,b,f)}).update(function(b,d){c._doUpdate(e,a,d,b,f)}).remove(function(c){b.remove(e.getItemGraphicEl(c))}).execute()};b.prototype.updateLayout=function(){var a=this._lineData;a&&a.eachItemGraphicEl(function(c,b){c.updateLayout(a,b)},this)};b.prototype.incrementalPrepareUpdate=function(a){this._seriesScope=Xu(a);this._lineData=null;this.group.removeAll()};b.prototype.incrementalUpdate=function(a,c){function b(c){c.isGroup||c.animators&&0<c.animators.length||(c.incremental=!0,c.ensureState("emphasis").hoverLayer=!0)}for(var e=a.start;e<a.end;e++){var f=c.getItemLayout(e);dn(f)&&(f=new this._LineCtor(c,e,this._seriesScope),f.traverse(b),this.group.add(f),c.setItemGraphicEl(e,f))}};b.prototype.remove=function(){this.group.removeAll()};b.prototype._doAdd=function(a,c,b){var d=a.getItemLayout(c);dn(d)&&(b=new this._LineCtor(a,c,b),a.setItemGraphicEl(c,b),this.group.add(b))};b.prototype._doUpdate=function(a,c,b,e,f){a=a.getItemGraphicEl(b);dn(c.getItemLayout(e))?(a?a.updateData(c,e,f):a=new this._LineCtor(c,e,f),c.setItemGraphicEl(e,a),this.group.add(a)):this.group.remove(a)};return b}(),en=[],gn=[],hn=[],uf=Za,fn=Xc,$u=Math.abs,VK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(c,a){var b=new Eh,d=new tp,g=this.group;this._controller=new fh(a.getZr());this._controllerHost={target:g};g.add(b.group);g.add(d.group);this._symbolDraw=b;this._lineDraw=d;this._firstRender=!0};a.prototype.render=function(c,a,b){var d=this,e=c.coordinateSystem;this._model=c;var h=this._symbolDraw,k=this._lineDraw,l=this.group;"view"===e.type&&(e={x:e.x,y:e.y,scaleX:e.scaleX,scaleY:e.scaleY},this._firstRender?l.attr(e):ea(l,e,c));jn(c.getGraph(),Vg(c));var m=c.getData();h.updateData(m);h=c.getEdgeData();k.updateData(h);this._updateNodeAndLinkScale();this._updateController(c,a,b);clearTimeout(this._layoutTimeout);var n=c.forceLayout,p=c.get(["force","layoutAnimation"]);n&&this._startForceLayoutIteration(n,p);m.graph.eachNode(function(c){var a=c.dataIndex,b=c.getGraphicEl(),e=c.getModel();b.off("drag").off("dragend");var f=e.get("draggable");if(f)b.on("drag",function(){n&&(n.warmUp(),!d._layouting&&d._startForceLayoutIteration(n,p),n.setFixed(a),m.setItemLayout(a,[b.x,b.y]))}).on("dragend",function(){n&&n.setUnfixed(a)});b.setDraggable(f&&!!n);"adjacency"===e.get(["emphasis","focus"])&&(S(b).focus=c.getAdjacentDataIndices())});m.graph.eachEdge(function(c){var a=c.getGraphicEl();"adjacency"===c.getModel().get(["emphasis","focus"])&&(S(a).focus={edge:[c.dataIndex],node:[c.node1.dataIndex,c.node2.dataIndex]})});var q="circular"===c.get("layout")&&c.get(["circular","rotateLabel"]),t=m.getLayout("cx"),u=m.getLayout("cy");m.eachItemGraphicEl(function(c,a){var b=m.getItemModel(a).get(["label","rotate"])||0,d=c.getSymbolPath();if(q){var e=m.getItemLayout(a),b=Math.atan2(e[1]-u,e[0]-t);0>b&&(b=2*Math.PI+b);(e=e[0]<t)&&(b-=Math.PI);e=e?"left":"right";d.setTextConfig({rotation:-b,position:e,origin:"center"});d=d.ensureState("emphasis");F(d.textConfig||(d.textConfig={}),{position:e})}else d.setTextConfig({rotation:Math.PI/180*b})});this._firstRender=!1};a.prototype.dispose=function(){this._controller&&this._controller.dispose();this._controllerHost=null};a.prototype._startForceLayoutIteration=function(c,a){var b=this;(function g(){c.step(function(c){b.updateLayout(b._model);(b._layouting=!c)&&(a?b._layoutTimeout=setTimeout(g,16):g())})})()};a.prototype._updateController=function(c,a,b){var d=this;a=this._controller;var e=this._controllerHost,h=this.group;a.setPointerChecker(function(a,d,e){var f=h.getBoundingRect();f.applyTransform(h.transform);return f.contain(d,e)&&!cj(a,b,c)});"view"!==c.coordinateSystem.type?a.disable():(a.enable(c.get("roam")),e.zoomLimit=c.get("scaleLimit"),e.zoom=c.coordinateSystem.getZoom(),a.off("pan").off("zoom").on("pan",function(a){Im(e,a.dx,a.dy);b.dispatchAction({seriesId:c.id,type:"graphRoam",dx:a.dx,dy:a.dy})}).on("zoom",function(a){Jm(e,a.scale,a.originX,a.originY);b.dispatchAction({seriesId:c.id,type:"graphRoam",zoom:a.scale,originX:a.originX,originY:a.originY});d._updateNodeAndLinkScale();jn(c.getGraph(),Vg(c));d._lineDraw.updateLayout();b.updateLabelLayout()}))};a.prototype._updateNodeAndLinkScale=function(){var c=this._model,a=c.getData(),b=Vg(c);a.eachItemGraphicEl(function(c,a){c.setSymbolScale(b)})};a.prototype.updateLayout=function(c){jn(c.getGraph(),Vg(c));this._symbolDraw.updateLayout();this._lineDraw.updateLayout()};a.prototype.remove=function(c,a){this._symbolDraw&&this._symbolDraw.remove();this._lineDraw&&this._lineDraw.remove()};a.type="graph";return a}(oa),DE=function(){function b(a){this.type="graph";this.nodes=[];this.edges=[];this._nodesMap={};this._edgesMap={};this._directed=a||!1}b.prototype.isDirected=function(){return this._directed};b.prototype.addNode=function(a,c){a=null==a?""+c:""+a;var b=this._nodesMap;if(b["_EC_"+a])console.error("Graph nodes have duplicate name or id");else{var e=new Ee(a,c);e.hostGraph=this;this.nodes.push(e);return b["_EC_"+a]=e}};b.prototype.getNodeByIndex=function(a){a=this.data.getRawIndex(a);return this.nodes[a]};b.prototype.getNodeById=function(a){return this._nodesMap["_EC_"+a]};b.prototype.addEdge=function(a,c,b){var d=this._nodesMap,f=this._edgesMap;"number"===typeof a&&(a=this.nodes[a]);"number"===typeof c&&(c=this.nodes[c]);a instanceof Ee||(a=d["_EC_"+a]);c instanceof Ee||(c=d["_EC_"+c]);if(a&&c)return d=a.id+"-"+c.id,b=new vz(a,c,b),b.hostGraph=this,this._directed&&(a.outEdges.push(b),c.inEdges.push(b)),a.edges.push(b),a!==c&&c.edges.push(b),this.edges.push(b),f[d]=b};b.prototype.getEdgeByIndex=function(a){a=this.edgeData.getRawIndex(a);return this.edges[a]};b.prototype.getEdge=function(a,c){a instanceof Ee&&(a=a.id);c instanceof Ee&&(c=c.id);var b=this._edgesMap;return this._directed?b[a+"-"+c]:b[a+"-"+c]||b[c+"-"+a]};b.prototype.eachNode=function(a,c){for(var b=this.nodes,e=b.length,f=0;f<e;f++)0<=b[f].dataIndex&&a.call(c,b[f],f)};b.prototype.eachEdge=function(a,c){for(var b=this.edges,e=b.length,f=0;f<e;f++)0<=b[f].dataIndex&&0<=b[f].node1.dataIndex&&0<=b[f].node2.dataIndex&&a.call(c,b[f],f)};b.prototype.breadthFirstTraverse=function(a,c,b,e){c instanceof Ee||(c=this._nodesMap["_EC_"+c]);if(c){b="out"===b?"outEdges":"in"===b?"inEdges":"edges";for(var d=0;d<this.nodes.length;d++)this.nodes[d].__visited=!1;if(!a.call(e,c,null))for(c=[c];c.length;)for(var g=c.shift(),h=g[b],d=0;d<h.length;d++){var k=h[d],k=k.node1===g?k.node2:k.node1;if(!k.__visited){if(a.call(e,k,g))return;c.push(k);k.__visited=!0}}}};b.prototype.update=function(){for(var a=this.data,c=this.edgeData,b=this.nodes,e=this.edges,f=0,g=b.length;f<g;f++)b[f].dataIndex=-1;f=0;for(g=a.count();f<g;f++)b[a.getRawIndex(f)].dataIndex=f;c.filterSelf(function(a){a=e[c.getRawIndex(a)];return 0<=a.node1.dataIndex&&0<=a.node2.dataIndex});f=0;for(g=e.length;f<g;f++)e[f].dataIndex=-1;f=0;for(g=c.count();f<g;f++)e[c.getRawIndex(f)].dataIndex=f};b.prototype.clone=function(){for(var a=new b(this._directed),c=this.nodes,d=this.edges,e=0;e<c.length;e++)a.addNode(c[e].id,c[e].dataIndex);for(e=0;e<d.length;e++)c=d[e],a.addEdge(c.node1.id,c.node2.id,c.dataIndex);return a};return b}(),Ee=function(){function b(a,c){this.inEdges=[];this.outEdges=[];this.edges=[];this.dataIndex=-1;this.id=null==a?"":a;this.dataIndex=null==c?-1:c}b.prototype.degree=function(){return this.edges.length};b.prototype.inDegree=function(){return this.inEdges.length};b.prototype.outDegree=function(){return this.outEdges.length};b.prototype.getModel=function(a){if(!(0>this.dataIndex))return this.hostGraph.data.getItemModel(this.dataIndex).getModel(a)};b.prototype.getAdjacentDataIndices=function(){for(var a={edge:[],node:[]},c=0;c<this.edges.length;c++){var b=this.edges[c];0>b.dataIndex||(a.edge.push(b.dataIndex),a.node.push(b.node1.dataIndex,b.node2.dataIndex))}return a};return b}(),vz=function(){function b(a,c,b){this.dataIndex=-1;this.node1=a;this.node2=c;this.dataIndex=null==b?-1:b}b.prototype.getModel=function(a){if(!(0>this.dataIndex))return this.hostGraph.edgeData.getItemModel(this.dataIndex).getModel(a)};b.prototype.getAdjacentDataIndices=function(){return{edge:[this.dataIndex],node:[this.node1.dataIndex,this.node2.dataIndex]}};return b}();wa(Ee,av("hostGraph","data"));wa(vz,av("hostGraph","edgeData"));var WK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.hasSymbolVisual=!0;return c}x(a,b);a.prototype.init=function(c){function a(){return e._categoriesData}b.prototype.init.apply(this,arguments);var e=this;this.legendVisualProvider=new Gh(a,a);this.fillDataTextStyle(c.edges||c.links);this._updateCategoriesData()};a.prototype.mergeOption=function(c){b.prototype.mergeOption.apply(this,arguments);this.fillDataTextStyle(c.edges||c.links);this._updateCategoriesData()};a.prototype.mergeDefaultAndTheme=function(c){b.prototype.mergeDefaultAndTheme.apply(this,arguments);Id(c,"edgeLabel",["show"])};a.prototype.getInitialData=function(c,a){function b(c,a){function b(c,a){var b=e.call(this,c,a);b.resolveParentPath=d;return b}function d(c){if(c&&("label"===c[0]||"label"===c[1])){var a=c.slice();"label"===c[0]?a[0]="edgeLabel":"label"===c[1]&&(a[1]="edgeLabel");return a}return c}c.wrapMethod("getItemModel",function(c){var a=h._categoriesModels,b=c.getShallow("category");if(a=a[b])a.parentModel=c.parentModel,c.parentModel=a;return c});var e=la.prototype.getModel;a.wrapMethod("getItemModel",function(c){c.resolveParentPath=d;c.getModel=b;return c})}var d=c.edges||c.links||[],g=c.data||c.nodes||[],h=this;if(g&&d)return jj(this)&&(this.__curvenessList=[],this.__edgeMap={},Ru(this)),d=bv(g,d,this,!0,b),r(d.edges,function(c){var a=c.node1,b=c.node2;c=c.dataIndex;if(jj(this)){var a=Ug(a,b,this),b=this.__edgeMap,d=b[Su(a)];b[a]&&!d?b[a].isForward=!0:d&&b[a]&&(d.isForward=!0,b[a].isForward=!1);b[a]=b[a]||[];b[a].push(c)}},this),d.data};a.prototype.getGraph=function(){return this.getData().graph};a.prototype.getEdgeData=function(){return this.getGraph().edgeData};a.prototype.getCategoriesData=function(){return this._categoriesData};a.prototype.formatTooltip=function(c,a,b){if("edge"===b){a=this.getData();b=this.getDataParams(c,b);var d=a.graph.getEdgeByIndex(c);c=a.getName(d.node1.dataIndex);a=a.getName(d.node2.dataIndex);d=[];null!=c&&d.push(c);null!=a&&d.push(a);return Ha("nameValue",{name:d.join(" \x3e "),value:b.value,noValue:null==b.value})}return ns({series:this,dataIndex:c,multipleSeries:a})};a.prototype._updateCategoriesData=function(){var c=C(this.option.categories||[],function(c){return null!=c.value?c:F({value:0},c)}),a=new Wa(["value"],this);a.initData(c);this._categoriesData=a;this._categoriesModels=a.mapArray(function(c){return a.getItemModel(c)})};a.prototype.setZoom=function(c){this.option.zoom=c};a.prototype.setCenter=function(c){this.option.center=c};a.prototype.isAnimationEnabled=function(){return b.prototype.isAnimationEnabled.call(this)&&!("force"===this.get("layout")&&this.get(["force","layoutAnimation"]))};a.type="series.graph";a.dependencies=["grid","polar","geo","singleAxis","calendar"];a.defaultOption={zlevel:0,z:2,coordinateSystem:"view",legendHoverLink:!0,layout:null,focusNodeAdjacency:!1,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{scale:!0,label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}};return a}(ra),XK={type:"graphRoam",event:"graphRoam",update:"none"},YK=function(){return function(){this.angle=0;this.r=this.width=10;this.y=this.x=0}}(),ZK=function(b){function a(c){c=b.call(this,c)||this;c.type="pointer";return c}x(a,b);a.prototype.getDefaultShape=function(){return new YK};a.prototype.buildPath=function(c,a){var b=Math.cos,d=Math.sin,g=a.r,h=a.width,k=a.angle,l=a.x-b(k)*h*(h>=g/3?1:2),m=a.y-d(k)*h*(h>=g/3?1:2),k=a.angle-Math.PI/2;c.moveTo(l,m);c.lineTo(a.x+b(k)*h,a.y+d(k)*h);c.lineTo(a.x+b(a.angle)*g,a.y+d(a.angle)*g);c.lineTo(a.x-b(k)*h,a.y-d(k)*h);c.lineTo(l,m)};return a}(Y),up=2*Math.PI,$K=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(c,a,b){this.group.removeAll();var d=c.get(["axisLine","lineStyle","color"]),e=c.get("center"),h=b.getWidth(),k=b.getHeight(),k=Math.min(h,k),h=H(e[0],b.getWidth()),e=H(e[1],b.getHeight()),k=H(c.get("radius"),k/2);this._renderMain(c,a,b,d,{cx:h,cy:e,r:k});this._data=c.getData()};a.prototype.dispose=function(){};a.prototype._renderMain=function(c,a,b,f,g){for(var d=this.group,e=c.get("clockwise"),l=-c.get("startAngle")/180*Math.PI,m=-c.get("endAngle")/180*Math.PI,n=c.getModel("axisLine"),p=n.get("roundCap")?gp:lb,q=n.get("show"),t=n.getModel("lineStyle"),n=t.get("width"),u=(m-l)%up||m===l?(m-l)%up:up,r=l,v=0;q&&v<f.length;v++)m=l+u*Math.min(Math.max(f[v][0],0),1),r=new p({shape:{startAngle:r,endAngle:m,cx:g.cx,cy:g.cy,clockwise:e,r0:g.r-n,r:g.r},silent:!0}),r.setStyle({fill:f[v][1]}),r.setStyle(t.getLineStyle(["color","width"])),d.add(r),r=m;d=function(c){if(0>=c)return f[0][1];var a;for(a=0;a<f.length;a++)if(f[a][0]>=c&&(0===a?0:f[a-1][0])<c)return f[a][1];return f[a-1][1]};e||(p=l,l=m,m=p);this._renderTicks(c,a,b,d,g,l,m,e,n);this._renderTitleAndDetail(c,a,b,d,g);this._renderAnchor(c,g);this._renderPointer(c,a,b,d,g,l,m,e,n)};a.prototype._renderTicks=function(c,a,b,f,g,h,k,l,m){a=this.group;b=g.cx;l=g.cy;g=g.r;var d=+c.get("min"),e=+c.get("max"),q=c.getModel("splitLine"),t=c.getModel("axisTick"),u=c.getModel("axisLabel");c=c.get("splitNumber");var r=t.get("splitNumber"),v=H(q.get("length"),g),z=H(t.get("length"),g),B=h;h=(k-h)/c;k=h/r;for(var y=q.getModel("lineStyle").getLineStyle(),x=t.getModel("lineStyle").getLineStyle(),D=q.get("distance"),A,E,G=0;G<=c;G++){A=Math.cos(B);E=Math.sin(B);if(q.get("show")){var C=D?D+m:m,C=new Ua({shape:{x1:A*(g-C)+b,y1:E*(g-C)+l,x2:A*(g-v-C)+b,y2:E*(g-v-C)+l},style:y,silent:!0});"auto"===y.stroke&&C.setStyle({stroke:f(G/c)});a.add(C)}if(u.get("show")){var C=u.get("distance")+D,F=kj(sa(G/c*(e-d)+d),u.get("formatter")),I=f(G/c);a.add(new ha({style:Ja(u,{text:F,x:A*(g-v-C)+b,y:E*(g-v-C)+l,verticalAlign:-.8>E?"top":.8<E?"bottom":"middle",align:-.4>A?"left":.4<A?"right":"center"},{inheritColor:I}),silent:!0}))}if(t.get("show")&&G!==c){C=(C=t.get("distance"))?C+m:m;for(F=0;F<=r;F++)A=Math.cos(B),E=Math.sin(B),A=new Ua({shape:{x1:A*(g-C)+b,y1:E*(g-C)+l,x2:A*(g-z-C)+b,y2:E*(g-z-C)+l},silent:!0,style:x}),"auto"===x.stroke&&A.setStyle({stroke:f((G+F/r)/c)}),a.add(A),B+=k;B-=k}else B+=h}};a.prototype._renderPointer=function(c,a,b,f,g,h,k,l,m){function d(a,b){var d=y.getItemModel(a).getModel("pointer"),e=H(d.get("width"),g.r),f=H(d.get("length"),g.r),h=c.get(["pointer","icon"]),k=d.get("offsetCenter"),l=H(k[0],g.r),k=H(k[1],g.r),d=d.get("keepAspect"),e=h?Pa(h,l-e/2,k-f,e,f,null,d):new ZK({shape:{angle:-Math.PI/2,width:e,r:f,x:l,y:k}});e.rotation=-(b+Math.PI/2);e.x=g.cx;e.y=g.cy;return e}function e(c,a){var b=z.get("roundCap")?gp:lb,d=z.get("overlap"),e=d?z.get("width"):m/y.count(),b=new b({shape:{startAngle:h,endAngle:a,cx:g.cx,cy:g.cy,clockwise:l,r0:d?g.r-e:g.r-(c+1)*e,r:d?g.r:g.r-c*e}});d&&(b.z2=D-y.get(x,c)%D);return b}var q=this.group,t=this._data,u=this._progressEls,r=[],v=c.get(["pointer","show"]),z=c.getModel("progress"),B=z.get("show"),y=c.getData(),x=y.mapDimension("value");a=+c.get("min");var D=+c.get("max"),A=[a,D],E=[h,k];if(B||v)y.diff(t).add(function(a){if(v){var b=d(a,h);za(b,{rotation:-(ga(y.get(x,a),A,E,!0)+Math.PI/2)},c);q.add(b);y.setItemGraphicEl(a,b)}if(B){var b=e(a,h),f=z.get("clip");za(b,{shape:{endAngle:ga(y.get(x,a),A,E,f)}},c);q.add(b);r[a]=b}}).update(function(a,b){if(v){var f=t.getItemGraphicEl(b),f=f?f.rotation:h,g=d(a,f);g.rotation=f;ea(g,{rotation:-(ga(y.get(x,a),A,E,!0)+Math.PI/2)},c);q.add(g);y.setItemGraphicEl(a,g)}B&&(f=u[b],f=e(a,f?f.shape.endAngle:h),g=z.get("clip"),ea(f,{shape:{endAngle:ga(y.get(x,a),A,E,g)}},c),q.add(f),r[a]=f)}).execute(),y.each(function(c){var a=y.getItemModel(c),b=a.getModel("emphasis");if(v){var d=y.getItemGraphicEl(c);d.useStyle(y.getItemVisual(c,"style"));d.setStyle(a.getModel(["pointer","itemStyle"]).getItemStyle());"auto"===d.style.fill&&d.setStyle("fill",f(ga(y.get(x,c),A,[0,1],!0)));d.z2EmphasisLift=0;Fa(d,a);va(d,b.get("focus"),b.get("blurScope"))}B&&(d=r[c],d.useStyle(y.getItemVisual(c,"style")),d.setStyle(a.getModel(["progress","itemStyle"]).getItemStyle()),d.z2EmphasisLift=0,Fa(d,a),va(d,b.get("focus"),b.get("blurScope")))}),this._progressEls=r};a.prototype._renderAnchor=function(c,a){var b=c.getModel("anchor");if(b.get("show")){var d=b.get("size"),g=b.get("icon"),h=b.get("offsetCenter"),k=b.get("keepAspect"),d=Pa(g,a.cx-d/2+H(h[0],a.r),a.cy-d/2+H(h[1],a.r),d,d,null,k);d.z2=b.get("showAbove")?1:0;d.setStyle(b.getModel("itemStyle").getItemStyle());this.group.add(d)}};a.prototype._renderTitleAndDetail=function(c,a,b,f,g){var d=this,e=c.getData(),l=e.mapDimension("value"),m=+c.get("min"),n=+c.get("max"),p=new M,q=[],t=[],u=c.isAnimationEnabled();e.diff(this._data).add(function(c){q[c]=new ha({silent:!0});t[c]=new ha({silent:!0})}).update(function(c,a){q[c]=d._titleEls[a];t[c]=d._detailEls[a]}).execute();e.each(function(a){var b=e.getItemModel(a),d=e.get(l,a),h=new M,k=f(ga(d,[m,n],[0,1],!0)),r=b.getModel("title");if(r.get("show")){var w=r.get("offsetCenter"),x=g.cx+H(w[0],g.r),A=g.cy+H(w[1],g.r),w=q[a];w.attr({style:Ja(r,{x:x,y:A,text:e.getName(a),align:"center",verticalAlign:"middle"},{inheritColor:k})});h.add(w)}b=b.getModel("detail");if(b.get("show")){var w=b.get("offsetCenter"),r=g.cx+H(w[0],g.r),x=g.cy+H(w[1],g.r),A=H(b.get("width"),g.r),C=H(b.get("height"),g.r),k=c.get(["progress","show"])?e.getItemVisual(a,"style").fill:k,w=t[a],F=b.get("formatter");w.attr({style:Ja(b,{x:r,y:x,text:kj(d,F),width:isNaN(A)?null:A,height:isNaN(C)?null:C,align:"center",verticalAlign:"middle"},{inheritColor:k})});Br(w,{normal:b},d,function(c){return kj(c,F)});u&&Cr(w,a,e,c,{getFormattedLabel:function(c,a,b,e,f,g){return kj(g?g.interpolatedValue:d,F)}});h.add(w)}p.add(h)});this.group.add(p);this._titleEls=q;this._detailEls=t};a.type="gauge";return a}(oa),aL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.visualStyleAccessPath="itemStyle";c.useColorPaletteOnData=!0;return c}x(a,b);a.prototype.getInitialData=function(c,a){return of(this,["value"])};a.type="series.gauge";a.defaultOption={zlevel:0,z:2,center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,roundCap:!1,lineStyle:{color:[[1,"#E6EBF8"]],width:10}},progress:{show:!1,overlap:!0,width:10,roundCap:!1,clip:!0},splitLine:{show:!0,length:10,distance:10,lineStyle:{color:"#63677A",width:3,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:6,distance:10,lineStyle:{color:"#63677A",width:1,type:"solid"}},axisLabel:{show:!0,distance:15,color:"#464646",fontSize:12},pointer:{icon:null,offsetCenter:[0,0],show:!0,length:"60%",width:6,keepAspect:!1},anchor:{show:!1,showAbove:!1,size:6,icon:"circle",offsetCenter:[0,0],keepAspect:!1,itemStyle:{color:"#fff",borderWidth:0,borderColor:"#5470c6"}},title:{show:!0,offsetCenter:[0,"20%"],color:"#464646",fontSize:16,valueAnimation:!1},detail:{show:!0,backgroundColor:"rgba(0,0,0,0)",borderWidth:0,borderColor:"#ccc",width:100,height:null,padding:[5,10],offsetCenter:[0,"40%"],color:"#464646",fontSize:30,fontWeight:"bold",lineHeight:30,valueAnimation:!1}};return a}(ra),bL=["itemStyle","opacity"],cL=function(b){function a(c,a){var d=b.call(this)||this,f=new kb,g=new ha;d.setTextContent(g);d.setTextGuideLine(f);d.updateData(c,a,!0);return d}x(a,b);a.prototype.updateData=function(c,a,b){var d=c.hostModel,e=c.getItemModel(a),h=c.getItemLayout(a),k=e.getModel("emphasis"),l=e.get(bL),l=null==l?1:l;this.useStyle(c.getItemVisual(a,"style"));this.style.lineJoin="round";b?(this.setShape({points:h.points}),this.style.opacity=0,za(this,{style:{opacity:l}},d,a)):ea(this,{style:{opacity:l},shape:{points:h.points}},d,a);Fa(this,e);this._updateLabel(c,a);va(this,k.get("focus"),k.get("blurScope"))};a.prototype._updateLabel=function(c,a){var b=this.getTextGuideLine(),d=this.getTextContent(),g=c.hostModel,h=c.getItemModel(a),k=c.getItemLayout(a).label,l=c.getItemVisual(a,"style"),m=l.fill;cb(d,Ra(h),{labelFetcher:c.hostModel,labelDataIndex:a,defaultOpacity:l.opacity,defaultText:c.getName(a)},{normal:{align:k.textAlign,verticalAlign:k.verticalAlign}});this.setTextConfig({local:!0,inside:!!k.inside,insideStroke:m,outsideFill:m});l=k.linePoints;b.setShape({points:l});this.textGuideLineConfig={anchor:l?new V(l[0][0],l[0][1]):null};ea(d,{style:{x:k.x,y:k.y}},g,a);d.attr({rotation:k.rotation,originX:k.x,originY:k.y,z2:10});Tl(this,Ul(h),{stroke:m})};return a}(bb),dL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.ignoreLabelLineUpdate=!0;return c}x(a,b);a.prototype.render=function(c,a,b){var d=c.getData(),e=this._data,h=this.group;d.diff(e).add(function(c){var a=new cL(d,c);d.setItemGraphicEl(c,a);h.add(a)}).update(function(c,a){var b=e.getItemGraphicEl(a);b.updateData(d,c);h.add(b);d.setItemGraphicEl(c,b)}).remove(function(a){var b=e.getItemGraphicEl(a);ig(b,c,a)}).execute();this._data=d};a.prototype.remove=function(){this.group.removeAll();this._data=null};a.prototype.dispose=function(){};a.type="funnel";return a}(oa),eL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.useColorPaletteOnData=!0;return c}x(a,b);a.prototype.init=function(c){b.prototype.init.apply(this,arguments);this.legendVisualProvider=new Gh(I(this.getData,this),I(this.getRawData,this));this._defaultLabelLine(c)};a.prototype.getInitialData=function(c,a){return of(this,{coordDimensions:["value"],encodeDefaulter:P(Il,this)})};a.prototype._defaultLabelLine=function(c){Id(c,"labelLine",["show"]);var a=c.labelLine,b=c.emphasis.labelLine;a.show=a.show&&c.label.show;b.show=b.show&&c.emphasis.label.show};a.prototype.getDataParams=function(c){var a=this.getData(),e=b.prototype.getDataParams.call(this,c),f=a.mapDimension("value"),g=a.getSum(f);e.percent=g?+(a.get(f,c)/g*100).toFixed(2):0;e.$vars.push("percent");return e};a.type="series.funnel";a.defaultOption={zlevel:0,z:2,legendHoverLink:!0,left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",orient:"vertical",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}};return a}(ra),fL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c._dataGroup=new M;c._initialized=!1;return c}x(a,b);a.prototype.init=function(){this.group.add(this._dataGroup)};a.prototype.render=function(c,a,b,f){var d=this._dataGroup,e=c.getData(),k=this._data,l=c.coordinateSystem,m=l.dimensions,n=ev(c);e.diff(k).add(function(c){var a=dv(e,d,c,m,l);kn(a,e,c,n)}).update(function(a,b){var d=k.getItemGraphicEl(b),f=cv(e,a,m,l);e.setItemGraphicEl(a,d);ea(d,{shape:{points:f}},c,a);kn(d,e,a,n)}).remove(function(c){c=k.getItemGraphicEl(c);d.remove(c)}).execute();this._initialized||(this._initialized=!0,a=IE(l,c,function(){setTimeout(function(){d.removeClipPath()})}),d.setClipPath(a));this._data=e};a.prototype.incrementalPrepareRender=function(c,a,b){this._initialized=!0;this._data=null;this._dataGroup.removeAll()};a.prototype.incrementalRender=function(c,a,b){b=a.getData();var d=a.coordinateSystem,e=d.dimensions;a=ev(a);for(var h=c.start;h<c.end;h++){var k=dv(b,this._dataGroup,h,e,d);k.incremental=!0;kn(k,b,h,a)}};a.prototype.remove=function(){this._dataGroup&&this._dataGroup.removeAll();this._data=null};a.type="parallel";return a}(oa),gL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.visualStyleAccessPath="lineStyle";c.visualDrawType="stroke";return c}x(a,b);a.prototype.getInitialData=function(c,a){return sc(this.getSource(),this,{useEncodeDefaulter:I(JE,null,this)})};a.prototype.getRawIndicesByActiveState=function(c){var a=this.coordinateSystem,b=this.getData(),f=[];a.eachActiveState(b,function(a,d){c===a&&f.push(b.getRawIndex(d))});return f};a.type="series.parallel";a.dependencies=["parallel"];a.defaultOption={zlevel:0,z:2,coordinateSystem:"parallel",parallelIndex:0,label:{show:!1},inactiveOpacity:.05,activeOpacity:1,lineStyle:{width:1,opacity:.45,type:"solid"},emphasis:{label:{show:!1}},progressive:500,smooth:!1,animationEasing:"linear"};return a}(ra),hL=["lineStyle","opacity"],iL={seriesType:"parallel",reset:function(b,a){var c=b.coordinateSystem,d={normal:b.get(["lineStyle","opacity"]),active:b.get("activeOpacity"),inactive:b.get("inactiveOpacity")};return{progress:function(a,b){c.eachActiveState(b,function(c,a){var e=d[c];if("normal"===c&&b.hasItemOption){var f=b.getItemModel(a).get(hL,!0);null!=f&&(e=f)}b.ensureUniqueItemVisual(a,"style").opacity=e},a.start,a.end)}}}},XE=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(c,a,b){this._model=c;this._api=b;this._handlers||(this._handlers={},r(jL,function(c,a){b.getZr().on(a,this._handlers[a]=I(c,this))},this));tg(this,"_throttledDispatchExpand",c.get("axisExpandRate"),"fixRate")};a.prototype.dispose=function(c,a){r(this._handlers,function(c,b){a.getZr().off(b,c)});this._handlers=null};a.prototype._throttledDispatchExpand=function(c){this._dispatchExpand(c)};a.prototype._dispatchExpand=function(c){c&&this._api.dispatchAction(F({type:"parallelAxisExpand"},c))};a.type="parallel";return a}(na),jL={mousedown:function(b){ln(this,"click")&&(this._mouseDownPoint=[b.offsetX,b.offsetY])},mouseup:function(b){var a=this._mouseDownPoint;if(ln(this,"click")&&a){var c=[b.offsetX,b.offsetY];if(5<Math.pow(a[0]-c[0],2)+Math.pow(a[1]-c[1],2))return;b=this._model.coordinateSystem.getSlidedAxisExpandWindow([b.offsetX,b.offsetY]);"none"!==b.behavior&&this._dispatchExpand({axisExpandWindow:b.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(b){if(!this._mouseDownPoint&&ln(this,"mousemove")){var a=this._model;b=a.coordinateSystem.getSlidedAxisExpandWindow([b.offsetX,b.offsetY]);var c=b.behavior;"jump"===c&&this._throttledDispatchExpand.debounceNextCall(a.get("axisExpandDebounce"));this._throttledDispatchExpand("none"===c?null:{axisExpandWindow:b.axisExpandWindow,animation:"jump"===c?null:{duration:0}})}}},YE=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(){b.prototype.init.apply(this,arguments);this.mergeOption({})};a.prototype.mergeOption=function(c){var a=this.option;c&&U(a,c,!0);this._initDimensions()};a.prototype.contains=function(c,a){var b=c.get("parallelIndex");return null!=b&&a.getComponent("parallel",b)===this};a.prototype.setAxisExpand=function(c){r(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],function(a){c.hasOwnProperty(a)&&(this.option[a]=c[a])},this)};a.prototype._initDimensions=function(){var c=this.dimensions=[],a=this.parallelAxisIndex=[],b=ta(this.ecModel.queryComponents({mainType:"parallelAxis"}),function(a){return(a.get("parallelIndex")||0)===this.componentIndex},this);r(b,function(b){c.push("dim"+b.get("dim"));a.push(b.componentIndex)})};a.type="parallel";a.dependencies=["parallelAxis"];a.layoutMode="box";a.defaultOption={zlevel:0,z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:"click",parallelAxisDefault:null};return a}(W),kL=function(b){function a(a,d,e,f,g){a=b.call(this,a,d,e)||this;a.type=f||"value";a.axisIndex=g;return a}x(a,b);a.prototype.isHorizontal=function(){return"horizontal"!==this.coordinateSystem.getModel().get("layout")};return a}(Pb),fv=Math.min,gv=Math.max,wz=Math.floor,lL=Math.ceil,mL=Math.PI,nL=function(){function b(a,c,b){this.type="parallel";this._axesMap=R();this._axesLayout={};this.dimensions=a.dimensions;this._model=a;this._init(a,c,b)}b.prototype._init=function(a,c,b){var d=a.parallelAxisIndex;r(a.dimensions,function(a,b){var e=d[b],f=c.getComponent("parallelAxis",e),e=this._axesMap.set(a,new kL(a,Dg(f),[0,0],f.get("type"),e));e.onBand="category"===e.type&&f.get("boundaryGap");e.inverse=f.get("inverse");f.axis=e;e.model=f;e.coordinateSystem=f.coordinateSystem=this},this)};b.prototype.update=function(a,c){this._updateAxesFromSeries(this._model,a)};b.prototype.containPoint=function(a){var c=this._makeLayoutInfo(),b=c.axisBase,e=c.layoutBase,f=c.pixelDimIndex,g=a[1-f];a=a[f];return g>=b&&g<=b+c.axisLength&&a>=e&&a<=e+c.layoutLength};b.prototype.getModel=function(){return this._model};b.prototype._updateAxesFromSeries=function(a,c){c.eachSeries(function(b){if(a.contains(b,c)){var d=b.getData();r(this.dimensions,function(a){var c=this._axesMap.get(a);c.scale.unionExtentFromData(d,d.mapDimension(a));jd(c.scale,c.model)},this)}},this)};b.prototype.resize=function(a,c){this._rect=Aa(a.getBoxLayoutParams(),{width:c.getWidth(),height:c.getHeight()});this._layoutAxes()};b.prototype.getRect=function(){return this._rect};b.prototype._makeLayoutInfo=function(){var a=this._model,c=this._rect,b=["x","y"],e=["width","height"],f=a.get("layout"),g="horizontal"===f?0:1,h=c[e[g]],k=[0,h],l=this.dimensions.length,m=lj(a.get("axisExpandWidth"),k),n=lj(a.get("axisExpandCount")||0,[0,l]),p=a.get("axisExpandable")&&3<l&&l>n&&1<n&&0<m&&0<h,q=a.get("axisExpandWindow");q?k=lj(q[1]-q[0],k):(k=lj(m*(n-1),k),q=a.get("axisExpandCenter")||wz(l/2),q=[m*q-k/2]);q[1]=q[0]+k;n=(h-k)/(l-n);3>n&&(n=0);a=[wz(sa(q[0]/m,1))+1,lL(sa(q[1]/m,1))-1];return{layout:f,pixelDimIndex:g,layoutBase:c[b[g]],layoutLength:h,axisBase:c[b[1-g]],axisLength:c[e[1-g]],axisExpandable:p,axisExpandWidth:m,axisCollapseWidth:n,axisExpandWindow:q,axisCount:l,winInnerIndices:a,axisExpandWindow0Pos:n/m*q[0]}};b.prototype._layoutAxes=function(){var a=this._rect,c=this._axesMap,b=this.dimensions,e=this._makeLayoutInfo(),f=e.layout;c.each(function(a){var c=[0,e.axisLength],b=a.inverse?1:0;a.setExtent(c[b],c[1-b])});r(b,function(c,b){var d=(e.axisExpandable?OE:NE)(b,e),g={horizontal:{x:d.position,y:e.axisLength},vertical:{x:0,y:d.position}},g=[g[f].x+a.x,g[f].y+a.y],h={horizontal:mL/2,vertical:0}[f],n=nb();Tc(n,n,h);Rb(n,n,g);this._axesLayout[c]={position:g,rotation:h,transform:n,axisNameAvailableWidth:d.axisNameAvailableWidth,axisLabelShow:d.axisLabelShow,nameTruncateMaxWidth:d.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)};b.prototype.getAxis=function(a){return this._axesMap.get(a)};b.prototype.dataToPoint=function(a,c){return this.axisCoordToPoint(this._axesMap.get(c).dataToCoord(a),c)};b.prototype.eachActiveState=function(a,c,b,e){null==b&&(b=0);null==e&&(e=a.count());var d=this._axesMap,g=this.dimensions,h=[],k=[];r(g,function(c){h.push(a.mapDimension(c));k.push(d.get(c).model)});for(var l=this.hasAxisBrushed();b<e;b++){var m=void 0;if(l)for(var m="active",n=a.getValues(h,b),p=0,q=g.length;p<q;p++){if("inactive"===k[p].getActiveState(n[p])){m="inactive";break}}else m="normal";c(m,b)}};b.prototype.hasAxisBrushed=function(){for(var a=this.dimensions,c=this._axesMap,b=!1,e=0,f=a.length;e<f;e++)"normal"!==c.get(a[e]).model.getActiveState()&&(b=!0);return b};b.prototype.axisCoordToPoint=function(a,c){return Wb([a,0],this._axesLayout[c].transform)};b.prototype.getAxisLayout=function(a){return J(this._axesLayout[a])};b.prototype.getSlidedAxisExpandWindow=function(a){var c=this._makeLayoutInfo(),b=c.pixelDimIndex,e=c.axisExpandWindow.slice(),f=e[1]-e[0],g=[0,c.axisExpandWidth*(c.axisCount-1)];if(!this.containPoint(a))return{behavior:"none",axisExpandWindow:e};a=a[b]-c.layoutBase-c.axisExpandWindow0Pos;var h,b="slide",k=c.axisCollapseWidth,l=this._model.get("axisExpandSlideTriggerArea");h=null!=l[0];k?(h&&k&&a<f*l[0]?(b="jump",h=a-f*l[2]):h&&k&&a>f*(1-l[0])?(b="jump",h=a-f*(1-l[2])):0<=(h=a-f*l[1])&&0>=(h=a-f*(1-l[1]))&&(h=0),(h*=c.axisExpandWidth/k)?fe(h,e,g,"all"):b="none"):(c=e[1]-e[0],e=[gv(0,g[1]*a/c-c/2)],e[1]=fv(g[1],e[0]+c),e[0]=e[1]-c);return{axisExpandWindow:e,behavior:b}};return b}(),ZE={create:function(b,a){var c=[];b.eachComponent("parallel",function(d,e){var f=new nL(d,b,a);f.name="parallel_"+e;f.resize(d,a);d.coordinateSystem=f;f.model=d;c.push(f)});b.eachSeries(function(a){if("parallel"===a.get("coordinateSystem")){var c=a.getReferringComponents("parallel",Da).models[0];a.coordinateSystem=c.coordinateSystem}});return c}},wn=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.activeIntervals=[];return c}x(a,b);a.prototype.getAreaSelectStyle=function(){return Kd([["fill","color"],["lineWidth","borderWidth"],["stroke","borderColor"],["width","width"],["opacity","opacity"]])(this.getModel("areaSelectStyle"))};a.prototype.setActiveIntervals=function(a){if(a=this.activeIntervals=J(a))for(var c=a.length-1;0<=c;c--)Cb(a[c])};a.prototype.getActiveState=function(a){var c=this.activeIntervals;if(!c.length)return"normal";if(null==a||isNaN(+a))return"inactive";if(1===c.length){if(c=c[0],c[0]<=a&&a<=c[1])return"active"}else for(var b=0,f=c.length;b<f;b++)if(c[b][0]<=a&&a<=c[b][1])return"active";return"inactive"};return a}(W);wa(wn,Lf);var Xg=Math.min,wf=Math.max,TE=Math.pow,RE={w:[0,0],e:[0,1],n:[1,0],s:[1,1]},PE={w:"ew",e:"ew",n:"ns",s:"ns",ne:"nesw",sw:"nesw",nw:"nwse",se:"nwse"},xz={brushStyle:{lineWidth:2,stroke:"rgba(210,219,238,0.3)",fill:"#D2DBEE"},transformable:!0,brushMode:"single",removeOnClick:!1},oL=0,vp=function(b){function a(a){var c=b.call(this)||this;c._track=[];c._covers=[];c._handlers={};O(a);c._zr=a;c.group=new M;c._uid="brushController_"+oL++;r(pL,function(a,c){this._handlers[c]=I(a,this)},c);return c}x(a,b);a.prototype.enableBrush=function(a){O(this._mounted);this._brushType&&this._doDisableBrush();a.brushType&&this._doEnableBrush(a);return this};a.prototype._doEnableBrush=function(a){var c=this._zr;this._enableGlobalPan||xD(c,"globalPan",this._uid);r(this._handlers,function(a,b){c.on(b,a)});this._brushType=a.brushType;this._brushOption=U(J(xz),a,!0)};a.prototype._doDisableBrush=function(){var a=this._zr;yD(a,"globalPan",this._uid);r(this._handlers,function(c,b){a.off(b,c)});this._brushType=this._brushOption=null};a.prototype.setPanels=function(a){if(a&&a.length){var c=this._panels={};r(a,function(a){c[a.panelId]=J(a)})}else this._panels=null;return this};a.prototype.mount=function(a){a=a||{};this._mounted=!0;this._enableGlobalPan=a.enableGlobalPan;var c=this.group;this._zr.add(c);c.attr({x:a.x||0,y:a.y||0,rotation:a.rotation||0,scaleX:a.scaleX||1,scaleY:a.scaleY||1});this._transform=c.getLocalTransform();return this};a.prototype.updateCovers=function(a){function c(a,c){return(null!=a.id?a.id:"\x00-brush-index-"+c)+"-"+a.brushType}function b(c,b){var d=a[c];null!=b&&f[b]===k?g[c]=f[b]:(d=g[c]=null!=b?(f[b].__brushOption=d,f[b]):jv(h,hv(h,d)),nn(h,d))}O(this._mounted);a=C(a,function(a){return U(J(xz),a,!0)});var f=this._covers,g=this._covers=[],h=this,k=this._creatingCover;(new sd(f,a,function(a,b){return c(a.__brushOption,b)},c)).add(b).update(b).remove(function(a){f[a]!==k&&h.group.remove(f[a])}).execute();return this};a.prototype.unmount=function(){if(this._mounted)return this.enableBrush(!1),pn(this),this._zr.remove(this.group),this._mounted=!1,this};a.prototype.dispose=function(){this.unmount();this.off()};return a}($b),pL={mousedown:function(b){if(this._dragging)tv(this,b);else if(!b.target||!b.target.draggable){un(b);var a=this.group.transformCoordToLocal(b.offsetX,b.offsetY);this._creatingCover=null;if(this._creatingPanel=on(this,b,a))this._dragging=!0,this._track=[a.slice()]}},mousemove:function(b){var a=this.group.transformCoordToLocal(b.offsetX,b.offsetY);a:{var c;if(c=this._brushType){c=b.offsetX;var d=b.offsetY,e=this._zr;c=!(0>c||c>e.getWidth()||0>d||d>e.getHeight())}if(c){c=this._zr;d=this._covers;e=on(this,b,a);if(!this._dragging)for(var f=0;f<d.length;f++){var g=d[f].__brushOption;if(e&&(!0===e||g.panelId===e.panelId)&&ge[g.brushType].contain(d[f],a[0],a[1]))break a}e&&c.setCursorStyle("crosshair")}}this._dragging&&(un(b),(b=rv(this,b,a,!1))&&he(this,b))},mouseup:function(b){tv(this,b)}},ge={lineX:uv(0),lineY:uv(1),rect:{createCover:function(b,a){function c(a){return a}return mv({toRectRange:c,fromRectRange:c},b,a,[["w"],["e"],["n"],["s"],["s","e"],["s","w"],["n","e"],["n","w"]])},getCreatingRange:function(b){b=lv(b);return pv(b[1][0],b[1][1],b[0][0],b[0][1])},updateCoverShape:function(b,a,c,d){ov(b,a,c,d)},updateCommon:rn,contain:vn},polygon:{createCover:function(b,a){var c=new M;c.add(new kb({name:"main",style:qn(a),silent:!0}));return c},getCreatingRange:function(b){return b},endCreating:function(b,a){a.remove(a.childAt(0));a.add(new bb({name:"main",draggable:!0,drift:P(SE,b,a),ondragend:P(he,b,{isEnd:!0})}))},updateCoverShape:function(b,a,c,d){a.childAt(0).setShape({points:tn(b,a,c)})},updateCommon:rn,contain:vn}},qL=["axisLine","axisTickLabel","axisName"],$E=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(a,d){b.prototype.init.apply(this,arguments);(this._brushController=new vp(d.getZr())).on("brush",I(this._onBrush,this))};a.prototype.render=function(a,b,e,f){if(!f||"axisAreaSelect"!==f.type||b.findComponents({mainType:"parallelAxis",query:f})[0]!==a)if(this.axisModel=a,this.api=e,this.group.removeAll(),f=this._axisGroup,this._axisGroup=new M,this.group.add(this._axisGroup),a.get("show")){b=b.getComponent("parallel",a.get("parallelIndex"));var c=b.coordinateSystem,d=a.getAreaSelectStyle(),k=d.width,c=c.getAxisLayout(a.axis.dim),c=F({strokeContainThreshold:k},c),l=new mb(a,c);r(qL,l.add,l);this._axisGroup.add(l.getGroup());this._refreshBrushController(c,d,a,b,k,e);jg(f,this._axisGroup,a)}};a.prototype._refreshBrushController=function(a,b,e,f,g,h){var c=e.axis.getExtent(),d=c[1]-c[0],m=Math.min(30,.1*Math.abs(d));g=aa.create({x:c[0],y:-g/2,width:d,height:g});g.x-=m;g.width+=2*m;this._brushController.mount({enableGlobalPan:!0,rotation:a.rotation,x:a.position[0],y:a.position[1]}).setPanels([{panelId:"pl",clipPath:vv(g),isTargetByCursor:xv(g,h,f),getLinearBrushOtherExtent:wv(g,0)}]).enableBrush({brushType:"lineX",brushStyle:b,removeOnClick:!0}).updateCovers(UE(e))};a.prototype._onBrush=function(a){var c=this.axisModel,b=c.axis,f=C(a.areas,function(a){return[b.coordToData(a.range[0],!0),b.coordToData(a.range[1],!0)]});(!c.option.realtime===a.isEnd||a.removeOnClick)&&this.api.dispatchAction({type:"axisAreaSelect",parallelAxisId:c.id,intervals:f})};a.prototype.dispose=function(){this._brushController.dispose()};a.type="parallelAxis";return a}(na),WE={type:"axisAreaSelect",event:"axisAreaSelected"},aF={type:"value",areaSelectStyle:{width:20,borderWidth:1,borderColor:"rgba(160,197,232)",color:"rgba(160,197,232)",opacity:.3},realtime:!0,z:10},rL=function(){return function(){this.extent=this.cpy2=this.cpx2=this.cpy1=this.cpx1=this.y2=this.x2=this.y1=this.x1=0}}(),sL=function(b){function a(a){return b.call(this,a)||this}x(a,b);a.prototype.getDefaultShape=function(){return new rL};a.prototype.buildPath=function(a,b){var c=b.extent;a.moveTo(b.x1,b.y1);a.bezierCurveTo(b.cpx1,b.cpy1,b.cpx2,b.cpy2,b.x2,b.y2);"vertical"===b.orient?(a.lineTo(b.x2+c,b.y2),a.bezierCurveTo(b.cpx2+c,b.cpy2,b.cpx1+c,b.cpy1,b.x1+c,b.y1)):(a.lineTo(b.x2,b.y2+c),a.bezierCurveTo(b.cpx2,b.cpy2+c,b.cpx1,b.cpy1+c,b.x1,b.y1+c));a.closePath()};a.prototype.highlight=function(){nc(this)};a.prototype.downplay=function(){oc(this)};return a}(Y),tL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c._focusAdjacencyDisabled=!1;return c}x(a,b);a.prototype.render=function(a,b,e){var c=this;b=a.getGraph();var d=this.group,h=a.layoutInfo,k=h.width,l=h.height,m=a.getData(),n=a.getData("edge"),p=a.get("orient");this._model=a;d.removeAll();d.x=h.x;d.y=h.y;b.eachEdge(function(c){var b=new sL,e=S(b);e.dataIndex=c.dataIndex;e.seriesIndex=a.seriesIndex;e.dataType="edge";var e=c.getModel(),f=e.getModel("lineStyle"),g=f.get("curveness"),h=c.node1.getLayout(),m=c.node1.getModel(),q=m.get("localX"),r=m.get("localY"),m=c.node2.getLayout(),x=c.node2.getModel(),A=x.get("localX"),x=x.get("localY"),E=c.getLayout();b.shape.extent=Math.max(1,E.dy);b.shape.orient=p;"vertical"===p?(q=(null!=q?q*k:h.x)+E.sy,h=(null!=r?r*l:h.y)+h.dy,A=(null!=A?A*k:m.x)+E.ty,m=null!=x?x*l:m.y,x=q,E=h*(1-g)+m*g,r=A,g=h*g+m*(1-g)):(q=(null!=q?q*k:h.x)+h.dx,h=(null!=r?r*l:h.y)+E.sy,A=null!=A?A*k:m.x,m=(null!=x?x*l:m.y)+E.ty,x=q*(1-g)+A*g,E=h,r=q*g+A*(1-g),g=m);b.setShape({x1:q,y1:h,x2:A,y2:m,cpx1:x,cpy1:E,cpx2:r,cpy2:g});b.useStyle(f.getItemStyle());switch(b.style.fill){case "source":b.style.fill=c.node1.getVisual("color");b.style.decal=c.node1.getVisual("style").decal;break;case "target":b.style.fill=c.node2.getVisual("color");b.style.decal=c.node2.getVisual("style").decal;break;case "gradient":f=c.node1.getVisual("color"),g=c.node2.getVisual("color"),"string"===typeof f&&"string"===typeof g&&(b.style.fill=new mf(0,0,1,0,[{color:f,offset:0},{color:g,offset:1}]))}f=e.getModel("emphasis");Fa(b,e,"lineStyle",function(a){return a.getItemStyle()});d.add(b);n.setItemGraphicEl(c.dataIndex,b);e=f.get("focus");va(b,"adjacency"===e?c.getAdjacentDataIndices():e,f.get("blurScope"));S(b).dataType="edge"});b.eachNode(function(c){var b=c.getLayout(),e=c.getModel(),f=e.get("localX"),g=e.get("localY"),h=e.getModel("emphasis"),b=new Z({shape:{x:null!=f?f*k:b.x,y:null!=g?g*l:b.y,width:b.dx,height:b.dy},style:e.getModel("itemStyle").getItemStyle()});cb(b,Ra(e),{labelFetcher:a,labelDataIndex:c.dataIndex,defaultText:c.id});b.disableLabelAnimation=!0;b.setStyle("fill",c.getVisual("color"));b.setStyle("decal",c.getVisual("style").decal);Fa(b,e);d.add(b);m.setItemGraphicEl(c.dataIndex,b);S(b).dataType="node";e=h.get("focus");va(b,"adjacency"===e?c.getAdjacentDataIndices():e,h.get("blurScope"))});m.eachItemGraphicEl(function(b,d){m.getItemModel(d).get("draggable")&&(b.drift=function(b,f){c._focusAdjacencyDisabled=!0;this.shape.x+=b;this.shape.y+=f;this.dirty();e.dispatchAction({type:"dragNode",seriesId:a.id,dataIndex:m.getRawIndex(d),localX:this.shape.x/k,localY:this.shape.y/l})},b.ondragend=function(){c._focusAdjacencyDisabled=!1},b.draggable=!0,b.cursor="move")});!this._data&&a.isAnimationEnabled()&&d.setClipPath(bF(d.getBoundingRect(),a,function(){d.removeClipPath()}));this._data=a.getData()};a.prototype.dispose=function(){};a.type="sankey";return a}(oa),uL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.getInitialData=function(a,b){function c(a,c){a.wrapMethod("getItemModel",function(a,c){var b=a.parentModel,d=b.getData().getItemLayout(c);d&&(b=b.levelModels[d.depth])&&(a.parentModel=b);return a});c.wrapMethod("getItemModel",function(a,c){var b=a.parentModel,d=b.getGraph().getEdgeByIndex(c).node1.getLayout();d&&(b=b.levelModels[d.depth])&&(a.parentModel=b);return a})}for(var d=a.edges||a.links,g=a.data||a.nodes,h=a.levels,k=this.levelModels=[],l=0;l<h.length;l++)if(null!=h[l].depth&&0<=h[l].depth)k[h[l].depth]=new la(h[l],this,b);else throw Error("levels[i].depth is mandatory and should be natural number");if(g&&d)return bv(g,d,this,!0,c).data};a.prototype.setNodePosition=function(a,b){var c=this.option.data[a];c.localX=b[0];c.localY=b[1]};a.prototype.getGraph=function(){return this.getData().graph};a.prototype.getEdgeData=function(){return this.getGraph().edgeData};a.prototype.formatTooltip=function(a,b,e){function c(a){return isNaN(a)||null==a}if("edge"===e)return e=this.getDataParams(a,e),a=e.data,e=e.value,Ha("nameValue",{name:a.source+" -- "+a.target,value:e,noValue:c(e)});b=this.getGraph().getNodeByIndex(a).getLayout().value;a=this.getDataParams(a,e).data.name;return Ha("nameValue",{name:null!=a?a+"":null,value:b,noValue:c(b)})};a.prototype.optionUpdated=function(){var a=this.option;!0===a.focusNodeAdjacency&&(a.focusNodeAdjacency="allEdges")};a.prototype.getDataParams=function(a,d){var c=b.prototype.getDataParams.call(this,a,d);if(null==c.value&&"node"===d){var f=this.getGraph().getNodeByIndex(a).getLayout().value;c.value=f}return c};a.type="series.sankey";a.defaultOption={zlevel:0,z:2,coordinateSystem:"view",left:"5%",top:"5%",right:"20%",bottom:"5%",orient:"horizontal",nodeWidth:20,nodeGap:8,draggable:!0,focusNodeAdjacency:!1,layoutIterations:32,label:{show:!0,position:"right",fontSize:12},levels:[],nodeAlign:"justify",lineStyle:{color:"#314656",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.5}},select:{itemStyle:{borderColor:"#212121"}},animationEasing:"linear",animationDuration:1E3};return a}(ra),yz=function(){function b(){}b.prototype.getInitialData=function(a,c){var b,e=c.getComponent("xAxis",this.get("xAxisIndex")),f=c.getComponent("yAxis",this.get("yAxisIndex")),g=e.get("type"),h=f.get("type"),k;"category"===g?(a.layout="horizontal",b=e.getOrdinalMeta(),k=!0):"category"===h?(a.layout="vertical",b=f.getOrdinalMeta(),k=!0):a.layout=a.layout||"horizontal";var h=["x","y"],l="horizontal"===a.layout?0:1,g=this._baseAxisDim=h[l],h=h[1-l],f=[e,f],e=f[l].get("type"),f=f[1-l].get("type");if((l=a.data)&&k){var m=[];r(l,function(a,c){var b;A(a)?(b=a.slice(),a.unshift(c)):A(a.value)?(b=a.value.slice(),a.value.unshift(c)):b=a;m.push(b)});a.data=m}k=this.defaultValueDimensions;b=[{name:g,type:Si(e),ordinalMeta:b,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:h,type:Si(f),dimsDef:k.slice()}];return of(this,{coordDimensions:b,dimensionsCount:k.length+1,encodeDefaulter:P(Kr,b,this)})};b.prototype.getBaseAxis=function(){var a=this._baseAxisDim;return this.ecModel.getComponent(a+"Axis",this.get(a+"AxisIndex")).axis};return b}(),zz=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.defaultValueDimensions=[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}];c.visualDrawType="stroke";return c}x(a,b);a.type="series.boxplot";a.dependencies=["xAxis","yAxis","grid"];a.defaultOption={zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0,0,0,0.2)"}},animationDuration:800};return a}(ra);wa(zz,yz,!0);var vL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e){var c=a.getData(),d=this.group,h=this._data;this._data||d.removeAll();var k="horizontal"===a.get("layout")?1:0;c.diff(h).add(function(a){if(c.hasValue(a)){var b=c.getItemLayout(a),b=Av(b,c,a,k,!0);c.setItemGraphicEl(a,b);d.add(b)}}).update(function(a,b){var e=h.getItemGraphicEl(b);if(c.hasValue(a)){var f=c.getItemLayout(a);e?Bv(f,e,c,a):e=Av(f,c,a,k);d.add(e);c.setItemGraphicEl(a,e)}else d.remove(e)}).remove(function(a){(a=h.getItemGraphicEl(a))&&d.remove(a)}).execute();this._data=c};a.prototype.remove=function(a){var c=this.group;a=this._data;this._data=null;a&&a.eachItemGraphicEl(function(a){a&&c.remove(a)})};a.type="boxplot";return a}(oa),wL=function(){return function(){}}(),tF=function(b){function a(a){a=b.call(this,a)||this;a.type="boxplotBoxPath";return a}x(a,b);a.prototype.getDefaultShape=function(){return new wL};a.prototype.buildPath=function(a,b){var c=b.points,d=0;a.moveTo(c[d][0],c[d][1]);for(d++;4>d;d++)a.lineTo(c[d][0],c[d][1]);for(a.closePath();d<c.length;d++)a.moveTo(c[d][0],c[d][1]),d++,a.lineTo(c[d][0],c[d][1])};return a}(Y),Zg=r,xL={type:"echarts:boxplot",transform:function(b){var a=b.upstream;if("arrayRows"!==a.sourceFormat){var c;c=gb("source data is not applicable for this boxplot transform. Expect number[][].");ja(c)}a=a.getRawData();b=(b=b.config)||{};c=[];for(var d=[],e=b.boundIQR,f="none"===e||0===e,g=0;g<a.length;g++){var h=Cb(a[g].slice()),k=ai(h,.25),l=ai(h,.5),m=ai(h,.75),n=h[0],p=h[h.length-1],q=(null==e?1.5:e)*(m-k),n=f?n:Math.max(n,k-q),p=f?p:Math.min(p,m+q),q=b.itemNameFormatter,q=fa(q)?q({value:g}):da(q)?q.replace("{value}",g+""):g+"";c.push([q,n,k,l,m,p]);for(k=0;k<h.length;k++)l=h[k],(l<n||l>p)&&d.push([q,l])}return[{dimensions:"ItemName Low Q1 Q2 Q3 High".split(" "),data:c},{data:d}]}},CF=["color","borderColor"],yL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e){this.group.removeClipPath();this._updateDrawMode(a);this._isLargeDraw?this._renderLarge(a):this._renderNormal(a)};a.prototype.incrementalPrepareRender=function(a,b,e){this._clear();this._updateDrawMode(a)};a.prototype.incrementalRender=function(a,b,e,f){this._isLargeDraw?this._incrementalRenderLarge(a,b):this._incrementalRenderNormal(a,b)};a.prototype._updateDrawMode=function(a){a=a.pipelineContext.large;if(null==this._isLargeDraw||a!==this._isLargeDraw)this._isLargeDraw=a,this._clear()};a.prototype._renderNormal=function(a){var c=a.getData(),b=this._data,f=this.group,g=c.getLayout("isSimpleBox"),h=a.get("clip",!0),k=a.coordinateSystem,l=k.getArea&&k.getArea();this._data||f.removeAll();c.diff(b).add(function(b){if(c.hasValue(b)){var d=c.getItemLayout(b);if(!h||!Cv(l,d)){var e=yn(d,b,!0);za(e,{shape:{points:d.ends}},a,b);zn(e,c,b,g);f.add(e);c.setItemGraphicEl(b,e)}}}).update(function(d,e){var k=b.getItemGraphicEl(e);if(c.hasValue(d)){var m=c.getItemLayout(d);h&&Cv(l,m)?f.remove(k):(k?ea(k,{shape:{points:m.ends}},a,d):k=yn(m),zn(k,c,d,g),f.add(k),c.setItemGraphicEl(d,k))}else f.remove(k)}).remove(function(a){(a=b.getItemGraphicEl(a))&&f.remove(a)}).execute();this._data=c};a.prototype._renderLarge=function(a){this._clear();Dv(a,this.group);(a=a.get("clip",!0)?Zi(a.coordinateSystem,!1,a):null)?this.group.setClipPath(a):this.group.removeClipPath()};a.prototype._incrementalRenderNormal=function(a,b){for(var c=b.getData(),d=c.getLayout("isSimpleBox"),g;null!=(g=a.next());){var h=c.getItemLayout(g),h=yn(h);zn(h,c,g,d);h.incremental=!0;this.group.add(h)}};a.prototype._incrementalRenderLarge=function(a,b){Dv(b,this.group,!0)};a.prototype.remove=function(a){this._clear()};a.prototype._clear=function(){this.group.removeAll();this._data=null};a.type="candlestick";return a}(oa),zL=function(){return function(){}}(),AF=function(b){function a(a){a=b.call(this,a)||this;a.type="normalCandlestickBox";return a}x(a,b);a.prototype.getDefaultShape=function(){return new zL};a.prototype.buildPath=function(a,b){var c=b.points;this.__simpleBox?(a.moveTo(c[4][0],c[4][1]),a.lineTo(c[6][0],c[6][1])):(a.moveTo(c[0][0],c[0][1]),a.lineTo(c[1][0],c[1][1]),a.lineTo(c[2][0],c[2][1]),a.lineTo(c[3][0],c[3][1]),a.closePath(),a.moveTo(c[4][0],c[4][1]),a.lineTo(c[5][0],c[5][1]),a.moveTo(c[6][0],c[6][1]),a.lineTo(c[7][0],c[7][1]))};return a}(Y),AL=function(){return function(){}}(),Ev=function(b){function a(a){a=b.call(this,a)||this;a.type="largeCandlestickBox";return a}x(a,b);a.prototype.getDefaultShape=function(){return new AL};a.prototype.buildPath=function(a,b){for(var c=b.points,d=0;d<c.length;)if(this.__sign===c[d++]){var g=c[d++];a.moveTo(g,c[d++]);a.lineTo(g,c[d++])}else d+=3};return a}(Y),Az=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.defaultValueDimensions=[{name:"open",defaultTooltip:!0},{name:"close",defaultTooltip:!0},{name:"lowest",defaultTooltip:!0},{name:"highest",defaultTooltip:!0}];return c}x(a,b);a.prototype.getShadowDim=function(){return"open"};a.prototype.brushSelector=function(a,b,e){return(a=b.getItemLayout(a))&&e.rect(a.brushRect)};a.type="series.candlestick";a.dependencies=["xAxis","yAxis","grid"];a.defaultOption={zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,clip:!0,itemStyle:{color:"#eb5454",color0:"#47b262",borderColor:"#eb5454",borderColor0:"#47b262",borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2}},barMaxWidth:null,barMinWidth:null,barWidth:null,large:!0,largeThreshold:600,progressive:3E3,progressiveThreshold:1E4,progressiveChunkMode:"mod",animationEasing:"linear",animationDuration:300};return a}(ra);wa(Az,yz,!0);var BL=["itemStyle","borderColor"],CL=["itemStyle","borderColor0"],DL=["itemStyle","color"],EL=["itemStyle","color0"],FL={seriesType:"candlestick",plan:cf(),performRawSeries:!0,reset:function(b,a){b.getData().setVisual("legendSymbol","roundRect");if(!a.isSeriesFiltered(b))return!b.pipelineContext.large&&{progress:function(a,b){for(var c;null!=(c=a.next());){var d=b.getItemModel(c),g=b.getItemLayout(c).sign,h=d.getItemStyle();h.fill=d.get(0<g?DL:EL);h.stroke=d.get(0<g?BL:CL)||h.fill;c=b.ensureUniqueItemVisual(c,"style");F(c,h)}}}}},GL="undefined"!==typeof Float32Array?Float32Array:Array,HL={seriesType:"candlestick",plan:cf(),reset:function(b){function a(a,c){function b(a,c){var b=[];b[0]=c;b[1]=a;return isNaN(c)||isNaN(a)?[NaN,NaN]:d.dataToPoint(b)}function e(a,c,b){var d=c.slice();c=c.slice();d[0]=Rj(d[0]+f/2,1,!1);c[0]=Rj(c[0]-f/2,1,!0);b?a.push(d,c):a.push(c,d)}function g(a,c,d){a=b(a,d);c=b(c,d);a[0]-=f/2;c[0]-=f/2;return{x:a[0],y:a[1],width:f,height:c[1]-a[1]}}function p(a){a[0]=Rj(a[0],1);return a}for(var q;null!=(q=a.next());){var r=c.get(h,q),y=c.get(k,q),x=c.get(l,q),A=c.get(m,q),C=c.get(n,q),E=Math.max(y,x),F=b(Math.min(y,x),r),E=b(E,r),H=b(A,r),I=b(C,r),J=[];e(J,E,0);e(J,F,1);J.push(p(I),p(E),p(H),p(F));c.setItemLayout(q,{sign:Gv(c,q,y,x,l),initBaseline:y>x?E[1]:F[1],ends:J,brushRect:g(A,C,r)})}}function c(a,c){for(var b=new GL(4*a.count),e=0,f,g=[],p=[];null!=(f=a.next());){var q=c.get(h,f),r=c.get(k,f),x=c.get(l,f),A=c.get(m,f),C=c.get(n,f);isNaN(q)||isNaN(A)||isNaN(C)?(b[e++]=NaN,e+=3):(b[e++]=Gv(c,f,r,x,l),g[0]=q,g[1]=A,f=d.dataToPoint(g,null,p),b[e++]=f?f[0]:NaN,b[e++]=f?f[1]:NaN,g[1]=C,f=d.dataToPoint(g,null,p),b[e++]=f?f[1]:NaN)}c.setLayout("largePoints",b)}var d=b.coordinateSystem,e=b.getData(),f=EF(b,e),g=["x","y"],h=e.mapDimension(g[0]),g=e.mapDimensionsAll(g[1]),k=g[0],l=g[1],m=g[2],n=g[3];e.setLayout({candleWidth:f,isSimpleBox:1.3>=f});if(!(null==h||4>g.length))return{progress:b.pipelineContext.large?c:a}}},Bz=function(b){function a(a,d){var c=b.call(this)||this,f=new Hg(a,d),g=new M;c.add(f);c.add(g);c.updateData(a,d);return c}x(a,b);a.prototype.stopEffectAnimation=function(){this.childAt(1).removeAll()};a.prototype.startEffectAnimation=function(a){for(var c=a.symbolType,b=a.color,f=this.childAt(1),g=0;3>g;g++){var h=Pa(c,-1,-1,2,2,b);h.attr({style:{strokeNoScale:!0},z2:99,silent:!0,scaleX:.5,scaleY:.5});var k=-g/3*a.period+a.effectOffset;h.animate("",!0).when(a.period,{scale:[a.rippleScale/2,a.rippleScale/2]}).delay(k).start();h.animateStyle(!0).when(a.period,{opacity:0}).delay(k).start();f.add(h)}Hv(f,a)};a.prototype.updateEffectAnimation=function(a){for(var c=this._effectCfg,b=this.childAt(1),f=["symbolType","period","rippleScale"],g=0;g<f.length;g++){var h=f[g];if(c[h]!==a[h]){this.stopEffectAnimation();this.startEffectAnimation(a);return}}Hv(b,a)};a.prototype.highlight=function(){nc(this)};a.prototype.downplay=function(){oc(this)};a.prototype.updateData=function(a,b){var c=this,d=a.hostModel;this.childAt(0).updateData(a,b);var g=this.childAt(1),h=a.getItemModel(b),k=a.getItemVisual(b,"symbol"),l=FF(a.getItemVisual(b,"symbolSize")),m=a.getItemVisual(b,"style"),n=m&&m.fill;g.setScale(l);g.traverse(function(a){a.setStyle("fill",n)});if(m=h.getShallow("symbolOffset"))g.x=H(m[0],l[0]),g.y=H(m[1],l[1]);l=a.getItemVisual(b,"symbolRotate");g.rotation=(l||0)*Math.PI/180||0;var p={};p.showEffectOn=d.get("showEffectOn");p.rippleScale=h.get(["rippleEffect","scale"]);p.brushType=h.get(["rippleEffect","brushType"]);p.period=1E3*h.get(["rippleEffect","period"]);p.effectOffset=b/a.count();p.z=d.getShallow("z")||0;p.zlevel=d.getShallow("zlevel")||0;p.symbolType=k;p.color=n;p.rippleEffectColor=h.get(["rippleEffect","color"]);this.off("mouseover").off("mouseout").off("emphasis").off("normal");"render"===p.showEffectOn?(this._effectCfg?this.updateEffectAnimation(p):this.startEffectAnimation(p),this._effectCfg=p):(this._effectCfg=null,this.stopEffectAnimation(),this.onHoverStateChange=function(a){"emphasis"===a?"render"!==p.showEffectOn&&c.startEffectAnimation(p):"normal"===a&&"render"!==p.showEffectOn&&c.stopEffectAnimation()});this._effectCfg=p;va(this)};a.prototype.fadeOut=function(a){this.off("mouseover").off("mouseout");a&&a()};return a}(M);Qh(Bz,M);var IL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(){this._symbolDraw=new Eh(Bz)};a.prototype.render=function(a,b,e){a=a.getData();b=this._symbolDraw;b.updateData(a);this.group.add(b.group)};a.prototype.updateTransform=function(a,b,e){var c=a.getData();this.group.dirty();a=Ig("").reset(a,b,e);a.progress&&a.progress({start:0,end:c.count(),count:c.count()},c);this._symbolDraw.updateLayout()};a.prototype._updateGroupTransform=function(a){(a=a.coordinateSystem)&&a.getRoamTransform&&(this.group.transform=bq(a.getRoamTransform()),this.group.decomposeTransform())};a.prototype.remove=function(a,b){this._symbolDraw&&this._symbolDraw.remove(!0)};a.type="effectScatter";return a}(oa),JL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.hasSymbolVisual=!0;return c}x(a,b);a.prototype.getInitialData=function(a,b){return sc(this.getSource(),this,{useEncodeDefaulter:!0})};a.prototype.brushSelector=function(a,b,e){return e.point(b.getItemLayout(a))};a.type="series.effectScatter";a.dependencies=["grid","polar"];a.defaultOption={coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,effectType:"ripple",progressive:0,showEffectOn:"render",rippleEffect:{period:4,scale:2.5,brushType:"fill"},symbolSize:10};return a}(ra),Cz=function(b){function a(a,d,e){var c=b.call(this)||this;c.add(c.createLine(a,d,e));c._updateEffectSymbol(a,d);return c}x(a,b);a.prototype.createLine=function(a,b,e){return new sp(a,b,e)};a.prototype._updateEffectSymbol=function(a,b){var c=a.getItemModel(b).getModel("effect"),d=c.get("symbolSize"),g=c.get("symbol");A(d)||(d=[d,d]);var h=a.getItemVisual(b,"style"),h=c.get("color")||h&&h.stroke,k=this.childAt(1);this._symbolType!==g&&(this.remove(k),k=Pa(g,-.5,-.5,1,1,h),k.z2=100,k.culling=!0,this.add(k));k&&(k.setStyle("shadowColor",h),k.setStyle(c.getItemStyle(["color"])),k.scaleX=d[0],k.scaleY=d[1],k.setColor(h),this._symbolType=g,this._symbolScale=d,this._updateEffectAnimation(a,c,b))};a.prototype._updateEffectAnimation=function(a,b,e){var c=this.childAt(1);if(c){var d=this,h=a.getItemLayout(e),k=1E3*b.get("period"),l=b.get("loop"),m=b.get("constantSpeed");b=Ba(b.get("delay"),function(c){return c/a.count()*k/3});c.ignore=!0;this._updateAnimationPoints(c,h);0<m&&(k=this._getLineLength(c)/m*1E3);if(k!==this._period||l!==this._loop)c.stopAnimation(),0<k&&(h=void 0,h="function"===typeof b?b(e):b,0<c.__t&&(h=-k*c.__t),c.__t=0,e=c.animate("",l).when(k,{__t:1}).delay(h).during(function(){d._updateSymbolPosition(c)}),l||e.done(function(){d.remove(c)}),e.start());this._period=k;this._loop=l}};a.prototype._getLineLength=function(a){return Fc(a.__p1,a.__cp1)+Fc(a.__cp1,a.__p2)};a.prototype._updateAnimationPoints=function(a,b){a.__p1=b[0];a.__p2=b[1];a.__cp1=b[2]||[(b[0][0]+b[1][0])/2,(b[0][1]+b[1][1])/2]};a.prototype.updateData=function(a,b,e){this.childAt(0).updateData(a,b,e);this._updateEffectSymbol(a,b)};a.prototype._updateSymbolPosition=function(a){var c=a.__p1,b=a.__p2,f=a.__cp1,g=a.__t,h=[a.x,a.y],k=h.slice();h[0]=Za(c[0],f[0],b[0],g);h[1]=Za(c[1],f[1],b[1],g);var l=hi(c[0],f[0],b[0],g),b=hi(c[1],f[1],b[1],g);a.rotation=-Math.atan2(b,l)-Math.PI/2;if("line"===this._symbolType||"rect"===this._symbolType||"roundRect"===this._symbolType)void 0!==a.__lastT&&a.__lastT<a.__t?(a.scaleY=1.05*Fc(k,h),1===g&&(h[0]=k[0]+(h[0]-k[0])/2,h[1]=k[1]+(h[1]-k[1])/2)):a.scaleY=1===a.__lastT?2*Fc(c,h):this._symbolScale[1];a.__lastT=a.__t;a.ignore=!1;a.x=h[0];a.y=h[1]};a.prototype.updateLayout=function(a,b){this.childAt(0).updateLayout(a,b);var c=a.getItemModel(b).getModel("effect");this._updateEffectAnimation(a,c,b)};return a}(M),Dz=function(b){function a(a,d,e){var c=b.call(this)||this;c._createPolyline(a,d,e);return c}x(a,b);a.prototype._createPolyline=function(a,b,e){var c=a.getItemLayout(b),c=new kb({shape:{points:c}});this.add(c);this._updateCommonStl(a,b,e)};a.prototype.updateData=function(a,b,e){var c=a.hostModel,d=this.childAt(0),h={shape:{points:a.getItemLayout(b)}};ea(d,h,c,b);this._updateCommonStl(a,b,e)};a.prototype._updateCommonStl=function(a,b,e){var c=this.childAt(0),d=a.getItemModel(b),h=e&&e.emphasisLineStyle;if(!e||a.hasItemOption)h=d.getModel(["emphasis","lineStyle"]).getLineStyle();c.useStyle(a.getItemVisual(b,"style"));c.style.fill=null;c.style.strokeNoScale=!0;c.ensureState("emphasis").style=h;va(this)};a.prototype.updateLayout=function(a,b){this.childAt(0).setShape("points",a.getItemLayout(b))};return a}(M),KL=function(b){function a(){var a=null!==b&&b.apply(this,arguments)||this;a._lastFrame=0;a._lastFramePercent=0;return a}x(a,b);a.prototype.createLine=function(a,b,e){return new Dz(a,b,e)};a.prototype._updateAnimationPoints=function(a,b){this._points=b;for(var c=[0],d=0,g=1;g<b.length;g++)d+=Fc(b[g-1],b[g]),c.push(d);if(0===d)this._length=0;else{for(g=0;g<c.length;g++)c[g]/=d;this._offsets=c;this._length=d}};a.prototype._getLineLength=function(){return this._length};a.prototype._updateSymbolPosition=function(a){var c=a.__t,b=this._points,f=this._offsets,g=b.length;if(f){var h=this._lastFrame;if(c<this._lastFramePercent){for(h=Math.min(h+1,g-1);0<=h&&!(f[h]<=c);h--);h=Math.min(h,g-2)}else{for(;h<g&&!(f[h]>c);h++);h=Math.min(h-1,g-2)}f=(c-f[h])/(f[h+1]-f[h]);g=b[h];b=b[h+1];a.x=g[0]*(1-f)+f*b[0];a.y=g[1]*(1-f)+f*b[1];a.rotation=-Math.atan2(b[1]-g[1],b[0]-g[0])-Math.PI/2;this._lastFrame=h;this._lastFramePercent=c;a.ignore=!1}};return a}(Cz),LL=function(){return function(){this.polyline=!1;this.curveness=0;this.segs=[]}}(),Ez=function(b){function a(a){return b.call(this,a)||this}x(a,b);a.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}};a.prototype.getDefaultShape=function(){return new LL};a.prototype.buildPath=function(a,b){var c=b.segs,d=b.curveness;if(b.polyline)for(var g=0;g<c.length;){if(d=c[g++],0<d){a.moveTo(c[g++],c[g++]);for(var h=1;h<d;h++)a.lineTo(c[g++],c[g++])}}else for(g=0;g<c.length;){var h=c[g++],k=c[g++],l=c[g++],m=c[g++];a.moveTo(h,k);0<d?a.quadraticCurveTo((h+l)/2-(k-m)*d,(k+m)/2-(l-h)*d,l,m):a.lineTo(l,m)}};a.prototype.findDataIndex=function(a,b){var c=this.shape,d=c.segs,g=c.curveness,h=this.style.lineWidth;if(c.polyline)for(var k=c=0;k<d.length;){g=d[k++];if(0<g)for(var l=d[k++],m=d[k++],n=1;n<g;n++){var p=d[k++],q=d[k++];if($c(l,m,p,q,h,a,b))return c}c++}else for(k=c=0;k<d.length;){l=d[k++];m=d[k++];p=d[k++];q=d[k++];if(0<g){if(Qq(l,m,(l+p)/2-(m-q)*g,(m+q)/2-(p-l)*g,p,q,h,a,b))return c}else if($c(l,m,p,q,h,a,b))return c;c++}return-1};return a}(Y),ML=function(){function b(){this.group=new M}b.prototype.isPersistent=function(){return!this._incremental};b.prototype.updateData=function(a){this.group.removeAll();var c=new Ez({rectHover:!0,cursor:"default"});c.setShape({segs:a.getLayout("linesPoints")});this._setCommon(c,a);this.group.add(c);this._incremental=null};b.prototype.incrementalPrepareUpdate=function(a){this.group.removeAll();this._clearIncremental();5E5<a.count()?(this._incremental||(this._incremental=new xg({silent:!0})),this.group.add(this._incremental)):this._incremental=null};b.prototype.incrementalUpdate=function(a,c){var b=new Ez;b.setShape({segs:c.getLayout("linesPoints")});this._setCommon(b,c,!!this._incremental);this._incremental?this._incremental.addDisplayable(b,!0):(b.rectHover=!0,b.cursor="default",b.__startIndex=a.start,this.group.add(b))};b.prototype.remove=function(){this._clearIncremental();this._incremental=null;this.group.removeAll()};b.prototype._setCommon=function(a,c,b){var d=c.hostModel;a.setShape({polyline:d.get("polyline"),curveness:d.get(["lineStyle","curveness"])});a.useStyle(d.getModel("lineStyle").getLineStyle());a.style.strokeNoScale=!0;(c=c.getVisual("style"))&&c.stroke&&a.setStyle("stroke",c.stroke);a.setStyle("fill",null);if(!b){var f=S(a);f.seriesIndex=d.seriesIndex;a.on("mousemove",function(c){f.dataIndex=null;c=a.findDataIndex(c.offsetX,c.offsetY);0<c&&(f.dataIndex=c+a.__startIndex)})}};b.prototype._clearIncremental=function(){var a=this._incremental;a&&a.clearDisplaybles()};return b}(),Fz={seriesType:"lines",plan:cf(),reset:function(b){var a=b.coordinateSystem,c=b.get("polyline"),d=b.pipelineContext.large;return{progress:function(e,f){var g=[];if(d){var h,k=e.end-e.start;if(c){h=0;for(var l=e.start;l<e.end;l++)h+=b.getLineCoordsCount(l);h=new Float32Array(k+2*h)}else h=new Float32Array(4*k);for(var m=0,n=[],l=e.start;l<e.end;l++){k=b.getLineCoords(l,g);c&&(h[m++]=k);for(var p=0;p<k;p++)n=a.dataToPoint(g[p],!1,n),h[m++]=n[0],h[m++]=n[1]}f.setLayout("linesPoints",h)}else for(l=e.start;l<e.end;l++){m=f.getItemModel(l);k=b.getLineCoords(l,g);h=[];if(c)for(m=0;m<k;m++)h.push(a.dataToPoint(g[m]));else h[0]=a.dataToPoint(g[0]),h[1]=a.dataToPoint(g[1]),k=m.get(["lineStyle","curveness"]),+k&&(h[2]=[(h[0][0]+h[1][0])/2-(h[0][1]-h[1][1])*k,(h[0][1]+h[1][1])/2-(h[1][0]-h[0][0])*k]);f.setItemLayout(l,h)}}}}},NL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e){var c=a.getData(),d=this._updateLineDraw(c,a),h=a.get("zlevel"),k=a.get(["effect","trailLength"]);e=e.getZr();var l="svg"===e.painter.getType();l||e.painter.getLayer(h).clear(!0);null==this._lastZlevel||l||e.configLayer(this._lastZlevel,{motionBlur:!1});if(this._showEffect(a)&&k){var m=!1;b.eachSeries(function(c){c!==a&&c.get("zlevel")===h&&(m=!0)});m&&console.warn("Lines with trail effect should have an individual zlevel");l||e.configLayer(h,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(k/10+.9,1),0)})}d.updateData(c);(b=a.get("clip",!0)&&Zi(a.coordinateSystem,!1,a))?this.group.setClipPath(b):this.group.removeClipPath();this._lastZlevel=h;this._finished=!0};a.prototype.incrementalPrepareRender=function(a,b,e){b=a.getData();this._updateLineDraw(b,a).incrementalPrepareUpdate(b);this._clearLayer(e);this._finished=!1};a.prototype.incrementalRender=function(a,b,e){this._lineDraw.incrementalUpdate(a,b.getData());this._finished=a.end===b.getData().count()};a.prototype.updateTransform=function(a,b,e){var c=a.getData(),d=a.pipelineContext;if(!this._finished||d.large||d.progressiveRender)return{update:!0};a=Fz.reset(a,b,e);a.progress&&a.progress({start:0,end:c.count(),count:c.count()},c);this._lineDraw.updateLayout();this._clearLayer(e)};a.prototype._updateLineDraw=function(a,b){var c=this._lineDraw,d=this._showEffect(b),g=!!b.get("polyline"),h=b.pipelineContext.large;d&&h&&console.warn("Large lines not support effect");c&&d===this._hasEffet&&g===this._isPolyline&&h===this._isLargeDraw||(c&&c.remove(),c=this._lineDraw=h?new ML:new tp(g?d?KL:Dz:d?Cz:sp),this._hasEffet=d,this._isPolyline=g,this._isLargeDraw=h,this.group.removeAll());this.group.add(c.group);return c};a.prototype._showEffect=function(a){return!!a.get(["effect","show"])};a.prototype._clearLayer=function(a){a=a.getZr();"svg"!==a.painter.getType()&&null!=this._lastZlevel&&a.painter.getLayer(this._lastZlevel).clear(!0)};a.prototype.remove=function(a,b){this._lineDraw&&this._lineDraw.remove();this._lineDraw=null;this._clearLayer(b)};a.type="lines";return a}(oa),OL="undefined"===typeof Uint32Array?Array:Uint32Array,PL="undefined"===typeof Float64Array?Array:Float64Array,QL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.visualStyleAccessPath="lineStyle";c.visualDrawType="stroke";return c}x(a,b);a.prototype.init=function(a){a.data=a.data||[];Iv(a);var c=this._processFlatCoordsArray(a.data);this._flatCoords=c.flatCoords;this._flatCoordsOffset=c.flatCoordsOffset;c.flatCoords&&(a.data=new Float32Array(c.count));b.prototype.init.apply(this,arguments)};a.prototype.mergeOption=function(a){Iv(a);if(a.data){var c=this._processFlatCoordsArray(a.data);this._flatCoords=c.flatCoords;this._flatCoordsOffset=c.flatCoordsOffset;c.flatCoords&&(a.data=new Float32Array(c.count))}b.prototype.mergeOption.apply(this,arguments)};a.prototype.appendData=function(a){var c=this._processFlatCoordsArray(a.data);c.flatCoords&&(this._flatCoords?(this._flatCoords=uk(this._flatCoords,c.flatCoords),this._flatCoordsOffset=uk(this._flatCoordsOffset,c.flatCoordsOffset)):(this._flatCoords=c.flatCoords,this._flatCoordsOffset=c.flatCoordsOffset),a.data=new Float32Array(c.count));this.getRawData().appendData(a.data)};a.prototype._getCoordsFromItemModel=function(a){a=this.getData().getItemModel(a);a=a.option instanceof Array?a.option:a.getShallow("coords");if(!(a instanceof Array&&0<a.length&&a[0]instanceof Array))throw Error("Invalid coords "+JSON.stringify(a)+". Lines must have 2d coords array in data item.");return a};a.prototype.getLineCoordsCount=function(a){return this._flatCoordsOffset?this._flatCoordsOffset[2*a+1]:this._getCoordsFromItemModel(a).length};a.prototype.getLineCoords=function(a,b){if(this._flatCoordsOffset){for(var c=this._flatCoordsOffset[2*a],d=this._flatCoordsOffset[2*a+1],g=0;g<d;g++)b[g]=b[g]||[],b[g][0]=this._flatCoords[c+2*g],b[g][1]=this._flatCoords[c+2*g+1];return d}c=this._getCoordsFromItemModel(a);for(g=0;g<c.length;g++)b[g]=b[g]||[],b[g][0]=c[g][0],b[g][1]=c[g][1];return c.length};a.prototype._processFlatCoordsArray=function(a){var c=0;this._flatCoords&&(c=this._flatCoords.length);if("number"===typeof a[0]){for(var b=a.length,f=new OL(b),g=new PL(b),h=0,k=0,l=0,m=0;m<b;){l++;var n=a[m++];f[k++]=h+c;f[k++]=n;for(var p=0;p<n;p++){var q=a[m++],t=a[m++];g[h++]=q;g[h++]=t;if(m>b)throw Error("Invalid data format.");}}return{flatCoordsOffset:new Uint32Array(f.buffer,0,k),flatCoords:g,count:l}}return{flatCoordsOffset:null,flatCoords:null,count:a.length}};a.prototype.getInitialData=function(a,b){if(!Yd.get(a.coordinateSystem))throw Error("Unkown coordinate system "+a.coordinateSystem);var c=new Wa(["value"],this);c.hasItemOption=!1;c.initData(a.data,[],function(a,b,d,e){if(a instanceof Array)return NaN;c.hasItemOption=!0;a=a.value;if(null!=a)return a instanceof Array?a[e]:a});return c};a.prototype.formatTooltip=function(a,b,e){b=this.getData().getItemModel(a);if(a=b.get("name"))return a;a=b.get("fromName");b=b.get("toName");e=[];null!=a&&e.push(a);null!=b&&e.push(b);return Ha("nameValue",{name:e.join(" \x3e ")})};a.prototype.preventIncremental=function(){return!!this.get(["effect","show"])};a.prototype.getProgressive=function(){var a=this.option.progressive;return null==a?this.option.large?1E4:this.get("progressive"):a};a.prototype.getProgressiveThreshold=function(){var a=this.option.progressiveThreshold;return null==a?this.option.large?2E4:this.get("progressiveThreshold"):a};a.type="series.lines";a.dependencies=["grid","polar","geo","calendar"];a.defaultOption={coordinateSystem:"geo",zlevel:0,z:2,legendHoverLink:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2E3,polyline:!1,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}};return a}(ra),RL={seriesType:"lines",reset:function(b){function a(a,c){var b=a.getItemModel(c),d=nj(b.getShallow("symbol",!0)),b=nj(b.getShallow("symbolSize",!0));d[0]&&a.setItemVisual(c,"fromSymbol",d[0]);d[1]&&a.setItemVisual(c,"toSymbol",d[1]);b[0]&&a.setItemVisual(c,"fromSymbolSize",b[0]);b[1]&&a.setItemVisual(c,"toSymbolSize",b[1])}var c=nj(b.get("symbol")),d=nj(b.get("symbolSize"));b=b.getData();b.setVisual("fromSymbol",c&&c[0]);b.setVisual("toSymbol",c&&c[1]);b.setVisual("fromSymbolSize",d&&d[0]);b.setVisual("toSymbolSize",d&&d[1]);return{dataEach:b.hasItemOption?a:null}}},SL=function(){function b(){this.blurSize=30;this.pointSize=20;this.maxOpacity=1;this.minOpacity=0;this._gradientPixels={inRange:null,outOfRange:null};this.canvas=Wd()}b.prototype.update=function(a,c,b,e,f,g){var d=this._getBrush(),k=this._getGradient(f,"inRange");f=this._getGradient(f,"outOfRange");var l=this.pointSize+this.blurSize,m=this.canvas,n=m.getContext("2d"),p=a.length;m.width=c;m.height=b;for(b=0;b<p;++b){c=a[b];var q=c[0],t=c[1];c=e(c[2]);n.globalAlpha=c;n.drawImage(d,q-l,t-l)}if(!m.width||!m.height)return m;a=n.getImageData(0,0,m.width,m.height);e=a.data;d=0;l=e.length;p=this.minOpacity;for(b=this.maxOpacity-p;d<l;)c=e[d+3]/256,q=4*Math.floor(255*c),0<c?(t=g(c)?k:f,0<c&&(c=c*b+p),e[d++]=t[q],e[d++]=t[q+1],e[d++]=t[q+2],e[d++]=t[q+3]*c*256):d+=4;n.putImageData(a,0,0);return m};b.prototype._getBrush=function(){var a=this._brushCanvas||(this._brushCanvas=Wd()),c=this.pointSize+this.blurSize,b=2*c;a.width=b;a.height=b;var e=a.getContext("2d");e.clearRect(0,0,b,b);e.shadowOffsetX=b;e.shadowBlur=this.blurSize;e.shadowColor="#000";e.beginPath();e.arc(-c,c,this.pointSize,0,2*Math.PI,!0);e.closePath();e.fill();return a};b.prototype._getGradient=function(a,c){for(var b=this._gradientPixels,b=b[c]||(b[c]=new Uint8ClampedArray(1024)),e=[0,0,0,0],f=0,g=0;256>g;g++)a[c](g/255,!0,e),b[f++]=e[0],b[f++]=e[1],b[f++]=e[2],b[f++]=e[3];return b};return b}(),TL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e){var c;b.eachComponent("visualMap",function(b){b.eachTargetSeries(function(d){d===a&&(c=b)})});if(!c)throw Error("Heatmap must use with visualMap");this.group.removeAll();this._incrementalDisplayable=null;b=a.coordinateSystem;"cartesian2d"===b.type||"calendar"===b.type?this._renderOnCartesianAndCalendar(a,e,0,a.getData().count()):Jv(b)&&this._renderOnGeo(b,a,c,e)};a.prototype.incrementalPrepareRender=function(a,b,e){this.group.removeAll()};a.prototype.incrementalRender=function(a,b,e,f){var c=b.coordinateSystem;c&&(Jv(c)?this.render(b,e,f):this._renderOnCartesianAndCalendar(b,f,a.start,a.end,!0))};a.prototype._renderOnCartesianAndCalendar=function(a,b,e,f,g){b=a.coordinateSystem;var c,d,l,m;if("cartesian2d"===b.type){l=b.getAxis("x");m=b.getAxis("y");if("category"!==l.type||"category"!==m.type)throw Error("Heatmap on cartesian must have two category axes");if(!l.onBand||!m.onBand)throw Error("Heatmap on cartesian must have two axes with boundaryGap true");c=l.getBandWidth();d=m.getBandWidth();l=l.scale.getExtent();m=m.scale.getExtent()}for(var n=this.group,p=a.getData(),q=a.getModel(["emphasis","itemStyle"]).getItemStyle(),t=a.getModel(["blur","itemStyle"]).getItemStyle(),u=a.getModel(["select","itemStyle"]).getItemStyle(),r=Ra(a),v=a.get(["emphasis","focus"]),z=a.get(["emphasis","blurScope"]),x="cartesian2d"===b.type?[p.mapDimension("x"),p.mapDimension("y"),p.mapDimension("value")]:[p.mapDimension("time"),p.mapDimension("value")];e<f;e++){var y,A=p.getItemVisual(e,"style");if("cartesian2d"===b.type){y=p.get(x[0],e);var D=p.get(x[1],e);if(isNaN(p.get(x[2],e))||y<l[0]||y>l[1]||D<m[0]||D>m[1])continue;y=b.dataToPoint([y,D]);y=new Z({shape:{x:Math.floor(Math.round(y[0])-c/2),y:Math.floor(Math.round(y[1])-d/2),width:Math.ceil(c),height:Math.ceil(d)},style:A})}else{if(isNaN(p.get(x[1],e)))continue;y=new Z({z2:1,shape:b.dataToRect([p.get(x[0],e)]).contentShape,style:A})}D=p.getItemModel(e);p.hasItemOption&&(r=D.getModel("emphasis"),q=r.getModel("itemStyle").getItemStyle(),t=D.getModel(["blur","itemStyle"]).getItemStyle(),u=D.getModel(["select","itemStyle"]).getItemStyle(),v=r.get("focus"),z=r.get("blurScope"),r=Ra(D));var D=a.getRawValue(e),C="-";D&&null!=D[2]&&(C=D[2]+"");cb(y,r,{labelFetcher:a,labelDataIndex:e,defaultOpacity:A.opacity,defaultText:C});y.ensureState("emphasis").style=q;y.ensureState("blur").style=t;y.ensureState("select").style=u;va(y,v,z);if(y.incremental=g)y.states.emphasis.hoverLayer=!0;n.add(y);p.setItemGraphicEl(e,y)}};a.prototype._renderOnGeo=function(a,b,e,f){var c=e.targetVisuals.inRange,d=e.targetVisuals.outOfRange,k=b.getData(),l=this._hmLayer||this._hmLayer||new SL;l.blurSize=b.get("blurSize");l.pointSize=b.get("pointSize");l.minOpacity=b.get("minOpacity");l.maxOpacity=b.get("maxOpacity");b=a.getViewRect().clone();var m=a.getRoamTransform();b.applyTransform(m);var n=Math.max(b.x,0),p=Math.max(b.y,0),m=Math.min(b.width+b.x,f.getWidth());b=Math.min(b.height+b.y,f.getHeight());f=m-n;b-=p;m=[k.mapDimension("lng"),k.mapDimension("lat"),k.mapDimension("value")];k=k.mapArray(m,function(c,b,d){c=a.dataToPoint([c,b]);c[0]-=n;c[1]-=p;c.push(d);return c});m=e.getExtent();e="visualMap.continuous"===e.type?HF(m,e.option.range):GF(m,e.getPieceList(),e.option.selected);l.update(k,f,b,c.color.getNormalizer(),{inRange:c.color.getColorMapper(),outOfRange:d.color.getColorMapper()},e);c=new Ga({style:{width:f,height:b,x:n,y:p,image:l.canvas},silent:!0});this.group.add(c)};a.type="heatmap";return a}(oa),UL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.getInitialData=function(a,b){return sc(this.getSource(),this,{generateCoord:"value"})};a.prototype.preventIncremental=function(){var a=Yd.get(this.get("coordinateSystem"));if(a&&a.dimensions)return"lng"===a.dimensions[0]&&"lat"===a.dimensions[1]};a.type="series.heatmap";a.dependencies=["grid","geo","calendar"];a.defaultOption={coordinateSystem:"cartesian2d",zlevel:0,z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0,select:{itemStyle:{borderColor:"#212121"}}};return a}(ra),IF=["itemStyle","borderWidth"],Gz=[{xy:"x",wh:"width",index:0,posDesc:["left","right"]},{xy:"y",wh:"height",index:1,posDesc:["top","bottom"]}],An=new Nb,VL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e){var c=this.group,d=a.getData(),h=this._data;b=a.coordinateSystem;var k=b.getBaseAxis().isHorizontal(),l=b.master.getRect(),m={ecSize:{width:e.getWidth(),height:e.getHeight()},seriesModel:a,coordSys:b,coordSysExtent:[[l.x,l.x+l.width],[l.y,l.y+l.height]],isHorizontal:k,valueDim:Gz[+k],categoryDim:Gz[1-+k]};d.diff(h).add(function(a){if(d.hasValue(a)){var b=Rv(d,a),b=Kv(d,a,b,m),e=Sv(d,m,b);d.setItemGraphicEl(a,e);c.add(e);Vv(e,m,b)}}).update(function(a,b){var e=h.getItemGraphicEl(b);if(d.hasValue(a)){var f=Rv(d,a),f=Kv(d,a,f,m),g=Tv(d,f);e&&g!==e.__pictorialShapeStr&&(c.remove(e),d.setItemGraphicEl(a,null),e=null);e?(g=e,ea(g.__pictorialBundle,{x:f.bundlePosition[0],y:f.bundlePosition[1]},f.animationModel,f.dataIndex),f.symbolRepeat?Nv(g,m,f,!0):Ov(g,m,f,!0),Pv(g,f,!0),Qv(g,m,f,!0)):e=Sv(d,m,f,!0);d.setItemGraphicEl(a,e);e.__pictorialSymbolMeta=f;c.add(e);Vv(e,m,f)}else c.remove(e)}).remove(function(a){var c=h.getItemGraphicEl(a);c&&Uv(h,a,c.__pictorialSymbolMeta.animationModel,c)}).execute();this._data=d;return this.group};a.prototype.remove=function(a,b){var c=this.group,d=this._data;a.get("animation")?d&&d.eachItemGraphicEl(function(c){Uv(d,S(c).dataIndex,a,c)}):c.removeAll()};a.type="pictorialBar";return a}(oa),WL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.hasSymbolVisual=!0;c.defaultSymbol="roundRect";return c}x(a,b);a.prototype.getInitialData=function(a){a.stack=null;return b.prototype.getInitialData.apply(this,arguments)};a.type="series.pictorialBar";a.dependencies=["grid"];a.defaultOption=ed(Fh.defaultOption,{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",progressive:0,emphasis:{scale:!1},select:{itemStyle:{borderColor:"#212121"}}});return a}(Fh),XL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c._layers=[];return c}x(a,b);a.prototype.render=function(a,b,e){function c(a){return a.name}function d(c,b,d){var e=k._layers;if("remove"===c)l.remove(e[b]);else{for(var f=[],g=[],p,q=m[b].indices,t=0;t<q.length;t++){var r=h.getItemLayout(q[t]);p=r.x;var x=r.y0,r=r.y;f.push(p,x);g.push(p,x+r);p=h.getItemVisual(q[t],"style")}var A,x=h.getItemLayout(q[0]),r=a.getModel("label").get("margin"),C=a.getModel("emphasis");"add"===c?(c=n[b]=new M,A=new jz({shape:{points:f,stackedOnPoints:g,smooth:.4,stackedOnSmooth:.4,smoothConstraint:!1},z2:0}),c.add(A),l.add(c),a.isAnimationEnabled()&&A.setClipPath(LF(A.getBoundingRect(),a,function(){A.removeClipPath()}))):(c=e[d],A=c.childAt(0),l.add(c),n[b]=c,ea(A,{shape:{points:f,stackedOnPoints:g}},a));cb(A,Ra(a),{labelDataIndex:q[t-1],defaultText:h.getName(q[t-1]),inheritColor:p.fill},{normal:{verticalAlign:"middle"}});A.setTextConfig({position:null,local:!0});if(f=A.getTextContent())f.x=x.x-r,f.y=x.y0+x.y/2;A.useStyle(p);h.setItemGraphicEl(b,A);Fa(A,a);va(A,C.get("focus"),C.get("blurScope"))}}var h=a.getData(),k=this,l=this.group,m=a.getLayerSeries();e=h.getLayout("layoutInfo");b=e.rect;e=e.boundaryGap;l.x=0;l.y=b.y+e[0];var n=[];(new sd(this._layersSeries||[],m,c,c)).add(I(d,this,"add")).update(I(d,this,"update")).remove(I(d,this,"remove")).execute();this._layersSeries=m;this._layers=n};a.type="themeRiver";return a}(oa),YL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.useColorPaletteOnData=!0;return c}x(a,b);a.prototype.init=function(a){b.prototype.init.apply(this,arguments);this.legendVisualProvider=new Gh(I(this.getData,this),I(this.getRawData,this))};a.prototype.fixData=function(a){var c=a.length,b={},f=[];bl(a,function(a){b.hasOwnProperty(a[0]+"")||(b[a[0]+""]=-1);return a[2]}).buckets.each(function(a,c){f.push({name:c,dataList:a})});for(var g=f.length,h=0;h<g;++h){for(var k=f[h].name,l=0;l<f[h].dataList.length;++l){var m=f[h].dataList[l][0]+"";b[m]=h}for(m in b)b.hasOwnProperty(m)&&b[m]!==h&&(b[m]=h,a[c]=[m,0,k],c++)}return a};a.prototype.getInitialData=function(a,b){for(var c=this.getReferringComponents("singleAxis",Da).models[0].get("type"),d=ta(a.data,function(a){return void 0!==a[2]}),d=this.fixData(d||[]),g=[],h=this.nameMap=R(),k=0,l=0;l<d.length;++l)g.push(d[l][2]),h.get(d[l][2])||(h.set(d[l][2],k),k++);c=gf(d,{coordDimensions:["single"],dimensionsDefine:[{name:"time",type:Si(c)},{name:"value",type:"float"},{name:"name",type:"ordinal"}],encodeDefine:{single:0,value:1,itemName:2}});c=new Wa(c,this);c.initData(d);return c};a.prototype.getLayerSeries=function(){for(var a=this.getData(),b=a.count(),e=[],f=0;f<b;++f)e[f]=f;var g=a.mapDimension("single"),h=[];bl(e,function(c){return a.get("name",c)}).buckets.each(function(c,b){c.sort(function(c,b){return a.get(g,c)-a.get(g,b)});h.push({name:b,indices:c})});return h};a.prototype.getAxisTooltipData=function(a,b,e){A(a)||(a=a?[a]:[]);e=this.getData();for(var c=this.getLayerSeries(),d=[],h=c.length,k,l=0;l<h;++l){for(var m=Number.MAX_VALUE,n=-1,p=c[l].indices.length,q=0;q<p;++q){var t=e.get(a[0],c[l].indices[q]),u=Math.abs(t-b);u<=m&&(k=t,m=u,n=c[l].indices[q])}d.push(n)}return{dataIndices:d,nestestValue:k}};a.prototype.formatTooltip=function(a,b,e){e=this.getData();b=e.getName(a);a=e.get(e.mapDimension("value"),a);return Ha("nameValue",{name:b,value:a})};a.type="series.themeRiver";a.dependencies=["singleAxis"];a.defaultOption={zlevel:0,z:2,coordinateSystem:"singleAxis",boundaryGap:["10%","10%"],singleAxisIndex:0,animationEasing:"linear",label:{margin:4,show:!0,position:"left",fontSize:11},emphasis:{label:{show:!0}}};return a}(ra),Hz=function(b){function a(a,d,e,f){var c=b.call(this)||this;c.z2=2;c.textConfig={inside:!0};S(c).seriesIndex=d.seriesIndex;var h=new ha({z2:4,silent:a.getModel().get(["label","silent"])});c.setTextContent(h);c.updateData(!0,a,d,e,f);return c}x(a,b);a.prototype.updateData=function(a,b,e,f,g){this.node=b;b.piece=this;e=e||this._seriesModel;f=f||this._ecModel;var c=this;S(c).dataIndex=b.dataIndex;var d=b.getModel(),l=d.getModel("emphasis"),m=b.getLayout(),n=F({},m);n.label=null;var p=b.getVisual("style");p.lineJoin="bevel";var q=b.getVisual("decal");q&&(p.decal=yg(q,g));g=nf(d.getModel("itemStyle"),n);F(n,g);r(tb,function(a){var b=c.ensureState(a);a=d.getModel([a,"itemStyle"]);b.style=a.getItemStyle();if(a=nf(a,n))b.shape=a});a?(c.setShape(n),c.shape.r=m.r0,ea(c,{shape:{r:m.r}},e,b.dataIndex)):ea(c,{shape:n},e);c.useStyle(p);this._updateLabel(e);(a=d.getShallow("cursor"))&&c.attr("cursor",a);this._seriesModel=e||this._seriesModel;this._ecModel=f||this._ecModel;e=l.get("focus");b="ancestor"===e?b.getAncestorsIndices():"descendant"===e?b.getDescendantIndices():null;va(this,b||e,l.get("blurScope"))};a.prototype._updateLabel=function(a){function c(a,c){var b=a.get(c);return null==b?g.get(c):b}var b=this,f=this.node.getModel(),g=f.getModel("label"),h=this.node.getLayout(),k=h.endAngle-h.startAngle,l=(h.startAngle+h.endAngle)/2,m=Math.cos(l),n=Math.sin(l),p=this,q=p.getTextContent(),t=this.node.dataIndex,u=g.get("minAngle")/180*Math.PI,k=g.get("show")&&!(null!=u&&Math.abs(k)<u);q.ignore=!k;r(Nd,function(d){var e="normal"===d?f.getModel("label"):f.getModel([d,"label"]),g="normal"===d,k=g?q:q.ensureState(d),u=a.getFormattedLabel(t,d);g&&(u=u||b.node.name);k.style=Ja(e,{},null,"normal"!==d,!0);u&&(k.style.text=u);u=e.get("show");null==u||g||(k.ignore=!u);u=c(e,"position");d=g?p:p.states[d];g=d.style.fill;d.textConfig={outsideFill:"inherit"===e.get("color")?g:null,inside:"outside"!==u};var r;d=c(e,"distance")||0;g=c(e,"align");"outside"===u?(r=h.r+d,g=l>Math.PI/2?"right":"left"):g&&"center"!==g?"left"===g?(r=h.r0+d,l>Math.PI/2&&(g="right")):"right"===g&&(r=h.r-d,l>Math.PI/2&&(g="left")):(r=(h.r+h.r0)/2,g="center");k.style.align=g;k.style.verticalAlign=c(e,"verticalAlign")||"middle";k.x=r*m+h.cx;k.y=r*n+h.cy;e=c(e,"rotate");r=0;"radial"===e?(r=-l,r<-Math.PI/2&&(r+=Math.PI)):"tangential"===e?(r=Math.PI/2-l,r>Math.PI/2?r-=Math.PI:r<-Math.PI/2&&(r+=Math.PI)):"number"===typeof e&&(r=e*Math.PI/180);k.rotation=r});q.dirtyStyle()};return a}(lb),ZL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e,f){var c=this;this.seriesModel=a;this.api=e;this.ecModel=b;var d=a.getData(),k=d.tree.root;f=a.getViewRoot();var l=this.group,m=a.get("renderLabelForZeroData"),n=[];f.eachNode(function(a){n.push(a)});(function(c,f){function g(a){return a.getId()}function h(g,h){var n=null==g?null:c[g],p=null==h?null:f[h];m||!n||n.getValue()||(n=null);n!==k&&p!==k&&(p&&p.piece?n?(p.piece.updateData(!1,n,a,b,e),d.setItemGraphicEl(n.dataIndex,p.piece)):p&&p.piece&&(l.remove(p.piece),p.piece=null):n&&(p=new Hz(n,a,b,e),l.add(p),d.setItemGraphicEl(n.dataIndex,p)))}0===c.length&&0===f.length||(new sd(f,c,g,g)).add(h).update(h).remove(P(h,null)).execute()})(n,this._oldChildren||[]);(function(d,f){0<f.depth?(c.virtualPiece?c.virtualPiece.updateData(!1,d,a,b,e):(c.virtualPiece=new Hz(d,a,b,e),l.add(c.virtualPiece)),f.piece.off("click"),c.virtualPiece.on("click",function(a){c._rootToNode(f.parentNode)})):c.virtualPiece&&(l.remove(c.virtualPiece),c.virtualPiece=null)})(k,f);this._initEvents();this._oldChildren=n};a.prototype._initEvents=function(){var a=this;this.group.off("click");this.group.on("click",function(c){var b=!1;a.seriesModel.getViewRoot().eachNode(function(d){if(!b&&d.piece&&d.piece===c.target){var e=d.getModel().get("nodeClick");"rootToNode"===e?a._rootToNode(d):"link"===e&&(e=d.getModel(),d=e.get("link"))&&(e=e.get("target",!0)||"_blank",Ai(d,e));b=!0}})})};a.prototype._rootToNode=function(a){a!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:"sunburstRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:a})};a.prototype.containPoint=function(a,b){var c=b.getData().getItemLayout(0);if(c){var d=a[0]-c.cx,g=a[1]-c.cy,d=Math.sqrt(d*d+g*g);return d<=c.r&&d>=c.r0}};a.type="sunburst";return a}(oa),$L=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.ignoreStyleOnData=!0;return c}x(a,b);a.prototype.getInitialData=function(a,b){var c={name:a.name,children:a.data};Xv(c);var d=C(a.levels||[],function(a){return new la(a,this,b)},this),g=op.createTree(c,this,function(a){a.wrapMethod("getItemModel",function(a,c){var b=g.getNodeByDataIndex(c);(b=d[b.depth])&&(a.parentModel=b);return a})});return g.data};a.prototype.optionUpdated=function(){this.resetViewRoot()};a.prototype.getDataParams=function(a){var c=b.prototype.getDataParams.apply(this,arguments),e=this.getData().tree.getNodeByDataIndex(a);c.treePathInfo=Sm(e,this);return c};a.prototype.getViewRoot=function(){return this._viewRoot};a.prototype.resetViewRoot=function(a){a?this._viewRoot=a:a=this._viewRoot;var c=this.getRawData().tree.root;if(!a||a!==c&&!c.contains(a))this._viewRoot=c};a.prototype.enableAriaDecal=function(){Du(this)};a.type="series.sunburst";a.defaultOption={zlevel:0,z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,stillShowZeroSum:!0,nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0},itemStyle:{borderWidth:1,borderColor:"white",borderType:"solid",shadowBlur:0,shadowColor:"rgba(0, 0, 0, 0.2)",shadowOffsetX:0,shadowOffsetY:0,opacity:1},emphasis:{focus:"descendant"},blur:{itemStyle:{opacity:.2},label:{opacity:.1}},animationType:"expansion",animationDuration:1E3,animationDurationUpdate:500,data:[],levels:[],sort:"desc"};return a}(ra),Yv=Math.PI/180,fw={},vc=pc.CMD,kw=2*Math.PI,fG=["x","y"],eG=["width","height"],wc=[],Lb=ma(),Jh={x:1,y:1,scaleX:1,scaleY:1,originX:1,originY:1,rotation:1},Iz=ia(Jh).join(", "),qw={color:"fill",borderColor:"stroke"},jG={symbol:1,symbolSize:1,symbolKeepAspect:1,legendSymbol:1,visualMeta:1,liftZ:1,decal:1},rd=["normal","emphasis","blur","select"],Pn={normal:["itemStyle"],emphasis:["emphasis","itemStyle"],blur:["blur","itemStyle"],select:["select","itemStyle"]},Qn={normal:["label"],emphasis:["emphasis","label"],blur:["blur","label"],select:["select","label"]},Mb={normal:{},emphasis:{},blur:{},select:{}},iG={position:["x","y"],scale:["scaleX","scaleY"],origin:["originX","originY"]},je=new Dc,pw={cartesian2d:function(b){var a=b.master.getRect();return{coordSys:{type:"cartesian2d",x:a.x,y:a.y,width:a.width,height:a.height},api:{coord:function(a){return b.dataToPoint(a)},size:I(SF,b)}}},geo:function(b){var a=b.getBoundingRect();return{coordSys:{type:"geo",x:a.x,y:a.y,width:a.width,height:a.height,zoom:b.getZoom()},api:{coord:function(a){return b.dataToPoint(a)},size:I(TF,b)}}},singleAxis:function(b){var a=b.getRect();return{coordSys:{type:"singleAxis",x:a.x,y:a.y,width:a.width,height:a.height},api:{coord:function(a){return b.dataToPoint(a)},size:I(UF,b)}}},polar:function(b){var a=b.getRadiusAxis(),c=b.getAngleAxis(),d=a.getExtent();d[0]>d[1]&&d.reverse();return{coordSys:{type:"polar",cx:b.cx,cy:b.cy,r:d[1],r0:d[0]},api:{coord:function(d){var e=a.dataToRadius(d[0]);d=c.dataToAngle(d[1]);var g=b.coordToPoint([e,d]);g.push(e,d*Math.PI/180);return g},size:I(VF,b)}}},calendar:function(b){var a=b.getRect(),c=b.getRangeInfo();return{coordSys:{type:"calendar",x:a.x,y:a.y,width:a.width,height:a.height,cellWidth:b.getCellWidth(),cellHeight:b.getCellHeight(),rangeInfo:{start:c.start,end:c.end,weeks:c.weeks,dayCount:c.allDay}},api:{coord:function(a,c){return b.dataToPoint(a,c)}}}}},aM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.optionUpdated=function(){this.currentZLevel=this.get("zlevel",!0);this.currentZ=this.get("z",!0)};a.prototype.getInitialData=function(a,b){return sc(this.getSource(),this)};a.prototype.getDataParams=function(a,d,e){a=b.prototype.getDataParams.call(this,a,d);e&&(a.info=Lb(e).info);return a};a.type="series.custom";a.dependencies=["grid","polar","geo","singleAxis","calendar"];a.defaultOption={coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,clip:!1};return a}(ra),cM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e,f){var c=this._data,d=a.getData(),k=this.group,l=ow(a,d,b,e);b=a.__transientTransitionOpt;if(!b||null!=b.from&&null!=b.to){var m=new bM(a,b),n=b?"multiple":"oneToOne";(new sd(c?c.getIndices():[],d.getIndices(),lw(c,n,b&&b.from),lw(d,n,b&&b.to),null,n)).add(function(c){zf(e,null,c,l(c,f),a,k,d,null)}).remove(function(b){qj(c.getItemGraphicEl(b),a,k)}).update(function(b,g){m.reset("oneToOne");var h=c.getItemGraphicEl(g);m.findAndAddFrom(h);m.hasFrom()&&(h&&k.remove(h),h=null);zf(e,h,b,l(b,f),a,k,d,m);m.applyMorphing()}).updateManyToOne(function(b,g){m.reset("manyToOne");for(var h=0;h<g.length;h++){var n=c.getItemGraphicEl(g[h]);m.findAndAddFrom(n);n&&k.remove(n)}zf(e,null,b,l(b,f),a,k,d,m);m.applyMorphing()}).updateOneToMany(function(b,g){m.reset("oneToMany");var h=b.length,n=c.getItemGraphicEl(g);m.findAndAddFrom(n);n&&k.remove(n);for(n=0;n<h;n++)zf(e,null,b[n],l(b[n],f),a,k,d,m);m.applyMorphing()}).execute()}else c&&c.each(function(b){qj(c.getItemGraphicEl(b),a,k)}),d.each(function(c){zf(e,null,c,l(c,f),a,k,d,null)});(b=a.get("clip",!0)?Zi(a.coordinateSystem,!1,a):null)?k.setClipPath(b):k.removeClipPath();this._data=d};a.prototype.incrementalPrepareRender=function(a,b,e){this.group.removeAll();this._data=null};a.prototype.incrementalRender=function(a,b,e,f,g){function c(a){a.isGroup||(a.incremental=!0,a.ensureState("emphasis").hoverLayer=!0)}var d=b.getData();e=ow(b,d,e,f);for(f=a.start;f<a.end;f++)zf(null,null,f,e(f,g),b,this.group,d,null).traverse(c)};a.prototype.filterForExposedEvent=function(a,b,e,f){a=b.element;if(null==a||e.name===a)return!0;for(;(e=e.__hostTarget||e.parent)&&e!==this.group;)if(e.name===a)return!0;return!1};a.type="custom";return a}(oa),Nn;Nn=function(b,a,c){Xa(a)?O(a!==c,"Prop `"+b+"` must use different Array object each time for transition."):O(null!=a&&isFinite(a),"Prop `"+b+"` must refer to a finite number or ArrayLike for transition.")};var pj;pj=function(b,a){O(Jh.hasOwnProperty(b),"Prop `"+b+"` is not a permitted in `"+a+"`. Only `"+ia(Jh).join("`, `")+"` are permitted.")};Oh=Nh=Ma=void 0;var hG={setTransform:function(b,a){O(Jh.hasOwnProperty(b),"Only "+Iz+" available in `setTransform`.");Ma[b]=a;return this},getTransform:function(b){O(Jh.hasOwnProperty(b),"Only "+Iz+" available in `getTransform`.");return Ma[b]},setShape:function(b,a){yf(b);(Ma.shape||(Ma.shape={}))[b]=a;Nh=!0;return this},getShape:function(b){yf(b);var a=Ma.shape;if(a)return a[b]},setStyle:function(b,a){yf(b);var c=Ma.style;c&&(Nc(a)&&Pe("style."+b+" must not be assigned with NaN."),c[b]=a,Oh=!0);return this},getStyle:function(b){yf(b);var a=Ma.style;if(a)return a[b]},setExtra:function(b,a){yf(b);(Ma.extra||(Ma.extra={}))[b]=a;return this},getExtra:function(b){yf(b);var a=Ma.extra;if(a)return a[b]}},bM=function(){function b(a,c){this._fromList=[];this._toList=[];this._toElOptionList=[];this._allPropsFinalList=[];this._toDataIndices=[];this._morphConfigList=[];this._seriesModel=a;this._transOpt=c}b.prototype.hasFrom=function(){return!!this._fromList.length};b.prototype.findAndAddFrom=function(a){if(a&&(Lb(a).canMorph&&this._fromList.push(a),a.isGroup)){a=a.childrenRef();for(var c=0;c<a.length;c++)this.findAndAddFrom(a[c])}};b.prototype.addTo=function(a,c,b,e){a&&(this._toList.push(a),this._toElOptionList.push(c),this._toDataIndices.push(b),this._allPropsFinalList.push(e))};b.prototype.applyMorphing=function(){var a=this._type,c=this._toList.length,b=this._fromList.length;if(b&&c)if("oneToOne"===a)for(a=0;a<c;a++)this._oneToOneForSingleTo(a,a);else if("manyToOne"===a)for(var e=Math.max(1,Math.floor(b/c)),f=a=0;a<c;a++,f+=e)this._manyToOneForSingleTo(a,f>=b?null:f,a+1>=c?b-f:e);else if("oneToMany"===a)for(a=Math.max(1,Math.floor(c/b)),f=e=0;e<c;e+=a,f++)this._oneToManyForSingleFrom(e,e+a>=c?c-e:a,f>=b?null:f)};b.prototype._oneToOneForSingleTo=function(a,c){var b=this._toList[a],e=this._toElOptionList[a],f=this._toDataIndices[a],g=this._allPropsFinalList[a],h=this._fromList[c],k=this._getOrCreateMorphConfig(f),l=k.duration;if(h&&h.__combiningSubList)$g(b,g,e.style),l&&(b=jw([h],b,k,rj),this._processResultIndividuals(b,a,null));else{if(l=l&&h)(l=h!==b)||(l=null!=h.__oldBuildPath||!!h.__combiningSubList);h=l?h:null;l={};oj("shape",b,h,e,l,!1);oj("extra",b,h,e,l,!1);Jn(b,h,e,l,!1);Ln(b,h,e,e.style,l,!1);$g(b,g,e.style);h&&Cn(h,b,k);Mn(b,f,e,this._seriesModel,l,!1)}};b.prototype._manyToOneForSingleTo=function(a,c,b){var d=this._toList[a];$g(d,this._allPropsFinalList[a],this._toElOptionList[a].style);var f=this._getOrCreateMorphConfig(this._toDataIndices[a]);if(f.duration&&null!=c){for(var g=[];c<b;c++)g.push(this._fromList[c]);b=jw(g,d,f,rj);this._processResultIndividuals(b,a,null)}};b.prototype._oneToManyForSingleFrom=function(a,c,b){b=null==b?null:this._fromList[b];for(var d=this._toList,f=[],g=a;g<c;g++){var h=d[g];$g(h,this._allPropsFinalList[g],this._toElOptionList[g].style);f.push(h)}d=this._getOrCreateMorphConfig(this._toDataIndices[a]);if(d.duration&&b){var g=f.length,k;k=d?d.dividingMethod:null;h=!1;if(b.__combiningSubList){var l=b.__combiningSubList;l.length===g?k=l:(k=Dn(b,g,k),h=!0)}else k=Dn(b,g,k),h=!0;O(k.length===g);for(l=0;l<g;l++)h&&rj&&rj(b,k[l],!1),Cn(k[l],f[l],d);this._processResultIndividuals({fromIndividuals:k,toIndividuals:f,count:g},a,c)}};b.prototype._processResultIndividuals=function(a,c,b){b=null!=b;for(var d=0;d<a.count;d++){var f=a.fromIndividuals[d],g=a.toIndividuals[d],h=c+(b?d:0),k=this._toElOptionList[h],h=this._toDataIndices[h],l={};Jn(g,f,k,l,!1);Ln(g,f,k,k.style,l,!1);Mn(g,h,k,this._seriesModel,l,!1)}};b.prototype._getOrCreateMorphConfig=function(a){var c=this._morphConfigList,b=c[a];if(b)return b;var e,f,g,h=this._seriesModel,b=this._transOpt;h.isAnimationEnabled()&&(g=void 0,h&&h.ecModel&&(g=(f=h.ecModel.getUpdatePayload())&&f.animation),g?(e=g.duration||0,f=g.easing||"cubicOut",g=g.delay||0):(f=h.get("animationEasingUpdate"),e=h.get("animationDelayUpdate"),g=fa(e)?e(a):e,h=h.get("animationDurationUpdate"),e=fa(h)?h(a):h));b={duration:e||0,delay:g,easing:f,dividingMethod:b?b.dividingMethod:null};return c[a]=b};b.prototype.reset=function(a){this._type=a;this._fromList.length=this._toList.length=this._toElOptionList.length=this._allPropsFinalList.length=this._toDataIndices.length=0};return b}(),ke=ma(),wp=I,xp=function(){function b(){this._dragging=!1;this.animationThreshold=15}b.prototype.render=function(a,c,b,e){var d=c.get("value"),g=c.get("status");this._axisModel=a;this._axisPointerModel=c;this._api=b;if(e||this._lastValue!==d||this._lastStatus!==g){this._lastValue=d;this._lastStatus=g;e=this._group;var h=this._handle;g&&"hide"!==g?(e&&e.show(),h&&h.show(),g={},this.makeElOption(g,d,a,c,b),h=g.graphicKey,h!==this._lastGraphicKey&&this.clear(b),this._lastGraphicKey=h,h=this._moveAnimation=this.determineAnimation(a,c),e?(a=P(vw,c,h),this.updatePointerEl(e,g,a),this.updateLabelEl(e,g,a,c)):(e=this._group=new M,this.createPointerEl(e,g,a,c),this.createLabelEl(e,g,a,c),b.getZr().add(e)),yw(e,c,!0),this._renderHandle(d)):(e&&e.hide(),h&&h.hide())}};b.prototype.remove=function(a){this.clear(a)};b.prototype.dispose=function(a){this.clear(a)};b.prototype.determineAnimation=function(a,c){var b=c.get("animation"),e=a.axis,f="category"===e.type,g=c.get("snap");return g||f?"auto"===b||null==b?(b=this.animationThreshold,f&&e.getBandWidth()>b?!0:g?(f=Fm(a).seriesDataCount,e=e.getExtent(),Math.abs(e[0]-e[1])/f>b):!1):!0===b:!1};b.prototype.makeElOption=function(a,c,b,e,f){};b.prototype.createPointerEl=function(a,c,b,e){if(b=c.pointer)c=ke(a).pointerEl=new Yg[b.type](J(c.pointer)),a.add(c)};b.prototype.createLabelEl=function(a,c,b,e){c.label&&(c=ke(a).labelEl=new ha(J(c.label)),a.add(c),xw(c,e))};b.prototype.updatePointerEl=function(a,c,b){(a=ke(a).pointerEl)&&c.pointer&&(a.setStyle(c.pointer.style),b(a,{shape:c.pointer.shape}))};b.prototype.updateLabelEl=function(a,c,b,e){if(a=ke(a).labelEl)a.setStyle(c.label.style),b(a,{x:c.label.x,y:c.label.y}),xw(a,e)};b.prototype._renderHandle=function(a){if(!this._dragging&&this.updateHandleTransform){var c=this._axisPointerModel,b=this._api.getZr(),e=this._handle,f=c.getModel("handle"),g=c.get("status");if(f.get("show")&&g&&"hide"!==g){var h;this._handle||(h=!0,e=this._handle=Ze(f.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(a){Bc(a.event)},onmousedown:wp(this._onHandleDragMove,this,0,0),drift:wp(this._onHandleDragMove,this),ondragend:wp(this._onHandleDragEnd,this)}),b.add(e));yw(e,c,!1);e.setStyle(f.getItemStyle(null,"color borderColor borderWidth opacity shadowColor shadowBlur shadowOffsetX shadowOffsetY".split(" ")));c=f.get("size");A(c)||(c=[c,c]);e.scaleX=c[0]/2;e.scaleY=c[1]/2;tg(this,"_doDispatchAxisPointer",f.get("throttle")||0,"fixRate");this._moveHandleToValue(a,h)}else e&&b.remove(e),this._handle=null}};b.prototype._moveHandleToValue=function(a,c){vw(this._axisPointerModel,!c&&this._moveAnimation,this._handle,Tn(this.getHandleTransform(a,this._axisModel,this._axisPointerModel)))};b.prototype._onHandleDragMove=function(a,c){var b=this._handle;if(b){this._dragging=!0;var e=this.updateHandleTransform(Tn(b),[a,c],this._axisModel,this._axisPointerModel);this._payloadInfo=e;b.stopAnimation();b.attr(Tn(e));ke(b).lastProp=null;this._doDispatchAxisPointer()}};b.prototype._doDispatchAxisPointer=function(){if(this._handle){var a=this._payloadInfo,c=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:a.cursorPoint[0],y:a.cursorPoint[1],tooltipOption:a.tooltipOption,axesInfo:[{axisDim:c.axis.dim,axisIndex:c.componentIndex}]})}};b.prototype._onHandleDragEnd=function(){this._dragging=!1;if(this._handle){var a=this._axisPointerModel.get("value");this._moveHandleToValue(a);this._api.dispatchAction({type:"hideTip"})}};b.prototype.clear=function(a){this._lastStatus=this._lastValue=null;a=a.getZr();var c=this._group,b=this._handle;a&&c&&(this._lastGraphicKey=null,c&&a.remove(c),b&&a.remove(b),this._payloadInfo=this._handle=this._group=null)};b.prototype.doClear=function(){};b.prototype.buildLabel=function(a,c,b){b=b||0;return{x:a[b],y:a[1-b],width:c[b],height:c[1-b]}};return b}(),yG=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.makeElOption=function(a,b,e,f,g){var c=e.axis,d=c.grid,l=f.get("type"),m=Dw(d,c).getOtherAxis(c).getGlobalExtent(),n=c.toGlobalCoord(c.dataToCoord(b,!0));if(l&&"none"!==l){var p=Un(f),c=dM[l](c,n,m);c.style=p;a.graphicKey=c.type;a.pointer=c}d=Bm(d.model,e);Bw(b,a,d,e,f,g)};a.prototype.getHandleTransform=function(a,b,e){var c=Bm(b.axis.grid.model,b,{labelInside:!1});c.labelMargin=e.get(["handle","margin"]);a=Vn(b.axis,a,c);return{x:a[0],y:a[1],rotation:c.rotation+(0>c.labelDirection?Math.PI:0)}};a.prototype.updateHandleTransform=function(a,b,e,f){f=e.axis;var c=f.grid;e=f.getGlobalExtent(!0);var d=Dw(c,f).getOtherAxis(f).getGlobalExtent();f="x"===f.dim?0:1;c=[a.x,a.y];c[f]+=b[f];c[f]=Math.min(e[1],c[f]);c[f]=Math.max(e[0],c[f]);b=(d[1]+d[0])/2;b=[b,b];b[f]=c[f];return{x:c[0],y:c[1],rotation:a.rotation,cursorPoint:b,tooltipOption:[{verticalAlign:"middle"},{align:"center"}][f]}};return a}(xp),dM={line:function(b,a,c){return{type:"Line",subPixelOptimize:!0,shape:Wn([a,c[0]],[a,c[1]],"x"===b.dim?0:1)}},shadow:function(b,a,c){var d=Math.max(1,b.getBandWidth());return{type:"Rect",shape:Cw([a-d/2,c[0]],[d,c[1]-c[0]],"x"===b.dim?0:1)}}},zG=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="axisPointer";a.defaultOption={show:"auto",zlevel:0,z:50,type:"line",snap:!1,triggerTooltip:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#B9BEC9",width:1,type:"dashed"},shadowStyle:{color:"rgba(210,219,238,0.2)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,borderRadius:3},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}};return a}(W),Kc=ma(),oG=r,AG=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e){b=b.getComponent("tooltip");var c=a.get("triggerOn")||b&&b.get("triggerOn")||"mousemove|click";Ew("axisPointer",e,function(a,b,d){"none"!==c&&("leave"===a||0<=c.indexOf(a))&&d({type:"updateAxisPointer",currTrigger:a,x:b&&b.offsetX,y:b&&b.offsetY})})};a.prototype.remove=function(a,b){Xn("axisPointer",b)};a.prototype.dispose=function(a,b){Xn("axisPointer",b)};a.type="axisPointer";return a}(na),Jw=ma(),fM=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.makeElOption=function(a,b,e,f,g){var c=e.axis;"angle"===c.dim&&(this.animationThreshold=Math.PI/18);var d=c.polar,l=d.getOtherAxis(c).getExtent(),m=c.dataToCoord(b),n=f.get("type");if(n&&"none"!==n){var p=Un(f),c=eM[n](c,d,m,l);c.style=p;a.graphicKey=c.type;a.pointer=c}p=f.get(["label","margin"]);l=e.axis;b=l.dataToCoord(b);c=d.getAngleAxis().getExtent()[0];c=c/180*Math.PI;m=d.getRadiusAxis().getExtent();"radius"===l.dim?(l=nb(),Tc(l,l,c),Rb(l,l,[d.cx,d.cy]),b=Wb([b,-p],l),d=e.getModel("axisLabel").get("rotate")||0,p=mb.innerTextLayout(c,d*Math.PI/180,-1),d=p.textAlign,p=p.textVerticalAlign):(c=m[1],b=d.coordToPoint([c+p,b]),p=d.cx,l=d.cy,d=.3>Math.abs(b[0]-p)/c?"center":b[0]>p?"left":"right",p=.3>Math.abs(b[1]-l)/c?"middle":b[1]>l?"top":"bottom");zw(a,e,f,g,{position:b,align:d,verticalAlign:p})};return a}(xp),eM={line:function(b,a,c,d){return"angle"===b.dim?{type:"Line",shape:Wn(a.coordToPoint([d[0],c]),a.coordToPoint([d[1],c]))}:{type:"Circle",shape:{cx:a.cx,cy:a.cy,r:c}}},shadow:function(b,a,c,d){var e=Math.max(1,b.getBandWidth()),f=Math.PI/180;return"angle"===b.dim?{type:"Sector",shape:{cx:a.cx,cy:a.cy,r0:d[0],r:d[1],startAngle:(-c-e/2)*f,endAngle:(-c+e/2)*f,clockwise:!0}}:{type:"Sector",shape:{cx:a.cx,cy:a.cy,r0:c-e/2,r:c+e/2,startAngle:0,endAngle:2*Math.PI,clockwise:!0}}}},gM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.findAxisModel=function(a){var c;this.ecModel.eachComponent(a,function(a){a.getCoordSysModel()===this&&(c=a)},this);return c};a.type="polar";a.dependencies=["radiusAxis","angleAxis"];a.defaultOption={zlevel:0,z:0,center:["50%","50%"],radius:"80%"};return a}(W),yp=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.getCoordSysModel=function(){return this.getReferringComponents("polar",Da).models[0]};a.type="polarAxis";return a}(W);wa(yp,Lf);var hM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="angleAxis";return a}(yp),iM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="radiusAxis";return a}(yp),zp=function(b){function a(a,d){return b.call(this,"radius",a,d)||this}x(a,b);a.prototype.pointToData=function(a,b){return this.polar.pointToData(a,b)["radius"===this.dim?0:1]};return a}(Pb);zp.prototype.dataToRadius=Pb.prototype.dataToCoord;zp.prototype.radiusToData=Pb.prototype.coordToData;var jM=ma(),Ap=function(b){function a(a,d){return b.call(this,"angle",a,d||[0,360])||this}x(a,b);a.prototype.pointToData=function(a,b){return this.polar.pointToData(a,b)["radius"===this.dim?0:1]};a.prototype.calculateCategoryInterval=function(){var a=this.getLabelModel(),b=this.scale,e=b.getExtent(),b=b.count();if(1>e[1]-e[0])return 0;var e=e[0],f=this.dataToCoord(e+1)-this.dataToCoord(e),f=Math.abs(f),a=$f(null==e?"":e+"",a.getFont(),"center","top"),a=Math.max(a.height,7)/f;isNaN(a)&&(a=Infinity);var a=Math.max(0,Math.floor(a)),e=jM(this.model),f=e.lastAutoInterval,g=e.lastTickCount;null!=f&&null!=g&&1>=Math.abs(f-a)&&1>=Math.abs(g-b)&&f>a?a=f:(e.lastTickCount=b,e.lastAutoInterval=a);return a};return a}(Pb);Ap.prototype.dataToAngle=Pb.prototype.dataToCoord;Ap.prototype.angleToData=Pb.prototype.coordToData;var Jz=function(){function b(a){this.dimensions=["radius","angle"];this.type="polar";this.cy=this.cx=0;this._radiusAxis=new zp;this._angleAxis=new Ap;this.axisPointerEnabled=!0;this.name=a||"";this._radiusAxis.polar=this._angleAxis.polar=this}b.prototype.containPoint=function(a){a=this.pointToCoord(a);return this._radiusAxis.contain(a[0])&&this._angleAxis.contain(a[1])};b.prototype.containData=function(a){return this._radiusAxis.containData(a[0])&&this._angleAxis.containData(a[1])};b.prototype.getAxis=function(a){return this["_"+a+"Axis"]};b.prototype.getAxes=function(){return[this._radiusAxis,this._angleAxis]};b.prototype.getAxesByScale=function(a){var c=[],b=this._angleAxis,e=this._radiusAxis;b.scale.type===a&&c.push(b);e.scale.type===a&&c.push(e);return c};b.prototype.getAngleAxis=function(){return this._angleAxis};b.prototype.getRadiusAxis=function(){return this._radiusAxis};b.prototype.getOtherAxis=function(a){var c=this._angleAxis;return a===c?this._radiusAxis:c};b.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()};b.prototype.getTooltipAxes=function(a){a=null!=a&&"auto"!==a?this.getAxis(a):this.getBaseAxis();return{baseAxes:[a],otherAxes:[this.getOtherAxis(a)]}};b.prototype.dataToPoint=function(a,c){return this.coordToPoint([this._radiusAxis.dataToRadius(a[0],c),this._angleAxis.dataToAngle(a[1],c)])};b.prototype.pointToData=function(a,c){var b=this.pointToCoord(a);return[this._radiusAxis.radiusToData(b[0],c),this._angleAxis.angleToData(b[1],c)]};b.prototype.pointToCoord=function(a){var c=a[0]-this.cx,b=a[1]-this.cy,e=this.getAngleAxis(),f=e.getExtent();a=Math.min(f[0],f[1]);f=Math.max(f[0],f[1]);e.inverse?a=f-360:f=a+360;e=Math.sqrt(c*c+b*b);c=Math.atan2(-(b/e),c/e)/Math.PI*180;for(b=c<a?1:-1;c<a||c>f;)c+=360*b;return[e,c]};b.prototype.coordToPoint=function(a){var c=a[0];a=a[1]/180*Math.PI;return[Math.cos(a)*c+this.cx,-Math.sin(a)*c+this.cy]};b.prototype.getArea=function(){var a=this.getAngleAxis(),c=this.getRadiusAxis().getExtent().slice();c[0]>c[1]&&c.reverse();var b=a.getExtent(),e=Math.PI/180;return{cx:this.cx,cy:this.cy,r0:c[0],r:c[1],startAngle:-b[0]*e,endAngle:-b[1]*e,clockwise:a.inverse,contain:function(a,c){var b=a-this.cx,d=c-this.cy,b=b*b+d*d,d=this.r,e=this.r0;return b<=d*d&&b>=e*e}}};b.prototype.convertToPixel=function(a,c,b){return Kw(c)===this?this.dataToPoint(b):null};b.prototype.convertFromPixel=function(a,c,b){return Kw(c)===this?this.pointToData(b):null};return b}(),kM={dimensions:Jz.prototype.dimensions,create:function(b,a){var c=[];b.eachComponent("polar",function(b,e){var d=new Jz(e+"");d.update=BG;var g=d.getRadiusAxis(),h=d.getAngleAxis(),k=b.findAxisModel("radiusAxis"),l=b.findAxisModel("angleAxis");Lw(g,k);Lw(h,l);g=b.get("center");h=a.getWidth();k=a.getHeight();d.cx=H(g[0],h);d.cy=H(g[1],k);g=d.getRadiusAxis();h=Math.min(h,k)/2;k=b.get("radius");null==k?k=[0,"100%"]:A(k)||(k=[0,k]);h=[H(k[0],h),H(k[1],h)];g.inverse?g.setExtent(h[1],h[0]):g.setExtent(h[0],h[1]);c.push(d);b.coordinateSystem=d;d.model=b});b.eachSeries(function(a){if("polar"===a.get("coordinateSystem")){var c=a.getReferringComponents("polar",Da).models[0];if(!c)throw Error('Polar "'+Ba(a.get("polarIndex"),a.get("polarId"),0)+'" not found');a.coordinateSystem=c.coordinateSystem}});return c}},lM="axisLine axisLabel axisTick minorTick splitLine minorSplitLine splitArea".split(" "),nM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.axisPointerClass="PolarAxisPointer";return c}x(a,b);a.prototype.render=function(a,b){this.group.removeAll();if(a.get("show")){var c=a.axis,d=c.polar,g=d.getRadiusAxis().getExtent(),h=c.getTicksCoords(),k=c.getMinorTicksCoords(),l=C(c.getViewLabels(),function(a){a=J(a);var b=c.scale,b="ordinal"===b.type?b.getRawOrdinalNumber(a.tickValue):a.tickValue;a.coord=c.dataToCoord(b);return a});Mw(l);Mw(h);r(lM,function(b){if(a.get([b,"show"])&&(!c.scale.isBlank()||"axisLine"===b))mM[b](this.group,a,d,h,k,g,l)},this)}};a.type="angleAxis";return a}(le),mM={axisLine:function(b,a,c,d,e,f){a=a.getModel(["axisLine","lineStyle"]);e=(d=c.getRadiusAxis().inverse?0:1)?0:1;c=0===f[e]?new Nb({shape:{cx:c.cx,cy:c.cy,r:f[d]},style:a.getLineStyle(),z2:1,silent:!0}):new Hf({shape:{cx:c.cx,cy:c.cy,r:f[d],r0:f[e]},style:a.getLineStyle(),z2:1,silent:!0});c.style.fill=null;b.add(c)},axisTick:function(b,a,c,d,e,f){e=a.getModel("axisTick");var g=(e.get("inside")?-1:1)*e.get("length"),h=f[c.getRadiusAxis().inverse?0:1];d=C(d,function(a){return new Ua({shape:tj(c,[h,h+g],a.coord)})});b.add(xb(d,{style:K(e.getModel("lineStyle").getLineStyle(),{stroke:a.get(["axisLine","lineStyle","color"])})}))},minorTick:function(b,a,c,d,e,f){if(e.length){d=a.getModel("axisTick");var g=a.getModel("minorTick"),h=(d.get("inside")?-1:1)*g.get("length");f=f[c.getRadiusAxis().inverse?0:1];for(var k=[],l=0;l<e.length;l++)for(var m=0;m<e[l].length;m++)k.push(new Ua({shape:tj(c,[f,f+h],e[l][m].coord)}));b.add(xb(k,{style:K(g.getModel("lineStyle").getLineStyle(),K(d.getLineStyle(),{stroke:a.get(["axisLine","lineStyle","color"])}))}))}},axisLabel:function(b,a,c,d,e,f,g){var h=a.getCategories(!0),k=a.getModel("axisLabel"),l=k.get("margin"),m=a.get("triggerEvent");r(g,function(d,e){var g=k,n=d.tickValue,p=f[c.getRadiusAxis().inverse?0:1],r=c.coordToPoint([p+l,d.coord]),v=c.cx,z=c.cy,v=.3>Math.abs(r[0]-v)/p?"center":r[0]>v?"left":"right",p=.3>Math.abs(r[1]-z)/p?"middle":r[1]>z?"top":"bottom";h&&h[n]&&(n=h[n],N(n)&&n.textStyle&&(g=new la(n.textStyle,k,k.ecModel)));g=new ha({silent:mb.isLabelSilent(a),style:Ja(g,{x:r[0],y:r[1],fill:g.getTextColor()||a.get(["axisLine","lineStyle","color"]),text:d.formattedLabel,align:v,verticalAlign:p})});b.add(g);m&&(r=mb.makeAxisEventDataBase(a),r.targetType="axisLabel",r.value=d.rawLabel,S(g).eventData=r)},this)},splitLine:function(b,a,c,d,e,f){e=a.getModel("splitLine").getModel("lineStyle");for(var g=e.get("color"),h=0,g=g instanceof Array?g:[g],k=[],l=0;l<d.length;l++){var m=h++%g.length;k[m]=k[m]||[];k[m].push(new Ua({shape:tj(c,f,d[l].coord)}))}for(l=0;l<k.length;l++)b.add(xb(k[l],{style:K({stroke:g[l%g.length]},e.getLineStyle()),silent:!0,z:a.get("z")}))},minorSplitLine:function(b,a,c,d,e,f){if(e.length){d=a.getModel("minorSplitLine").getModel("lineStyle");for(var g=[],h=0;h<e.length;h++)for(var k=0;k<e[h].length;k++)g.push(new Ua({shape:tj(c,f,e[h][k].coord)}));b.add(xb(g,{style:d.getLineStyle(),silent:!0,z:a.get("z")}))}},splitArea:function(b,a,c,d,e,f){if(d.length){e=a.getModel("splitArea").getModel("areaStyle");var g=e.get("color"),h=0,g=g instanceof Array?g:[g],k=[],l=Math.PI/180,m=-d[0].coord*l,n=Math.min(f[0],f[1]);f=Math.max(f[0],f[1]);a=a.get("clockwise");for(var p=1,q=d.length;p<=q;p++){var t=p===q?d[0].coord:d[p].coord,r=h++%g.length;k[r]=k[r]||[];k[r].push(new lb({shape:{cx:c.cx,cy:c.cy,r0:n,r:f,startAngle:m,endAngle:-t*l,clockwise:a},silent:!0}));m=-t*l}for(p=0;p<k.length;p++)b.add(xb(k[p],{style:K({fill:g[p%g.length]},e.getAreaStyle()),silent:!0}))}}},oM=["axisLine","axisTickLabel","axisName"],pM=["splitLine","splitArea","minorSplitLine"],rM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.axisPointerClass="PolarAxisPointer";return c}x(a,b);a.prototype.render=function(a,b){this.group.removeAll();if(a.get("show")){var c=this._axisGroup,d=this._axisGroup=new M;this.group.add(d);var g=a.axis,h=g.polar,k=h.getAngleAxis(),l=g.getTicksCoords(),m=g.getMinorTicksCoords(),n=k.getExtent()[0],p=g.getExtent(),k={position:[h.cx,h.cy],rotation:n/180*Math.PI,labelDirection:-1,tickDirection:-1,nameDirection:1,labelRotate:a.getModel("axisLabel").get("rotate"),z2:1},k=new mb(a,k);r(oM,k.add,k);d.add(k.getGroup());jg(c,d,a);r(pM,function(c){if(a.get([c,"show"])&&!g.scale.isBlank())qM[c](this.group,a,h,n,p,l,m)},this)}};a.type="radiusAxis";return a}(le),qM={splitLine:function(b,a,c,d,e,f){a=a.getModel("splitLine").getModel("lineStyle");d=a.get("color");e=0;d=d instanceof Array?d:[d];for(var g=[],h=0;h<f.length;h++){var k=e++%d.length;g[k]=g[k]||[];g[k].push(new Nb({shape:{cx:c.cx,cy:c.cy,r:f[h].coord}}))}for(h=0;h<g.length;h++)b.add(xb(g[h],{style:K({stroke:d[h%d.length],fill:null},a.getLineStyle()),silent:!0}))},minorSplitLine:function(b,a,c,d,e,f,g){if(g.length){a=a.getModel("minorSplitLine").getModel("lineStyle");d=[];for(e=0;e<g.length;e++)for(f=0;f<g[e].length;f++)d.push(new Nb({shape:{cx:c.cx,cy:c.cy,r:g[e][f].coord}}));b.add(xb(d,{style:K({fill:null},a.getLineStyle()),silent:!0}))}},splitArea:function(b,a,c,d,e,f){if(f.length){a=a.getModel("splitArea").getModel("areaStyle");d=a.get("color");e=0;d=d instanceof Array?d:[d];for(var g=[],h=f[0].coord,k=1;k<f.length;k++){var l=e++%d.length;g[l]=g[l]||[];g[l].push(new lb({shape:{cx:c.cx,cy:c.cy,r0:h,r:f[k].coord,startAngle:0,endAngle:2*Math.PI},silent:!0}));h=f[k].coord}for(k=0;k<g.length;k++)b.add(xb(g[k],{style:K({fill:d[k%d.length]},a.getAreaStyle()),silent:!0}))}}},sM={startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:0}},tM={splitNumber:5},uM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="polar";return a}(na),jk=function(b){function a(a,d,e,f){a=b.call(this,a)||this;a.dimensions=["lng","lat"];a.type="geo";a.map=d;d=Ih.load(d,e);a._nameCoordMap=d.nameCoordMap;a._regionsMap=d.regionsMap;a._invertLongitute=null==f?!0:f;a.regions=d.regions;a._rect=d.boundingRect;return a}x(a,b);a.prototype.containCoord=function(a){for(var c=this.regions,b=0;b<c.length;b++)if(c[b].contain(a))return!0;return!1};a.prototype.transformTo=function(a,b,e,f){var c=this.getBoundingRect(),d=this._invertLongitute,c=c.clone();d&&(c.y=-c.y-c.height);var k=this._rawTransformable;k.transform=c.calculateTransform(new aa(a,b,e,f));k.decomposeTransform();d&&(k.scaleY=-k.scaleY);k.updateTransform();this._updateTransform()};a.prototype.getRegion=function(a){return this._regionsMap.get(a)};a.prototype.getRegionByCoord=function(a){for(var c=this.regions,b=0;b<c.length;b++)if(c[b].contain(a))return c[b]};a.prototype.addGeoCoord=function(a,b){this._nameCoordMap.set(a,b)};a.prototype.getGeoCoord=function(a){return this._nameCoordMap.get(a)};a.prototype.getBoundingRect=function(){return this._rect};a.prototype.dataToPoint=function(a,b,e){"string"===typeof a&&(a=this.getGeoCoord(a));if(a)return tf.prototype.dataToPoint.call(this,a,b,e)};a.prototype.convertToPixel=function(a,b,e){a=Ow(b);return a===this?a.dataToPoint(e):null};a.prototype.convertFromPixel=function(a,b,e){a=Ow(b);return a===this?a.pointToData(e):null};return a}(tf);wa(jk,tf);var Kz=new (function(){function b(){this.dimensions=jk.prototype.dimensions}b.prototype.create=function(a,c){var b=[];a.eachComponent("geo",function(a,d){var e=a.get("map"),f=a.get("aspectScale"),g=!0,m=Ri.retrieveMap(e);m&&m[0]&&"svg"===m[0].type?(null==f&&(f=1),g=!1):null==f&&(f=.75);e=new jk(e+d,e,a.get("nameMap"),g);e.aspectScale=f;e.zoomLimit=a.get("scaleLimit");b.push(e);a.coordinateSystem=e;e.model=a;e.resize=Pw;e.resize(a,c)});a.eachSeries(function(a){if("geo"===a.get("coordinateSystem")){var c=a.get("geoIndex")||0;a.coordinateSystem=b[c]}});var e={};a.eachSeriesByType("map",function(a){if(!a.getHostGeoModel()){var c=a.getMapType();e[c]=e[c]||[];e[c].push(a)}});r(e,function(a,d){var e=C(a,function(a){return a.get("nameMap")}),f=new jk(d,d,Ph(e));f.zoomLimit=Ba.apply(null,C(a,function(a){return a.get("scaleLimit")}));b.push(f);f.resize=Pw;f.aspectScale=a[0].get("aspectScale");f.resize(a[0],c);r(a,function(a){a.coordinateSystem=f;EG(f,a)})});return b};b.prototype.getFilledRegions=function(a,c,b){var d=(a||[]).slice(),f=R();for(a=0;a<d.length;a++)f.set(d[a].name,d[a]);c=Ih.load(c,b);r(c.regions,function(a){a=a.name;!f.get(a)&&d.push({name:a})});return d};return b}()),vM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(a,d,e){b.prototype.init.call(this,a,d,e);Id(a,"label",["show"])};a.prototype.optionUpdated=function(){var a=this.option,b=this;a.regions=Kz.getFilledRegions(a.regions,a.map,a.nameMap);var e={};this._optionModelMap=Ed(a.regions||[],function(a,c){var d=c.name;d&&(a.set(d,new la(c,b)),c.selected&&(e[d]=!0));return a},R());a.selectedMap||(a.selectedMap=e)};a.prototype.getRegionModel=function(a){return this._optionModelMap.get(a)||new la(null,this,this.ecModel)};a.prototype.getFormattedLabel=function(a,b){var c=this.getRegionModel(a),c="normal"===b?c.get(["label","formatter"]):c.get(["emphasis","label","formatter"]),d={name:a};if("function"===typeof c)return d.status=b,c(d);if("string"===typeof c)return c.replace("{a}",null!=a?a:"")};a.prototype.setZoom=function(a){this.option.zoom=a};a.prototype.setCenter=function(a){this.option.center=a};a.prototype.select=function(a){var c=this.option,b=c.selectedMode;b&&("multiple"!==b&&(c.selectedMap=null),(c.selectedMap||(c.selectedMap={}))[a]=!0)};a.prototype.unSelect=function(a){var c=this.option.selectedMap;c&&(c[a]=!1)};a.prototype.toggleSelected=function(a){this[this.isSelected(a)?"unSelect":"select"](a)};a.prototype.isSelected=function(a){var c=this.option.selectedMap;return!(!c||!c[a])};a.prototype._initSelectedMapFromData=function(){};a.type="geo";a.layoutMode="box";a.defaultOption={zlevel:0,z:0,show:!0,left:"center",top:"center",aspectScale:null,silent:!1,map:"",boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",color:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},select:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},regions:[]};return a}(W),wM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(a,b){var c=new rz(b);this._mapDraw=c;this.group.add(c.group);this._api=b};a.prototype.render=function(a,b,e,f){var c=this._mapDraw;a.get("show")?c.draw(a,b,e,this,f):this._mapDraw.group.removeAll();c.group.on("click",this._handleRegionClick,this);c.group.silent=a.get("silent");this._model=a;this.updateSelectStatus(a,b,e)};a.prototype._handleRegionClick=function(a){a=a.target;for(var c;a&&null==(c=S(a).eventData);)a=a.__hostTarget||a.parent;c&&this._api.dispatchAction({type:"geoToggleSelect",geoId:this._model.id,name:c.name})};a.prototype.updateSelectStatus=function(a,b,e){var c=this;this._mapDraw.group.traverse(function(a){var b=S(a).eventData;if(b)return c._model.isSelected(b.name)?e.enterSelect(a):e.leaveSelect(a),!0})};a.prototype.dispose=function(){this._mapDraw&&this._mapDraw.remove()};a.type="geo";return a}(na),xM=["axisLine","axisTickLabel","axisName"],yM=["splitArea","splitLine"],AM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.axisPointerClass="SingleAxisPointer";return c}x(a,b);a.prototype.render=function(a,d,e,f){var c=this.group;c.removeAll();var h=this._axisGroup;this._axisGroup=new M;var k=Yn(a),k=new mb(a,k);r(xM,k.add,k);c.add(this._axisGroup);c.add(k.getGroup());r(yM,function(c){if(a.get([c,"show"]))zM[c](this,this.group,this._axisGroup,a)},this);jg(h,this._axisGroup,a);b.prototype.render.call(this,a,d,e,f)};a.prototype.remove=function(){aj(this).splitAreaColors=null};a.type="singleAxis";return a}(le),zM={splitLine:function(b,a,c,d){c=d.axis;if(!c.scale.isBlank()){var e=d.getModel("splitLine"),f=e.getModel("lineStyle");b=f.get("color");b=b instanceof Array?b:[b];var g=d.coordinateSystem.getRect(),h=c.isHorizontal();d=[];for(var k=0,l=c.getTicksCoords({tickModel:e}),m=[],n=[],e=0;e<l.length;++e){var p=c.toGlobalCoord(l[e].coord);h?(m[0]=p,m[1]=g.y,n[0]=p,n[1]=g.y+g.height):(m[0]=g.x,m[1]=p,n[0]=g.x+g.width,n[1]=p);p=k++%b.length;d[p]=d[p]||[];d[p].push(new Ua({subPixelOptimize:!0,shape:{x1:m[0],y1:m[1],x2:n[0],y2:n[1]},silent:!0}))}c=f.getLineStyle(["color"]);for(e=0;e<d.length;++e)a.add(xb(d[e],{style:K({stroke:b[e%b.length]},c),silent:!0}))}},splitArea:function(b,a,c,d){ku(b,c,d,d)}},kk=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.getCoordSysModel=function(){return this};a.type="singleAxis";a.layoutMode="box";a.defaultOption={left:"5%",top:"5%",right:"5%",bottom:"5%",type:"value",position:"bottom",orient:"horizontal",axisLine:{show:!0,lineStyle:{width:1,type:"solid"}},tooltip:{show:!0},axisTick:{show:!0,length:6,lineStyle:{width:1}},axisLabel:{show:!0,interval:"auto"},splitLine:{show:!0,lineStyle:{type:"dashed",opacity:.2}}};return a}(W);wa(kk,Lf.prototype);var BM=function(b){function a(a,d,e,f,g){a=b.call(this,a,d,e)||this;a.type=f||"value";a.position=g||"bottom";return a}x(a,b);a.prototype.isHorizontal=function(){var a=this.position;return"top"===a||"bottom"===a};a.prototype.pointToData=function(a,b){return this.coordinateSystem.pointToData(a)[0]};return a}(Pb),Lz=function(){function b(a,b,d){this.dimension=this.type="single";this.dimensions=["single"];this.axisPointerEnabled=!0;this.model=a;this._init(a,b,d)}b.prototype._init=function(a,b,d){b=new BM(this.dimension,Dg(a),[0,0],a.get("type"),a.get("position"));b.onBand="category"===b.type&&a.get("boundaryGap");b.inverse=a.get("inverse");b.orient=a.get("orient");a.axis=b;b.model=a;b.coordinateSystem=this;this._axis=b};b.prototype.update=function(a,b){a.eachSeries(function(a){if(a.coordinateSystem===this){var b=a.getData();r(b.mapDimensionsAll(this.dimension),function(a){this._axis.scale.unionExtentFromData(b,a)},this);jd(this._axis.scale,this._axis.model)}},this)};b.prototype.resize=function(a,b){this._rect=Aa({left:a.get("left"),top:a.get("top"),right:a.get("right"),bottom:a.get("bottom"),width:a.get("width"),height:a.get("height")},{width:b.getWidth(),height:b.getHeight()});this._adjustAxis()};b.prototype.getRect=function(){return this._rect};b.prototype._adjustAxis=function(){var a=this._rect,b=this._axis,d=b.isHorizontal(),e=d?[0,a.width]:[0,a.height],f=b.reverse?1:0;b.setExtent(e[f],e[1-f]);this._updateAxisTransform(b,d?a.x:a.y)};b.prototype._updateAxisTransform=function(a,b){var c=a.getExtent(),e=c[0]+c[1],c=a.isHorizontal();a.toGlobalCoord=c?function(a){return a+b}:function(a){return e-a+b};a.toLocalCoord=c?function(a){return a-b}:function(a){return e-a+b}};b.prototype.getAxis=function(){return this._axis};b.prototype.getBaseAxis=function(){return this._axis};b.prototype.getAxes=function(){return[this._axis]};b.prototype.getTooltipAxes=function(){return{baseAxes:[this.getAxis()],otherAxes:[]}};b.prototype.containPoint=function(a){var b=this.getRect(),d=this.getAxis();return"horizontal"===d.orient?d.contain(d.toLocalCoord(a[0]))&&a[1]>=b.y&&a[1]<=b.y+b.height:d.contain(d.toLocalCoord(a[1]))&&a[0]>=b.y&&a[0]<=b.y+b.height};b.prototype.pointToData=function(a){var b=this.getAxis();return[b.coordToData(b.toLocalCoord(a["horizontal"===b.orient?0:1]))]};b.prototype.dataToPoint=function(a){var b=this.getAxis(),d=this.getRect(),e=[],f="horizontal"===b.orient?0:1;a instanceof Array&&(a=a[0]);e[f]=b.toGlobalCoord(b.dataToCoord(+a));e[1-f]=0===f?d.y+d.height/2:d.x+d.width/2;return e};b.prototype.convertToPixel=function(a,b,d){return Qw(b)===this?this.dataToPoint(d):null};b.prototype.convertFromPixel=function(a,b,d){return Qw(b)===this?this.pointToData(d):null};return b}(),CM={create:function(b,a){var c=[];b.eachComponent("singleAxis",function(d,e){var f=new Lz(d,b,a);f.name="single_"+e;f.resize(d,a);d.coordinateSystem=f;c.push(f)});b.eachSeries(function(a){if("singleAxis"===a.get("coordinateSystem")){var b=a.getReferringComponents("singleAxis",Da).models[0];a.coordinateSystem=b&&b.coordinateSystem}});return c},dimensions:Lz.prototype.dimensions},Rw=["x","y"],FG=["width","height"],EM=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.makeElOption=function(a,b,e,f,g){var c=e.axis,d=c.coordinateSystem,l=Zn(d,1-(c.isHorizontal()?0:1)),m=d.dataToPoint(b)[0],n=f.get("type");n&&"none"!==n&&(d=Un(f),c=DM[n](c,m,l),c.style=d,a.graphicKey=c.type,a.pointer=c);c=Yn(e);Bw(b,a,c,e,f,g)};a.prototype.getHandleTransform=function(a,b,e){var c=Yn(b,{labelInside:!1});c.labelMargin=e.get(["handle","margin"]);a=Vn(b.axis,a,c);return{x:a[0],y:a[1],rotation:c.rotation+(0>c.labelDirection?Math.PI:0)}};a.prototype.updateHandleTransform=function(a,b,e,f){e=e.axis;var c=e.coordinateSystem;e=e.isHorizontal()?0:1;var d=Zn(c,e);f=[a.x,a.y];f[e]+=b[e];f[e]=Math.min(d[1],f[e]);f[e]=Math.max(d[0],f[e]);b=Zn(c,1-e);b=(b[1]+b[0])/2;b=[b,b];b[e]=f[e];return{x:f[0],y:f[1],rotation:a.rotation,cursorPoint:b,tooltipOption:{verticalAlign:"middle"}}};return a}(xp),DM={line:function(b,a,c){return{type:"Line",subPixelOptimize:!0,shape:Wn([a,c[0]],[a,c[1]],b.isHorizontal()?0:1)}},shadow:function(b,a,c){var d=b.getBandWidth();return{type:"Rect",shape:Cw([a-d/2,c[0]],[d,c[1]-c[0]],b.isHorizontal()?0:1)}}},FM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="single";return a}(na),GM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(a,d,e){var c=Qd({},a);b.prototype.init.apply(this,arguments);Sw(a,c)};a.prototype.mergeOption=function(a){b.prototype.mergeOption.apply(this,arguments);Sw(this.option,a)};a.prototype.getCellSize=function(){return this.option.cellSize};a.type="calendar";a.defaultOption={zlevel:0,z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",nameMap:"en",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",nameMap:"en",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}};return a}(W),HM={EN:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),CN:"\u4e00\u6708 \u4e8c\u6708 \u4e09\u6708 \u56db\u6708 \u4e94\u6708 \u516d\u6708 \u4e03\u6708 \u516b\u6708 \u4e5d\u6708 \u5341\u6708 \u5341\u4e00\u6708 \u5341\u4e8c\u6708".split(" ")},IM={EN:"SMTWTFS".split(""),CN:"\u65e5\u4e00\u4e8c\u4e09\u56db\u4e94\u516d".split("")},JM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e){b=this.group;b.removeAll();var c=a.coordinateSystem;e=c.getRangeInfo();c=c.getOrient();this._renderDayRect(a,e,b);this._renderLines(a,e,c,b);this._renderYearText(a,e,c,b);this._renderMonthText(a,c,b);this._renderWeekText(a,e,c,b)};a.prototype._renderDayRect=function(a,b,e){var c=a.coordinateSystem;a=a.getModel("itemStyle").getItemStyle();for(var d=c.getCellWidth(),h=c.getCellHeight(),k=b.start.time;k<=b.end.time;k=c.getNextNDay(k,1).time){var l=c.dataToRect([k],!1).tl,l=new Z({shape:{x:l[0],y:l[1],width:d,height:h},cursor:"default",style:a});e.add(l)}};a.prototype._renderLines=function(a,b,e,f){function c(b){d._firstDayOfMonth.push(k.getDateInfo(b));d._firstDayPoints.push(k.dataToRect([b],!1).tl);b=d._getLinePointsOfOneWeek(a,b,e);d._tlpoints.push(b[0]);d._blpoints.push(b[b.length-1]);m&&d._drawSplitline(b,l,f)}var d=this,k=a.coordinateSystem,l=a.getModel(["splitLine","lineStyle"]).getLineStyle(),m=a.get(["splitLine","show"]),n=l.lineWidth;this._tlpoints=[];this._blpoints=[];this._firstDayOfMonth=[];this._firstDayPoints=[];for(var p=b.start,q=0;p.time<=b.end.time;q++)c(p.formatedDate),0===q&&(p=k.getDateInfo(b.start.y+"-"+b.start.m)),p=p.date,p.setMonth(p.getMonth()+1),p=k.getDateInfo(p);c(k.getNextNDay(b.end.time,1).formatedDate);m&&this._drawSplitline(d._getEdgesPoints(d._tlpoints,n,e),l,f);m&&this._drawSplitline(d._getEdgesPoints(d._blpoints,n,e),l,f)};a.prototype._getEdgesPoints=function(a,b,e){a=[a[0].slice(),a[a.length-1].slice()];e="horizontal"===e?0:1;a[0][e]-=b/2;a[1][e]+=b/2;return a};a.prototype._drawSplitline=function(a,b,e){a=new kb({z2:20,shape:{points:a},style:b});e.add(a)};a.prototype._getLinePointsOfOneWeek=function(a,b,e){a=a.coordinateSystem;b=a.getDateInfo(b);for(var c=[],d=0;7>d;d++){var h=a.getNextNDay(b.time,d),k=a.dataToRect([h.time],!1);c[2*h.day]=k.tl;c[2*h.day+1]=k["horizontal"===e?"bl":"tr"]}return c};a.prototype._formatterLabel=function(a,b){return"string"===typeof a&&a?$A(a,b):"function"===typeof a?a(b):b.nameMap};a.prototype._yearTextPositionControl=function(a,b,e,f,g){a=b[0];b=b[1];e=["center","bottom"];"bottom"===f?(b+=g,e=["center","top"]):"left"===f?a-=g:"right"===f?(a+=g,e=["center","top"]):b-=g;g=0;if("left"===f||"right"===f)g=Math.PI/2;return{rotation:g,x:a,y:b,style:{align:e[0],verticalAlign:e[1]}}};a.prototype._renderYearText=function(a,b,e,f){var c=a.getModel("yearLabel");if(c.get("show")){a=c.get("margin");var d=c.get("position");d||(d="horizontal"!==e?"top":"left");var k=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],l=(k[0][0]+k[1][0])/2,m=(k[0][1]+k[1][1])/2,n="horizontal"===e?0:1,k={top:[l,k[n][1]],bottom:[l,k[1-n][1]],left:[k[1-n][0],m],right:[k[n][0],m]},l=b.start.y;+b.end.y>+b.start.y&&(l=l+"-"+b.end.y);m=c.get("formatter");b=this._formatterLabel(m,{start:b.start.y,end:b.end.y,nameMap:l});b=new ha({z2:30,style:Ja(c,{text:b})});b.attr(this._yearTextPositionControl(b,k[d],e,d,a));f.add(b)}};a.prototype._monthTextPositionControl=function(a,b,e,f,g){var c="left",d="top",l=a[0];a=a[1];"horizontal"===e?(a+=g,b&&(c="center"),"start"===f&&(d="bottom")):(l+=g,b&&(d="middle"),"start"===f&&(c="right"));return{x:l,y:a,align:c,verticalAlign:d}};a.prototype._renderMonthText=function(a,b,e){a=a.getModel("monthLabel");if(a.get("show")){var c=a.get("nameMap"),d=a.get("margin"),h=a.get("position"),k=a.get("align"),l=[this._tlpoints,this._blpoints];da(c)&&(c=HM[c.toUpperCase()]||[]);for(var m="start"===h?0:1,n="horizontal"===b?0:1,d="start"===h?-d:d,k="center"===k,p=0;p<l[m].length-1;p++){var q=l[m][p].slice(),t=this._firstDayOfMonth[p];k&&(q[n]=(this._firstDayPoints[p][n]+l[0][p+1][n])/2);var r=a.get("formatter"),w=c[+t.m-1],t={yyyy:t.y,yy:(t.y+"").slice(2),MM:t.m,M:+t.m,nameMap:w},r=this._formatterLabel(r,t),q=new ha({z2:30,style:F(Ja(a,{text:r}),this._monthTextPositionControl(q,k,b,h,d))});e.add(q)}}};a.prototype._weekTextPositionControl=function(a,b,e,f,g){var c="center",d="middle",l=a[0];a=a[1];e="start"===e;"horizontal"===b?(l=l+f+(e?1:-1)*g[0]/2,c=e?"right":"left"):(a=a+f+(e?1:-1)*g[1]/2,d=e?"bottom":"top");return{x:l,y:a,align:c,verticalAlign:d}};a.prototype._renderWeekText=function(a,b,e,f){var c=a.getModel("dayLabel");if(c.get("show")){a=a.coordinateSystem;var d=c.get("position"),k=c.get("nameMap"),l=c.get("margin"),m=a.getFirstDayOfWeek();da(k)&&(k=IM[k.toUpperCase()]||[]);var n=a.getNextNDay(b.end.time,7-b.lweek).time,p=[a.getCellWidth(),a.getCellHeight()],l=H(l,p["horizontal"===e?0:1]);"start"===d&&(n=a.getNextNDay(b.start.time,-(7+b.fweek)).time,l=-l);for(b=0;7>b;b++){var q=a.getNextNDay(n,b),q=a.dataToRect([q.time],!1).center,q=new ha({z2:30,style:F(Ja(c,{text:k[Math.abs((b+m)%7)]}),this._weekTextPositionControl(q,e,d,l,p))});f.add(q)}}};a.type="calendar";return a}(na),KM=function(){function b(a,c,d){this.type="calendar";this.dimensions=b.dimensions;this.getDimensionsInfo=b.getDimensionsInfo;this._model=a}b.getDimensionsInfo=function(){return[{name:"time",type:"time"},"value"]};b.prototype.getRangeInfo=function(){return this._rangeInfo};b.prototype.getModel=function(){return this._model};b.prototype.getRect=function(){return this._rect};b.prototype.getCellWidth=function(){return this._sw};b.prototype.getCellHeight=function(){return this._sh};b.prototype.getOrient=function(){return this._orient};b.prototype.getFirstDayOfWeek=function(){return this._firstDayOfWeek};b.prototype.getDateInfo=function(a){a=qb(a);var b=a.getFullYear(),d=a.getMonth()+1,d=10>d?"0"+d:""+d,e=a.getDate(),e=10>e?"0"+e:""+e,f=a.getDay(),f=Math.abs((f+7-this.getFirstDayOfWeek())%7);return{y:b+"",m:d,d:e,day:f,time:a.getTime(),formatedDate:b+"-"+d+"-"+e,date:a}};b.prototype.getNextNDay=function(a,b){b=b||0;if(0===b)return this.getDateInfo(a);a=new Date(this.getDateInfo(a).time);a.setDate(a.getDate()+b);return this.getDateInfo(a)};b.prototype.update=function(a,b){this._firstDayOfWeek=+this._model.getModel("dayLabel").get("firstDay");this._orient=this._model.get("orient");this._lineWidth=this._model.getModel("itemStyle").getItemStyle().lineWidth||0;this._rangeInfo=this._getRangeInfo(this._initRangeOption());var c=this._rangeInfo.weeks||1,e=["width","height"],f=this._model.getCellSize().slice(),g=this._model.getBoxLayoutParams(),h="horizontal"===this._orient?[c,7]:[7,c];r([0,1],function(a){null!=f[a]&&"auto"!==f[a]&&(g[e[a]]=f[a]*h[a])});var c={width:b.getWidth(),height:b.getHeight()},k=this._rect=Aa(g,c);r([0,1],function(a){if(null==f[a]||"auto"===f[a])f[a]=k[e[a]]/h[a]});this._sw=f[0];this._sh=f[1]};b.prototype.dataToPoint=function(a,b){A(a)&&(a=a[0]);null==b&&(b=!0);var c=this.getDateInfo(a),e=this._rangeInfo;if(b&&!(c.time>=e.start.time&&c.time<e.end.time+864E5))return[NaN,NaN];var f=c.day,c=this._getRangeInfo([e.start.time,c.formatedDate]).nthWeek;return"vertical"===this._orient?[this._rect.x+f*this._sw+this._sw/2,this._rect.y+c*this._sh+this._sh/2]:[this._rect.x+c*this._sw+this._sw/2,this._rect.y+f*this._sh+this._sh/2]};b.prototype.pointToData=function(a){return(a=this.pointToDate(a))&&a.time};b.prototype.dataToRect=function(a,b){var c=this.dataToPoint(a,b);return{contentShape:{x:c[0]-(this._sw-this._lineWidth)/2,y:c[1]-(this._sh-this._lineWidth)/2,width:this._sw-this._lineWidth,height:this._sh-this._lineWidth},center:c,tl:[c[0]-this._sw/2,c[1]-this._sh/2],tr:[c[0]+this._sw/2,c[1]-this._sh/2],br:[c[0]+this._sw/2,c[1]+this._sh/2],bl:[c[0]-this._sw/2,c[1]+this._sh/2]}};b.prototype.pointToDate=function(a){var b=Math.floor((a[0]-this._rect.x)/this._sw)+1;a=Math.floor((a[1]-this._rect.y)/this._sh)+1;var d=this._rangeInfo.range;return"vertical"===this._orient?this._getDateByWeeksAndDay(a,b-1,d):this._getDateByWeeksAndDay(b,a-1,d)};b.prototype.convertToPixel=function(a,b,d){a=Tw(b);return a===this?a.dataToPoint(d):null};b.prototype.convertFromPixel=function(a,b,d){a=Tw(b);return a===this?a.pointToData(d):null};b.prototype.containPoint=function(a){console.warn("Not implemented.");return!1};b.prototype._initRangeOption=function(){var a=this._model.get("range"),b;A(a)&&1===a.length&&(a=a[0]);if(A(a))b=a;else{var d=a.toString();/^\d{4}$/.test(d)&&(b=[d+"-01-01",d+"-12-31"]);if(/^\d{4}[\/|-]\d{1,2}$/.test(d)){b=this.getDateInfo(d);var e=b.date;e.setMonth(e.getMonth()+1);e=this.getNextNDay(e,-1);b=[b.formatedDate,e.formatedDate]}/^\d{4}[\/|-]\d{1,2}[\/|-]\d{1,2}$/.test(d)&&(b=[d,d])}if(!b)return yb("Invalid date range."),a;a=this._getRangeInfo(b);a.start.time>a.end.time&&b.reverse();return b};b.prototype._getRangeInfo=function(a){a=[this.getDateInfo(a[0]),this.getDateInfo(a[1])];var b;a[0].time>a[1].time&&(b=!0,a.reverse());var d=Math.floor(a[1].time/864E5)-Math.floor(a[0].time/864E5)+1,e=new Date(a[0].time),f=e.getDate(),g=a[1].date.getDate();e.setDate(f+d-1);f=e.getDate();if(f!==g)for(var h=0<e.getTime()-a[1].time?1:-1;(f=e.getDate())!==g&&0<(e.getTime()-a[1].time)*h;)d-=h,e.setDate(f-h);e=Math.floor((d+a[0].day+6)/7);g=b?-e+1:e-1;b&&a.reverse();return{range:[a[0].formatedDate,a[1].formatedDate],start:a[0],end:a[1],allDay:d,weeks:e,nthWeek:g,fweek:a[0].day,lweek:a[1].day}};b.prototype._getDateByWeeksAndDay=function(a,b,d){d=this._getRangeInfo(d);if(a>d.weeks||0===a&&b<d.fweek||a===d.weeks&&b>d.lweek)return null;var c=new Date(d.start.time);c.setDate(+d.start.d+(7*(a-1)-d.fweek+b));return this.getDateInfo(c)};b.create=function(a,c){var d=[];a.eachComponent("calendar",function(e){var f=new b(e,a,c);d.push(f);e.coordinateSystem=f});a.eachSeries(function(a){"calendar"===a.get("coordinateSystem")&&(a.coordinateSystem=d[a.get("calendarIndex")||0])});return d};b.dimensions=["time","value"];return b}(),Af=ma(),Vw={path:null,compoundPath:null,group:M,image:Ga,text:ha},LM=function(b){var a=b.graphic;A(a)?b.graphic=a[0]&&a[0].elements?[b.graphic[0]]:[{elements:a}]:a&&!a.elements&&(b.graphic=[{elements:[a]}])},MM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.mergeOption=function(a,d){var c=this.option.elements;this.option.elements=null;b.prototype.mergeOption.call(this,a,d);this.option.elements=c};a.prototype.optionUpdated=function(a,b){var c=this.option,d=(b?c:a).elements,g=c.elements=b?[]:c.elements,c=[];this._flatten(d,c,null);var d=yq(g,c,"normalMerge"),h=this._elOptionsToUpdate=[];r(d,function(a,b){var c=a.newOption;O(N(c)||a.existing,"Empty graphic option definition");if(c){h.push(c);var d=a.existing;c.id=a.keyInfo.id;!c.type&&d&&(c.type=d.type);if(null==c.parentId){var e=c.parentOption;e?c.parentId=e.id:d&&(c.parentId=d.parentId)}c.parentOption=null;var d=F({},c),e=g[b],f=c.$action||"merge";"merge"===f?e?(f=c.type,O(!f||e.type===f,'Please set $action: "replace" to change `type`'),U(e,d,!0),gd(e,d,{ignoreSize:!0}),Qd(c,e)):g[b]=d:"replace"===f?g[b]=d:"remove"===f&&e&&(g[b]=null);if(d=g[b])d.hv=c.hv=[Ww(c,["left","right"]),Ww(c,["top","bottom"])],"group"===d.type&&(null==d.width&&(d.width=c.width=0),null==d.height&&(d.height=c.height=0))}},this);for(d=g.length-1;0<=d;d--)null==g[d]?g.splice(d,1):delete g[d].$action};a.prototype._flatten=function(a,b,e){r(a,function(a){if(a){e&&(a.parentOption=e);b.push(a);var c=a.children;"group"===a.type&&c&&this._flatten(c,b,a);delete a.children}},this)};a.prototype.useElOptionsToUpdate=function(){var a=this._elOptionsToUpdate;this._elOptionsToUpdate=null;return a};a.type="graphic";a.defaultOption={elements:[]};return a}(W),NM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(){this._elMap=R()};a.prototype.render=function(a,b,e){a!==this._lastGraphicModel&&this._clear();this._lastGraphicModel=a;this._updateElements(a);this._relocate(a,e)};a.prototype._updateElements=function(a){var b=a.useElOptionsToUpdate();if(b){var c=this._elMap,f=this.group;r(b,function(b){var d=Ea(b.id,null),e=null!=d?c.get(d):null,g=Ea(b.parentId,null),m=null!=g?c.get(g):f,n=b.type,p=b.style;"text"===n&&p&&b.hv&&b.hv[1]&&(p.textVerticalAlign=p.textBaseline=p.verticalAlign=p.align=null);var g=b.textContent,q=b.textConfig;p&&$v(p,n,!!q,!!g)&&(n=aw(p,n,!0),!q&&n.textConfig&&(b.textConfig=n.textConfig),!g&&n.textContent&&(g=n.textContent));n=GG(b);e&&O(m===e.parent,"Changing parent is not supported.");q=b.$action||"merge";"merge"===q?e?e.attr(n):Uw(d,m,n,c):"replace"===q?(uj(e,c),Uw(d,m,n,c)):"remove"===q&&uj(e,c);(d=c.get(d))&&g&&("merge"===q?(e=d.getTextContent())?e.attr(g):d.setTextContent(new ha(g)):"replace"===q&&d.setTextContent(new ha(g)));d&&(g=Af(d),g.__ecGraphicWidthOption=b.width,g.__ecGraphicHeightOption=b.height,g=S(d).eventData,d.silent||d.ignore||g||(g=S(d).eventData={componentType:"graphic",componentIndex:a.componentIndex,name:d.name}),g&&(g.info=b.info))})}};a.prototype._relocate=function(a,b){for(var c=a.option.elements,d=this.group,g=this._elMap,h=b.getWidth(),k=b.getHeight(),l=0;l<c.length;l++){var m=c[l],n=Ea(m.id,null),p=null!=n?g.get(n):null;if(p&&p.isGroup){var n=p.parent,m=n===d,p=Af(p),q=Af(n);p.__ecGraphicWidth=H(p.__ecGraphicWidthOption,m?h:q.__ecGraphicWidth)||0;p.__ecGraphicHeight=H(p.__ecGraphicHeightOption,m?k:q.__ecGraphicHeight)||0}}for(l=c.length-1;0<=l;l--)if(m=c[l],n=Ea(m.id,null),p=null!=n?g.get(n):null)n=p.parent,q=Af(n),Bi(p,m,n===d?{width:h,height:k}:{width:q.__ecGraphicWidth,height:q.__ecGraphicHeight},null,{hv:m.hv,boundingMode:m.bounding})};a.prototype._clear=function(){var a=this._elMap;a.each(function(b){uj(b,a)});this._elMap=R()};a.prototype.dispose=function(){this._clear()};a.type="graphic";return a}(na),Mz=["x","y","radius","angle","single"],OM=["cartesian2d","polar","singleAxis"],Bp=function(){function b(){this.indexList=[];this.indexMap=[]}b.prototype.add=function(a){this.indexMap[a]||(this.indexList.push(a),this.indexMap[a]=!0)};return b}(),Kh=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c._autoThrottle=!0;c._noTarget=!0;c._rangePropMode=["percent","percent"];return c}x(a,b);a.prototype.init=function(a,b,e){this.settledOption=b=Yw(a);this.mergeDefaultAndTheme(a,e);this._doInit(b)};a.prototype.mergeOption=function(a){var b=Yw(a);U(this.option,a,!0);U(this.settledOption,b,!0);this._doInit(b)};a.prototype._doInit=function(a){var b=this.option;this._setDefaultThrottle(a);this._updateRangeUse(a);var c=this.settledOption;r([["start","startValue"],["end","endValue"]],function(a,d){"value"===this._rangePropMode[d]&&(b[a[0]]=c[a[0]]=null)},this);this._resetTarget()};a.prototype._resetTarget=function(){var a=this.get("orient",!0),b=this._targetAxisInfoMap=R();this._fillSpecifiedTargetAxis(b)?this._orient=a||this._makeAutoOrientByTargetAxis():(this._orient=a||"horizontal",this._fillAutoTargetAxisByOrient(b,this._orient));this._noTarget=!0;b.each(function(a){a.indexList.length&&(this._noTarget=!1)},this)};a.prototype._fillSpecifiedTargetAxis=function(a){var b=!1;r(Mz,function(c){var d=this.getReferringComponents(td(c),EI);if(d.specified){b=!0;var e=new Bp;r(d.models,function(a){e.add(a.componentIndex)});a.set(c,e)}},this);return b};a.prototype._fillAutoTargetAxisByOrient=function(a,b){function c(b,c){var d=b[0];if(d){var e=new Bp;e.add(d.componentIndex);a.set(c,e);g=!1;if("x"===c||"y"===c){var f=d.getReferringComponents("grid",Da).models[0];f&&r(b,function(a){d.componentIndex!==a.componentIndex&&f===a.getReferringComponents("grid",Da).models[0]&&e.add(a.componentIndex)})}}}var d=this.ecModel,g=!0,h="vertical"===b?"y":"x",k=d.findComponents({mainType:h+"Axis"});c(k,h);g&&(k=d.findComponents({mainType:"singleAxis",filter:function(a){return a.get("orient",!0)===b}}),c(k,"single"));g&&r(Mz,function(b){if(g){var c=d.findComponents({mainType:td(b),filter:function(a){return"category"===a.get("type",!0)}});if(c[0]){var e=new Bp;e.add(c[0].componentIndex);a.set(b,e);g=!1}}},this)};a.prototype._makeAutoOrientByTargetAxis=function(){var a;this.eachTargetAxis(function(b){!a&&(a=b)},this);return"y"===a?"vertical":"horizontal"};a.prototype._setDefaultThrottle=function(a){a.hasOwnProperty("throttle")&&(this._autoThrottle=!1);this._autoThrottle&&(a=this.ecModel.option,this.option.throttle=a.animation&&0<a.animationDurationUpdate?100:20)};a.prototype._updateRangeUse=function(a){var b=this._rangePropMode,c=this.get("rangeMode");r([["start","startValue"],["end","endValue"]],function(d,e){var f=null!=a[d[0]],g=null!=a[d[1]];f&&!g?b[e]="percent":!f&&g?b[e]="value":c?b[e]=c[e]:f&&(b[e]="percent")})};a.prototype.noTarget=function(){return this._noTarget};a.prototype.getFirstTargetAxisModel=function(){var a;this.eachTargetAxis(function(b,c){null==a&&(a=this.ecModel.getComponent(td(b),c))},this);return a};a.prototype.eachTargetAxis=function(a,b){this._targetAxisInfoMap.each(function(c,d){r(c.indexList,function(c){a.call(b,d,c)})})};a.prototype.getAxisProxy=function(a,b){var c=this.getAxisModel(a,b);if(c)return c.__dzAxisProxy};a.prototype.getAxisModel=function(a,b){O(a&&null!=b);var c=this._targetAxisInfoMap.get(a);if(c&&c.indexMap[b])return this.ecModel.getComponent(td(a),b)};a.prototype.setRawRange=function(a){var b=this.option,c=this.settledOption;r([["start","startValue"],["end","endValue"]],function(d){if(null!=a[d[0]]||null!=a[d[1]])b[d[0]]=c[d[0]]=a[d[0]],b[d[1]]=c[d[1]]=a[d[1]]},this);this._updateRangeUse(a)};a.prototype.setCalculatedRange=function(a){var b=this.option;r(["start","startValue","end","endValue"],function(c){b[c]=a[c]})};a.prototype.getPercentRange=function(){var a=this.findRepresentativeAxisProxy();if(a)return a.getDataPercentWindow()};a.prototype.getValueRange=function(a,b){if(null==a&&null==b){var c=this.findRepresentativeAxisProxy();if(c)return c.getDataValueWindow()}else return this.getAxisProxy(a,b).getDataValueWindow()};a.prototype.findRepresentativeAxisProxy=function(a){if(a)return a.__dzAxisProxy;var b;a=this._targetAxisInfoMap.keys();for(var c=0;c<a.length;c++)for(var f=a[c],g=this._targetAxisInfoMap.get(f),h=0;h<g.indexList.length;h++){var k=this.getAxisProxy(f,g.indexList[h]);if(k.hostedBy(this))return k;b||(b=k)}return b};a.prototype.getRangePropMode=function(){return this._rangePropMode.slice()};a.prototype.getOrient=function(){O(this._orient);return this._orient};a.type="dataZoom";a.dependencies="xAxis yAxis radiusAxis angleAxis singleAxis series toolbox".split(" ");a.defaultOption={zlevel:0,z:4,filterMode:"filter",start:0,end:100};return a}(W),MG=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="dataZoom.select";return a}(Kh),Cp=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e,f){this.dataZoomModel=a;this.ecModel=b;this.api=e};a.type="dataZoom";return a}(na),NG=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="dataZoom.select";return a}(Cp),Bf=r,PM=function(){function b(a,b,d,e){this._dimName=a;this._axisIndex=b;this.ecModel=e;this._dataZoomModel=d}b.prototype.hostedBy=function(a){return this._dataZoomModel===a};b.prototype.getDataValueWindow=function(){return this._valueWindow.slice()};b.prototype.getDataPercentWindow=function(){return this._percentWindow.slice()};b.prototype.getTargetSeriesModels=function(){var a=[];this.ecModel.eachSeries(function(b){var c=b.get("coordinateSystem");0<=ba(OM,c)&&(c=td(this._dimName),(c=b.getReferringComponents(c,Da).models[0])&&this._axisIndex===c.componentIndex&&a.push(b))},this);return a};b.prototype.getAxisModel=function(){return this.ecModel.getComponent(this._dimName+"Axis",this._axisIndex)};b.prototype.getMinMaxSpan=function(){return J(this._minMaxSpan)};b.prototype.calculateDataWindow=function(a){function b(a,b,c,d,f){var g=f?"Span":"ValueSpan";fe(0,a,c,"all",m["min"+g],m["max"+g]);for(g=0;2>g;g++)b[g]=ga(a[g],c,d,!0),f&&(b[g]=e.parse(b[g]))}var d=this._dataExtent,e=this.getAxisModel().axis.scale,f=this._dataZoomModel.getRangePropMode(),g=[0,100],h=[],k=[],l;Bf(["start","end"],function(b,c){var m=a[b],n=a[b+"Value"];"percent"===f[c]?(null==m&&(m=g[c]),n=e.parse(ga(m,g,d))):(l=!0,n=null==n?d[c]:e.parse(n),m=ga(n,d,g));k[c]=n;h[c]=m});Cb(k);Cb(h);var m=this._minMaxSpan;l?b(k,h,d,g,!1):b(h,k,g,d,!0);return{valueWindow:k,percentWindow:h}};b.prototype.reset=function(a){if(a===this._dataZoomModel){var b=this.getTargetSeriesModels();this._dataExtent=IG(this,this._dimName,b);this._updateMinMaxSpan();a=this.calculateDataWindow(a.settledOption);this._valueWindow=a.valueWindow;this._percentWindow=a.percentWindow;this._setAxisModel()}};b.prototype.filterData=function(a,b){if(a===this._dataZoomModel){var c=this._dimName,e=this.getTargetSeriesModels(),f=a.get("filterMode"),g=this._valueWindow;"none"!==f&&Bf(e,function(a){var b=a.getData(),d=b.mapDimensionsAll(c);d.length&&("weakFilter"===f?b.filterSelf(function(a){for(var c,e,f,h=0;h<d.length;h++){var k=b.get(d[h],a),l=!isNaN(k),m=k<g[0],k=k>g[1];if(l&&!m&&!k)return!0;l&&(f=!0);m&&(c=!0);k&&(e=!0)}return f&&c&&e}):Bf(d,function(c){if("empty"===f)a.setData(b=b.map(c,function(a){return a>=g[0]&&a<=g[1]?a:NaN}));else{var d={};d[c]=g;b.selectRange(d)}}),Bf(d,function(a){b.setApproximateExtent(g,a)}))})}};b.prototype._updateMinMaxSpan=function(){var a=this._minMaxSpan={},b=this._dataZoomModel,d=this._dataExtent;Bf(["min","max"],function(c){var e=b.get(c+"Span"),g=b.get(c+"ValueSpan");null!=g&&(g=this.getAxisModel().axis.scale.parse(g));null!=g?e=ga(d[0]+g,d,[0,100],!0):null!=e&&(g=ga(e,[0,100],d,!0)-d[0]);a[c+"Span"]=e;a[c+"ValueSpan"]=g},this)};b.prototype._setAxisModel=function(){var a=this.getAxisModel(),b=this._percentWindow,d=this._valueWindow;if(b){var e=Wk(d,[0,500]),e=Math.min(e,20),a=a.axis.scale.rawExtentInfo;0!==b[0]&&a.setDeterminedMinMax("min",+d[0].toFixed(e));100!==b[1]&&a.setDeterminedMinMax("max",+d[1].toFixed(e));a.freeze()}};return b}(),KG={getTargetSeries:function(b){function a(a){b.eachComponent("dataZoom",function(c){c.eachTargetAxis(function(d,e){var f=b.getComponent(td(d),e);a(d,e,f,c)})})}a(function(a,b,c,d){c.__dzAxisProxy=null});var c=[];a(function(a,d,g,h){g.__dzAxisProxy||(g.__dzAxisProxy=new PM(a,d,h,b),c.push(g.__dzAxisProxy))});var d=R();r(c,function(a){r(a.getTargetSeriesModels(),function(a){d.set(a.uid,a)})});return d},overallReset:function(b,a){b.eachComponent("dataZoom",function(b){b.eachTargetAxis(function(a,c){b.getAxisProxy(a,c).reset(b)});b.eachTargetAxis(function(c,e){b.getAxisProxy(c,e).filterData(b,a)})});b.eachComponent("dataZoom",function(a){var b=a.findRepresentativeAxisProxy();if(b){var c=b.getDataPercentWindow(),b=b.getDataValueWindow();a.setCalculatedRange({start:c[0],end:c[1],startValue:b[0],endValue:b[1]})}})}},Zw=!1,Qb=function(){return function(){}}(),Bd={},QM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.optionUpdated=function(){b.prototype.optionUpdated.apply(this,arguments);var a=this.ecModel;r(this.option.feature,function(b,c){var d=Bd[c];d&&(d.getDefaultOption&&(d.defaultOption=d.getDefaultOption(a)),U(b,d.defaultOption))})};a.type="toolbox";a.layoutMode={type:"box",ignoreSize:!0};a.defaultOption={show:!0,z:6,zlevel:0,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}},tooltip:{show:!1}};return a}(W),RM=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.render=function(a,b,e,f){function c(c,g){var h=p[c],k=p[g],l=m[h],q=new la(l,a,a.ecModel);f&&null!=f.newTitle&&f.featureName===h&&(l.title=f.newTitle);if(h&&!k){if(0===h.indexOf("my"))l={onclick:q.option.onclick,featureName:h};else{l=Bd[h];if(!l)return;l=new l}n[h]=l}else if(l=n[k],!l)return;l.uid=$e("toolbox-feature");l.model=q;l.ecModel=b;l.api=e;if(l instanceof Qb){if(!h&&k){l.dispose&&l.dispose(b,e);return}if(!q.get("show")||l.unusable){l.remove&&l.remove(b,e);return}}d(q,l,h);q.setIconStatus=function(a,b){var c=this.option,d=this.iconPaths;c.iconStatus=c.iconStatus||{};c.iconStatus[a]=b;d[a]&&("emphasis"===b?nc:oc)(d[a])};l instanceof Qb&&l.render&&l.render(q,b,e,f)}function d(c,d,f){var g=c.getModel("iconStyle"),h=c.getModel(["emphasis","iconStyle"]),m=d instanceof Qb&&d.getIcons?d.getIcons():c.get("icon"),n=c.get("title")||{},p,q;"string"===typeof m?(p={},p[f]=m):p=m;"string"===typeof n?(q={},q[f]=n):q=n;var t=c.iconPaths={};r(p,function(f,m){var n=Ze(f,{},{x:-l/2,y:-l/2,width:l,height:l});n.setStyle(g.getItemStyle());n.ensureState("emphasis").style=h.getItemStyle();var p=new ha({style:{text:q[m],align:h.get("textAlign"),borderRadius:h.get("textBorderRadius"),padding:h.get("textPadding"),fill:null},ignore:!0});n.setTextContent(p);var r=a.getModel("tooltip");r&&r.get("show")&&(n.tooltip=F({content:q[m],formatter:r.get("formatter",!0)||function(){return q[m]},formatterParams:{componentType:"toolbox",name:m,title:q[m],$vars:["name","title"]},position:r.get("position",!0)||"bottom"},r.option));n.__title=q[m];n.on("mouseover",function(){var b=h.getItemStyle(),c="vertical"===a.get("orient")?null==a.get("right")?"right":"left":null==a.get("bottom")?"bottom":"top";p.setStyle({fill:h.get("textFill")||b.fill||b.stroke||"#000",backgroundColor:h.get("textBackgroundColor")});n.setTextConfig({position:h.get("textPosition")||c});p.ignore=!a.get("showTitle");nc(this)}).on("mouseout",function(){"emphasis"!==c.get(["iconStatus",m])&&oc(this);p.hide()});("emphasis"===c.get(["iconStatus",m])?nc:oc)(n);k.add(n);n.on("click",I(d.onclick,d,b,e,m));t[m]=n})}var k=this.group;k.removeAll();if(a.get("show")){var l=+a.get("itemSize"),m=a.get("feature")||{},n=this._features||(this._features={}),p=[];r(m,function(a,b){p.push(b)});(new sd(this._featureNames||[],p)).add(c).update(c).remove(P(c,null)).execute();this._featureNames=p;OG(k,a,e);k.add($w(k.getBoundingRect(),a));k.eachChild(function(a){var b=a.__title,c=a.ensureState("emphasis"),c=c.textConfig||(c.textConfig={}),d=a.getTextContent();if((d=d&&d.states.emphasis)&&!fa(d)&&b){var d=d.style||(d.style={}),b=$f(b,ha.makeFont(d)),f=a.x+k.x,g=!1;a.y+k.y+l+b.height>e.getHeight()&&(c.position="top",g=!0);a=g?-5-b.height:l+8;f+b.width/2>e.getWidth()?(c.position=["100%",a],d.align="right"):0>f-b.width/2&&(c.position=[0,a],d.align="left")}})}};a.prototype.updateView=function(a,b,e,f){r(this._features,function(a){a instanceof Qb&&a.updateView&&a.updateView(a.model,b,e,f)})};a.prototype.remove=function(a,b){r(this._features,function(c){c instanceof Qb&&c.remove&&c.remove(a,b)});this.group.removeAll()};a.prototype.dispose=function(a,b){r(this._features,function(c){c instanceof Qb&&c.dispose&&c.dispose(a,b)})};a.type="toolbox";return a}(na),Nz=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.onclick=function(a,b){var c=this.model,d=c.get("name")||a.get("title.0.text")||"echarts",g="svg"===b.getZr().painter.getType(),h=g?"svg":c.get("type",!0)||"png",k=b.getConnectedDataURL({type:h,backgroundColor:c.get("backgroundColor",!0)||a.get("backgroundColor")||"#fff",connectedBackgroundColor:c.get("connectedBackgroundColor"),excludeComponents:c.get("excludeComponents"),pixelRatio:c.get("pixelRatio")});if("function"!==typeof MouseEvent||!X.browser.newEdge&&(X.browser.ie||X.browser.edge))if(window.navigator.msSaveOrOpenBlob||g)if(c=k.split(","),k=-1<c[0].indexOf("base64"),g=g?decodeURIComponent(c[1]):c[1],k&&(g=atob(g)),d=d+"."+h,window.navigator.msSaveOrOpenBlob){h=g.length;for(k=new Uint8Array(h);h--;)k[h]=g.charCodeAt(h);g=new Blob([k]);window.navigator.msSaveOrOpenBlob(g,d)}else h=document.createElement("iframe"),document.body.appendChild(h),k=h.contentWindow,c=k.document,c.open("image/svg+xml","replace"),c.write(g),c.close(),k.focus(),c.execCommand("SaveAs",!0,d),document.body.removeChild(h);else g=c.get("lang"),g='\x3cbody style\x3d"margin:0;"\x3e\x3cimg src\x3d"'+k+'" style\x3d"max-width:100%;" title\x3d"'+(g&&g[0]||"")+'" /\x3e\x3c/body\x3e',h=window.open(),h.document.write(g),h.document.title=d;else g=document.createElement("a"),g.download=d+"."+h,g.target="_blank",g.href=k,d=new MouseEvent("click",{view:document.defaultView,bubbles:!0,cancelable:!1}),g.dispatchEvent(d)};a.getDefaultOption=function(a){return{show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:a.getLocale(["toolbox","saveAsImage","title"]),type:"png",connectedBackgroundColor:"#fff",name:"",excludeComponents:["toolbox"],pixelRatio:1,lang:a.getLocale(["toolbox","saveAsImage","lang"])}};return a}(Qb);Nz.prototype.unusable=!X.canvasSupported;var SM=[["line","bar"],["stack"]],TM=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.getIcons=function(){var a=this.model,b=a.get("icon"),e={};r(a.get("type"),function(a){b[a]&&(e[a]=b[a])});return e};a.getDefaultOption=function(a){return{show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"},title:a.getLocale(["toolbox","magicType","title"]),option:{},seriesIndex:{}}};a.prototype.onclick=function(a,b,e){var c=this.model,d=c.get(["seriesIndex",e]);if(Oz[e]){var h={series:[]};r(SM,function(a){0<=ba(a,e)&&r(a,function(a){c.setIconStatus(a,"normal")})});c.setIconStatus(e,"emphasis");a.eachComponent({mainType:"series",query:null==d?null:{seriesIndex:d}},function(a){var b=Oz[e](a.subType,a.id,a,c);b&&(K(b,a.option),h.series.push(b));if((b=a.coordinateSystem)&&"cartesian2d"===b.type&&("line"===e||"bar"===e)&&(b=b.getAxesByScale("ordinal")[0])){b=b.dim+"Axis";a=a.getReferringComponents(b,Da).models[0].componentIndex;h[b]=h[b]||[];for(var d=0;d<=a;d++)h[b][a]=h[b][a]||{};h[b][a].boundaryGap="bar"===e}});var k;"stack"===e&&(k=U({stack:c.option.title.tiled,tiled:c.option.title.stack},c.option.title));b.dispatchAction({type:"changeMagicType",currentType:e,newOption:h,newTitle:k,featureName:"magicType"})}};return a}(Qb),Oz={line:function(b,a,c,d){if("bar"===b)return U({id:a,type:"line",data:c.get("data"),stack:c.get("stack"),markPoint:c.get("markPoint"),markLine:c.get("markLine")},d.get(["option","line"])||{},!0)},bar:function(b,a,c,d){if("line"===b)return U({id:a,type:"bar",data:c.get("data"),stack:c.get("stack"),markPoint:c.get("markPoint"),markLine:c.get("markLine")},d.get(["option","bar"])||{},!0)},stack:function(b,a,c,d){c="__ec_magicType_stack__"===c.get("stack");if("line"===b||"bar"===b)return d.setIconStatus("stack",c?"normal":"emphasis"),U({id:a,stack:c?"":"__ec_magicType_stack__"},d.get(["option","stack"])||{},!0)}};ac({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(b,a){a.mergeOption(b.newOption)});var vj=Array(60).join("-"),ao=RegExp("[\t]+","g"),UM=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.onclick=function(a,b){function c(){d.removeChild(h);B._dom=null}var d=b.getDom(),g=this.model;this._dom&&d.removeChild(this._dom);var h=document.createElement("div");h.style.cssText="position:absolute;left:5px;top:5px;bottom:5px;right:5px;";h.style.backgroundColor=g.get("backgroundColor")||"#fff";var k=document.createElement("h4"),l=g.get("lang")||[];k.innerHTML=l[0]||g.get("title");k.style.cssText="margin: 10px 20px;";k.style.color=g.get("textColor");var m=document.createElement("div"),n=document.createElement("textarea");m.style.cssText="display:block;width:100%;overflow:auto;";var p=g.get("optionToContent"),q=g.get("contentToOption"),t=SG(a);if("function"===typeof p){var r=p(b.getOption());"string"===typeof r?m.innerHTML=r:Dd(r)&&m.appendChild(r)}else m.appendChild(n),n.readOnly=g.get("readOnly"),n.style.cssText="width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;",n.style.color=g.get("textColor"),n.style.borderColor=g.get("textareaBorderColor"),n.style.backgroundColor=g.get("textareaColor"),n.value=t.value;var w=t.meta,t=document.createElement("div");t.style.cssText="position:absolute;bottom:0;left:0;right:0;";var r="float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px",v=document.createElement("div"),x=document.createElement("div"),r=r+(";background-color:"+g.get("buttonColor")),r=r+(";color:"+g.get("buttonTextColor")),B=this;Bk(v,"click",c);Bk(x,"click",function(){if(null==q&&null!=p||null!=q&&null==p)console.warn("It seems you have just provided one of `contentToOption` and `optionToContent` functions but missed the other one. Data change is ignored.");else{var a;try{a="function"===typeof q?q(m,b.getOption()):UG(n.value,w)}catch(L){throw c(),Error("Data view format error "+L);}a&&b.dispatchAction({type:"changeDataView",newOption:a})}c()});v.innerHTML=l[1];x.innerHTML=l[2];x.style.cssText=r;v.style.cssText=r;!g.get("readOnly")&&t.appendChild(x);t.appendChild(v);h.appendChild(k);h.appendChild(m);h.appendChild(t);m.style.height=d.clientHeight-80+"px";d.appendChild(h);this._dom=h};a.prototype.remove=function(a,b){this._dom&&b.getDom().removeChild(this._dom)};a.prototype.dispose=function(a,b){this.remove(a,b)};a.getDefaultOption=function(a){return{show:!0,readOnly:!1,optionToContent:null,contentToOption:null,icon:"M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28",title:a.getLocale(["toolbox","dataView","title"]),lang:a.getLocale(["toolbox","dataView","lang"]),backgroundColor:"#fff",textColor:"#000",textareaColor:"#fff",textareaBorderColor:"#333",buttonColor:"#c23531",buttonTextColor:"#fff"}};return a}(Qb);ac({type:"changeDataView",event:"dataViewChanged",update:"prepareAndUpdate"},function(b,a){var c=[];r(b.newOption.series,function(b){var d=a.getSeriesByName(b.name)[0];d?(d=d.get("data"),c.push({name:b.name,data:VG(b.data,d)})):c.push(F({type:"scatter"},b))});a.mergeOption(K({series:c},b.newOption))});var ax=r,bx=ma(),VM=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.onclick=function(a,b){bx(a).snapshots=null;b.dispatchAction({type:"restore",from:this.uid})};a.getDefaultOption=function(a){return{show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:a.getLocale(["toolbox","restore","title"])}};return a}(Qb);ac({type:"restore",event:"restore",update:"prepareAndUpdate"},function(b,a){a.resetOption("recreate")});var Dp=["dataToPoint","pointToData"],Pz="grid xAxis yAxis geo graph polar radiusAxis angleAxis bmap".split(" "),fo=function(){function b(a,b,d){var c=this;this._targetInfoList=[];var f=Vc(b,a,{includeMainTypes:Pz});r(WM,function(a,b){(!d||!d.include||0<=ba(d.include,b))&&a(f,c._targetInfoList)})}b.prototype.setOutputRanges=function(a,b){this.matchOutputRanges(a,b,function(a,b,c){(a.coordRanges||(a.coordRanges=[])).push(b);a.coordRange||(a.coordRange=b,b=Ep[a.brushType](0,c,b),a.__rangeOffset={offset:Qz[a.brushType](b.values,a.range,[1,1]),xyMinMax:b.xyMinMax})});return a};b.prototype.matchOutputRanges=function(a,b,d){r(a,function(a){var c=this.findTargetInfo(a,b);c&&!0!==c&&r(c.coordSyses,function(c){var e=Ep[a.brushType](1,c,a.range);d(a,e.values,c,b)})},this)};b.prototype.setInputRanges=function(a,b){r(a,function(a){var c=this.findTargetInfo(a,b);O(!c||!0===c||a.coordRange,"coordRange must be specified when coord index specified.");O(!c||!0!==c||a.range,"range must be specified in global brush.");a.range=a.range||[];if(c&&!0!==c){a.panelId=c.panelId;var c=Ep[a.brushType](0,c.coordSys,a.coordRange),d=a.__rangeOffset;a.range=d?Qz[a.brushType](c.values,d.offset,YG(c.xyMinMax,d.xyMinMax)):c.values}},this)};b.prototype.makePanelOpts=function(a,b){return C(this._targetInfoList,function(c){var d=c.getPanelRect();return{panelId:c.panelId,defaultBrushType:b?b(c):null,clipPath:vv(d),isTargetByCursor:xv(d,a,c.coordSysModel),getLinearBrushOtherExtent:wv(d)}})};b.prototype.controlSeries=function(a,b,d){a=this.findTargetInfo(a,d);return!0===a||a&&0<=ba(a.coordSyses,b.coordinateSystem)};b.prototype.findTargetInfo=function(a,b){for(var c=this._targetInfoList,e=Vc(b,a,{includeMainTypes:Pz}),f=0;f<c.length;f++){var g=c[f],h=a.panelId;if(h){if(g.panelId===h)return g}else for(h=0;h<Rz.length;h++)if(Rz[h](e,g))return g}return!0};return b}(),WM={grid:function(b,a){var c=b.xAxisModels,d=b.yAxisModels,e=b.gridModels,f=R(),g={},h={};if(c||d||e)r(c,function(a){a=a.axis.grid.model;f.set(a.id,a);g[a.id]=!0}),r(d,function(a){a=a.axis.grid.model;f.set(a.id,a);h[a.id]=!0}),r(e,function(a){f.set(a.id,a);g[a.id]=!0;h[a.id]=!0}),f.each(function(b){var e=[];r(b.coordinateSystem.getCartesians(),function(a,b){(0<=ba(c,a.getAxis("x").model)||0<=ba(d,a.getAxis("y").model))&&e.push(a)});a.push({panelId:"grid--"+b.id,gridModel:b,coordSysModel:b,coordSys:e[0],coordSyses:e,getPanelRect:Sz.grid,xAxisDeclared:g[b.id],yAxisDeclared:h[b.id]})})},geo:function(b,a){r(b.geoModels,function(b){var c=b.coordinateSystem;a.push({panelId:"geo--"+b.id,geoModel:b,coordSysModel:b,coordSys:c,coordSyses:[c],getPanelRect:Sz.geo})})}},Rz=[function(b,a){var c=b.xAxisModel,d=b.yAxisModel,e=b.gridModel;!e&&c&&(e=c.axis.grid.model);!e&&d&&(e=d.axis.grid.model);return e&&e===a.gridModel},function(b,a){var c=b.geoModel;return c&&c===a.geoModel}],Sz={grid:function(){return this.coordSys.master.getRect().clone()},geo:function(){var b=this.coordSys,a=b.getBoundingRect().clone();a.applyTransform(dd(b));return a}},Ep={lineX:P(cx,0),lineY:P(cx,1),rect:function(b,a,c){var d=a[Dp[b]]([c[0][0],c[1][0]]);b=a[Dp[b]]([c[0][1],c[1][1]]);d=[co([d[0],b[0]]),co([d[1],b[1]])];return{values:d,xyMinMax:d}},polygon:function(b,a,c){var d=[[Infinity,-Infinity],[Infinity,-Infinity]];return{values:C(c,function(c){c=a[Dp[b]](c);d[0][0]=Math.min(d[0][0],c[0]);d[1][0]=Math.min(d[1][0],c[1]);d[0][1]=Math.max(d[0][1],c[0]);d[1][1]=Math.max(d[1][1],c[1]);return c}),xyMinMax:d}}},Qz={lineX:P(dx,0),lineY:P(dx,1),rect:function(b,a,c){return[[b[0][0]-c[0]*a[0][0],b[0][1]-c[0]*a[0][1]],[b[1][0]-c[1]*a[1][0],b[1][1]-c[1]*a[1][1]]]},polygon:function(b,a,c){return C(b,function(b,e){return[b[0]-c[0]*a[e][0],b[1]-c[1]*a[e][1]]})}},YM=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.render=function(a,b,e,f){this.brushController||(this.brushController=new vp(e.getZr()),this.brushController.on("brush",I(this._onBrush,this)).mount());ZG(a,b,this,f,e);a.setIconStatus("back",1<bo(b).length?"emphasis":"normal")};a.prototype.onclick=function(a,b,e){XM[e].call(this)};a.prototype.remove=function(a,b){this.brushController.unmount()};a.prototype.dispose=function(a,b){this.brushController.dispose()};a.prototype._onBrush=function(a){function b(a,b,d){b=b.getAxis(a);var e=b.model;a=c(a,e,h);e=a.findRepresentativeAxisProxy(e).getMinMaxSpan();if(null!=e.minValueSpan||null!=e.maxValueSpan)d=fe(0,d.slice(),b.scale.getExtent(),0,e.minValueSpan,e.maxValueSpan);a&&(g[a.id]={dataZoomId:a.id,startValue:d[0],endValue:d[1]})}function c(a,b,c){var d;c.eachComponent({mainType:"dataZoom",subType:"select"},function(c){c.getAxisModel(a,b.componentIndex)&&(d=c)});return d}var f=a.areas;if(a.isEnd&&f.length){var g={},h=this.ecModel;this.brushController.updateCovers([]);(new fo(eo(this.model),h,{include:["grid"]})).matchOutputRanges(f,h,function(a,c,d){"cartesian2d"===d.type&&(a=a.brushType,"rect"===a?(b("x",d,c[0]),b("y",d,c[1])):b({lineX:"x",lineY:"y"}[a],d,c))});WG(h,g);this._dispatchZoomAction(g)}};a.prototype._dispatchZoomAction=function(a){var b=[];r(a,function(a,c){b.push(J(a))});b.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:b})};a.getDefaultOption=function(a){return{show:!0,filterMode:"filter",icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:a.getLocale(["toolbox","dataZoom","title"]),brushStyle:{borderWidth:0,color:"rgba(210,219,238,0.2)"}}};return a}(Qb),XM={zoom:function(){this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:!this.isZoomActive})},back:function(){this._dispatchZoomAction(XG(this.ecModel))}};(function(b,a){O(null==Jl.get(b)&&a);Jl.set(b,a)})("dataZoom",function(b){function a(a,b,c){a=a.componentIndex;b={type:"select",$fromToolbox:!0,filterMode:d.get("filterMode",!0)||"filter",id:"\x00_ec_\x00toolbox-dataZoom_"+b+a};b[c]=a;e.push(b)}var c=b.getComponent("toolbox",0);if(c){var d=c.getModel(["feature","dataZoom"]),e=[],c=eo(d);b=Vc(b,c);r(b.xAxisModels,function(b){return a(b,"xAxis","xAxisIndex")});r(b.yAxisModels,function(b){return a(b,"yAxis","yAxisIndex")});return e}});var ZM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="tooltip";a.dependencies=["axisPointer"];a.defaultOption={zlevel:0,z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:null,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"#fff",shadowBlur:10,shadowColor:"rgba(0, 0, 0, .2)",shadowOffsetX:1,shadowOffsetY:2,borderRadius:4,borderWidth:1,padding:null,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#666",fontSize:14}};return a}(W),gx=["-ms-","-moz-","-o-","-webkit-",""],$M=function(){function b(a,b,d){this._show=!1;this._styleCoord=[0,0,0,0];this._longHide=this._firstShow=this._enterable=!0;if(X.wxa)return null;var c=document.createElement("div");c.domBelongToZr=!0;this.el=c;var f=this._zr=b.getZr();d=this._appendToBody=d&&d.appendToBody;hx(this._styleCoord,f,d,b.getWidth()/2,b.getHeight()/2);d?document.body.appendChild(c):a.appendChild(c);this._container=a;var g=this;c.onmouseenter=function(){g._enterable&&(clearTimeout(g._hideTimeout),g._show=!0);g._inContent=!0};c.onmousemove=function(a){a=a||window.event;if(!g._enterable){var b=f.handler,c=f.painter.getViewportRoot();Ab(c,a,!0);b.dispatch("mousemove",a)}};c.onmouseleave=function(){g._inContent=!1;g._enterable&&g._show&&g.hideLater(g._hideDelay)}}b.prototype.update=function(a){var b=this._container,d=b.currentStyle||document.defaultView.getComputedStyle(b),b=b.style;"absolute"!==b.position&&"absolute"!==d.position&&(b.position="relative");a.get("alwaysShowContent")&&this._moveIfResized();this.el.className=a.get("className")||""};b.prototype.show=function(a,b){clearTimeout(this._hideTimeout);clearTimeout(this._longHideTimeout);var c=this.el,e=this._styleCoord,f=c.offsetHeight/2;b=og(b);c.style.cssText="position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;"+cH(a,!this._firstShow,this._longHide)+";left:"+e[0]+"px;top:"+(e[1]-f)+"px;"+("border-color: "+b+";")+(a.get("extraCssText")||"");c.style.display=c.innerHTML?"block":"none";c.style.pointerEvents=this._enterable?"auto":"none";this._show=!0;this._longHide=this._firstShow=!1};b.prototype.setContent=function(a,b,d,e,f){if(null!=a)if(b=this.el,da(f)&&"item"===d.get("trigger")&&!fx(d)&&(a+=$G(d.get("backgroundColor"),e,f)),da(a))b.innerHTML=a;else if(a)for(b.innerHTML="",A(a)||(a=[a]),d=0;d<a.length;d++)Dd(a[d])&&a[d].parentNode!==b&&b.appendChild(a[d])};b.prototype.setEnterable=function(a){this._enterable=a};b.prototype.getSize=function(){var a=this.el;return[a.clientWidth,a.clientHeight]};b.prototype.moveTo=function(a,b){var c=this._styleCoord;hx(c,this._zr,this._appendToBody,a,b);if(null!=c[0]&&null!=c[1]){var e=this.el.style;e.left=c[0].toFixed(0)+"px";e.top=c[1].toFixed(0)+"px"}};b.prototype._moveIfResized=function(){var a=this._styleCoord[3];this.moveTo(this._styleCoord[2]*this._zr.getWidth(),a*this._zr.getHeight())};b.prototype.hide=function(){var a=this;this.el.style.visibility="hidden";this.el.style.opacity="0";this._show=!1;this._longHideTimeout=setTimeout(function(){return a._longHide=!0},500)};b.prototype.hideLater=function(a){!this._show||this._inContent&&this._enterable||(a?(this._hideDelay=a,this._show=!1,this._hideTimeout=setTimeout(I(this.hide,this),a)):this.hide())};b.prototype.isShow=function(){return this._show};b.prototype.dispose=function(){this.el.parentNode.removeChild(this.el)};b.prototype.getOuterSize=function(){var a=this.el.clientWidth,b=this.el.clientHeight;if(document.defaultView&&document.defaultView.getComputedStyle){var d=document.defaultView.getComputedStyle(this.el);d&&(a+=parseInt(d.borderLeftWidth,10)+parseInt(d.borderRightWidth,10),b+=parseInt(d.borderTopWidth,10)+parseInt(d.borderBottomWidth,10))}return{width:a,height:b}};return b}(),aN=function(){function b(a){this._show=!1;this._styleCoord=[0,0,0,0];this._enterable=!0;this._zr=a.getZr();jx(this._styleCoord,this._zr,a.getWidth()/2,a.getHeight()/2)}b.prototype.update=function(a){a.get("alwaysShowContent")&&this._moveIfResized()};b.prototype.show=function(){this._hideTimeout&&clearTimeout(this._hideTimeout);this.el.show();this._show=!0};b.prototype.setContent=function(a,b,d,e,f){N(a)&&ja("Passing DOM nodes as content is not supported in richText tooltip!");this.el&&this._zr.remove(this.el);f=d.getModel("textStyle");this.el=new ha({style:{rich:b.richTextStyles,text:a,lineHeight:22,backgroundColor:d.get("backgroundColor"),borderRadius:d.get("borderRadius"),borderWidth:1,borderColor:e,shadowColor:d.get("shadowColor"),shadowBlur:d.get("shadowBlur"),shadowOffsetX:d.get("shadowOffsetX"),shadowOffsetY:d.get("shadowOffsetY"),textShadowColor:f.get("textShadowColor"),textShadowBlur:f.get("textShadowBlur")||0,textShadowOffsetX:f.get("textShadowOffsetX")||0,textShadowOffsetY:f.get("textShadowOffsetY")||0,fill:d.get(["textStyle","color"]),padding:ms(d,"richText"),verticalAlign:"top",align:"left"},z:d.get("z")});this._zr.add(this.el);var c=this;this.el.on("mouseover",function(){c._enterable&&(clearTimeout(c._hideTimeout),c._show=!0);c._inContent=!0});this.el.on("mouseout",function(){c._enterable&&c._show&&c.hideLater(c._hideDelay);c._inContent=!1})};b.prototype.setEnterable=function(a){this._enterable=a};b.prototype.getSize=function(){var a=this.el,b=this.el.getBoundingRect(),a=ix(a.style);return[b.width+a.left+a.right,b.height+a.top+a.bottom]};b.prototype.moveTo=function(a,b){var c=this.el;if(c){var e=this._styleCoord;jx(e,this._zr,a,b);a=e[0];b=e[1];var f=c.style,e=ud(f.borderWidth||0),f=ix(f);c.x=a+e+f.left;c.y=b+e+f.top;c.markRedraw()}};b.prototype._moveIfResized=function(){var a=this._styleCoord[3];this.moveTo(this._styleCoord[2]*this._zr.getWidth(),a*this._zr.getHeight())};b.prototype.hide=function(){this.el&&this.el.hide();this._show=!1};b.prototype.hideLater=function(a){!this._show||this._inContent&&this._enterable||(a?(this._hideDelay=a,this._show=!1,this._hideTimeout=setTimeout(I(this.hide,this),a)):this.hide())};b.prototype.isShow=function(){return this._show};b.prototype.getOuterSize=function(){var a=this.getSize();return{width:a[0],height:a[1]}};b.prototype.dispose=function(){this._zr.remove(this.el)};return b}(),Tz=I,Lh=new Z({shape:{x:-1,y:-1,width:2,height:2}}),bN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(a,b){if(!X.node){var c=a.getComponent("tooltip"),d=c.get("renderMode");d="auto"===d?X.domSupported?"html":"richText":d||"html";this._renderMode=d;this._tooltipContent="richText"===this._renderMode?new aN(b):new $M(b.getDom(),b,{appendToBody:c.get("appendToBody",!0)})}};a.prototype.render=function(a,b,e){X.node||(this.group.removeAll(),this._tooltipModel=a,this._ecModel=b,this._api=e,this._alwaysShowContent=a.get("alwaysShowContent"),b=this._tooltipContent,b.update(a),b.setEnterable(a.get("enterable")),this._initGlobalListener(),this._keepShow())};a.prototype._initGlobalListener=function(){var a=this._tooltipModel.get("triggerOn");Ew("itemTooltip",this._api,Tz(function(b,c,f){"none"!==a&&(0<=a.indexOf(b)?this._tryShow(c,f):"leave"===b&&this._hide(f))},this))};a.prototype._keepShow=function(){var a=this._tooltipModel,b=this._ecModel,e=this._api;if(null!=this._lastX&&null!=this._lastY&&"none"!==a.get("triggerOn")){var f=this;clearTimeout(this._refreshUpdateTimeout);this._refreshUpdateTimeout=setTimeout(function(){!e.isDisposed()&&f.manuallyShowTip(a,b,e,{x:f._lastX,y:f._lastY,dataByCoordSys:f._lastDataByCoordSys})})}};a.prototype.manuallyShowTip=function(a,b,e,f){if(f.from!==this.uid&&!X.node){var c=f.dispatchAction||I(e.dispatchAction,e);this._ticket="";var d=f.dataByCoordSys;f.tooltip&&null!=f.x&&null!=f.y?(Lh.x=f.x,Lh.y=f.y,Lh.update(),Lh.tooltip=f.tooltip,this._tryShow({offsetX:f.x,offsetY:f.y,target:Lh},c)):d?this._tryShow({offsetX:f.x,offsetY:f.y,position:f.position,dataByCoordSys:d,tooltipOption:f.tooltipOption},c):null!=f.seriesIndex?this._manuallyAxisShowTip(a,b,e,f)||(a=Gw(f,b),b=a.point[0],e=a.point[1],null!=b&&null!=e&&this._tryShow({offsetX:b,offsetY:e,position:f.position,target:a.el},c)):null!=f.x&&null!=f.y&&(e.dispatchAction({type:"updateAxisPointer",x:f.x,y:f.y}),this._tryShow({offsetX:f.x,offsetY:f.y,position:f.position,target:e.getZr().findHover(f.x,f.y).target},c))}};a.prototype.manuallyHideTip=function(a,b,e,f){a=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&a.hideLater(this._tooltipModel.get("hideDelay"));this._lastX=this._lastY=this._lastDataByCoordSys=null;f.from!==this.uid&&this._hide(f.dispatchAction||I(e.dispatchAction,e))};a.prototype._manuallyAxisShowTip=function(a,b,e,f){var c=f.seriesIndex,d=f.dataIndex,k=b.getComponent("axisPointer").coordSysAxesInfo;if(null!=c&&null!=d&&null!=k&&(b=b.getSeriesByIndex(c))&&(k=b.getData(),"axis"===ho([k.getItemModel(d),b,(b.coordinateSystem||{}).model,a]).get("trigger")))return e.dispatchAction({type:"updateAxisPointer",seriesIndex:c,dataIndex:d,position:f.position}),!0};a.prototype._tryShow=function(a,b){var c=a.target;if(this._tooltipModel){this._lastX=a.offsetX;this._lastY=a.offsetY;var d=a.dataByCoordSys;d&&d.length?this._showAxisTooltip(d,a):c&&ef(c,function(a){return null!=S(a).dataIndex},!0)?(this._lastDataByCoordSys=null,this._showSeriesItemTooltip(a,c,b)):c&&c.tooltip?(this._lastDataByCoordSys=null,this._showComponentItemTooltip(a,c,b)):(this._lastDataByCoordSys=null,this._hide(b))}};a.prototype._showOrMove=function(a,b){var c=a.get("showDelay");b=I(b,this);clearTimeout(this._showTimout);0<c?this._showTimout=setTimeout(b,c):b()};a.prototype._showAxisTooltip=function(a,b){var c=this._ecModel,d=[b.offsetX,b.offsetY],g=ho([b.tooltipOption,this._tooltipModel]),h=this._renderMode,k=[],l=Ha("section",{blocks:[],noHeader:!0}),m=[],n=new Ro;r(a,function(a){r(a.dataByAxis,function(a){var b=c.getComponent(a.axisDim+"Axis",a.axisIndex),d=a.value;if(b&&null!=d){var e=Aw(d,b.axis,c,a.seriesDataIndices,a.valueLabelOpt),f=Ha("section",{header:e,noHeader:!Va(e),sortBlocks:!0,blocks:[]});l.blocks.push(f);r(a.seriesDataIndices,function(g){var l=c.getSeriesByIndex(g.seriesIndex),p=g.dataIndexInside;g=l.getDataParams(p);g.axisDim=a.axisDim;g.axisIndex=a.axisIndex;g.axisType=a.axisType;g.axisId=a.axisId;g.axisValue=qm(b.axis,{value:d});g.axisValueLabel=e;g.marker=n.makeTooltipMarker("item",og(g.color),h);l=es(l.formatTooltip(p,!0,null));l.markupFragment&&f.blocks.push(l.markupFragment);l.markupText&&m.push(l.markupText);k.push(g)})}})});l.blocks.reverse();m.reverse();var p=b.position,q=g.get("order");(q=ks(l,n,h,q,c.get("useUTC"),g.get("textStyle")))&&m.unshift(q);var t=m.join("richText"===h?"\n\n":"\x3cbr/\x3e");this._showOrMove(g,function(){this._updateContentNotChangedOnAxis(a)?this._updatePosition(g,p,d[0],d[1],this._tooltipContent,k):this._showTooltipContent(g,t,k,Math.random()+"",d[0],d[1],p,null,n)})};a.prototype._showSeriesItemTooltip=function(a,b,e){var c=ef(b,function(a){return null!=S(a).dataIndex},!0);b=this._ecModel;var d=S(c),c=d.seriesIndex,h=b.getSeriesByIndex(c),k=d.dataModel||h,l=d.dataIndex,m=d.dataType,d=k.getData(m),n=this._renderMode,p=ho([d.getItemModel(l),k,h&&(h.coordinateSystem||{}).model,this._tooltipModel]),h=p.get("trigger");if(null==h||"item"===h){var q=k.getDataParams(l,m),t=new Ro;q.marker=t.makeTooltipMarker("item",og(q.color),n);var h=es(k.formatTooltip(l,!1,m)),m=p.get("order"),r=h.markupFragment?ks(h.markupFragment,t,n,m,b.get("useUTC"),p.get("textStyle")):h.markupText,w="item_"+k.name+"_"+l;this._showOrMove(p,function(){this._showTooltipContent(p,r,q,w,a.offsetX,a.offsetY,a.position,a.target,t)});e({type:"showTip",dataIndexInside:l,dataIndex:d.getRawIndex(l),seriesIndex:c,from:this.uid})}};a.prototype._showComponentItemTooltip=function(a,b,e){var c=b.tooltip;da(c)&&(c={content:c,formatter:c});var d=new la(c,this._tooltipModel,this._ecModel),h=d.get("content"),k=Math.random()+"",l=new Ro;this._showOrMove(d,function(){this._showTooltipContent(d,h,d.get("formatterParams")||{},k,a.offsetX,a.offsetY,a.position,b,l)});e({type:"showTip",from:this.uid})};a.prototype._showTooltipContent=function(a,b,e,f,g,h,k,l,m){this._ticket="";if(a.get("showContent")&&a.get("show")){var c=this._tooltipContent,d=a.get("formatter");k=k||a.get("position");var q=this._getNearestPoint([g,h],e,a.get("trigger"),a.get("borderColor"));if(d&&da(d)){f=a.ecModel.get("useUTC");var t=A(e)?e[0]:e,r=t&&t.axisType&&0<=t.axisType.indexOf("time");b=d;r&&(b=mg(t.axisValue,b,f));b=Fl(b,e,!0)}else fa(d)&&(b=Tz(function(b,d){b===this._ticket&&(c.setContent(d,m,a,q.color,k),this._updatePosition(a,k,g,h,c,e,l))},this),this._ticket=f,b=d(e,f,b));c.setContent(b,m,a,q.color,k);c.show(a,q.color);this._updatePosition(a,k,g,h,c,e,l)}};a.prototype._getNearestPoint=function(a,b,e,f){if("axis"===e||A(b))return{color:f||("html"===this._renderMode?"#fff":"none")};if(!A(b))return{color:f||b.color||b.borderColor}};a.prototype._updatePosition=function(a,b,e,f,g,h,k){var c=this._api.getWidth(),d=this._api.getHeight();b=b||a.get("position");var n=g.getSize(),p=a.get("align"),q=a.get("verticalAlign"),t=k&&k.getBoundingRect().clone();k&&t.applyTransform(k.transform);fa(b)&&(b=b([e,f],h,g.el,t,{viewSize:[c,d],contentSize:n.slice()}));if(A(b))e=H(b[0],c),f=H(b[1],d);else if(N(b))p=b,p.width=n[0],p.height=n[1],p=Aa(p,{width:c,height:d}),e=p.x,f=p.y,q=p=null;else{if(da(b)&&k){e=n[0];f=n[1];k=h=0;var r=t.width,w=t.height;switch(b){case "inside":h=t.x+r/2-e/2;k=t.y+w/2-f/2;break;case "top":h=t.x+r/2-e/2;k=t.y-f-10;break;case "bottom":h=t.x+r/2-e/2;k=t.y+w+10;break;case "left":h=t.x-e-10-5;k=t.y+w/2-f/2;break;case "right":h=t.x+r+10+5,k=t.y+w/2-f/2}b=[h,k]}else b=e,t=f,e=p?null:20,f=q?null:20,k=g.getOuterSize(),h=k.width,k=k.height,null!=e&&(b=b+h+e+2>c?b-(h+e):b+e),null!=f&&(t=t+k+f>d?t-(k+f):t+f),b=[b,t];e=b[0];f=b[1]}p&&(e-="center"===p||"middle"===p?n[0]/2:"right"===p?n[0]:0);q&&(f-="center"===q||"middle"===q?n[1]/2:"bottom"===q?n[1]:0);fx(a)&&(a=e,n=f,q=g.getOuterSize(),p=q.width,q=q.height,a=Math.min(a+p,c)-p,n=Math.min(n+q,d)-q,a=Math.max(a,0),n=Math.max(n,0),b=[a,n],e=b[0],f=b[1]);g.moveTo(e,f)};a.prototype._updateContentNotChangedOnAxis=function(a){var b=this._lastDataByCoordSys,c=!!b&&b.length===a.length;c&&r(b,function(b,d){var e=b.dataByAxis||[],f=(a[d]||{}).dataByAxis||[];(c=c&&e.length===f.length)&&r(e,function(a,b){var d=f[b]||{},e=a.seriesDataIndices||[],g=d.seriesDataIndices||[];(c=c&&a.value===d.value&&a.axisType===d.axisType&&a.axisId===d.axisId&&e.length===g.length)&&r(e,function(a,b){var d=g[b];c=c&&a.seriesIndex===d.seriesIndex&&a.dataIndex===d.dataIndex})})});this._lastDataByCoordSys=a;return!!c};a.prototype._hide=function(a){this._lastDataByCoordSys=null;a({type:"hideTip",from:this.uid})};a.prototype.dispose=function(a,b){X.node||(this._tooltipContent.dispose(),Xn("itemTooltip",b))};a.type="tooltip";return a}(na),fH=["rect","polygon","keep","clear"],lx=r,nx={lineX:ox(0),lineY:ox(1),rect:{point:function(b,a,c){return b&&c.boundingRect.contain(b[0],b[1])},rect:function(b,a,c){return b&&c.boundingRect.intersect(b)}},polygon:{point:function(b,a,c){return b&&c.boundingRect.contain(b[0],b[1])&&$d(c.range,b[0],b[1])},rect:function(b,a,c){a=c.range;if(!b||1>=a.length)return!1;c=b.x;var d=b.y,e=b.width,f=b.height,g=a[0];if($d(a,c,d)||$d(a,c+e,d)||$d(a,c,d+f)||$d(a,c+e,d+f)||aa.create(b).contain(g[0],g[1])||kg(c,d,c+e,d,a)||kg(c,d,c,d+f,a)||kg(c+e,d,c+e,d+f,a)||kg(c,d+f,c+e,d+f,a))return!0}}},rx=["inBrush","outOfBrush"],lH={rect:function(b){return sx(b.range)},polygon:function(b){var a;b=b.range;for(var c=0,d=b.length;c<d;c++){a=a||[[Infinity,-Infinity],[Infinity,-Infinity]];var e=b[c];e[0]<a[0][0]&&(a[0][0]=e[0]);e[0]>a[0][1]&&(a[0][1]=e[0]);e[1]<a[1][0]&&(a[1][0]=e[1]);e[1]>a[1][1]&&(a[1][1]=e[1])}return a&&sx(a)}},cN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(a,b){this.ecModel=a;this.api=b;this.model;(this._brushController=new vp(b.getZr())).on("brush",I(this._onBrush,this)).mount()};a.prototype.render=function(a,b,e,f){this.model=a;this._updateController(a,b,e,f)};a.prototype.updateTransform=function(a,b,e,f){px(b);this._updateController(a,b,e,f)};a.prototype.updateVisual=function(a,b,e,f){this.updateTransform(a,b,e,f)};a.prototype.updateView=function(a,b,e,f){this._updateController(a,b,e,f)};a.prototype._updateController=function(a,b,e,f){f&&f.$from===a.id||this._brushController.setPanels(a.brushTargetManager.makePanelOpts(e)).enableBrush(a.brushOption).updateCovers(a.areas.slice())};a.prototype.dispose=function(){this._brushController.dispose()};a.prototype._onBrush=function(a){var b=this.model.id,c=this.model.brushTargetManager.setOutputRanges(a.areas,this.ecModel);a.isEnd&&!a.removeOnClick||this.api.dispatchAction({type:"brush",brushId:b,areas:J(c),$from:b});a.isEnd&&this.api.dispatchAction({type:"brushEnd",brushId:b,areas:J(c),$from:b})};a.type="brush";return a}(na),dN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.areas=[];c.brushOption={};return c}x(a,b);a.prototype.optionUpdated=function(a,b){var c=this.option;!b&&mx(c,a,["inBrush","outOfBrush"]);var d=c.inBrush=c.inBrush||{};c.outOfBrush=c.outOfBrush||{color:"#ddd"};d.hasOwnProperty("liftZ")||(d.liftZ=5)};a.prototype.setAreas=function(a){O(A(a));r(a,function(a){O(a.brushType,"Illegal areas")});a&&(this.areas=C(a,function(a){return tx(this.option,a)},this))};a.prototype.setBrushOption=function(a){this.brushOption=tx(this.option,a);this.brushType=this.brushOption.brushType};a.type="brush";a.dependencies="geo grid xAxis yAxis parallel series".split(" ");a.defaultOption={seriesIndex:"all",brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(210,219,238,0.3)",borderColor:"#D2DBEE"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1E4};return a}(W),eN="rect polygon lineX lineY keep clear".split(" "),fN=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.render=function(a,b,e){var c,d,h;b.eachComponent({mainType:"brush"},function(a){c=a.brushType;d=a.brushOption.brushMode||"single";h=h||!!a.areas.length});this._brushType=c;this._brushMode=d;r(a.get("type",!0),function(b){a.setIconStatus(b,("keep"===b?"multiple"===d:"clear"===b?h:b===c)?"emphasis":"normal")})};a.prototype.updateView=function(a,b,e){this.render(a,b,e)};a.prototype.getIcons=function(){var a=this.model,b=a.get("icon",!0),e={};r(a.get("type",!0),function(a){b[a]&&(e[a]=b[a])});return e};a.prototype.onclick=function(a,b,e){a=this._brushType;var c=this._brushMode;"clear"===e?(b.dispatchAction({type:"axisAreaSelect",intervals:[]}),b.dispatchAction({type:"brush",command:"clear",areas:[]})):b.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:"keep"===e?a:a===e?!1:e,brushMode:"keep"===e?"multiple"===c?"single":"multiple":c}})};a.getDefaultOption=function(a){return{show:!0,type:eN.slice(),icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:a.getLocale(["toolbox","brush","title"])}};return a}(Qb),gN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.layoutMode={type:"box",ignoreSize:!0};return c}x(a,b);a.type="title";a.defaultOption={zlevel:0,z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bold",color:"#464646"},subtextStyle:{fontSize:12,color:"#6E7079"}};return a}(W),hN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e){this.group.removeAll();if(a.get("show")){b=this.group;var c=a.getModel("textStyle"),d=a.getModel("subtextStyle"),h=a.get("textAlign"),k=ka(a.get("textBaseline"),a.get("textVerticalAlign")),c=new ha({style:Ja(c,{text:a.get("text"),fill:c.getTextColor()},{disableBox:!0}),z2:10}),l=c.getBoundingRect(),m=a.get("subtext"),d=new ha({style:Ja(d,{text:m,fill:d.getTextColor(),y:l.height+a.get("itemGap"),verticalAlign:"top"},{disableBox:!0}),z2:10}),n=a.get("link"),p=a.get("sublink"),l=a.get("triggerEvent",!0);c.silent=!n&&!l;d.silent=!p&&!l;if(n)c.on("click",function(){Ai(n,"_"+a.get("target"))});if(p)d.on("click",function(){Ai(p,"_"+a.get("subtarget"))});S(c).eventData=S(d).eventData=l?{componentType:"title",componentIndex:a.componentIndex}:null;b.add(c);m&&b.add(d);m=b.getBoundingRect();l=a.getBoxLayoutParams();l.width=m.width;l.height=m.height;e=Aa(l,{width:e.getWidth(),height:e.getHeight()},a.get("padding"));h||(h=a.get("left")||a.get("right"),"middle"===h&&(h="center"),"right"===h?e.x+=e.width:"center"===h&&(e.x+=e.width/2));k||(k=a.get("top")||a.get("bottom"),"center"===k&&(k="middle"),"bottom"===k?e.y+=e.height:"middle"===k&&(e.y+=e.height/2),k=k||"top");b.x=e.x;b.y=e.y;b.markRedraw();h={align:h,verticalAlign:k};c.setStyle(h);d.setStyle(h);m=b.getBoundingRect();e=e.margin;h=a.getItemStyle(["color","opacity"]);h.fill=a.get("backgroundColor");e=new Z({shape:{x:m.x-e[3],y:m.y-e[0],width:m.width+e[1]+e[3],height:m.height+e[0]+e[2],r:a.get("borderRadius")},style:h,subPixelOptimize:!0,silent:!0});b.add(e)}};a.type="title";return a}(na),Uz=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.layoutMode="box";return c}x(a,b);a.prototype.init=function(a,b,e){this.mergeDefaultAndTheme(a,e);this._initData()};a.prototype.mergeOption=function(a){b.prototype.mergeOption.apply(this,arguments);this._initData()};a.prototype.setCurrentIndex=function(a){null==a&&(a=this.option.currentIndex);var b=this._data.count();this.option.loop?a=(a%b+b)%b:(a>=b&&(a=b-1),0>a&&(a=0));this.option.currentIndex=a};a.prototype.getCurrentIndex=function(){return this.option.currentIndex};a.prototype.isIndexMax=function(){return this.getCurrentIndex()>=this._data.count()-1};a.prototype.setPlayState=function(a){this.option.autoPlay=!!a};a.prototype.getPlayState=function(){return!!this.option.autoPlay};a.prototype._initData=function(){var a=this.option,b=a.data||[],a=a.axisType,e=this._names=[],f;"category"===a?(f=[],r(b,function(a,b){var c=Ea(bg(a),""),d;N(a)?(d=J(a),d.value=b):d=b;f.push(d);e.push(c)})):f=b;(this._data=new Wa([{name:"value",type:{category:"ordinal",time:"time",value:"number"}[a]||"number"}],this)).initData(f,e)};a.prototype.getData=function(){return this._data};a.prototype.getCategories=function(){if("category"===this.get("axisType"))return this._names.slice()};a.type="timeline";a.defaultOption={zlevel:0,z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2E3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]};return a}(W),Vz=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="timeline.slider";a.defaultOption=ed(Uz.defaultOption,{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"circle",symbolSize:12,lineStyle:{show:!0,width:2,color:"#DAE1F5"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#A4B1D7"},itemStyle:{color:"#A4B1D7",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:15,color:"#316bf3",borderColor:"#fff",borderWidth:2,shadowBlur:2,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0, 0, 0, 0.3)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:24,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"M2,18.5A1.52,1.52,0,0,1,.92,18a1.49,1.49,0,0,1,0-2.12L7.81,9.36,1,3.11A1.5,1.5,0,1,1,3,.89l8,7.34a1.48,1.48,0,0,1,.49,1.09,1.51,1.51,0,0,1-.46,1.1L3,18.08A1.5,1.5,0,0,1,2,18.5Z",prevIcon:"M10,.5A1.52,1.52,0,0,1,11.08,1a1.49,1.49,0,0,1,0,2.12L4.19,9.64,11,15.89a1.5,1.5,0,1,1-2,2.22L1,10.77A1.48,1.48,0,0,1,.5,9.68,1.51,1.51,0,0,1,1,8.58L9,.92A1.5,1.5,0,0,1,10,.5Z",prevBtnSize:18,nextBtnSize:18,color:"#A4B1D7",borderColor:"#A4B1D7",borderWidth:1},emphasis:{label:{show:!0,color:"#6f778d"},itemStyle:{color:"#316BF3"},controlStyle:{color:"#316BF3",borderColor:"#316BF3",borderWidth:2}},progress:{lineStyle:{color:"#316BF3"},itemStyle:{color:"#316BF3"},label:{color:"#6f778d"}},data:[]});return a}(Uz);wa(Vz,Qo.prototype);var iN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="timeline";return a}(na),jN=function(b){function a(a,d,e,f){a=b.call(this,a,d,e)||this;a.type=f||"value";return a}x(a,b);a.prototype.getLabelModel=function(){return this.model.getModel("label")};a.prototype.isHorizontal=function(){return"horizontal"===this.model.get("orient")};return a}(Pb),Fp=Math.PI,Wz=ma(),kN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(a,b){this.api=b};a.prototype.render=function(a,b,e){this.model=a;this.api=e;this.ecModel=b;this.group.removeAll();if(a.get("show",!0)){var c=this._layout(a,e),d=this._createGroup("_mainGroup");b=this._createGroup("_labelGroup");var h=this._axis=this._createAxis(c,a);a.formatTooltip=function(a){a=h.scale.getLabel({value:a});return Ha("nameValue",{noName:!0,value:a})};r(["AxisLine","AxisTick","Control","CurrentPointer"],function(b){this["_render"+b](c,d,h,a)},this);this._renderAxisLabel(c,b,h,a);this._position(c,a)}this._doPlayStop();this._updateTicksStatus()};a.prototype.remove=function(){this._clearTimer();this.group.removeAll()};a.prototype.dispose=function(){this._clearTimer()};a.prototype._layout=function(a,b){var c=a.get(["label","position"]),d=a.get("orient"),g;g=Aa(a.getBoxLayoutParams(),{width:b.getWidth(),height:b.getHeight()},a.get("padding"));var c=null==c||"auto"===c?"horizontal"===d?g.y+g.height/2<b.getHeight()/2?"-":"+":g.x+g.width/2<b.getWidth()/2?"+":"-":da(c)?{horizontal:{top:"-",bottom:"+"},vertical:{left:"-",right:"+"}}[d][c]:c,h={horizontal:"center",vertical:0<=c||"+"===c?"left":"right"},k={horizontal:0<=c||"+"===c?"top":"bottom",vertical:"middle"},l={horizontal:0,vertical:Fp/2},m="vertical"===d?g.height:g.width,n=a.getModel("controlStyle"),p=n.get("show",!0),q=p?n.get("itemSize"):0,t=p?n.get("itemGap"):0,r=q+t,w=a.get(["label","rotate"])||0,w=w*Fp/180,v,x,B,y=n.get("position",!0),A=p&&n.get("showPlayBtn",!0),D=p&&n.get("showPrevBtn",!0),n=p&&n.get("showNextBtn",!0),p=0,C=m;"left"===y||"bottom"===y?(A&&(v=[0,0],p+=r),D&&(x=[p,0],p+=r)):(A&&(v=[C-q,0],C-=r),D&&(x=[0,0],p+=r));n&&(B=[C-q,0],C-=r);r=[p,C];a.get("inverse")&&r.reverse();return{viewRect:g,mainLength:m,orient:d,rotation:l[d],labelRotation:w,labelPosOpt:c,labelAlign:a.get(["label","align"])||h[d],labelBaseline:a.get(["label","verticalAlign"])||a.get(["label","baseline"])||k[d],playPosition:v,prevBtnPosition:x,nextBtnPosition:B,axisExtent:r,controlSize:q,controlGap:t}};a.prototype._position=function(a,b){function c(a){a.originX=q[0][0]-a.x;a.originY=q[1][0]-a.y}function d(a){return[[a.x,a.x+a.width],[a.y,a.y+a.height]]}function g(a,b,c,d,e){a[d]+=c[d][e]-b[d][e]}var h=this._mainGroup,k=this._labelGroup,l=a.viewRect;if("vertical"===a.orient){var m=nb(),n=l.x,p=l.y+l.height;Rb(m,m,[-n,-p]);Tc(m,m,-Fp/2);Rb(m,m,[n,p]);l=l.clone();l.applyTransform(m)}var q=d(l),l=d(h.getBoundingRect()),m=d(k.getBoundingRect()),n=[h.x,h.y],p=[k.x,k.y];p[0]=n[0]=q[0][0];var t=a.labelPosOpt;null==t||da(t)?(t="+"===t?0:1,g(n,l,q,1,t),g(p,m,q,1,1-t)):(g(n,l,q,1,0<=t?0:1),p[1]=n[1]+t);h.setPosition(n);k.setPosition(p);h.rotation=k.rotation=a.rotation;c(h);c(k)};a.prototype._createAxis=function(a,b){var c=b.getData(),d=b.get("axisType"),g=oH(b,d);g.getTicks=function(){return c.mapArray(["value"],function(a){return{value:a}})};var h=c.getDataExtent("value");g.setExtent(h[0],h[1]);g.niceTicks();d=new jN("value",g,a.axisExtent,d);d.model=b;return d};a.prototype._createGroup=function(a){a=this[a]=new M;this.group.add(a);return a};a.prototype._renderAxisLine=function(a,b,e,f){a=e.getExtent();f.get(["lineStyle","show"])&&(e=new Ua({shape:{x1:a[0],y1:0,x2:a[1],y2:0},style:F({lineCap:"round"},f.getModel("lineStyle").getLineStyle()),silent:!0,z2:1}),b.add(e),f=this._progressLine=new Ua({shape:{x1:a[0],x2:this._currentPointer?this._currentPointer.x:a[0],y1:0,y2:0},style:K({lineCap:"round",lineWidth:e.style.lineWidth},f.getModel(["progress","lineStyle"]).getLineStyle()),silent:!0,z2:1}),b.add(f))};a.prototype._renderAxisTick=function(a,b,e,f){var c=this,d=f.getData();a=e.scale.getTicks();this._tickSymbols=[];r(a,function(a){var g=e.dataToCoord(a.value),h=d.getItemModel(a.value),k=h.getModel("itemStyle"),p=h.getModel(["emphasis","itemStyle"]),q=h.getModel(["progress","itemStyle"]),g={x:g,y:0,onclick:I(c._changeTimeline,c,a.value)},k=ux(h,k,b,g);k.ensureState("emphasis").style=p.getItemStyle();k.ensureState("progress").style=q.getItemStyle();va(k);p=S(k);h.get("tooltip")?(p.dataIndex=a.value,p.dataModel=f):p.dataIndex=p.dataModel=null;c._tickSymbols.push(k)})};a.prototype._renderAxisLabel=function(a,b,e,f){var c=this;if(e.getLabelModel().get("show")){var d=f.getData();f=e.getViewLabels();this._tickLabels=[];r(f,function(f){var g=f.tickValue,h=d.getItemModel(g),k=h.getModel("label"),p=h.getModel(["emphasis","label"]),h=h.getModel(["progress","label"]),q=e.dataToCoord(f.tickValue);f=new ha({x:q,y:0,rotation:a.labelRotation-a.rotation,onclick:I(c._changeTimeline,c,g),silent:!1,style:Ja(k,{text:f.formattedLabel,align:a.labelAlign,verticalAlign:a.labelBaseline})});f.ensureState("emphasis").style=Ja(p);f.ensureState("progress").style=Ja(h);b.add(f);va(f);Wz(f).dataIndex=g;c._tickLabels.push(f)})}};a.prototype._renderControl=function(a,b,e,f){function c(a,c,e,g){if(a){var h=Ub(ka(f.get(["controlStyle",c+"BtnSize"]),d),d),h=[0,-h/2,h,h];e={position:a,origin:[d/2,0],rotation:g?-k:0,rectHover:!0,style:l,onclick:e};a=e.style;c=Ze(f.get(["controlStyle",c+"Icon"]),e||{},new aa(h[0],h[1],h[2],h[3]));a&&c.setStyle(a);c.ensureState("emphasis").style=m;b.add(c);va(c)}}var d=a.controlSize,k=a.rotation,l=f.getModel("controlStyle").getItemStyle(),m=f.getModel(["emphasis","controlStyle"]).getItemStyle();e=f.getPlayState();var n=f.get("inverse",!0);c(a.nextBtnPosition,"next",I(this._changeTimeline,this,n?"-":"+"));c(a.prevBtnPosition,"prev",I(this._changeTimeline,this,n?"+":"-"));c(a.playPosition,e?"stop":"play",I(this._handlePlayClick,this,!e),!0)};a.prototype._renderCurrentPointer=function(a,b,e,f){a=f.getData();var c=f.getCurrentIndex();a=a.getItemModel(c).getModel("checkpointStyle");var d=this;this._currentPointer=ux(a,a,this._mainGroup,{},this._currentPointer,{onCreate:function(a){a.draggable=!0;a.drift=I(d._handlePointerDrag,d);a.ondragend=I(d._handlePointerDragend,d);vx(a,d._progressLine,c,e,f,!0)},onUpdate:function(a){vx(a,d._progressLine,c,e,f)}})};a.prototype._handlePlayClick=function(a){this._clearTimer();this.api.dispatchAction({type:"timelinePlayChange",playState:a,from:this.uid})};a.prototype._handlePointerDrag=function(a,b,e){this._clearTimer();this._pointerChangeTimeline([e.offsetX,e.offsetY])};a.prototype._handlePointerDragend=function(a){this._pointerChangeTimeline([a.offsetX,a.offsetY],!0)};a.prototype._pointerChangeTimeline=function(a,b){var c=this._toAxisCoord(a)[0],d=Cb(this._axis.getExtent().slice());c>d[1]&&(c=d[1]);c<d[0]&&(c=d[0]);this._currentPointer.x=c;this._currentPointer.markRedraw();this._progressLine.shape.x2=c;this._progressLine.dirty();c=this._findNearestTick(c);d=this.model;(b||c!==d.getCurrentIndex()&&d.get("realtime"))&&this._changeTimeline(c)};a.prototype._doPlayStop=function(){var a=this;this._clearTimer();this.model.getPlayState()&&(this._timer=setTimeout(function(){var b=a.model;a._changeTimeline(b.getCurrentIndex()+(b.get("rewind",!0)?-1:1))},this.model.get("playInterval")))};a.prototype._toAxisCoord=function(a){var b=this._mainGroup.getLocalTransform();return Wb(a,b,!0)};a.prototype._findNearestTick=function(a){var b=this.model.getData(),c=Infinity,f,g=this._axis;b.each(["value"],function(b,d){var e=g.dataToCoord(b),e=Math.abs(e-a);e<c&&(c=e,f=d)});return f};a.prototype._clearTimer=function(){this._timer&&(clearTimeout(this._timer),this._timer=null)};a.prototype._changeTimeline=function(a){var b=this.model.getCurrentIndex();"+"===a?a=b+1:"-"===a&&(a=b-1);this.api.dispatchAction({type:"timelineChange",currentIndex:a,from:this.uid})};a.prototype._updateTicksStatus=function(){var a=this.model.getCurrentIndex(),b=this._tickSymbols,e=this._tickLabels;if(b)for(var f=0;f<b.length;f++)b&&b[f]&&b[f].toggleState("progress",f<a);if(e)for(f=0;f<e.length;f++)e&&e[f]&&e[f].toggleState("progress",Wz(e[f]).dataIndex<=a)};a.type="timeline.slider";return a}(iN),lk=ma(),Mc=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.createdBySelf=!1;return c}x(a,b);a.prototype.init=function(a,b,e){if("marker"===this.type)throw Error("Marker component is abstract component. Use markLine, markPoint, markArea instead.");this.mergeDefaultAndTheme(a,e);this._mergeOption(a,e,!1,!0)};a.prototype.isAnimationEnabled=function(){if(X.node)return!1;var a=this.__hostSeries;return this.getShallow("animation")&&a&&a.isAnimationEnabled()};a.prototype.mergeOption=function(a,b){this._mergeOption(a,b,!1,!1)};a.prototype._mergeOption=function(a,b,e,f){var c=this.mainType;e||b.eachSeries(function(a){var d=a.get(this.mainType,!0),e=lk(a)[c];d&&d.data?(e?e._mergeOption(d,b,!0):(f&&xj(d),r(d.data,function(a){a instanceof Array?(xj(a[0]),xj(a[1])):xj(a)}),e=this.createMarkerModelFromSeries(d,this,b),F(e,{mainType:this.mainType,seriesIndex:a.seriesIndex,name:a.name,createdBySelf:!0}),e.__hostSeries=a),lk(a)[c]=e):lk(a)[c]=null},this)};a.prototype.formatTooltip=function(a,b,e){e=this.getData();b=this.getRawValue(a);a=e.getName(a);return Ha("section",{header:this.name,blocks:[Ha("nameValue",{name:a,value:b,noName:!a,noValue:null==b})]})};a.prototype.getData=function(){return this._data};a.prototype.setData=function(a){this._data=a};a.getMarkerModelFromSeries=function(a,b){return lk(a)[b]};a.type="marker";a.dependencies=["series","grid","polar","geo"];return a}(W);wa(Mc,Qo.prototype);var lN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.createMarkerModelFromSeries=function(b,d,e){return new a(b,d,e)};a.type="markPoint";a.defaultOption={zlevel:0,z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{show:!0,position:"inside"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}};return a}(Mc),ko={min:P(yj,"min"),max:P(yj,"max"),average:P(yj,"average"),median:P(yj,"median")},Gp=ma(),Hp=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(){this.markerGroupMap=R()};a.prototype.render=function(a,b,e){var c=this;a=this.markerGroupMap;a.each(function(a){Gp(a).keep=!1});b.eachSeries(function(a){var d=Mc.getMarkerModelFromSeries(a,c.type);d&&c.renderSeries(a,d,b,e)});a.each(function(a){!Gp(a).keep&&c.group.remove(a.group)})};a.prototype.markKeep=function(a){Gp(a).keep=!0};a.prototype.blurSeries=function(a){var b=this;r(a,function(a){(a=Mc.getMarkerModelFromSeries(a,b.type))&&a.getData().eachItemGraphicEl(function(a){a&&rb(a,kl)})})};a.type="marker";return a}(na),mN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.updateTransform=function(a,b,e){b.eachSeries(function(a){var b=Mc.getMarkerModelFromSeries(a,"markPoint");b&&(Ax(b.getData(),a,e),this.markerGroupMap.get(a.id).updateLayout())},this)};a.prototype.renderSeries=function(a,b,e,f){e=a.coordinateSystem;var c=a.id,d=a.getData(),k=this.markerGroupMap,c=k.get(c)||k.set(c,new Eh),l=tH(e,a,b);b.setData(l);Ax(b.getData(),a,f);l.each(function(a){var c=l.getItemModel(a),e=c.getShallow("symbol"),f=c.getShallow("symbolSize"),g=c.getShallow("symbolRotate");if(fa(e)||fa(f)||fa(g)){var h=b.getRawValue(a),k=b.getDataParams(a);fa(e)&&(e=e(h,k));fa(f)&&(f=f(h,k));fa(g)&&(g=g(h,k))}c=c.getModel("itemStyle").getItemStyle();h=ug(d,"color");c.fill||(c.fill=h);l.setItemVisual(a,{symbol:e,symbolSize:f,symbolRotate:g,style:c})});c.updateData(l);this.group.add(c.group);l.eachItemGraphicEl(function(a){a.traverse(function(a){S(a).dataModel=b})});this.markKeep(c);c.group.silent=b.get("silent")||a.get("silent")};a.type="markPoint";return a}(Hp),nN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.createMarkerModelFromSeries=function(b,d,e){return new a(b,d,e)};a.type="markLine";a.defaultOption={zlevel:0,z:5,symbol:["circle","arrow"],symbolSize:[8,16],precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end",distance:5},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"};return a}(Mc),mk=ma(),wH=function(b,a,c,d){var e=b.getData();if(!A(d)){var f=d.type;if("min"===f||"max"===f||"average"===f||"median"===f||null!=d.xAxis||null!=d.yAxis){if(null!=d.yAxis||null!=d.xAxis)a=a.getAxis(null!=d.yAxis?"y":"x"),e=Ba(d.yAxis,d.xAxis);else{var g=yx(d,e,a,b);a=g.valueAxis;g=lm(e,g.valueDataDim);e=jo(e,g,f)}a="x"===a.dim?0:1;var h=1-a,g=J(d),k={coord:[]};g.type=null;g.coord=[];g.coord[h]=-Infinity;k.coord[h]=Infinity;c=c.get("precision");0<=c&&"number"===typeof e&&(e=+e.toFixed(Math.min(c,20)));g.coord[a]=k.coord[a]=e;d=[g,k,{type:f,valueIndex:d.valueIndex,value:e}]}else yb("Invalid markLine data."),d=[]}b=[ch(b,d[0]),ch(b,d[1]),F({},d[2])];b[2].type=b[2].type||null;U(b[2],b[0]);U(b[2],b[1]);return b},oN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.updateTransform=function(a,b,e){b.eachSeries(function(a){var b=Mc.getMarkerModelFromSeries(a,"markLine");if(b){var c=b.getData(),d=mk(b).from,f=mk(b).to;d.each(function(b){lo(d,b,!0,a,e);lo(f,b,!1,a,e)});c.each(function(a){c.setItemLayout(a,[d.getItemLayout(a),f.getItemLayout(a)])});this.markerGroupMap.get(a.id).updateLayout()}},this)};a.prototype.renderSeries=function(a,b,e,f){function c(b,c,d){var e=b.getItemModel(c);lo(b,c,d,a,f);var g=e.getModel("itemStyle").getItemStyle();null==g.fill&&(g.fill=ug(k,"color"));b.setItemVisual(c,{symbolRotate:e.get("symbolRotate"),symbolSize:e.get("symbolSize")||t[d?0:1],symbol:e.get("symbol",!0)||q[d?0:1],style:g})}e=a.coordinateSystem;var d=a.id,k=a.getData(),l=this.markerGroupMap,d=l.get(d)||l.set(d,new tp);this.group.add(d.group);e=vH(e,a,b);var m=e.from,n=e.to,p=e.line;mk(b).from=m;mk(b).to=n;b.setData(p);var q=b.get("symbol"),t=b.get("symbolSize");A(q)||(q=[q,q]);A(t)||(t=[t,t]);e.from.each(function(a){c(m,a,!0);c(n,a,!1)});p.each(function(a){var b=p.getItemModel(a).getModel("lineStyle").getLineStyle();p.setItemLayout(a,[m.getItemLayout(a),n.getItemLayout(a)]);null==b.stroke&&(b.stroke=m.getItemVisual(a,"style").fill);p.setItemVisual(a,{fromSymbolRotate:m.getItemVisual(a,"symbolRotate"),fromSymbolSize:m.getItemVisual(a,"symbolSize"),fromSymbol:m.getItemVisual(a,"symbol"),toSymbolRotate:n.getItemVisual(a,"symbolRotate"),toSymbolSize:n.getItemVisual(a,"symbolSize"),toSymbol:n.getItemVisual(a,"symbol"),style:b})});d.updateData(p);e.line.eachItemGraphicEl(function(a,c){a.traverse(function(a){S(a).dataModel=b})});this.markKeep(d);d.group.silent=b.get("silent")||a.get("silent")};a.type="markLine";return a}(Hp),pN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.createMarkerModelFromSeries=function(b,d,e){return new a(b,d,e)};a.type="markArea";a.defaultOption={zlevel:0,z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}};return a}(Mc),nk=ma(),zH=function(b,a,c,d){a=ch(b,d[0]);b=ch(b,d[1]);d=a.coord;c=b.coord;d[0]=Ba(d[0],-Infinity);d[1]=Ba(d[1],-Infinity);c[0]=Ba(c[0],Infinity);c[1]=Ba(c[1],Infinity);d=Ph([{},a,b]);d.coord=[a.coord,b.coord];d.x0=a.x;d.y0=a.y;d.x1=b.x;d.y1=b.y;return d},Ip=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]],qN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.updateTransform=function(a,b,e){b.eachSeries(function(a){var b=Mc.getMarkerModelFromSeries(a,"markArea");if(b){var c=b.getData();c.each(function(b){var d=C(Ip,function(d){return Cx(c,b,d,a,e)});c.setItemLayout(b,d);c.getItemGraphicEl(b).setShape("points",d)})}},this)};a.prototype.renderSeries=function(a,b,e,f){var c=a.coordinateSystem;e=a.id;var d=a.getData(),k=this.markerGroupMap,l=k.get(e)||k.set(e,{group:new M});this.group.add(l.group);this.markKeep(l);var m=yH(c,a,b);b.setData(m);m.each(function(b){var e=C(Ip,function(c){return Cx(m,b,c,a,f)}),g=!0;r(Ip,function(a){if(g){var d=m.get(a[0],b);a=m.get(a[1],b);(vd(d)||c.getAxis("x").containData(d))&&(vd(a)||c.getAxis("y").containData(a))&&(g=!1)}});m.setItemLayout(b,{points:e,allClipped:g});var e=m.getItemModel(b).getModel("itemStyle").getItemStyle(),h=ug(d,"color");e.fill||(e.fill=h,"string"===typeof e.fill&&(e.fill=Uf(e.fill,.4)));e.stroke||(e.stroke=h);m.setItemVisual(b,"style",e)});m.diff(nk(l).data).add(function(a){var b=m.getItemLayout(a);b.allClipped||(b=new bb({shape:{points:b.points}}),m.setItemGraphicEl(a,b),l.group.add(b))}).update(function(a,c){var d=nk(l).data.getItemGraphicEl(c),e=m.getItemLayout(a);e.allClipped?d&&l.group.remove(d):(d?ea(d,{shape:{points:e.points}},b,a):d=new bb({shape:{points:e.points}}),m.setItemGraphicEl(a,d),l.group.add(d))}).remove(function(a){a=nk(l).data.getItemGraphicEl(a);l.group.remove(a)}).execute();m.eachItemGraphicEl(function(a,c){var d=m.getItemModel(c),e=m.getItemVisual(c,"style");a.useStyle(m.getItemVisual(c,"style"));cb(a,Ra(d),{labelFetcher:b,labelDataIndex:c,defaultText:m.getName(c)||"",inheritColor:"string"===typeof e.fill?Uf(e.fill,1):"#000"});Fa(a,d);va(a);S(a).dataModel=b});nk(l).data=m;l.group.silent=b.get("silent")||a.get("silent")};a.type="markArea";return a}(Hp),oo=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.layoutMode={type:"box",ignoreSize:!0};return c}x(a,b);a.prototype.init=function(a,b,e){this.mergeDefaultAndTheme(a,e);a.selected=a.selected||{};this._updateSelector(a)};a.prototype.mergeOption=function(a,d){b.prototype.mergeOption.call(this,a,d);this._updateSelector(a)};a.prototype._updateSelector=function(a){var b=a.selector,c=this.ecModel;!0===b&&(b=a.selector=["all","inverse"]);A(b)&&r(b,function(a,d){da(a)&&(a={type:a});var e=b,f=a,g;g=a.type;g="all"===g?{type:"all",title:c.getLocale(["legend","selector","all"])}:"inverse"===g?{type:"inverse",title:c.getLocale(["legend","selector","inverse"])}:void 0;e[d]=U(f,g)})};a.prototype.optionUpdated=function(){this._updateData(this.ecModel);var a=this._data;if(a[0]&&"single"===this.get("selectedMode")){for(var b=!1,e=0;e<a.length;e++){var f=a[e].get("name");if(this.isSelected(f)){this.select(f);b=!0;break}}!b&&this.select(a[0].get("name"))}};a.prototype._updateData=function(a){var b=[],c=[];a.eachRawSeries(function(d){c.push(d.name);var e;if(d.legendVisualProvider){var f=d.legendVisualProvider.getAllNames();a.isSeriesFiltered(d)||(c=c.concat(f));f.length?b=b.concat(f):e=!0}else e=!0;e&&al(d)&&b.push(d.name)});this._availableNames=c;var f=this.get("data")||b;this._data=C(f,function(a){if("string"===typeof a||"number"===typeof a)a={name:a};return new la(a,this,this.ecModel)},this)};a.prototype.getData=function(){return this._data};a.prototype.select=function(a){var b=this.option.selected;"single"===this.get("selectedMode")&&r(this._data,function(a){b[a.get("name")]=!1});b[a]=!0};a.prototype.unSelect=function(a){"single"!==this.get("selectedMode")&&(this.option.selected[a]=!1)};a.prototype.toggleSelected=function(a){var b=this.option.selected;b.hasOwnProperty(a)||(b[a]=!0);this[b[a]?"unSelect":"select"](a)};a.prototype.allSelect=function(){var a=this.option.selected;r(this._data,function(b){a[b.get("name",!0)]=!0})};a.prototype.inverseSelect=function(){var a=this.option.selected;r(this._data,function(b){b=b.get("name",!0);a.hasOwnProperty(b)||(a[b]=!0);a[b]=!a[b]})};a.prototype.isSelected=function(a){var b=this.option.selected;return!(b.hasOwnProperty(a)&&!b[a])&&0<=ba(this._availableNames,a)};a.prototype.getOrient=function(){return"vertical"===this.get("orient")?{index:1,name:"vertical"}:{index:0,name:"horizontal"}};a.type="legend.plain";a.dependencies=["series"];a.defaultOption={zlevel:0,z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,inactiveColor:"#ccc",inactiveBorderColor:"#ccc",itemStyle:{borderWidth:0},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:" sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}};return a}(W),ok=M,Hx=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.newlineDisabled=!1;return c}x(a,b);a.prototype.init=function(){this.group.add(this._contentGroup=new ok);this.group.add(this._selectorGroup=new ok);this._isFirstRender=!0};a.prototype.getContentGroup=function(){return this._contentGroup};a.prototype.getSelectorGroup=function(){return this._selectorGroup};a.prototype.render=function(a,b,e){var c=this._isFirstRender;this._isFirstRender=!1;this.resetInner();if(a.get("show",!0)){var d=a.get("align"),h=a.get("orient");d&&"auto"!==d||(d="right"===a.get("left")&&"vertical"===h?"right":"left");var k=a.get("selector",!0),l=a.get("selectorPosition",!0);!k||l&&"auto"!==l||(l="horizontal"===h?"end":"start");this.renderInner(d,a,b,e,k,h,l);b=a.getBoxLayoutParams();e={width:e.getWidth(),height:e.getHeight()};var h=a.get("padding"),m=Aa(b,e,h),c=this.layoutInner(a,d,m,c,k,l),d=Aa(K({width:c.width,height:c.height},b),e,h);this.group.x=d.x-c.x;this.group.y=d.y-c.y;this.group.markRedraw();this.group.add(this._backgroundEl=$w(c,a))}};a.prototype.resetInner=function(){this.getContentGroup().removeAll();this._backgroundEl&&this.group.remove(this._backgroundEl);this.getSelectorGroup().removeAll()};a.prototype.renderInner=function(a,b,e,f,g,h,k){var c=this.getContentGroup(),d=R(),n=b.get("selectedMode"),p=[];e.eachRawSeries(function(a){!a.get("legendHoverLink")&&p.push(a.id)});r(b.getData(),function(g,h){var k=g.get("name");if(this.newlineDisabled||""!==k&&"\n"!==k){var l=e.getSeriesByName(k)[0];if(!d.get(k)){if(l){var m=l.getData(),q=m.getVisual("style"),t=q[m.getVisual("drawType")]||q.fill,r=q.stroke,q=q.decal,x=m.getVisual("legendSymbol")||"roundRect",m=m.getVisual("symbol");this._createItem(k,h,g,b,x,m,a,t,r,q,n).on("click",P(Ex,k,null,f,p)).on("mouseover",P(no,l.name,null,f,p)).on("mouseout",P(mo,l.name,null,f,p));d.set(k,!0)}else e.eachRawSeries(function(c){if(!d.get(k)&&c.legendVisualProvider&&(c=c.legendVisualProvider,c.containName(k))){var e=c.indexOfName(k),l=c.getItemVisual(e,"style");c=l.stroke;var e=l.decal,m=l.fill;(l=eb(l.fill))&&0===l[3]&&(l[3]=.2,m=Tb(l,"rgba"));this._createItem(k,h,g,b,"roundRect",null,a,m,c,e,n).on("click",P(Ex,null,k,f,p)).on("mouseover",P(no,null,k,f,p)).on("mouseout",P(mo,null,k,f,p));d.set(k,!0)}},this);d.get(k)||console.warn(k+" series not exists. Legend data should be same with series name or data name.")}}else l=new ok,l.newline=!0,c.add(l)},this);g&&this._createSelector(g,b,f,h,k)};a.prototype._createSelector=function(a,b,e,f,g){var c=this.getSelectorGroup();r(a,function(a){var d=a.type,f=new ha({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){e.dispatchAction({type:"all"===d?"legendAllSelect":"legendInverseSelect"})}});c.add(f);var g=b.getModel("selectorLabel"),h=b.getModel(["emphasis","selectorLabel"]);cb(f,{normal:g,emphasis:h},{defaultText:a.title});va(f)})};a.prototype._createItem=function(a,b,e,f,g,h,k,l,m,n,p){var c=f.get("itemWidth"),d=f.get("itemHeight"),r=f.get("inactiveColor"),w=f.get("inactiveBorderColor"),v=f.get("symbolKeepAspect"),x=f.getModel("itemStyle"),A=f.isSelected(a),y=new ok,C=e.getModel("textStyle"),D=e.get("icon");e=e.getModel("tooltip");var H=e.parentModel;g=D||g;var E=Pa(g,0,0,c,d,A?l:r,null==v?!0:v);y.add(Dx(E,g,x,m,w,n,A));D||!h||h===g&&"none"!==h||(g=.8*d,"none"===h&&(h="circle"),l=Pa(h,(c-g)/2,(d-g)/2,g,g,A?l:r,null==v?!0:v),y.add(Dx(l,h,x,m,w,n,A)));h="left"===k?c+5:-5;m=f.get("formatter");n=a;"string"===typeof m&&m?n=m.replace("{name}",null!=a?a:""):"function"===typeof m&&(n=m(a));y.add(new ha({style:Ja(C,{text:n,x:h,y:d/2,fill:A?C.getTextColor():r,align:k,verticalAlign:"middle"})}));k=new Z({shape:y.getBoundingRect(),invisible:!0});e.get("show")&&(f={componentType:"legend",legendIndex:f.componentIndex,name:a,$vars:["name"]},k.tooltip=F({content:a,formatter:H.get("formatter",!0)||function(a){return a.name},formatterParams:f},e.option));y.add(k);y.eachChild(function(a){a.silent=!0});k.silent=!p;this.getContentGroup().add(y);va(y);y.__legendDataIndex=b;return y};a.prototype.layoutInner=function(a,b,e,f,g,h){b=this.getContentGroup();f=this.getSelectorGroup();me(a.get("orient"),b,a.get("itemGap"),e.width,e.height);e=b.getBoundingRect();var c=[-e.x,-e.y];f.markRedraw();b.markRedraw();if(g){me("horizontal",f,a.get("selectorItemGap",!0));g=f.getBoundingRect();var d=[-g.x,-g.y],m=a.get("selectorButtonGap",!0);a=a.getOrient().index;var n=0===a?"width":"height",p=0===a?"height":"width",q=0===a?"y":"x";"end"===h?d[a]+=e[n]+m:c[a]+=g[n]+m;d[1-a]+=e[p]/2-g[p]/2;f.x=d[0];f.y=d[1];b.x=c[0];b.y=c[1];h={x:0,y:0};h[n]=e[n]+m+g[n];h[p]=Math.max(e[p],g[p]);h[q]=Math.min(0,g[q]+d[1-a]);return h}b.x=c[0];b.y=c[1];return this.group.getBoundingRect()};a.prototype.remove=function(){this.getContentGroup().removeAll();this._isFirstRender=!0};a.type="legend.plain";return a}(na),EH=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.setScrollDataIndex=function(a){this.option.scrollDataIndex=a};a.prototype.init=function(a,d,e){var c=Qd({},a);b.prototype.init.call(this,a,d,e);Ix(this,a,c)};a.prototype.mergeOption=function(a,d){b.prototype.mergeOption.call(this,a,d);Ix(this,this.option,a)};a.type="legend.scroll";a.defaultOption=ed(oo.defaultOption,{scrollDataIndex:0,pageButtonItemGap:5,pageButtonGap:null,pageButtonPosition:"end",pageFormatter:"{current}/{total}",pageIcons:{horizontal:["M0,0L12,-10L12,10z","M0,0L-12,-10L-12,10z"],vertical:["M0,0L20,0L10,-20z","M0,0L20,0L10,20z"]},pageIconColor:"#2f4554",pageIconInactiveColor:"#aaa",pageIconSize:15,pageTextStyle:{color:"#333"},animationDurationUpdate:800});return a}(oo),Xz=M,Jp=["width","height"],Kp=["x","y"],FH=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.newlineDisabled=!0;c._currentIndex=0;return c}x(a,b);a.prototype.init=function(){b.prototype.init.call(this);this.group.add(this._containerGroup=new Xz);this._containerGroup.add(this.getContentGroup());this.group.add(this._controllerGroup=new Xz)};a.prototype.resetInner=function(){b.prototype.resetInner.call(this);this._controllerGroup.removeAll();this._containerGroup.removeClipPath();this._containerGroup.__rectSize=null};a.prototype.renderInner=function(a,d,e,f,g,h,k){function c(a,b){var c=a+"DataIndex",c=Ze(d.get("pageIcons",!0)[d.getOrient().name][b],{onclick:I(m._pageGo,m,c,d,f)},{x:-p[0]/2,y:-p[1]/2,width:p[0],height:p[1]});c.name=a;n.add(c)}var m=this;b.prototype.renderInner.call(this,a,d,e,f,g,h,k);var n=this._controllerGroup;a=d.get("pageIconSize",!0);var p=A(a)?a:[a,a];c("pagePrev",0);a=d.getModel("pageTextStyle");n.add(new ha({name:"pageText",style:{text:"xx/xx",fill:a.getTextColor(),font:a.getFont(),verticalAlign:"middle",align:"center"},silent:!0}));c("pageNext",1)};a.prototype.layoutInner=function(a,b,e,f,g,h){b=this.getSelectorGroup();var c=a.getOrient().index,d=Jp[c],m=Kp[c],n=Jp[1-c],p=Kp[1-c];g&&me("horizontal",b,a.get("selectorItemGap",!0));var q=a.get("selectorButtonGap",!0),t=b.getBoundingRect(),r=[-t.x,-t.y],w=J(e);g&&(w[d]=e[d]-t[d]-q);a=this._layoutContentAndController(a,f,w,c,d,n,p,m);g&&("end"===h?r[c]+=a[d]+q:(g=t[d]+q,r[c]-=g,a[m]-=g),a[d]+=t[d]+q,r[1-c]+=a[p]+a[n]/2-t[n]/2,a[n]=Math.max(a[n],t[n]),a[p]=Math.min(a[p],t[p]+r[1-c]),b.x=r[0],b.y=r[1],b.markRedraw());return a};a.prototype._layoutContentAndController=function(a,b,e,f,g,h,k,l){var c=this.getContentGroup(),d=this._containerGroup,p=this._controllerGroup;me(a.get("orient"),c,a.get("itemGap"),f?e.width:null,f?null:e.height);me("horizontal",p,a.get("pageButtonItemGap",!0));var q=c.getBoundingRect(),t=p.getBoundingRect(),r=this._showController=q[g]>e[g],w=[-q.x,-q.y];b||(w[f]=c[l]);var v=[0,0];l=[-t.x,-t.y];b=ka(a.get("pageButtonGap",!0),a.get("itemGap",!0));r&&("end"===a.get("pageButtonPosition",!0)?l[f]+=e[g]-t[g]:v[f]+=t[g]+b);l[1-f]+=q[h]/2-t[h]/2;c.setPosition(w);d.setPosition(v);p.setPosition(l);w={x:0,y:0};w[g]=r?e[g]:q[g];w[h]=Math.max(q[h],t[h]);w[k]=Math.min(0,t[k]+l[1-f]);d.__rectSize=e[g];r?(f={x:0,y:0},f[g]=Math.max(e[g]-t[g]-b,0),f[h]=w[h],d.setClipPath(new Z({shape:f})),d.__rectSize=f[g]):p.eachChild(function(a){a.attr({invisible:!0,silent:!0})});e=this._getPageInfo(a);null!=e.pageIndex&&ea(c,{x:e.contentPosition[0],y:e.contentPosition[1]},r?a:null);this._updatePageInfoView(a,e);return w};a.prototype._pageGo=function(a,b,e){a=this._getPageInfo(b)[a];null!=a&&e.dispatchAction({type:"legendScroll",scrollDataIndex:a,legendId:b.id})};a.prototype._updatePageInfoView=function(a,b){var c=this._controllerGroup;r(["pagePrev","pageNext"],function(d){var e=null!=b[d+"DataIndex"];if(d=c.childOfName(d))d.setStyle("fill",e?a.get("pageIconColor",!0):a.get("pageIconInactiveColor",!0)),d.cursor=e?"pointer":"default"});var d=c.childOfName("pageText"),g=a.get("pageFormatter"),h=b.pageIndex,h=null!=h?h+1:0,k=b.pageCount;d&&g&&d.setStyle("text",da(g)?g.replace("{current}",null==h?"":h+"").replace("{total}",null==k?"":k+""):g({current:h,total:k}))};a.prototype._getPageInfo=function(a){function b(a){if(a){var b=a.getBoundingRect(),c=b[m]+a[m];return{s:c,e:c+b[l],i:a.__legendDataIndex}}}function c(a,b){return a.e>=b&&a.s<=b+h}var f=a.get("scrollDataIndex",!0),g=this.getContentGroup(),h=this._containerGroup.__rectSize,k=a.getOrient().index,l=Jp[k],m=Kp[k],f=this._findTargetItemIndex(f);a=g.children();var n=a[f],p=a.length,q=p?1:0,g={contentPosition:[g.x,g.y],pageCount:q,pageIndex:q-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!n)return g;n=b(n);g.contentPosition[k]=-n.s;for(var k=f+1,t=q=n,r=null;k<=p;++k){r=b(a[k]);if(!r&&t.e>q.s+h||r&&!c(r,q.s))if(q=t.i>q.i?t:r)null==g.pageNextDataIndex&&(g.pageNextDataIndex=q.i),++g.pageCount;t=r}k=f-1;t=q=n;for(r=null;-1<=k;--k)r=b(a[k]),r&&c(t,r.s)||!(q.i<t.i)||(t=q,null==g.pagePrevDataIndex&&(g.pagePrevDataIndex=q.i),++g.pageCount,++g.pageIndex),q=r;return g};a.prototype._findTargetItemIndex=function(a){if(!this._showController)return 0;var b,c;this.getContentGroup().eachChild(function(d,e){var f=d.__legendDataIndex;null==c&&null!=f&&(c=e);f===a&&(b=e)});return null!=b?b:c};a.type="legend.scroll";return a}(Hx),MH=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="dataZoom.inside";a.defaultOption=ed(Kh.defaultOption,{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0});return a}(Kh),po=ma(),NH=function(b){function a(){var a=null!==b&&b.apply(this,arguments)||this;a.type="dataZoom.inside";return a}x(a,b);a.prototype.render=function(a,d,e){b.prototype.render.apply(this,arguments);a.noTarget()?this._clear():(this.range=a.getPercentRange(),GH(e,a,{pan:I(Lp.pan,this),zoom:I(Lp.zoom,this),scrollMove:I(Lp.scrollMove,this)}))};a.prototype.dispose=function(){this._clear();b.prototype.dispose.apply(this,arguments)};a.prototype._clear=function(){for(var a=this.dataZoomModel,b=po(this.api).coordSysRecordMap,e=b.keys(),f=0;f<e.length;f++){var g=b.get(e[f]),h=g.dataZoomInfoMap;if(h){var k=a.uid;h.get(k)&&(h.removeKey(k),h.keys().length||Jx(b,g))}}this.range=null};a.type="dataZoom.inside";return a}(Cp),Lp={zoom:function(b,a,c,d){var e=this.range,f=e.slice(),g=b.axisModels[0];if(g&&(b=Mp[a](null,[d.originX,d.originY],g,c,b),b=(0<b.signal?b.pixelStart+b.pixelLength-b.pixel:b.pixel-b.pixelStart)/b.pixelLength*(f[1]-f[0])+f[0],d=Math.max(1/d.scale,0),f[0]=(f[0]-b)*d+b,f[1]=(f[1]-b)*d+b,d=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan(),fe(0,f,[0,100],0,d.minSpan,d.maxSpan),this.range=f,e[0]!==f[0]||e[1]!==f[1]))return f},pan:Kx(function(b,a,c,d,e,f){a=Mp[d]([f.oldX,f.oldY],[f.newX,f.newY],a,e,c);return a.signal*(b[1]-b[0])*a.pixel/a.pixelLength}),scrollMove:Kx(function(b,a,c,d,e,f){return Mp[d]([0,0],[f.scrollDelta,f.scrollDelta],a,e,c).signal*(b[1]-b[0])*f.scrollDelta})},Mp={grid:function(b,a,c,d,e){c=c.axis;d={};e=e.model.coordinateSystem.getRect();b=b||[0,0];"x"===c.dim?(d.pixel=a[0]-b[0],d.pixelLength=e.width,d.pixelStart=e.x,d.signal=c.inverse?1:-1):(d.pixel=a[1]-b[1],d.pixelLength=e.height,d.pixelStart=e.y,d.signal=c.inverse?-1:1);return d},polar:function(b,a,c,d,e){d=c.axis;var f={};e=e.model.coordinateSystem;var g=e.getRadiusAxis().getExtent(),h=e.getAngleAxis().getExtent();b=b?e.pointToCoord(b):[0,0];a=e.pointToCoord(a);"radiusAxis"===c.mainType?(f.pixel=a[0]-b[0],f.pixelLength=g[1]-g[0],f.pixelStart=g[0],f.signal=d.inverse?1:-1):(f.pixel=a[1]-b[1],f.pixelLength=h[1]-h[0],f.pixelStart=h[0],f.signal=d.inverse?-1:1);return f},singleAxis:function(b,a,c,d,e){c=c.axis;e=e.model.coordinateSystem.getRect();d={};b=b||[0,0];"horizontal"===c.orient?(d.pixel=a[0]-b[0],d.pixelLength=e.width,d.pixelStart=e.x,d.signal=c.inverse?1:-1):(d.pixel=a[1]-b[1],d.pixelLength=e.height,d.pixelStart=e.y,d.signal=c.inverse?-1:1);return d}},OH=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="dataZoom.slider";a.layoutMode="box";a.defaultOption=ed(Kh.defaultOption,{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,borderColor:"#d2dbee",borderRadius:3,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#d2dbee",width:.5},areaStyle:{color:"#d2dbee",opacity:.2}},selectedDataBackground:{lineStyle:{color:"#8fb0f7",width:.5},areaStyle:{color:"#8fb0f7",opacity:.2}},fillerColor:"rgba(135,175,274,0.2)",handleIcon:"path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z",handleSize:"100%",handleStyle:{color:"#fff",borderColor:"#ACB8D1"},moveHandleSize:7,moveHandleIcon:"path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z",moveHandleStyle:{color:"#D2DBEE",opacity:.7},showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#6E7079"},brushSelect:!0,brushStyle:{color:"rgba(135,175,274,0.15)"},emphasis:{handleStyle:{borderColor:"#8FB0F7"},moveHandleStyle:{color:"#8FB0F7"}}});return a}(Kh),Mh=Z,rN=["line","bar","candlestick","scatter"],sN={easing:"cubicOut",duration:100},PH=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c._displayables={};return c}x(a,b);a.prototype.init=function(a,b){this.api=b;this._onBrush=I(this._onBrush,this);this._onBrushEnd=I(this._onBrushEnd,this)};a.prototype.render=function(a,d,e,f){b.prototype.render.apply(this,arguments);tg(this,"_dispatchZoomAction",a.get("throttle"),"fixRate");this._orient=a.getOrient();!1===a.get("show")?this.group.removeAll():a.noTarget()?(this._clear(),this.group.removeAll()):(f&&"dataZoom"===f.type&&f.from===this.uid||this._buildView(),this._updateView())};a.prototype.dispose=function(){this._clear();b.prototype.dispose.apply(this,arguments)};a.prototype._clear=function(){var a=this._dispatchZoomAction;a&&a["\x00__throttleOriginMethod"]&&(this._dispatchZoomAction=a["\x00__throttleOriginMethod"]);a=this.api.getZr();a.off("mousemove",this._onBrush);a.off("mouseup",this._onBrushEnd)};a.prototype._buildView=function(){var a=this.group;a.removeAll();this._brushing=!1;this._displayables.brushRect=null;this._resetLocation();this._resetInterval();var b=this._displayables.sliderGroup=new M;this._renderBackground();this._renderHandle();this._renderDataShadow();a.add(b);this._positionGroup()};a.prototype._resetLocation=function(){var a=this.dataZoomModel,b=this.api,e=a.get("brushSelect")?7:0,f=this._findCoordRect(),b={width:b.getWidth(),height:b.getHeight()},g="horizontal"===this._orient?{right:b.width-f.x-f.width,top:b.height-30-7-e,width:f.width,height:30}:{right:7,top:f.y,width:30,height:f.height},h=Qd({},a.option);r(["right","top","width","height"],function(a){"ph"===h[a]&&(h[a]=g[a])});a=Aa(h,b);this._location={x:a.x,y:a.y};this._size=[a.width,a.height];"vertical"===this._orient&&this._size.reverse()};a.prototype._positionGroup=function(){var a=this.group,b=this._location,e=this._orient,f=this.dataZoomModel.getFirstTargetAxisModel(),f=f&&f.get("inverse"),g=this._displayables.sliderGroup,h=(this._dataShadowInfo||{}).otherAxisInverse;g.attr("horizontal"!==e||f?"horizontal"===e&&f?{scaleY:h?1:-1,scaleX:-1}:"vertical"!==e||f?{scaleY:h?-1:1,scaleX:-1,rotation:Math.PI/2}:{scaleY:h?-1:1,scaleX:1,rotation:Math.PI/2}:{scaleY:h?1:-1,scaleX:1});e=a.getBoundingRect([g]);a.x=b.x-e.x;a.y=b.y-e.y;a.markRedraw()};a.prototype._getViewExtent=function(){return[0,this._size[0]]};a.prototype._renderBackground=function(){var a=this.dataZoomModel,b=this._size,e=this._displayables.sliderGroup,f=a.get("brushSelect");e.add(new Mh({silent:!0,shape:{x:0,y:0,width:b[0],height:b[1]},style:{fill:a.get("backgroundColor")},z2:-40}));a=new Mh({shape:{x:0,y:0,width:b[0],height:b[1]},style:{fill:"transparent"},z2:0,onclick:I(this._onClickPanel,this)});b=this.api.getZr();f?(a.on("mousedown",this._onBrushStart,this),a.cursor="crosshair",b.on("mousemove",this._onBrush),b.on("mouseup",this._onBrushEnd)):(b.off("mousemove",this._onBrush),b.off("mouseup",this._onBrushEnd));e.add(a)};a.prototype._renderDataShadow=function(){function a(a){var b=r.getModel(a?"selectedDataBackground":"dataBackground");a=new M;var c=new bb({shape:{points:l},segmentIgnoreThreshold:1,style:b.getModel("areaStyle").getAreaStyle(),silent:!0,z2:-20}),b=new kb({shape:{points:m},segmentIgnoreThreshold:1,style:b.getModel("lineStyle").getLineStyle(),silent:!0,z2:-19});a.add(c);a.add(b);return a}var b=this._dataShadowInfo=this._prepareDataShadowInfo();this._displayables.dataShadowSegs=[];if(b){var e=this._size,f=b.series,g=f.getRawData(),b=f.getShadowDim?f.getShadowDim():b.otherDim;if(null!=b){var h=g.getDataExtent(b),f=.3*(h[1]-h[0]),h=[h[0]-f,h[1]+f],k=[0,e[1]],l=[[e[0],0],[0,0]],m=[],n=e[0]/(g.count()-1),p=0,q=Math.round(g.count()/e[0]),t;g.each([b],function(a,b){if(0<q&&b%q)p+=n;else{var c=null==a||isNaN(a)||""===a,d=c?0:ga(a,h,k,!0);c&&!t&&b?(l.push([l[l.length-1][0],0]),m.push([m[m.length-1][0],0])):!c&&t&&(l.push([p,0]),m.push([p,0]));l.push([p,d]);m.push([p,d]);p+=n;t=c}});for(var r=this.dataZoomModel,e=0;3>e;e++)g=a(1===e),this._displayables.sliderGroup.add(g),this._displayables.dataShadowSegs.push(g)}}};a.prototype._prepareDataShadowInfo=function(){var a=this.dataZoomModel,b=a.get("showDataShadow");if(!1!==b){var e,f=this.ecModel;a.eachTargetAxis(function(c,d){var g=a.getAxisProxy(c,d).getTargetSeriesModels();r(g,function(a){if(!(e||!0!==b&&0>ba(rN,a.get("type")))){var g=f.getComponent(td(c),d).axis,h;h={x:"y",y:"x",radius:"angle",angle:"radius"}[c];var k,l=a.coordinateSystem;null!=h&&l.getOtherAxis&&(k=l.getOtherAxis(g).inverse);h=a.getData().mapDimension(h);e={thisAxis:g,series:a,thisDim:c,otherDim:h,otherAxisInverse:k}}},this)},this);return e}};a.prototype._renderHandle=function(){var a=this.group,b=this._displayables,e=b.handles=[null,null],f=b.handleLabels=[null,null],g=this._displayables.sliderGroup,h=this._size,k=this.dataZoomModel,l=this.api,m=k.get("borderRadius")||0,n=k.get("brushSelect"),p=b.filler=new Mh({silent:n,style:{fill:k.get("fillerColor")},textConfig:{position:"inside"}});g.add(p);g.add(new Mh({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:h[0],height:h[1],r:m},style:{stroke:k.get("dataBackgroundColor")||k.get("borderColor"),lineWidth:1,fill:"rgba(0,0,0,0)"}}));r([0,1],function(b){var c=k.get("handleIcon");!Xj[c]&&0>c.indexOf("path://")&&(c="path://"+c,Vb("handleIcon now needs 'path://' prefix when using a path string"));c=Pa(c,-1,0,2,2,null,!0);c.attr({cursor:Mx(this._orient),draggable:!0,drift:I(this._onDragMove,this,b),ondragend:I(this._onDragEnd,this),onmouseover:I(this._showDataInfo,this,!0),onmouseout:I(this._showDataInfo,this,!1),z2:5});var d=c.getBoundingRect(),h=k.get("handleSize");this._handleHeight=H(h,this._size[1]);this._handleWidth=d.width/d.height*this._handleHeight;c.setStyle(k.getModel("handleStyle").getItemStyle());c.style.strokeNoScale=!0;c.rectHover=!0;c.ensureState("emphasis").style=k.getModel(["emphasis","handleStyle"]).getItemStyle();va(c);d=k.get("handleColor");null!=d&&(c.style.fill=d);g.add(e[b]=c);c=k.getModel("textStyle");a.add(f[b]=new ha({silent:!0,invisible:!0,style:{x:0,y:0,text:"",verticalAlign:"middle",align:"center",fill:c.getTextColor(),font:c.getFont()},z2:10}))},this);if(n){var n=H(k.get("moveHandleSize"),h[1]),q=b.moveHandle=new Z({style:k.getModel("moveHandleStyle").getItemStyle(),silent:!0,shape:{r:[0,0,2,2],y:h[1]-.5,height:n}}),m=.8*n,m=b.moveHandleIcon=Pa(k.get("moveHandleIcon"),-m/2,-m/2,m,m,"#fff",!0);m.silent=!0;m.y=h[1]+n/2-.5;q.ensureState("emphasis").style=k.getModel(["emphasis","moveHandleStyle"]).getItemStyle();p=Math.min(h[1]/2,Math.max(n,10));p=b.moveZone=new Z({invisible:!0,shape:{y:h[1]-p,height:n+p}});p.on("mouseover",function(){l.enterEmphasis(q)}).on("mouseout",function(){l.leaveEmphasis(q)});g.add(q);g.add(m);g.add(p)}p.attr({draggable:!0,cursor:Mx(this._orient),drift:I(this._onDragMove,this,"all"),ondragstart:I(this._showDataInfo,this,!0),ondragend:I(this._onDragEnd,this),onmouseover:I(this._showDataInfo,this,!0),onmouseout:I(this._showDataInfo,this,!1)})};a.prototype._resetInterval=function(){var a=this._range=this.dataZoomModel.getPercentRange(),b=this._getViewExtent();this._handleEnds=[ga(a[0],[0,100],b,!0),ga(a[1],[0,100],b,!0)]};a.prototype._updateInterval=function(a,b){var c=this.dataZoomModel,d=this._handleEnds,g=this._getViewExtent(),h=c.findRepresentativeAxisProxy().getMinMaxSpan(),k=[0,100];fe(b,d,g,c.get("zoomLock")?"all":a,null!=h.minSpan?ga(h.minSpan,k,g,!0):null,null!=h.maxSpan?ga(h.maxSpan,k,g,!0):null);c=this._range;d=this._range=Cb([ga(d[0],g,k,!0),ga(d[1],g,k,!0)]);return!c||c[0]!==d[0]||c[1]!==d[1]};a.prototype._updateView=function(a){var b=this._displayables,c=this._handleEnds,f=Cb(c.slice()),g=this._size;r([0,1],function(a){var d=this._handleHeight;b.handles[a].attr({scaleX:d/2,scaleY:d/2,x:c[a]+(a?-1:1),y:g[1]/2-d/2})},this);b.filler.setShape({x:f[0],y:0,width:f[1]-f[0],height:g[1]});var h={x:f[0],width:f[1]-f[0]};b.moveHandle&&(b.moveHandle.setShape(h),b.moveZone.setShape(h),b.moveZone.getBoundingRect(),b.moveHandleIcon&&b.moveHandleIcon.attr("x",h.x+h.width/2));for(var h=b.dataShadowSegs,f=[0,f[0],f[1],g[0]],k=0;k<h.length;k++){var l=h[k],m=l.getClipPath();m||(m=new Z,l.setClipPath(m));m.setShape({x:f[k],y:0,width:f[k+1]-f[k],height:g[1]})}this._updateDataInfo(a)};a.prototype._updateDataInfo=function(a){function b(a){var b=dd(f.handles[a].parent,this.group),c=pi(0===a?"right":"left",b),d=this._handleWidth/2+5,b=Wb([n[a]+(0===a?-d:d),this._size[1]/2],b);g[a].setStyle({x:b[0],y:b[1],verticalAlign:"horizontal"===h?"middle":c,align:"horizontal"===h?c:"center",text:k[a]})}var c=this.dataZoomModel,f=this._displayables,g=f.handleLabels,h=this._orient,k=["",""];if(c.get("showDetail")){var l=c.findRepresentativeAxisProxy();if(l){var c=l.getAxisModel().axis,m=this._range;a=a?l.calculateDataWindow({start:m[0],end:m[1]}).valueWindow:l.getDataValueWindow();k=[this._formatLabel(a[0],c),this._formatLabel(a[1],c)]}}var n=Cb(this._handleEnds.slice());b.call(this,0);b.call(this,1)};a.prototype._formatLabel=function(a,b){var c=this.dataZoomModel,d=c.get("labelFormatter"),c=c.get("labelPrecision");if(null==c||"auto"===c)c=b.getPixelPrecision();c=null==a||isNaN(a)?"":"category"===b.type||"time"===b.type?b.scale.getLabel({value:Math.round(a)}):a.toFixed(Math.min(c,20));return fa(d)?d(a,c):da(d)?d.replace("{value}",c):c};a.prototype._showDataInfo=function(a){a=this._dragging||a;var b=this._displayables,c=b.handleLabels;c[0].attr("invisible",!a);c[1].attr("invisible",!a);b.moveHandle&&this.api[a?"enterEmphasis":"leaveEmphasis"](b.moveHandle,1)};a.prototype._onDragMove=function(a,b,e,f){this._dragging=!0;Bc(f.event);f=this._displayables.sliderGroup.getLocalTransform();b=Wb([b,e],f,!0);a=this._updateInterval(a,b[0]);b=this.dataZoomModel.get("realtime");this._updateView(!b);a&&b&&this._dispatchZoomAction(!0)};a.prototype._onDragEnd=function(){this._dragging=!1;this._showDataInfo(!1);!this.dataZoomModel.get("realtime")&&this._dispatchZoomAction(!1)};a.prototype._onClickPanel=function(a){var b=this._size;a=this._displayables.sliderGroup.transformCoordToLocal(a.offsetX,a.offsetY);0>a[0]||a[0]>b[0]||0>a[1]||a[1]>b[1]||(b=this._handleEnds,b=this._updateInterval("all",a[0]-(b[0]+b[1])/2),this._updateView(),b&&this._dispatchZoomAction(!1))};a.prototype._onBrushStart=function(a){this._brushStart=new V(a.offsetX,a.offsetY);this._brushing=!0;this._brushStartTime=+new Date};a.prototype._onBrushEnd=function(a){if(this._brushing&&(a=this._displayables.brushRect,this._brushing=!1,a&&(a.attr("ignore",!0),a=a.shape,!(200>+new Date-this._brushStartTime&&5>Math.abs(a.width))))){var b=this._getViewExtent(),c=[0,100];this._range=Cb([ga(a.x,b,c,!0),ga(a.x+a.width,b,c,!0)]);this._handleEnds=[a.x,a.x+a.width];this._updateView();this._dispatchZoomAction(!1)}};a.prototype._onBrush=function(a){this._brushing&&(Bc(a.event),this._updateBrushRect(a.offsetX,a.offsetY))};a.prototype._updateBrushRect=function(a,b){var c=this._displayables,d=this.dataZoomModel,g=c.brushRect;g||(g=c.brushRect=new Mh({silent:!0,style:d.getModel("brushStyle").getItemStyle()}),c.sliderGroup.add(g));g.attr("ignore",!1);var d=this._brushStart,h=this._displayables.sliderGroup,c=h.transformCoordToLocal(a,b),d=h.transformCoordToLocal(d.x,d.y),h=this._size;c[0]=Math.max(Math.min(h[0],c[0]),0);g.setShape({x:d[0],y:0,width:c[0]-d[0],height:h[1]})};a.prototype._dispatchZoomAction=function(a){var b=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,animation:a?sN:null,start:b[0],end:b[1]})};a.prototype._findCoordRect=function(){var a,b=Xw(this.dataZoomModel).infoList;!a&&b.length&&(a=b[0].model.coordinateSystem,a=a.getRect&&a.getRect());a||(a=this.api.getWidth(),b=this.api.getHeight(),a={x:.2*a,y:.2*b,width:.6*a,height:.6*b});return a};a.type="dataZoom.slider";return a}(Cp),Yz={get:function(b,a,c){b=J((tN[b]||{})[a]);return c?A(b)?b[b.length-1]:b:b}},tN={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}},Zz=La.mapVisual,uN=La.eachVisual,vN=A,pk=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.stateList=["inRange","outOfRange"];c.replacableOptionKeys=["inRange","outOfRange","target","controller","color"];c.layoutMode={type:"box",ignoreSize:!0};c.dataBound=[-Infinity,Infinity];c.targetVisuals={};c.controllerVisuals={};return c}x(a,b);a.prototype.init=function(a,b,e){this.mergeDefaultAndTheme(a,e)};a.prototype.optionUpdated=function(a,b){var c=this.option;X.canvasSupported||(c.realtime=!1);!b&&mx(c,a,this.replacableOptionKeys);this.textStyleModel=this.getModel("textStyle");this.resetItemSize();this.completeVisualOption()};a.prototype.resetVisual=function(a){var b=this.stateList;a=I(a,this);this.controllerVisuals=io(this.option.controller,b,a);this.targetVisuals=io(this.option.target,b,a)};a.prototype.getTargetSeriesIndices=function(){var a=this.option.seriesIndex,b=[];null==a||"all"===a?this.ecModel.eachSeries(function(a,c){b.push(c)}):b=xa(a);return b};a.prototype.eachTargetSeries=function(a,b){r(this.getTargetSeriesIndices(),function(c){(c=this.ecModel.getSeriesByIndex(c))&&a.call(b,c)},this)};a.prototype.isTargetSeries=function(a){var b=!1;this.eachTargetSeries(function(c){c===a&&(b=!0)});return b};a.prototype.formatValueText=function(a,b,e){function c(a){return a===k[0]?"min":a===k[1]?"max":(+a).toFixed(Math.min(h,20))}var d=this.option,h=d.precision,k=this.dataBound,d=d.formatter,l;e=e||["\x3c","\x3e"];A(a)&&(a=a.slice(),l=!0);b=b?a:l?[c(a[0]),c(a[1])]:c(a);return da(d)?d.replace("{value}",l?b[0]:b).replace("{value2}",l?b[1]:b):fa(d)?l?d(a[0],a[1]):d(a):l?a[0]===k[0]?e[0]+" "+b[1]:a[1]===k[1]?e[1]+" "+b[0]:b[0]+" - "+b[1]:b};a.prototype.resetExtent=function(){var a=this.option;this._dataExtent=Cb([a.min,a.max])};a.prototype.getDataDimension=function(a){var b=this.option.dimension,c=a.dimensions;if(null!=b||c.length){if(null!=b)return a.getDimension(b);b=a.dimensions;for(c=b.length-1;0<=c;c--){var f=b[c];if(!a.getDimensionInfo(f).isCalculationCoord)return f}}};a.prototype.getExtent=function(){return this._dataExtent.slice()};a.prototype.completeVisualOption=function(){function a(a){vN(e.color)&&!a.inRange&&(a.inRange={color:e.color.slice().reverse()});a.inRange=a.inRange||{color:b.get("gradientColor")}}var b=this.ecModel,e=this.option,f={inRange:e.inRange,outOfRange:e.outOfRange},g=e.target||(e.target={}),h=e.controller||(e.controller={});U(g,f);U(h,f);var k=this.isCategory();a.call(this,g);a.call(this,h);(function(a,b,c){b=a[b];var d=a[c];b&&!d&&(d=a[c]={},r(b,function(a,b){if(La.isValidType(b)){var c=Yz.get(b,"inactive",k);null!=c&&(d[b]=c,"color"!==b||d.hasOwnProperty("opacity")||d.hasOwnProperty("colorAlpha")||(d.opacity=[0,0]))}}))}).call(this,g,"inRange","outOfRange");(function(a){var b=(a.inRange||{}).symbol||(a.outOfRange||{}).symbol,c=(a.inRange||{}).symbolSize||(a.outOfRange||{}).symbolSize,d=this.get("inactiveColor");r(this.stateList,function(e){var f=this.itemSize,g=a[e];g||(g=a[e]={color:k?d:[d]});null==g.symbol&&(g.symbol=b&&J(b)||(k?"roundRect":["roundRect"]));null==g.symbolSize&&(g.symbolSize=c&&J(c)||(k?f[0]:[f[0],f[0]]));g.symbol=Zz(g.symbol,function(a){return"none"===a||"square"===a?"roundRect":a});e=g.symbolSize;if(null!=e){var h=-Infinity;uN(e,function(a){a>h&&(h=a)});g.symbolSize=Zz(e,function(a){return ga(a,[0,h],[0,f[0]],!0)})}},this)}).call(this,h)};a.prototype.resetItemSize=function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]};a.prototype.isCategory=function(){return!!this.option.categories};a.prototype.setSelected=function(a){};a.prototype.getSelected=function(){return null};a.prototype.getValueState=function(a){return null};a.prototype.getVisualMeta=function(a){return null};a.type="visualMap";a.dependencies=["series"];a.defaultOption={show:!0,zlevel:0,z:4,seriesIndex:"all",min:0,max:200,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,textStyle:{color:"#333"}};return a}(W),$z=[20,140],VH=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.optionUpdated=function(a,d){b.prototype.optionUpdated.apply(this,arguments);this.resetExtent();this.resetVisual(function(a){a.mappingMethod="linear";a.dataExtent=this.getExtent()});this._resetRange()};a.prototype.resetItemSize=function(){b.prototype.resetItemSize.apply(this,arguments);var a=this.itemSize;(null==a[0]||isNaN(a[0]))&&(a[0]=$z[0]);(null==a[1]||isNaN(a[1]))&&(a[1]=$z[1])};a.prototype._resetRange=function(){var a=this.getExtent(),b=this.option.range;!b||b.auto?(a.auto=1,this.option.range=a):A(b)&&(b[0]>b[1]&&b.reverse(),b[0]=Math.max(b[0],a[0]),b[1]=Math.min(b[1],a[1]))};a.prototype.completeVisualOption=function(){b.prototype.completeVisualOption.apply(this,arguments);r(this.stateList,function(a){(a=this.option.controller[a].symbolSize)&&a[0]!==a[1]&&(a[0]=a[1]/3)},this)};a.prototype.setSelected=function(a){this.option.range=a.slice();this._resetRange()};a.prototype.getSelected=function(){var a=this.getExtent(),b=Cb((this.get("range")||[]).slice());b[0]>a[1]&&(b[0]=a[1]);b[1]>a[1]&&(b[1]=a[1]);b[0]<a[0]&&(b[0]=a[0]);b[1]<a[0]&&(b[1]=a[0]);return b};a.prototype.getValueState=function(a){var b=this.option.range,c=this.getExtent();return(b[0]<=c[0]||b[0]<=a)&&(b[1]>=c[1]||a<=b[1])?"inRange":"outOfRange"};a.prototype.findTargetDataIndices=function(a){var b=[];this.eachTargetSeries(function(c){var d=[],e=c.getData();e.each(this.getDataDimension(e),function(b,c){a[0]<=b&&b<=a[1]&&d.push(c)},this);b.push({seriesId:c.id,dataIndex:d})},this);return b};a.prototype.getVisualMeta=function(a){function b(b,c){g.push({value:b,color:a(b,c)})}for(var c=Ox(this,"outOfRange",this.getExtent()),f=Ox(this,"inRange",this.option.range.slice()),g=[],h=0,k=0,l=f.length,m=c.length;k<m&&(!f.length||c[k]<=f[0]);k++)c[k]<f[h]&&b(c[k],"outOfRange");for(var n=1;h<l;h++,n=0)n&&g.length&&b(f[h],"outOfRange"),b(f[h],"inRange");for(n=1;k<m;k++)if(!f.length||f[f.length-1]<c[k])n&&(g.length&&b(g[g.length-1].value,"outOfRange"),n=0),b(c[k],"outOfRange");c=g.length;return{stops:g,outerColors:[c?g[0].color:"transparent",c?g[c-1].color:"transparent"]}};a.type="visualMap.continuous";a.defaultOption=ed(pk.defaultOption,{align:"auto",calculable:!1,hoverLink:!0,realtime:!0,handleIcon:"path://M-11.39,9.77h0a3.5,3.5,0,0,1-3.5,3.5h-22a3.5,3.5,0,0,1-3.5-3.5h0a3.5,3.5,0,0,1,3.5-3.5h22A3.5,3.5,0,0,1-11.39,9.77Z",handleSize:"120%",handleStyle:{borderColor:"#fff",borderWidth:1},indicatorIcon:"circle",indicatorSize:"50%",indicatorStyle:{borderColor:"#fff",borderWidth:2,shadowBlur:2,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0,0,0,0.2)"}});return a}(pk),aA=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.autoPositionValues={left:1,right:1,top:1,bottom:1};return c}x(a,b);a.prototype.init=function(a,b){this.ecModel=a;this.api=b};a.prototype.render=function(a,b,e,f){this.visualMapModel=a;!1===a.get("show")?this.group.removeAll():this.doRender(a,b,e,f)};a.prototype.renderBackground=function(a){var b=this.visualMapModel,c=Od(b.get("padding")||0),f=a.getBoundingRect();a.add(new Z({z2:-1,silent:!0,shape:{x:f.x-c[3],y:f.y-c[0],width:f.width+c[3]+c[1],height:f.height+c[0]+c[2]},style:{fill:b.get("backgroundColor"),stroke:b.get("borderColor"),lineWidth:b.get("borderWidth")}}))};a.prototype.getControllerVisual=function(a,b,e){function c(a){return l[a]}function d(a,b){l[a]=b}e=e||{};var h=e.forceState,k=this.visualMapModel,l={};"symbol"===b&&(l.symbol=k.get("itemSymbol"));if("color"===b){var m=k.get("contentColor");l.color=m}var n=k.controllerVisuals[h||k.getValueState(a)],h=La.prepareVisualTypes(n);r(h,function(f){var g=n[f];e.convertOpacityToAlpha&&"opacity"===f&&(f="colorAlpha",g=n.__alphaForOpacity);La.dependsOn(f,b)&&g&&g.applyVisual(a,c,d)});return l[b]};a.prototype.positionGroup=function(a){var b=this.api;Bi(a,this.visualMapModel.getBoxLayoutParams(),{width:b.getWidth(),height:b.getHeight()})};a.prototype.doRender=function(a,b,e,f){};a.type="visualMap";return a}(na),Qx=[["left","right","width"],["top","bottom","height"]],bA=Math.min,Np=Math.max,WH=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c._shapes={};c._dataInterval=[];c._handleEnds=[];c._hoverLinkDataIndices=[];return c}x(a,b);a.prototype.doRender=function(a,b,e,f){this._api=e;f&&"selectDataRange"===f.type&&f.from===this.uid||this._buildView()};a.prototype._buildView=function(){this.group.removeAll();var a=this.visualMapModel,b=this.group;this._orient=a.get("orient");this._useHandle=a.get("calculable");this._resetInterval();this._renderBar(b);a=a.get("text");this._renderEndsText(b,a,0);this._renderEndsText(b,a,1);this._updateView(!0);this.renderBackground(b);this._updateView();this._enableHoverLinkToSeries();this._enableHoverLinkFromSeries();this.positionGroup(b)};a.prototype._renderEndsText=function(a,b,e){if(b){a=b[1-e];a=null!=a?a+"":"";var c=this.visualMapModel;b=c.get("textGap");var d=c.itemSize,c=this._shapes.mainGroup;b=this._applyTransform([d[0]/2,0===e?-b:d[1]+b],c);e=this._applyTransform(0===e?"bottom":"top",c);c=this._orient;d=this.visualMapModel.textStyleModel;this.group.add(new ha({style:{x:b[0],y:b[1],verticalAlign:"horizontal"===c?"middle":e,align:"horizontal"===c?e:"center",text:a,font:d.getFont(),fill:d.getTextColor()}}))}};a.prototype._renderBar=function(a){var b=this.visualMapModel,c=this._shapes,f=b.itemSize,g=this._orient,h=this._useHandle,k=Px(b,this.api,f),k=c.mainGroup=this._createBarGroup(k),l=new M;k.add(l);l.add(c.outOfRange=Rx());l.add(c.inRange=Rx(null,h?Tx(this._orient):null,I(this._dragHandle,this,"all",!1),I(this._dragHandle,this,"all",!0)));l.setClipPath(new Z({shape:{x:0,y:0,width:f[0],height:f[1],r:3}}));l=b.textStyleModel.getTextRect("\u56fd");l=Np(l.width,l.height);h&&(c.handleThumbs=[],c.handleLabels=[],c.handleLabelPoints=[],this._createHandle(b,k,0,f,l,g),this._createHandle(b,k,1,f,l,g));this._createIndicator(b,k,f,l,g);a.add(k)};a.prototype._createHandle=function(a,b,e,f,g,h){var c=I(this._dragHandle,this,e,!1),d=I(this._dragHandle,this,e,!0);h=Ub(a.get("handleSize"),f[0]);g=Pa(a.get("handleIcon"),-h/2,-h/2,h,h,null,!0);var m=Tx(this._orient);g.attr({cursor:m,draggable:!0,drift:c,ondragend:d,onmousemove:function(a){Bc(a.event)}});g.x=f[0]/2;g.useStyle(a.getModel("handleStyle").getItemStyle());g.setStyle({strokeNoScale:!0,strokeFirst:!0});g.style.lineWidth*=2;g.ensureState("emphasis").style=a.getModel(["emphasis","handleStyle"]).getItemStyle();We(g,!0);b.add(g);a=this.visualMapModel.textStyleModel;a=new ha({cursor:m,draggable:!0,drift:c,onmousemove:function(a){Bc(a.event)},ondragend:d,style:{x:0,y:0,text:"",font:a.getFont(),fill:a.getTextColor()}});a.ensureState("blur").style={opacity:.1};a.stateTransition={duration:200};this.group.add(a);b=[h,0];f=this._shapes;f.handleThumbs[e]=g;f.handleLabelPoints[e]=b;f.handleLabels[e]=a};a.prototype._createIndicator=function(a,b,e,f,g){var c=Ub(a.get("indicatorSize"),e[0]),c=Pa(a.get("indicatorIcon"),-c/2,-c/2,c,c,null,!0);c.attr({cursor:"move",invisible:!0,silent:!0,x:e[0]/2});a=a.getModel("indicatorStyle").getItemStyle();if(c instanceof Ga){var d=c.style;c.useStyle(F({image:d.image,x:d.x,y:d.y,width:d.width,height:d.height},a))}else c.useStyle(a);b.add(c);b=this.visualMapModel.textStyleModel;b=new ha({silent:!0,invisible:!0,style:{x:0,y:0,text:"",font:b.getFont(),fill:b.getTextColor()}});this.group.add(b);e=[("horizontal"===g?f/2:6)+e[0]/2,0];f=this._shapes;f.indicator=c;f.indicatorLabel=b;f.indicatorLabelPoint=e;this._firstShowIndicator=!0};a.prototype._dragHandle=function(a,b,e,f){this._useHandle&&(this._dragging=!b,b||(e=this._applyTransform([e,f],this._shapes.mainGroup,!0),this._updateInterval(a,e[1]),this._hideIndicator(),this._updateView()),b===!this.visualMapModel.get("realtime")&&this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:this._dataInterval.slice()}),b?!this._hovering&&this._clearHoverLinkToSeries():Sx(this.visualMapModel)&&this._doHoverLinkToSeries(this._handleEnds[a],!1))};a.prototype._resetInterval=function(){var a=this.visualMapModel,b=this._dataInterval=a.getSelected(),e=a.getExtent(),a=[0,a.itemSize[1]];this._handleEnds=[ga(b[0],e,a,!0),ga(b[1],e,a,!0)]};a.prototype._updateInterval=function(a,b){var c=this.visualMapModel,d=this._handleEnds,g=[0,c.itemSize[1]];fe(b||0,d,g,a,0);c=c.getExtent();this._dataInterval=[ga(d[0],g,c,!0),ga(d[1],g,c,!0)]};a.prototype._updateView=function(a){var b=this.visualMapModel,c=b.getExtent(),f=this._shapes,b=[0,b.itemSize[1]];a=a?b:this._handleEnds;var g=this._createBarVisual(this._dataInterval,c,a,"inRange"),c=this._createBarVisual(c,c,b,"outOfRange");f.inRange.setStyle({fill:g.barColor}).setShape("points",g.barPoints);f.outOfRange.setStyle({fill:c.barColor}).setShape("points",c.barPoints);this._updateHandle(a,g)};a.prototype._createBarVisual=function(a,b,e,f){f={forceState:f,convertOpacityToAlpha:!0};b=this._makeColorGradient(a,f);a=[this.getControllerVisual(a[0],"symbolSize",f),this.getControllerVisual(a[1],"symbolSize",f)];e=this._createBarPoints(e,a);return{barColor:new mf(0,0,0,1,b),barPoints:e,handlesColor:[b[0].color,b[b.length-1].color]}};a.prototype._makeColorGradient=function(a,b){var c=[],d=(a[1]-a[0])/100;c.push({color:this.getControllerVisual(a[0],"color",b),offset:0});for(var g=1;100>g;g++){var h=a[0]+d*g;if(h>a[1])break;c.push({color:this.getControllerVisual(h,"color",b),offset:g/100})}c.push({color:this.getControllerVisual(a[1],"color",b),offset:1});return c};a.prototype._createBarPoints=function(a,b){var c=this.visualMapModel.itemSize;return[[c[0]-b[0],a[0]],[c[0],a[0]],[c[0],a[1]],[c[0]-b[1],a[1]]]};a.prototype._createBarGroup=function(a){var b=this._orient,c=this.visualMapModel.get("inverse");return new M("horizontal"!==b||c?"horizontal"===b&&c?{scaleX:"bottom"===a?-1:1,rotation:-Math.PI/2}:"vertical"!==b||c?{scaleX:"left"===a?1:-1}:{scaleX:"left"===a?1:-1,scaleY:-1}:{scaleX:"bottom"===a?1:-1,rotation:Math.PI/2})};a.prototype._updateHandle=function(a,b){if(this._useHandle){var c=this._shapes,d=this.visualMapModel,g=c.handleThumbs,h=c.handleLabels,k=d.itemSize,l=d.getExtent();r([0,1],function(e){var f=g[e];f.setStyle("fill",b.handlesColor[e]);f.y=a[e];var m=ga(a[e],[0,k[1]],l,!0),m=this.getControllerVisual(m,"symbolSize");f.scaleX=f.scaleY=m/k[0];f.x=k[0]-m/2;f=Wb(c.handleLabelPoints[e],dd(f,this.group));h[e].setStyle({x:f[0],y:f[1],text:d.formatValueText(this._dataInterval[e]),verticalAlign:"middle",align:"vertical"===this._orient?this._applyTransform("left",c.mainGroup):"center"})},this)}};a.prototype._showIndicator=function(a,b,e,f){var c=this.visualMapModel,d=c.getExtent(),k=c.itemSize,l=[0,k[1]],m=this._shapes;if(f=m.indicator){f.attr("invisible",!1);var n=this.getControllerVisual(a,"color",{convertOpacityToAlpha:!0}),p=this.getControllerVisual(a,"symbolSize"),d=ga(a,d,l,!0),q=k[0]-p/2;a=f.x;k=f.y;f.y=d;f.x=q;l=Wb(m.indicatorLabelPoint,dd(f,this.group));p=m.indicatorLabel;p.attr("invisible",!1);var m=this._applyTransform("left",m.mainGroup),r="horizontal"===this._orient;p.setStyle({text:(e?e:"")+c.formatValueText(b),verticalAlign:r?m:"middle",align:r?"center":m});b={x:q,y:d,style:{fill:n}};e={style:{x:l[0],y:l[1]}};c.ecModel.isAnimationEnabled()&&!this._firstShowIndicator?(c={duration:100,easing:"cubicInOut",additive:!0},f.x=a,f.y=k,f.animateTo(b,c),p.animateTo(e,c)):(f.attr(b),p.attr(e));this._firstShowIndicator=!1;if(f=this._shapes.handleLabels)for(c=0;c<f.length;c++)this._api.enterBlur(f[c])}};a.prototype._enableHoverLinkToSeries=function(){var a=this;this._shapes.mainGroup.on("mousemove",function(b){a._hovering=!0;if(!a._dragging){var c=a.visualMapModel.itemSize;b=a._applyTransform([b.offsetX,b.offsetY],a._shapes.mainGroup,!0,!0);b[1]=bA(Np(0,b[1]),c[1]);a._doHoverLinkToSeries(b[1],0<=b[0]&&b[0]<=c[0])}}).on("mouseout",function(){a._hovering=!1;!a._dragging&&a._clearHoverLinkToSeries()})};a.prototype._enableHoverLinkFromSeries=function(){var a=this.api.getZr();this.visualMapModel.option.hoverLink?(a.on("mouseover",this._hoverLinkFromSeriesMouseOver,this),a.on("mouseout",this._hideIndicator,this)):this._clearHoverLinkFromSeries()};a.prototype._doHoverLinkToSeries=function(a,b){var c=this.visualMapModel;if(c.option.hoverLink){var d=[0,c.itemSize[1]],g=c.getExtent();a=bA(Np(d[0],a),d[1]);var h;h=6;var k=c.get("hoverLinkDataSize");k&&(h=ga(k,g,d,!0)/2);var k=[a-h,a+h],l=ga(a,d,g,!0),g=[ga(k[0],d,g,!0),ga(k[1],d,g,!0)];k[0]<d[0]&&(g[0]=-Infinity);k[1]>d[1]&&(g[1]=Infinity);b&&(-Infinity===g[0]?this._showIndicator(l,g[1],"\x3c ",h):Infinity===g[1]?this._showIndicator(l,g[0],"\x3e ",h):this._showIndicator(l,l,"\u2248 ",h));d=this._hoverLinkDataIndices;h=[];if(b||Sx(c))h=this._hoverLinkDataIndices=c.findTargetDataIndices(g);d=CA(d,h);this._dispatchHighDown("downplay",Aj(d[0],c));this._dispatchHighDown("highlight",Aj(d[1],c))}};a.prototype._hoverLinkFromSeriesMouseOver=function(a){var b=a.target;a=this.visualMapModel;if(b&&null!=S(b).dataIndex){var b=S(b),c=this.ecModel.getSeriesByIndex(b.seriesIndex);a.isTargetSeries(c)&&(c=c.getData(b.dataType),a=c.get(a.getDataDimension(c),b.dataIndex),isNaN(a)||this._showIndicator(a,a))}};a.prototype._hideIndicator=function(){var a=this._shapes;a.indicator&&a.indicator.attr("invisible",!0);a.indicatorLabel&&a.indicatorLabel.attr("invisible",!0);if(a=this._shapes.handleLabels)for(var b=0;b<a.length;b++)this._api.leaveBlur(a[b])};a.prototype._clearHoverLinkToSeries=function(){this._hideIndicator();var a=this._hoverLinkDataIndices;this._dispatchHighDown("downplay",Aj(a,this.visualMapModel));a.length=0};a.prototype._clearHoverLinkFromSeries=function(){this._hideIndicator();var a=this.api.getZr();a.off("mouseover",this._hoverLinkFromSeriesMouseOver);a.off("mouseout",this._hideIndicator)};a.prototype._applyTransform=function(a,b,e,f){b=dd(b,f?null:this.group);return A(a)?Wb(a,b,e):pi(a,b,e)};a.prototype._dispatchHighDown=function(a,b){b&&b.length&&this.api.dispatchAction({type:a,batch:b})};a.prototype.dispose=function(){this._clearHoverLinkFromSeries();this._clearHoverLinkToSeries()};a.prototype.remove=function(){this._clearHoverLinkFromSeries();this._clearHoverLinkToSeries()};a.type="visualMap.continuous";return a}(aA),SH={type:"selectDataRange",event:"dataRangeSelected",update:"update"},TH=function(b,a){a.eachComponent({mainType:"visualMap",query:b},function(a){a.setSelected(b.selected)})},UH=[{createOnAllSeries:!0,reset:function(b,a){var c=[];a.eachComponent("visualMap",function(a){var d=b.pipelineContext;!a.isTargetSeries(b)||d&&d.large||c.push(hH(a.stateList,a.targetVisuals,I(a.getValueState,a),a.getDataDimension(b.getData())))});return c}},{createOnAllSeries:!0,reset:function(b,a){var c=b.getData(),d=[];a.eachComponent("visualMap",function(a){if(a.isTargetSeries(b)){var e=a.getVisualMeta(I(QH,null,b,a))||{stops:[],outerColors:[]};a=a.getDataDimension(c);a=c.getDimensionInfo(a);null!=a&&(e.dimension=a.index,d.push(e))}});b.getData().setVisual("visualMeta",d)}}],Ux=r,Wx=!1,XH=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c._pieceList=[];return c}x(a,b);a.prototype.optionUpdated=function(a,d){b.prototype.optionUpdated.apply(this,arguments);this.resetExtent();var c=this._mode=this._determineMode();this._pieceList=[];wN[this._mode].call(this,this._pieceList);this._resetSelected(a,d);var f=this.option.categories;this.resetVisual(function(a,b){"categories"===c?(a.mappingMethod="category",a.categories=J(f)):(a.dataExtent=this.getExtent(),a.mappingMethod="piecewise",a.pieceList=C(this._pieceList,function(a){a=J(a);"inRange"!==b&&(a.visual=null);return a}))})};a.prototype.completeVisualOption=function(){var a=this.option,d={},e=La.listVisualTypes(),f=this.isCategory();r(a.pieces,function(a){r(e,function(b){a.hasOwnProperty(b)&&(d[b]=1)})});r(d,function(b,c){var d=!1;r(this.stateList,function(b){var e;(e=d||a&&a[b]&&a[b].hasOwnProperty(c))||(e=(e=a.target)&&e[b]&&e[b].hasOwnProperty(c));d=e},this);!d&&r(this.stateList,function(b){(a[b]||(a[b]={}))[c]=Yz.get(c,"inRange"===b?"active":"inactive",f)})},this);b.prototype.completeVisualOption.apply(this,arguments)};a.prototype._resetSelected=function(a,b){var c=this.option,d=this._pieceList,g=(b?c:a).selected||{};c.selected=g;r(d,function(a,b){var c=this.getSelectedMapKey(a);g.hasOwnProperty(c)||(g[c]=!0)},this);if("single"===c.selectedMode){var h=!1;r(d,function(a,b){var c=this.getSelectedMapKey(a);g[c]&&(h?g[c]=!1:h=!0)},this)}};a.prototype.getSelectedMapKey=function(a){return"categories"===this._mode?a.value+"":a.index+""};a.prototype.getPieceList=function(){return this._pieceList};a.prototype._determineMode=function(){var a=this.option;return a.pieces&&0<a.pieces.length?"pieces":this.option.categories?"categories":"splitNumber"};a.prototype.setSelected=function(a){this.option.selected=J(a)};a.prototype.getValueState=function(a){a=La.findPieceIndex(a,this._pieceList);return null!=a?this.option.selected[this.getSelectedMapKey(this._pieceList[a])]?"inRange":"outOfRange":"outOfRange"};a.prototype.findTargetDataIndices=function(a){var b=[],c=this._pieceList;this.eachTargetSeries(function(d){var e=[],f=d.getData();f.each(this.getDataDimension(f),function(b,d){La.findPieceIndex(b,c)===a&&e.push(d)},this);b.push({seriesId:d.id,dataIndex:e})},this);return b};a.prototype.getRepresentValue=function(a){this.isCategory()?a=a.value:null!=a.value?a=a.value:(a=a.interval||[],a=-Infinity===a[0]&&Infinity===a[1]?0:(a[0]+a[1])/2);return a};a.prototype.getVisualMeta=function(a){function b(b,d){var e=g.getRepresentValue({interval:b});d||(d=g.getValueState(e));e=a(e,d);-Infinity===b[0]?f[0]=e:Infinity===b[1]?f[1]=e:c.push({value:b[0],color:e},{value:b[1],color:e})}if(!this.isCategory()){var c=[],f=["",""],g=this,h=this._pieceList.slice();if(h.length){var k=h[0].interval[0];-Infinity!==k&&h.unshift({interval:[-Infinity,k]});k=h[h.length-1].interval[1];Infinity!==k&&h.push({interval:[k,Infinity]})}else h.push({interval:[-Infinity,Infinity]});var l=-Infinity;r(h,function(a){if(a=a.interval)a[0]>l&&b([l,a[0]],"outOfRange"),b(a.slice()),l=a[1]},this);return{stops:c,outerColors:f}}};a.type="visualMap.piecewise";a.defaultOption=ed(pk.defaultOption,{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieces:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0});return a}(pk),wN={splitNumber:function(b){var a=this.option,c=Math.min(a.precision,20),d=this.getExtent(),e=a.splitNumber,e=Math.max(parseInt(e,10),1);a.splitNumber=e;for(var f=(d[1]-d[0])/e;+f.toFixed(c)!==f&&5>c;)c++;a.precision=c;f=+f.toFixed(c);a.minOpen&&b.push({interval:[-Infinity,d[0]],close:[0,0]});for(var c=0,g=d[0];c<e;g+=f,c++)b.push({interval:[g,c===e-1?d[1]:g+f],close:[1,1]});a.maxOpen&&b.push({interval:[d[1],Infinity],close:[0,0]});$k(b);r(b,function(a,b){a.index=b;a.text=this.formatValueText(a.interval)},this)},categories:function(b){var a=this.option;r(a.categories,function(a){b.push({text:this.formatValueText(a,!0),value:a})},this);Yx(a,b)},pieces:function(b){var a=this.option;r(a.pieces,function(a,d){N(a)||(a={value:a});var c={text:"",index:d};null!=a.label&&(c.text=a.label);if(a.hasOwnProperty("value")){var f=c.value=a.value;c.interval=[f,f];c.close=[1,1]}else{for(var f=c.interval=[],g=c.close=[0,0],h=[1,0,1],k=[-Infinity,Infinity],l=[],m=0;2>m;m++){for(var n=[["gte","gt","min"],["lte","lt","max"]][m],p=0;3>p&&null==f[m];p++)f[m]=a[n[p]],g[m]=h[p],l[m]=2===p;null==f[m]&&(f[m]=k[m])}l[0]&&Infinity===f[1]&&(g[0]=0);l[1]&&-Infinity===f[0]&&(g[1]=0);f[0]>f[1]&&console.warn("Piece "+d+"is illegal: "+f+" lower bound should not greater then uppper bound.");f[0]===f[1]&&g[0]&&g[1]&&(c.value=f[0])}c.visual=La.retrieveVisuals(a);b.push(c)},this);Yx(a,b);$k(b);r(b,function(a){var b=a.close,b=[["\x3c","\u2264"][b[1]],["\x3e","\u2265"][b[0]]];a.text=a.text||this.formatValueText(null!=a.value?a.value:a.interval,!1,b)},this)}},YH=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.doRender=function(){var a=this.group;a.removeAll();var b=this.visualMapModel,e=b.get("textGap"),f=b.textStyleModel,g=f.getFont(),h=f.getTextColor(),k=this._getItemAlign(),l=b.itemSize,f=this._getViewData(),m=f.endsText,n=Ba(b.get("showLabel",!0),!m);m&&this._renderEndsText(a,m[0],l,n,k);r(f.viewPieceList,function(c){var d=c.piece,f=new M;f.onclick=I(this._onItemClick,this,d);this._enableHoverLink(f,c.indexInModelPieceList);c=b.getRepresentValue(d);this._createItemSymbol(f,c,[0,0,l[0],l[1]]);n&&(c=this.visualMapModel.getValueState(c),f.add(new ha({style:{x:"right"===k?-e:l[0]+e,y:l[1]/2,text:d.text,verticalAlign:"middle",align:k,font:g,fill:h,opacity:"outOfRange"===c?.5:1}})));a.add(f)},this);m&&this._renderEndsText(a,m[1],l,n,k);me(b.get("orient"),a,b.get("itemGap"));this.renderBackground(a);this.positionGroup(a)};a.prototype._enableHoverLink=function(a,b){var c=this;a.on("mouseover",function(){return d("highlight")}).on("mouseout",function(){return d("downplay")});var d=function(a){var d=c.visualMapModel;d.option.hoverLink&&c.api.dispatchAction({type:a,batch:Aj(d.findTargetDataIndices(b),d)})}};a.prototype._getItemAlign=function(){var a=this.visualMapModel,b=a.option;if("vertical"===b.orient)return Px(a,this.api,a.itemSize);(a=b.align)&&"auto"!==a||(a="left");return a};a.prototype._renderEndsText=function(a,b,e,f,g){if(b){var c=new M,d=this.visualMapModel.textStyleModel;c.add(new ha({style:{x:f?"right"===g?e[0]:0:e[0]/2,y:e[1]/2,verticalAlign:"middle",align:f?g:"center",text:b,font:d.getFont(),fill:d.getTextColor()}}));a.add(c)}};a.prototype._getViewData=function(){var a=this.visualMapModel,b=C(a.getPieceList(),function(a,b){return{piece:a,indexInModelPieceList:b}}),e=a.get("text"),f=a.get("orient"),a=a.get("inverse");("horizontal"===f?a:!a)?b.reverse():e&&(e=e.slice().reverse());return{viewPieceList:b,endsText:e}};a.prototype._createItemSymbol=function(a,b,e){a.add(Pa(this.getControllerVisual(b,"symbol"),e[0],e[1],e[2],e[3],this.getControllerVisual(b,"color")))};a.prototype._onItemClick=function(a){var b=this.visualMapModel,c=b.option,f=J(c.selected),g=b.getSelectedMapKey(a);"single"===c.selectedMode?(f[g]=!0,r(f,function(a,b){f[b]=b===g})):f[g]=!f[g];this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:f})};a.type="visualMap.piecewise";return a}(aA),$H={label:{enabled:!0},decal:{show:!1}},$x=ma(),aI={},dy={value:"eq","\x3c":"lt","\x3c\x3d":"lte","\x3e":"gt","\x3e\x3d":"gte","\x3d":"eq","!\x3d":"ne","\x3c\x3e":"ne"},gI=function(){function b(a){null==(this._condVal=da(a)?new RegExp(a):tk(a)?a:null)&&(a=gb("Illegal regexp",a,"in"),ja(a))}b.prototype.evaluate=function(a){var b=typeof a;return"string"===b?this._condVal.test(a):"number"===b?this._condVal.test(a+""):!1};return b}(),cI=function(){function b(){}b.prototype.evaluate=function(){return this.value};return b}(),iI=function(){function b(){}b.prototype.evaluate=function(){for(var a=this.children,b=0;b<a.length;b++)if(!a[b].evaluate())return!1;return!0};return b}(),jI=function(){function b(){}b.prototype.evaluate=function(){for(var a=this.children,b=0;b<a.length;b++)if(a[b].evaluate())return!0;return!1};return b}(),dI=function(){function b(){}b.prototype.evaluate=function(){return!this.child.evaluate()};return b}(),hI=function(){function b(){}b.prototype.evaluate=function(){for(var a=!!this.valueParser,b=this.getValue,b=b(this.valueGetterParam),d=a?this.valueParser(b):null,e=0;e<this.subCondList.length;e++)if(!this.subCondList[e].evaluate(a?d:b))return!1;return!0};return b}(),lI=function(){function b(a,b){this._cond=qo(a,b)}b.prototype.evaluate=function(){return this._cond.evaluate()};return b}(),xN={type:"echarts:filter",transform:function(b){var a=b.upstream,c;b=kI(b.config,{valueGetterAttrMap:R({dimension:!0}),prepareGetValue:function(b){var c,d=b.dimension;b.hasOwnProperty("dimension")||(c=gb('Relation condition must has prop "dimension" specified.',"Illegal condition:",b),ja(c));var e=a.getDimensionInfo(d);e||(c=gb("Can not find dimension info via: "+d+".\n","Existing dimensions: ",a.cloneAllDimensionInfo(),".\n","Illegal condition:",b,".\n"),ja(c));return{dimIdx:e.index}},getValue:function(b){return a.retrieveValueFromItem(c,b.dimIdx)}});for(var d=[],e=0,f=a.count();e<f;e++)c=a.getRawDataItem(e),b.evaluate()&&d.push(c);return{data:d}}},Op="",Op='Valid config is like: { dimension: "age", order: "asc" } or [{ dimension: "age", order: "asc"], { dimension: "date", order: "desc" }]',yN={type:"echarts:sort",transform:function(b){var a=b.upstream,c="";b=xa(b.config);b.length||(c="Empty `config` in sort transform.",ja(c));var d=[];r(b,function(b){var e=b.dimension,f=b.order,g=b.parser,m=b.incomparable;null==e&&(c='Sort transform config must has "dimension" specified.'+Op,ja(c));"asc"!==f&&"desc"!==f&&(c='Sort transform config must has "order" specified.'+Op,ja(c));m&&"min"!==m&&"max"!==m&&ja('incomparable must be "min" or "max" rather than "'+m+'".');"asc"!==f&&"desc"!==f&&ja('order must be "asc" or "desc" rather than "'+f+'".');var n=a.getDimensionInfo(e);n||(c=gb("Can not find dimension info via: "+e+".\n","Existing dimensions: ",a.cloneAllDimensionInfo(),".\n","Illegal config:",b,".\n"),ja(c));e=g?cy.get(g):null;g&&!e&&(c=gb("Invalid parser name "+g+".\n","Illegal config:",b,".\n"),ja(c));d.push({dimIdx:n.index,parser:e,comparator:new is(f,m)})});b=a.sourceFormat;"arrayRows"!==b&&"objectRows"!==b&&(c='sourceFormat "'+b+'" is not supported yet',ja(c));b=[];for(var e=0,f=a.count();e<f;e++)b.push(a.getRawDataItem(e));b.sort(function(b,c){for(var e=0;e<d.length;e++){var f=d[e],g=a.retrieveValueFromItem(b,f.dimIdx),h=a.retrieveValueFromItem(c,f.dimIdx);f.parser&&(g=f.parser(g),h=f.parser(h));f=f.comparator.evaluate(g,h);if(0!==f)return f}return 0});return{data:b}}},zN=function(b){function a(){var a=null!==b&&b.apply(this,arguments)||this;a.type="dataset";return a}x(a,b);a.prototype.init=function(a,d,e){b.prototype.init.call(this,a,d,e);this._sourceManager=new Fy(this);this.option.transform&&Ge(this.option.transform)};a.prototype.mergeOption=function(a,d){b.prototype.mergeOption.call(this,a,d);this.option.transform&&Ge(this.option.transform)};a.prototype.optionUpdated=function(){this._sourceManager.dirty()};a.prototype.getSourceManager=function(){return this._sourceManager};a.type="dataset";a.defaultOption={seriesLayoutBy:"column"};return a}(W),AN=function(b){function a(){var a=null!==b&&b.apply(this,arguments)||this;a.type="dataset";return a}x(a,b);a.type="dataset";return a}(na);ca([function(b){b.registerPainter("canvas",aK)}]);ca([function(b){b.registerPainter("svg",$J)}]);ca([function(b){b.registerChartView(eK);b.registerSeriesModel(bK);b.registerLayout(Ig("line",!0));b.registerProcessor(b.PRIORITY.PROCESSOR.STATISTIC,Ut("line"))},function(b){b.registerChartView(iK);b.registerSeriesModel(fK);b.registerLayout(b.PRIORITY.VISUAL.LAYOUT,P(kt,"bar"));b.registerLayout(b.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,IJ);b.registerVisual({seriesType:"bar",reset:function(a){a.getData().setVisual("legendSymbol","roundRect")}});b.registerProcessor(b.PRIORITY.PROCESSOR.STATISTIC,Ut("bar"));b.registerAction({type:"changeAxisOrder",event:"changeAxisOrder",update:"update"},function(a,b){b.eachComponent({mainType:a.componentType||"series",query:a},function(b){a.sortInfo&&b.axis.setCategorySortInfo(a.sortInfo)})})},function(b){b.registerChartView(lK);b.registerSeriesModel(mK);Ds("pie",b.registerAction);b.registerLayout(P(cD,"pie"));b.registerProcessor(Jg("pie"))},function(b){ca(lu);b.registerSeriesModel(nK);b.registerChartView(qK);b.registerLayout(Ig("scatter"))},function(b){ca(tD);b.registerChartView(zK);b.registerSeriesModel(AK);b.registerLayout(rD);b.registerProcessor(Jg("radar"));b.registerPreprocessor(sD)},function(b){b.registerChartView(HK);b.registerSeriesModel(IK);b.registerLayout(JD);b.registerProcessor(b.PRIORITY.PROCESSOR.STATISTIC,ID);Ds("map",b.registerAction)},function(b){b.registerChartView(KK);b.registerSeriesModel(MK);b.registerLayout(XD);b.registerVisual(ZD);$D(b)},function(b){b.registerSeriesModel(NK);b.registerChartView(QK);b.registerVisual(TK);b.registerLayout(UK);aE(b)},function(b){b.registerChartView(VK);b.registerSeriesModel(WK);b.registerProcessor(rE);b.registerVisual(sE);b.registerVisual(tE);b.registerLayout(uE);b.registerLayout(b.PRIORITY.VISUAL.POST_CHART_LAYOUT,wE);b.registerLayout(yE);b.registerCoordinateSystem("graphView",{dimensions:tf.dimensions,create:AE});b.registerAction({type:"focusNodeAdjacency",event:"focusNodeAdjacency",update:"series:focusNodeAdjacency"},function(){});b.registerAction({type:"unfocusNodeAdjacency",event:"unfocusNodeAdjacency",update:"series:unfocusNodeAdjacency"},function(){});b.registerAction(XK,function(a,b){b.eachComponent({mainType:"series",query:a},function(b){var c=Qm(b.coordinateSystem,a);b.setCenter&&b.setCenter(c.center);b.setZoom&&b.setZoom(c.zoom)})})},function(b){b.registerChartView($K);b.registerSeriesModel(aL)},function(b){b.registerChartView(dL);b.registerSeriesModel(eL);b.registerLayout(HE);b.registerProcessor(Jg("funnel"))},function(b){ca(yv);b.registerChartView(fL);b.registerSeriesModel(gL);b.registerVisual(b.PRIORITY.VISUAL.BRUSH,iL)},function(b){b.registerChartView(tL);b.registerSeriesModel(uL);b.registerLayout(cF);b.registerVisual(sF);b.registerAction({type:"dragNode",event:"dragnode",update:"update"},function(a,b){b.eachComponent({mainType:"series",subType:"sankey",query:a},function(b){b.setNodePosition(a.dataIndex,[a.localX,a.localY])})})},function(b){b.registerSeriesModel(zz);b.registerChartView(vL);b.registerVisual(vF);b.registerLayout(wF);b.registerTransform(xL)},function(b){b.registerChartView(yL);b.registerSeriesModel(Az);b.registerPreprocessor(DF);b.registerVisual(FL);b.registerLayout(HL)},function(b){b.registerChartView(IL);b.registerSeriesModel(JL);b.registerLayout(Ig("effectScatter"))},function(b){b.registerChartView(NL);b.registerSeriesModel(QL);b.registerLayout(Fz);b.registerVisual(RL)},function(b){b.registerChartView(TL);b.registerSeriesModel(UL)},function(b){b.registerChartView(VL);b.registerSeriesModel(WL);b.registerLayout(P(kt,"pictorialBar"))},function(b){b.registerChartView(XL);b.registerSeriesModel(YL);b.registerLayout(MF);b.registerProcessor(Jg("themeRiver"))},function(b){b.registerChartView(ZL);b.registerSeriesModel($L);b.registerLayout(P(PF,"sunburst"));b.registerProcessor(P(Jg,"sunburst"));b.registerVisual(RF);OF(b)},function(b){b.registerChartView(cM);b.registerSeriesModel(aM)}]);ca(function(b){ca(lu);ca(ah)});ca(function(b){ca(ah);le.registerAxisPointerClass("PolarAxisPointer",fM);b.registerCoordinateSystem("polar",kM);b.registerComponentModel(gM);b.registerComponentView(uM);pf(b,"angle",hM,sM);pf(b,"radius",iM,tM);b.registerComponentView(nM);b.registerComponentView(rM);b.registerLayout(P(CG,"bar"))});ca(function(b){function a(a,d){d.update="geo:updateSelectStatus";b.registerAction(d,function(b,c){var d={};c.eachComponent({mainType:"geo",query:b},function(c){c[a](b.name);r(c.coordinateSystem.regions,function(a){d[a.name]=c.isSelected(a.name)||!1})});return{selected:d,name:b.name}})}b.registerCoordinateSystem("geo",Kz);b.registerComponentModel(vM);b.registerComponentView(wM);a("toggleSelected",{type:"geoToggleSelect",event:"geoselectchanged"});a("select",{type:"geoSelect",event:"geoselected"});a("unSelect",{type:"geoUnSelect",event:"geounselected"});b.registerAction({type:"geoRoam",event:"geoRoam",update:"updateTransform"},function(a,b){var c=a.componentType||"series";b.eachComponent({mainType:c,query:a},function(b){var d=b.coordinateSystem;if("geo"===d.type){var e=Qm(d,a,b.get("scaleLimit"));b.setCenter&&b.setCenter(e.center);b.setZoom&&b.setZoom(e.zoom);"series"===c&&r(b.seriesGroup,function(a){a.setCenter(e.center);a.setZoom(e.zoom)})}})})});ca(function(b){ca(ah);le.registerAxisPointerClass("SingleAxisPointer",EM);b.registerComponentView(FM);b.registerComponentView(AM);b.registerComponentModel(kk);pf(b,"single",kk,kk.defaultOption);b.registerCoordinateSystem("single",CM)});ca(yv);ca(function(b){b.registerComponentModel(GM);b.registerComponentView(JM);b.registerCoordinateSystem("calendar",KM)});ca(function(b){b.registerComponentModel(MM);b.registerComponentView(NM);b.registerPreprocessor(LM)});ca(function(b){b.registerComponentModel(QM);b.registerComponentView(RM);Bd.saveAsImage=Nz;Bd.magicType=TM;Bd.dataView=UM;Bd.dataZoom=YM;Bd.restore=VM;ca(LG)});ca(function(b){ca(ah);b.registerComponentModel(ZM);b.registerComponentView(bN);b.registerAction({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},function(){});b.registerAction({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},function(){})});ca(ah);ca(function(b){b.registerComponentView(cN);b.registerComponentModel(dN);b.registerPreprocessor(dH);b.registerVisual(b.PRIORITY.VISUAL.BRUSH,jH);b.registerAction({type:"brush",event:"brush",update:"updateVisual"},function(a,b){b.eachComponent({mainType:"brush",query:a},function(b){b.setAreas(a.areas)})});b.registerAction({type:"brushSelect",event:"brushSelected",update:"none"},function(){});b.registerAction({type:"brushEnd",event:"brushEnd",update:"none"},function(){});Bd.brush=fN});ca(function(b){b.registerComponentModel(gN);b.registerComponentView(hN)});ca(function(b){b.registerComponentModel(Vz);b.registerComponentView(kN);b.registerSubTypeDefaulter("timeline",function(){return"slider"});pH(b);b.registerPreprocessor(qH)});ca(function(b){b.registerComponentModel(lN);b.registerComponentView(mN);b.registerPreprocessor(function(a){a.markPoint=a.markPoint||{}})});ca(function(b){b.registerComponentModel(nN);b.registerComponentView(oN);b.registerPreprocessor(function(a){a.markLine=a.markLine||{}})});ca(function(b){b.registerComponentModel(pN);b.registerComponentView(qN);b.registerPreprocessor(function(a){a.markArea=a.markArea||{}})});ca(function(b){ca(Gx);ca(DH)});ca(function(b){ca(Lx);ca(Nx)});ca(Lx);ca(Nx);ca(function(b){ca(Xx);ca(Zx)});ca(Xx);ca(Zx);ca(function(b){b.registerPreprocessor(bI);b.registerVisual(b.PRIORITY.VISUAL.ARIA,ZH)});ca(function(b){b.registerTransform(xN);b.registerTransform(yN)});ca(function(b){b.registerComponentModel(zN);b.registerComponentView(AN)});T.Axis=Pb;T.ChartView=oa;T.ComponentModel=W;T.ComponentView=na;T.List=Wa;T.Model=la;T.PRIORITY=Py;T.SeriesModel=ra;T.color=wI;T.connect=function(b){if(A(b)){var a=b;b=null;Ca(a,function(a){null!=a.group&&(b=a.group)});b=b||"g_"+BJ++;Ca(a,function(a){a.group=b})}Mi[b]=!0;return b};T.dataTool={};T.dependencies={zrender:"5.0.3"};T.disConnect=Us;T.disconnect=Us;T.dispose=function(b){"string"===typeof b?b=Xd[b]:b instanceof ak||(b=am(b));b instanceof ak&&!b.isDisposed()&&b.dispose()};T.env=X;T.extendChartView=function(b){b=oa.extend(b);oa.registerClass(b);return b};T.extendComponentModel=function(b){b=W.extend(b);W.registerClass(b);return b};T.extendComponentView=function(b){b=na.extend(b);na.registerClass(b);return b};T.extendSeriesModel=function(b){b=ra.extend(b);ra.registerClass(b);return b};T.format=SJ;T.getCoordinateSystemDimensions=function(b){if(b=Yd.get(b))return b.getDimensionsInfo?b.getDimensionsInfo():b.dimensions.slice()};T.getInstanceByDom=am;T.getInstanceById=function(b){return Xd[b]};T.getMap=function(b){return(b=Ri.retrieveMap(b))&&b[0]&&{geoJson:b[0].geoJSON,specialAreas:b[0].specialAreas}};T.graphic=RJ;T.helper=OJ;T.init=function(b,a,c){if(!b)throw Error("Initialize failed: invalid dom.");var d=am(b);if(d)return console.warn("There is a chart instance already initialized on the dom."),d;!Dd(b)||"CANVAS"===b.nodeName.toUpperCase()||(b.clientWidth||c&&null!=c.width)&&(b.clientHeight||c&&null!=c.height)||console.warn("Can't get DOM width or height. Please check dom.clientWidth and dom.clientHeight. They should not be 0.For example, you may need to call this in the callback of window.onload.");var e=new ak(b,a,c);e.id="ec_"+AJ++;Xd[e.id]=e;Cq(b,bm,e.id);Wy(e);Ca(hm,function(a){a(e)});return e};T.innerDrawElementOnCanvas=Zl;T.matrix=tI;T.number=PJ;T.parseGeoJSON=sm;T.parseGeoJson=sm;T.registerAction=ac;T.registerCoordinateSystem=Ys;T.registerLayout=Zs;T.registerLoading=bt;T.registerLocale=Bl;T.registerMap=ct;T.registerPostInit=Vs;T.registerPostUpdate=Ws;T.registerPreprocessor=cm;T.registerProcessor=em;T.registerTheme=function(b,a){Zj[b]=a};T.registerTransform=Zy;T.registerVisual=id;T.setCanvasCreator=function(b){Dj.createCanvas=b};T.throttle=Fi;T.time=QJ;T.use=ca;T.util=TJ;T.vector=oI;T.version="5.0.1";T.zrUtil=nI;T.zrender=DI;Object.defineProperty(T,"__esModule",{value:!0})}); \ No newline at end of file diff --git a/src/main/resources/static/js/jquery-ui.min.js b/src/main/resources/static/js/jquery-ui.min.js new file mode 100644 index 0000000..25398a1 --- /dev/null +++ b/src/main/resources/static/js/jquery-ui.min.js @@ -0,0 +1,13 @@ +/*! jQuery UI - v1.12.1 - 2016-09-14 +* http://jqueryui.com +* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e=t.css("visibility");"inherit"===e;)t=t.parent(),e=t.css("visibility");return"hidden"!==e}function i(t){for(var e,i;t.length&&t[0]!==document;){if(e=t.css("position"),("absolute"===e||"relative"===e||"fixed"===e)&&(i=parseInt(t.css("zIndex"),10),!isNaN(i)&&0!==i))return i;t=t.parent()}return 0}function s(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.regional.en=t.extend(!0,{},this.regional[""]),this.regional["en-US"]=t.extend(!0,{},this.regional.en),this.dpDiv=n(t("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function n(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",i,function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",i,o)}function o(){t.datepicker._isDisabledDatepicker(m.inline?m.dpDiv.parent()[0]:m.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))}function a(e,i){t.extend(e,i);for(var s in i)null==i[s]&&(e[s]=i[s]);return e}function r(t){return function(){var e=this.element.val();t.apply(this,arguments),this._refresh(),e!==this.element.val()&&this._trigger("change")}}t.ui=t.ui||{},t.ui.version="1.12.1";var h=0,l=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},h=e.split(".")[0];e=e.split(".")[1];var l=h+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][l.toLowerCase()]=function(e){return!!t.data(e,l)},t[h]=t[h]||{},n=t[h][e],o=t[h][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:h,widgetName:e,widgetFullName:l}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,s,n=l.call(arguments,1),o=0,a=n.length;a>o;o++)for(i in n[o])s=n[o][i],n[o].hasOwnProperty(i)&&void 0!==s&&(e[i]=t.isPlainObject(s)?t.isPlainObject(e[i])?t.widget.extend({},e[i],s):t.widget.extend({},s):s);return e},t.widget.bridge=function(e,i){var s=i.prototype.widgetFullName||e;t.fn[e]=function(n){var o="string"==typeof n,a=l.call(arguments,1),r=this;return o?this.length||"instance"!==n?this.each(function(){var i,o=t.data(this,s);return"instance"===n?(r=o,!1):o?t.isFunction(o[n])&&"_"!==n.charAt(0)?(i=o[n].apply(o,a),i!==o&&void 0!==i?(r=i&&i.jquery?r.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+n+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+n+"'")}):r=void 0:(a.length&&(n=t.widget.extend.apply(null,[n].concat(a))),this.each(function(){var e=t.data(this,s);e?(e.option(n||{}),e._init&&e._init()):t.data(this,s,new i(n,this))})),r}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,i){i=t(i||this.defaultElement||this)[0],this.element=t(i),this.uuid=h++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},i!==this&&(t.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===i&&this.destroy()}}),this.document=t(i.style?i.ownerDocument:i.document||i),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,g,m,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||"flip").split(" "),k={};return _=s(v),v[0].preventDefault&&(n.at="left top"),p=_.width,f=_.height,g=_.offset,m=t.extend({},g),t.each(["my","at"],function(){var t,e,i=(n[this]||"").split(" ");1===i.length&&(i=r.test(i[0])?i.concat(["center"]):h.test(i[0])?["center"].concat(i):["center","center"]),i[0]=r.test(i[0])?i[0]:"center",i[1]=h.test(i[1])?i[1]:"center",t=l.exec(i[0]),e=l.exec(i[1]),k[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===n.at[0]?m.left+=p:"center"===n.at[0]&&(m.left+=p/2),"bottom"===n.at[1]?m.top+=f:"center"===n.at[1]&&(m.top+=f/2),u=e(k.at,p,f),m.left+=u[0],m.top+=u[1],this.each(function(){var s,r,h=t(this),l=h.outerWidth(),c=h.outerHeight(),d=i(this,"marginLeft"),_=i(this,"marginTop"),x=l+d+i(this,"marginRight")+y.width,C=c+_+i(this,"marginBottom")+y.height,D=t.extend({},m),I=e(k.my,h.outerWidth(),h.outerHeight());"right"===n.my[0]?D.left-=l:"center"===n.my[0]&&(D.left-=l/2),"bottom"===n.my[1]?D.top-=c:"center"===n.my[1]&&(D.top-=c/2),D.left+=I[0],D.top+=I[1],s={marginLeft:d,marginTop:_},t.each(["left","top"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:l,elemHeight:c,collisionPosition:s,collisionWidth:x,collisionHeight:C,offset:[u[0]+I[0],u[1]+I[1]],my:n.my,at:n.at,within:b,elem:h})}),n.using&&(r=function(t){var e=g.left-D.left,i=e+p-l,s=g.top-D.top,r=s+f-c,u={target:{element:v,left:g.left,top:g.top,width:p,height:f},element:{element:h,left:D.left,top:D.top,width:l,height:c},horizontal:0>i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-h,(i>0||u>a(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}});var c="ui-effects-",u="ui-effects-style",d="ui-effects-animated",p=t;t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(t,o){var a,r=o.re.exec(i),h=r&&o.parse(r),l=o.space||"rgba";return h?(a=s[l](h),s[c[l].cache]=a[c[l].cache],n=s._rgba=a._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,o.transparent),s):o[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var o,a="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],l=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=l.support={},p=t("<p>")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),l.fn=t.extend(l.prototype,{parse:function(n,a,r,h){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(a),a=e);var u=this,d=t.type(n),p=this._rgba=[];return a!==e&&(n=[n,a,r,h],d="array"),"string"===d?this.parse(s(n)||o._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof l?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var o=s.cache;f(s.props,function(t,e){if(!u[o]&&s.to){if("alpha"===t||null==n[t])return;u[o]=s.to(u._rgba)}u[o][e.idx]=i(n[t],e,!0)}),u[o]&&0>t.inArray(null,u[o].slice(0,3))&&(u[o][3]=1,s.from&&(u._rgba=s.from(u[o])))}),this):e},is:function(t){var i=l(t),s=!0,n=this;return f(c,function(t,o){var a,r=i[o.cache];return r&&(a=n[o.cache]||o.to&&o.to(n._rgba)||[],f(o.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===a[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=l(t),n=s._space(),o=c[n],a=0===this.alpha()?l("transparent"):this,r=a[o.cache]||o.to(a._rgba),h=r.slice();return s=s[o.cache],f(o.props,function(t,n){var o=n.idx,a=r[o],l=s[o],c=u[n.type]||{};null!==l&&(null===a?h[o]=l:(c.mod&&(l-a>c.mod/2?a+=c.mod:a-l>c.mod/2&&(a-=c.mod)),h[o]=i((l-a)*e+a,n)))}),this[n](h)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(e)._rgba;return l(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,o=t[2]/255,a=t[3],r=Math.max(s,n,o),h=Math.min(s,n,o),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-o)/l+360:n===r?60*(o-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=u?l/c:l/(2-c),[Math.round(e)%360,i,u,null==a?1:a]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],o=t[3],a=.5>=s?s*(1+i):s+i-s*i,r=2*s-a;return[Math.round(255*n(r,a,e+1/3)),Math.round(255*n(r,a,e)),Math.round(255*n(r,a,e-1/3)),o]},f(c,function(s,n){var o=n.props,a=n.cache,h=n.to,c=n.from;l.fn[s]=function(s){if(h&&!this[a]&&(this[a]=h(this._rgba)),s===e)return this[a].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[a].slice();return f(o,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=l(c(d)),n[a]=d,n):l(d)},f(o,function(e,i){l.fn[e]||(l.fn[e]=function(n){var o,a=t.type(n),h="alpha"===e?this._hsla?"hsla":"rgba":s,l=this[h](),c=l[i.idx];return"undefined"===a?c:("function"===a&&(n=n.call(this,c),a=t.type(n)),null==n&&i.empty?this:("string"===a&&(o=r.exec(n),o&&(n=c+parseFloat(o[2])*("+"===o[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var o,a,r="";if("transparent"!==n&&("string"!==t.type(n)||(o=s(n)))){if(n=l(o||n),!d.rgba&&1!==n._rgba[3]){for(a="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&a&&a.style;)try{r=t.css(a,"backgroundColor"),a=a.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(h){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=l(e.elem,i),e.end=l(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},l.hook(a),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},o=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(p),function(){function e(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,o={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(o[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(o[i]=n[i]);return o}function i(e,i){var s,o,a={};for(s in i)o=i[s],e[s]!==o&&(n[s]||(t.fx.step[s]||!isNaN(parseFloat(o)))&&(a[s]=o));return a}var s=["add","remove","toggle"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(p.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(n,o,a,r){var h=t.speed(o,a,r);return this.queue(function(){var o,a=t(this),r=a.attr("class")||"",l=h.children?a.find("*").addBack():a;l=l.map(function(){var i=t(this);return{el:i,start:e(this)}}),o=function(){t.each(s,function(t,e){n[e]&&a[e+"Class"](n[e])})},o(),l=l.map(function(){return this.end=e(this.el[0]),this.diff=i(this.start,this.end),this}),a.attr("class",r),l=l.map(function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,l.get()).done(function(){o(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),h.complete.call(a[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,o){return s?t.effects.animateClass.call(this,{add:i},s,n,o):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,o){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,o):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(e){return function(i,s,n,o,a){return"boolean"==typeof s||void 0===s?n?t.effects.animateClass.call(this,s?{add:i}:{remove:i},n,o,a):e.apply(this,arguments):t.effects.animateClass.call(this,{toggle:i},s,n,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,o){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,o)}})}(),function(){function e(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function i(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}function s(t,e){var i=e.outerWidth(),s=e.outerHeight(),n=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/,o=n.exec(t)||["",0,i,s,0];return{top:parseFloat(o[1])||0,right:"auto"===o[2]?i:parseFloat(o[2]),bottom:"auto"===o[3]?s:parseFloat(o[3]),left:parseFloat(o[4])||0}}t.expr&&t.expr.filters&&t.expr.filters.animated&&(t.expr.filters.animated=function(e){return function(i){return!!t(i).data(d)||e(i)}}(t.expr.filters.animated)),t.uiBackCompat!==!1&&t.extend(t.effects,{save:function(t,e){for(var i=0,s=e.length;s>i;i++)null!==e[i]&&t.data(c+e[i],t[0].style[e[i]])},restore:function(t,e){for(var i,s=0,n=e.length;n>s;s++)null!==e[s]&&(i=t.data(c+e[s]),t.css(e[s],i))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},o=document.activeElement;try{o.id}catch(a){o=document.body}return e.wrap(s),(e[0]===o||t.contains(e[0],o))&&t(o).trigger("focus"),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).trigger("focus")),e}}),t.extend(t.effects,{version:"1.12.1",define:function(e,i,s){return s||(s=i,i="effect"),t.effects.effect[e]=s,t.effects.effect[e].mode=i,s},scaledDimensions:function(t,e,i){if(0===e)return{height:0,width:0,outerHeight:0,outerWidth:0};var s="horizontal"!==i?(e||100)/100:1,n="vertical"!==i?(e||100)/100:1;return{height:t.height()*n,width:t.width()*s,outerHeight:t.outerHeight()*n,outerWidth:t.outerWidth()*s}},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var s=t.queue();e>1&&s.splice.apply(s,[1,0].concat(s.splice(e,i))),t.dequeue()},saveStyle:function(t){t.data(u,t[0].style.cssText)},restoreStyle:function(t){t[0].style.cssText=t.data(u)||"",t.removeData(u)},mode:function(t,e){var i=t.is(":hidden");return"toggle"===e&&(e=i?"show":"hide"),(i?"hide"===e:"show"===e)&&(e="none"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createPlaceholder:function(e){var i,s=e.css("position"),n=e.position();return e.css({marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()),/^(static|relative)/.test(s)&&(s="absolute",i=t("<"+e[0].nodeName+">").insertAfter(e).css({display:/^(inline|ruby)/.test(e.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight"),"float":e.css("float")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).addClass("ui-effects-placeholder"),e.data(c+"placeholder",i)),e.css({position:s,left:n.left,top:n.top}),i},removePlaceholder:function(t){var e=c+"placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(e){t.effects.restoreStyle(e),t.effects.removePlaceholder(e)},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var o=e.cssUnit(i);o[0]>0&&(n[i]=o[0]*s+o[1])}),n}}),t.fn.extend({effect:function(){function i(e){function i(){r.removeData(d),t.effects.cleanUp(r),"hide"===s.mode&&r.hide(),a()}function a(){t.isFunction(h)&&h.call(r[0]),t.isFunction(e)&&e()}var r=t(this);s.mode=c.shift(),t.uiBackCompat===!1||o?"none"===s.mode?(r[l](),a()):n.call(r[0],s,i):(r.is(":hidden")?"hide"===l:"show"===l)?(r[l](),a()):n.call(r[0],s,a)}var s=e.apply(this,arguments),n=t.effects.effect[s.effect],o=n.mode,a=s.queue,r=a||"fx",h=s.complete,l=s.mode,c=[],u=function(e){var i=t(this),s=t.effects.mode(i,l)||o;i.data(d,!0),c.push(s),o&&("show"===s||s===o&&"hide"===s)&&i.show(),o&&"none"===s||t.effects.saveStyle(i),t.isFunction(e)&&e()};return t.fx.off||!n?l?this[l](s.duration,h):this.each(function(){h&&h.call(this)}):a===!1?this.each(u).each(i):this.queue(r,u).queue(r,i)},show:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="show",this.effect.call(this,n) +}}(t.fn.show),hide:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(t.fn.hide),toggle:function(t){return function(s){if(i(s)||"boolean"==typeof s)return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s},cssClip:function(t){return t?this.css("clip","rect("+t.top+"px "+t.right+"px "+t.bottom+"px "+t.left+"px)"):s(this.css("clip"),this)},transfer:function(e,i){var s=t(this),n=t(e.to),o="fixed"===n.css("position"),a=t("body"),r=o?a.scrollTop():0,h=o?a.scrollLeft():0,l=n.offset(),c={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("<div class='ui-effects-transfer'></div>").appendTo("body").addClass(e.className).css({top:u.top-r,left:u.left-h,height:s.innerHeight(),width:s.innerWidth(),position:o?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),t.isFunction(i)&&i()})}}),t.fx.step.clip=function(e){e.clipInit||(e.start=t(e.elem).cssClip(),"string"==typeof e.end&&(e.end=s(e.end,e.elem)),e.clipInit=!0),t(e.elem).cssClip({top:e.pos*(e.end.top-e.start.top)+e.start.top,right:e.pos*(e.end.right-e.start.right)+e.start.right,bottom:e.pos*(e.end.bottom-e.start.bottom)+e.start.bottom,left:e.pos*(e.end.left-e.start.left)+e.start.left})}}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}();var f=t.effects;t.effects.define("blind","hide",function(e,i){var s={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},n=t(this),o=e.direction||"up",a=n.cssClip(),r={clip:t.extend({},a)},h=t.effects.createPlaceholder(n);r.clip[s[o][0]]=r.clip[s[o][1]],"show"===e.mode&&(n.cssClip(r.clip),h&&h.css(t.effects.clipToBox(r)),r.clip=a),h&&h.animate(t.effects.clipToBox(r),e.duration,e.easing),n.animate(r,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("bounce",function(e,i){var s,n,o,a=t(this),r=e.mode,h="hide"===r,l="show"===r,c=e.direction||"up",u=e.distance,d=e.times||5,p=2*d+(l||h?1:0),f=e.duration/p,g=e.easing,m="up"===c||"down"===c?"top":"left",_="up"===c||"left"===c,v=0,b=a.queue().length;for(t.effects.createPlaceholder(a),o=a.css(m),u||(u=a["top"===m?"outerHeight":"outerWidth"]()/3),l&&(n={opacity:1},n[m]=o,a.css("opacity",0).css(m,_?2*-u:2*u).animate(n,f,g)),h&&(u/=Math.pow(2,d-1)),n={},n[m]=o;d>v;v++)s={},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g).animate(n,f,g),u=h?2*u:u/2;h&&(s={opacity:0},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g)),a.queue(i),t.effects.unshift(a,b,p+1)}),t.effects.define("clip","hide",function(e,i){var s,n={},o=t(this),a=e.direction||"vertical",r="both"===a,h=r||"horizontal"===a,l=r||"vertical"===a;s=o.cssClip(),n.clip={top:l?(s.bottom-s.top)/2:s.top,right:h?(s.right-s.left)/2:s.right,bottom:l?(s.bottom-s.top)/2:s.bottom,left:h?(s.right-s.left)/2:s.left},t.effects.createPlaceholder(o),"show"===e.mode&&(o.cssClip(n.clip),n.clip=s),o.animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("drop","hide",function(e,i){var s,n=t(this),o=e.mode,a="show"===o,r=e.direction||"left",h="up"===r||"down"===r?"top":"left",l="up"===r||"left"===r?"-=":"+=",c="+="===l?"-=":"+=",u={opacity:0};t.effects.createPlaceholder(n),s=e.distance||n["top"===h?"outerHeight":"outerWidth"](!0)/2,u[h]=l+s,a&&(n.css(u),u[h]=c+s,u.opacity=1),n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("explode","hide",function(e,i){function s(){b.push(this),b.length===u*d&&n()}function n(){p.css({visibility:"visible"}),t(b).remove(),i()}var o,a,r,h,l,c,u=e.pieces?Math.round(Math.sqrt(e.pieces)):3,d=u,p=t(this),f=e.mode,g="show"===f,m=p.show().css("visibility","hidden").offset(),_=Math.ceil(p.outerWidth()/d),v=Math.ceil(p.outerHeight()/u),b=[];for(o=0;u>o;o++)for(h=m.top+o*v,c=o-(u-1)/2,a=0;d>a;a++)r=m.left+a*_,l=a-(d-1)/2,p.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-a*_,top:-o*v}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:_,height:v,left:r+(g?l*_:0),top:h+(g?c*v:0),opacity:g?0:1}).animate({left:r+(g?0:l*_),top:h+(g?0:c*v),opacity:g?1:0},e.duration||500,e.easing,s)}),t.effects.define("fade","toggle",function(e,i){var s="show"===e.mode;t(this).css("opacity",s?0:1).animate({opacity:s?1:0},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("fold","hide",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=e.size||15,h=/([0-9]+)%/.exec(r),l=!!e.horizFirst,c=l?["right","bottom"]:["bottom","right"],u=e.duration/2,d=t.effects.createPlaceholder(s),p=s.cssClip(),f={clip:t.extend({},p)},g={clip:t.extend({},p)},m=[p[c[0]],p[c[1]]],_=s.queue().length;h&&(r=parseInt(h[1],10)/100*m[a?0:1]),f.clip[c[0]]=r,g.clip[c[0]]=r,g.clip[c[1]]=0,o&&(s.cssClip(g.clip),d&&d.css(t.effects.clipToBox(g)),g.clip=p),s.queue(function(i){d&&d.animate(t.effects.clipToBox(f),u,e.easing).animate(t.effects.clipToBox(g),u,e.easing),i()}).animate(f,u,e.easing).animate(g,u,e.easing).queue(i),t.effects.unshift(s,_,4)}),t.effects.define("highlight","show",function(e,i){var s=t(this),n={backgroundColor:s.css("backgroundColor")};"hide"===e.mode&&(n.opacity=0),t.effects.saveStyle(s),s.css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("size",function(e,i){var s,n,o,a=t(this),r=["fontSize"],h=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],l=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],c=e.mode,u="effect"!==c,d=e.scale||"both",p=e.origin||["middle","center"],f=a.css("position"),g=a.position(),m=t.effects.scaledDimensions(a),_=e.from||m,v=e.to||t.effects.scaledDimensions(a,0);t.effects.createPlaceholder(a),"show"===c&&(o=_,_=v,v=o),n={from:{y:_.height/m.height,x:_.width/m.width},to:{y:v.height/m.height,x:v.width/m.width}},("box"===d||"both"===d)&&(n.from.y!==n.to.y&&(_=t.effects.setTransition(a,h,n.from.y,_),v=t.effects.setTransition(a,h,n.to.y,v)),n.from.x!==n.to.x&&(_=t.effects.setTransition(a,l,n.from.x,_),v=t.effects.setTransition(a,l,n.to.x,v))),("content"===d||"both"===d)&&n.from.y!==n.to.y&&(_=t.effects.setTransition(a,r,n.from.y,_),v=t.effects.setTransition(a,r,n.to.y,v)),p&&(s=t.effects.getBaseline(p,m),_.top=(m.outerHeight-_.outerHeight)*s.y+g.top,_.left=(m.outerWidth-_.outerWidth)*s.x+g.left,v.top=(m.outerHeight-v.outerHeight)*s.y+g.top,v.left=(m.outerWidth-v.outerWidth)*s.x+g.left),a.css(_),("content"===d||"both"===d)&&(h=h.concat(["marginTop","marginBottom"]).concat(r),l=l.concat(["marginLeft","marginRight"]),a.find("*[width]").each(function(){var i=t(this),s=t.effects.scaledDimensions(i),o={height:s.height*n.from.y,width:s.width*n.from.x,outerHeight:s.outerHeight*n.from.y,outerWidth:s.outerWidth*n.from.x},a={height:s.height*n.to.y,width:s.width*n.to.x,outerHeight:s.height*n.to.y,outerWidth:s.width*n.to.x};n.from.y!==n.to.y&&(o=t.effects.setTransition(i,h,n.from.y,o),a=t.effects.setTransition(i,h,n.to.y,a)),n.from.x!==n.to.x&&(o=t.effects.setTransition(i,l,n.from.x,o),a=t.effects.setTransition(i,l,n.to.x,a)),u&&t.effects.saveStyle(i),i.css(o),i.animate(a,e.duration,e.easing,function(){u&&t.effects.restoreStyle(i)})})),a.animate(v,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){var e=a.offset();0===v.opacity&&a.css("opacity",_.opacity),u||(a.css("position","static"===f?"relative":f).offset(e),t.effects.saveStyle(a)),i()}})}),t.effects.define("scale",function(e,i){var s=t(this),n=e.mode,o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"effect"!==n?0:100),a=t.extend(!0,{from:t.effects.scaledDimensions(s),to:t.effects.scaledDimensions(s,o,e.direction||"both"),origin:e.origin||["middle","center"]},e);e.fade&&(a.from.opacity=1,a.to.opacity=0),t.effects.effect.size.call(this,a,i)}),t.effects.define("puff","hide",function(e,i){var s=t.extend(!0,{},e,{fade:!0,percent:parseInt(e.percent,10)||150});t.effects.effect.scale.call(this,s,i)}),t.effects.define("pulsate","show",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=o||a,h=2*(e.times||5)+(r?1:0),l=e.duration/h,c=0,u=1,d=s.queue().length;for((o||!s.is(":visible"))&&(s.css("opacity",0).show(),c=1);h>u;u++)s.animate({opacity:c},l,e.easing),c=1-c;s.animate({opacity:c},l,e.easing),s.queue(i),t.effects.unshift(s,d,h+1)}),t.effects.define("shake",function(e,i){var s=1,n=t(this),o=e.direction||"left",a=e.distance||20,r=e.times||3,h=2*r+1,l=Math.round(e.duration/h),c="up"===o||"down"===o?"top":"left",u="up"===o||"left"===o,d={},p={},f={},g=n.queue().length;for(t.effects.createPlaceholder(n),d[c]=(u?"-=":"+=")+a,p[c]=(u?"+=":"-=")+2*a,f[c]=(u?"-=":"+=")+2*a,n.animate(d,l,e.easing);r>s;s++)n.animate(p,l,e.easing).animate(f,l,e.easing);n.animate(p,l,e.easing).animate(d,l/2,e.easing).queue(i),t.effects.unshift(n,g,h+1)}),t.effects.define("slide","show",function(e,i){var s,n,o=t(this),a={up:["bottom","top"],down:["top","bottom"],left:["right","left"],right:["left","right"]},r=e.mode,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h,u=e.distance||o["top"===l?"outerHeight":"outerWidth"](!0),d={};t.effects.createPlaceholder(o),s=o.cssClip(),n=o.position()[l],d[l]=(c?-1:1)*u+n,d.clip=o.cssClip(),d.clip[a[h][1]]=d.clip[a[h][0]],"show"===r&&(o.cssClip(d.clip),o.css(l,d[l]),d.clip=s,d[l]=n),o.animate(d,{queue:!1,duration:e.duration,easing:e.easing,complete:i})});var f;t.uiBackCompat!==!1&&(f=t.effects.define("transfer",function(e,i){t(this).transfer(e,i)})),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,.\/:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.widget("ui.accordion",{version:"1.12.1",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:"> li > :first-child, > :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),e.collapsible||e.active!==!1&&null!=e.active||(e.active=0),this._processPanels(),0>e.active&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t()}},_createIcons:function(){var e,i,s=this.options.icons;s&&(e=t("<span>"),this._addClass(e,"ui-accordion-header-icon","ui-icon "+s.header),e.prependTo(this.headers),i=this.active.children(".ui-accordion-header-icon"),this._removeClass(i,s.header)._addClass(i,null,s.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){return"active"===t?(this._activate(e),void 0):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||this.options.active!==!1||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons()),void 0)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),o=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:o=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:o=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:o=this.headers[0];break;case i.END:o=this.headers[s-1]}o&&(t(e.target).attr("tabIndex",-1),t(o).attr("tabIndex",0),t(o).trigger("focus"),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().trigger("focus")},refresh:function(){var e=this.options;this._processPanels(),e.active===!1&&e.collapsible===!0||!this.headers.length?(e.active=!1,this.active=t()):e.active===!1?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var e,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var e=t(this),i=e.uniqueId().attr("id"),s=e.next(),n=s.uniqueId().attr("id");e.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(e=n.height(),this.element.siblings(":visible").each(function(){var i=t(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(e-=i.outerHeight(!0))}),this.headers.each(function(){e-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,e-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===s&&(e=0,this.headers.next().each(function(){var i=t(this).is(":visible");i||t(this).show(),e=Math.max(e,t(this).css("height","").height()),i||t(this).hide()}).height(e))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i,s,n=this.options,o=this.active,a=t(e.currentTarget),r=a[0]===o[0],h=r&&n.collapsible,l=h?t():a.next(),c=o.next(),u={oldHeader:o,oldPanel:c,newHeader:h?t():a,newPanel:l};e.preventDefault(),r&&!n.collapsible||this._trigger("beforeActivate",e,u)===!1||(n.active=h?!1:this.headers.index(a),this.active=r?t():a,this._toggle(u),this._removeClass(o,"ui-accordion-header-active","ui-state-active"),n.icons&&(i=o.children(".ui-accordion-header-icon"),this._removeClass(i,null,n.icons.activeHeader)._addClass(i,null,n.icons.header)),r||(this._removeClass(a,"ui-accordion-header-collapsed")._addClass(a,"ui-accordion-header-active","ui-state-active"),n.icons&&(s=a.children(".ui-accordion-header-icon"),this._removeClass(s,null,n.icons.header)._addClass(s,null,n.icons.activeHeader)),this._addClass(a.next(),"ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(t(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,e,i){var s,n,o,a=this,r=0,h=t.css("box-sizing"),l=t.length&&(!e.length||t.index()<e.index()),c=this.options.animate||{},u=l&&c.down||c,d=function(){a._toggleComplete(i)};return"number"==typeof u&&(o=u),"string"==typeof u&&(n=u),n=n||u.easing||c.easing,o=o||u.duration||c.duration,e.length?t.length?(s=t.show().outerHeight(),e.animate(this.hideProps,{duration:o,easing:n,step:function(t,e){e.now=Math.round(t)}}),t.hide().animate(this.showProps,{duration:o,easing:n,complete:d,step:function(t,i){i.now=Math.round(t),"height"!==i.prop?"content-box"===h&&(r+=i.now):"content"!==a.options.heightStyle&&(i.now=Math.round(s-e.outerHeight()-r),r=0)}}),void 0):e.animate(this.hideProps,o,n,d):t.animate(this.showProps,o,n,d)},_toggleComplete:function(t){var e=t.oldPanel,i=e.prev();this._removeClass(e,"ui-accordion-content-active"),this._removeClass(i,"ui-accordion-header-active")._addClass(i,"ui-accordion-header-collapsed"),e.length&&(e.parent()[0].className=e.parent()[0].className),this._trigger("activate",null,t)}}),t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement}catch(i){e=t.body}return e||(e=t.body),e.nodeName||(e=t.body),e},t.widget("ui.menu",{version:"1.12.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&105>=e.keyCode?""+(e.keyCode-96):String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,h=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=h.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("<span>").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=h.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content")}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i)},_filterMenuItems:function(e){var i=e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return s.test(t.trim(t(this).children(".ui-menu-item-wrapper").text()))})}}),t.widget("ui.autocomplete",{version:"1.12.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n; +this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0)}}),this._initSource(),this.menu=t("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("<div>").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):this._trigger("search",e)!==!1?this._search(t):void 0},_search:function(t){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var e=++this.requestIndex;return t.proxy(function(t){e===this.requestIndex&&this.__response(t),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")},this)},__response:function(t){t&&(t=this._normalize(t)),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))},_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(e){return e.length&&e[0].label&&e[0].value?e:t.map(e,function(e){return"string"==typeof e?{label:e,value:e}:t.extend({},e,{label:e.label||e.value,value:e.value||e.label})})},_suggest:function(e){var i=this.menu.element.empty();this._renderMenu(i,e),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(t.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(e,i){var s=this;t.each(i,function(t,i){s._renderItemData(e,i)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e)},_renderItem:function(e,i){return t("<li>").append(t("<div>").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("<div>").text(i).appendTo(this.liveRegion))}}),t.ui.autocomplete;var g=/ui-corner-([a-z]){2,6}/g;t.widget("ui.controlgroup",{version:"1.12.1",defaultElement:"<div>",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var e=this,i=[];t.each(this.options.items,function(s,n){var o,a={};return n?"controlgroupLabel"===s?(o=e.element.find(n),o.each(function(){var e=t(this);e.children(".ui-controlgroup-label-contents").length||e.contents().wrapAll("<span class='ui-controlgroup-label-contents'></span>")}),e._addClass(o,null,"ui-widget ui-widget-content ui-state-default"),i=i.concat(o.get()),void 0):(t.fn[s]&&(a=e["_"+s+"Options"]?e["_"+s+"Options"]("middle"):{classes:{}},e.element.find(n).each(function(){var n=t(this),o=n[s]("instance"),r=t.widget.extend({},a);if("button"!==s||!n.parent(".ui-spinner").length){o||(o=n[s]()[s]("instance")),o&&(r.classes=e._resolveClassesValues(r.classes,o)),n[s](r);var h=n[s]("widget");t.data(h[0],"ui-controlgroup-data",o?o:n[s]("instance")),i.push(h[0])}})),void 0):void 0}),this.childWidgets=t(t.unique(i)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(e){this.childWidgets.each(function(){var i=t(this),s=i.data("ui-controlgroup-data");s&&s[e]&&s[e]()})},_updateCornerClass:function(t,e){var i="ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all",s=this._buildSimpleOptions(e,"label").classes.label;this._removeClass(t,null,i),this._addClass(t,null,s)},_buildSimpleOptions:function(t,e){var i="vertical"===this.options.direction,s={classes:{}};return s.classes[e]={middle:"",first:"ui-corner-"+(i?"top":"left"),last:"ui-corner-"+(i?"bottom":"right"),only:"ui-corner-all"}[t],s},_spinnerOptions:function(t){var e=this._buildSimpleOptions(t,"ui-spinner");return e.classes["ui-spinner-up"]="",e.classes["ui-spinner-down"]="",e},_buttonOptions:function(t){return this._buildSimpleOptions(t,"ui-button")},_checkboxradioOptions:function(t){return this._buildSimpleOptions(t,"ui-checkboxradio-label")},_selectmenuOptions:function(t){var e="vertical"===this.options.direction;return{width:e?"auto":!1,classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(e?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(e?"top":"left")},last:{"ui-selectmenu-button-open":e?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(e?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[t]}},_resolveClassesValues:function(e,i){var s={};return t.each(e,function(n){var o=i.options.classes[n]||"";o=t.trim(o.replace(g,"")),s[n]=(o+" "+e[n]).replace(/\s+/g," ")}),s},_setOption:function(t,e){return"direction"===t&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(t,e),"disabled"===t?(this._callChildMethod(e?"disable":"enable"),void 0):(this.refresh(),void 0)},refresh:function(){var e,i=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),e=this.childWidgets,this.options.onlyVisible&&(e=e.filter(":visible")),e.length&&(t.each(["first","last"],function(t,s){var n=e[s]().data("ui-controlgroup-data");if(n&&i["_"+n.widgetName+"Options"]){var o=i["_"+n.widgetName+"Options"](1===e.length?"only":s);o.classes=i._resolveClassesValues(o.classes,n),n.element[n.widgetName](o)}else i._updateCornerClass(e[s](),s)}),this._callChildMethod("refresh"))}}),t.widget("ui.checkboxradio",[t.ui.formResetMixin,{version:"1.12.1",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var e,i,s=this,n=this._super()||{};return this._readType(),i=this.element.labels(),this.label=t(i[i.length-1]),this.label.length||t.error("No label found for checkboxradio widget"),this.originalLabel="",this.label.contents().not(this.element[0]).each(function(){s.originalLabel+=3===this.nodeType?t(this).text():this.outerHTML}),this.originalLabel&&(n.label=this.originalLabel),e=this.element[0].disabled,null!=e&&(n.disabled=e),n},_create:function(){var t=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),t&&(this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this.icon&&this._addClass(this.icon,null,"ui-state-hover")),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var e=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===e&&/radio|checkbox/.test(this.type)||t.error("Can't create checkboxradio on element.nodeName="+e+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var e,i=this.element[0].name,s="input[name='"+t.ui.escapeSelector(i)+"']";return i?(e=this.form.length?t(this.form[0].elements).filter(s):t(s).filter(function(){return 0===t(this).form().length}),e.not(this.element)):t([])},_toggleClasses:function(){var e=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",e),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",e)._toggleClass(this.icon,null,"ui-icon-blank",!e),"radio"===this.type&&this._getRadioGroup().each(function(){var e=t(this).checkboxradio("instance");e&&e._removeClass(e.label,"ui-checkboxradio-checked","ui-state-active")})},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(t,e){return"label"!==t||e?(this._super(t,e),"disabled"===t?(this._toggleClass(this.label,null,"ui-state-disabled",e),this.element[0].disabled=e,void 0):(this.refresh(),void 0)):void 0},_updateIcon:function(e){var i="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=t("<span>"),this.iconSpace=t("<span> </span>"),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(i+=e?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,e?"ui-icon-blank":"ui-icon-check")):i+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",i),e||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){var t=this.label.contents().not(this.element[0]);this.icon&&(t=t.not(this.icon[0])),this.iconSpace&&(t=t.not(this.iconSpace[0])),t.remove(),this.label.append(this.options.label)},refresh:function(){var t=this.element[0].checked,e=this.element[0].disabled;this._updateIcon(t),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",t),null!==this.options.label&&this._updateLabel(),e!==this.options.disabled&&this._setOptions({disabled:e})}}]),t.ui.checkboxradio,t.widget("ui.button",{version:"1.12.1",defaultElement:"<button>",options:{classes:{"ui-button":"ui-corner-all"},disabled:null,icon:null,iconPosition:"beginning",label:null,showLabel:!0},_getCreateOptions:function(){var t,e=this._super()||{};return this.isInput=this.element.is("input"),t=this.element[0].disabled,null!=t&&(e.disabled=t),this.originalLabel=this.isInput?this.element.val():this.element.html(),this.originalLabel&&(e.label=this.originalLabel),e},_create:function(){!this.option.showLabel&!this.options.icon&&(this.options.showLabel=!0),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled||!1),this.hasTitle=!!this.element.attr("title"),this.options.label&&this.options.label!==this.originalLabel&&(this.isInput?this.element.val(this.options.label):this.element.html(this.options.label)),this._addClass("ui-button","ui-widget"),this._setOption("disabled",this.options.disabled),this._enhance(),this.element.is("a")&&this._on({keyup:function(e){e.keyCode===t.ui.keyCode.SPACE&&(e.preventDefault(),this.element[0].click?this.element[0].click():this.element.trigger("click"))}})},_enhance:function(){this.element.is("button")||this.element.attr("role","button"),this.options.icon&&(this._updateIcon("icon",this.options.icon),this._updateTooltip())},_updateTooltip:function(){this.title=this.element.attr("title"),this.options.showLabel||this.title||this.element.attr("title",this.options.label)},_updateIcon:function(e,i){var s="iconPosition"!==e,n=s?this.options.iconPosition:i,o="top"===n||"bottom"===n;this.icon?s&&this._removeClass(this.icon,null,this.options.icon):(this.icon=t("<span>"),this._addClass(this.icon,"ui-button-icon","ui-icon"),this.options.showLabel||this._addClass("ui-button-icon-only")),s&&this._addClass(this.icon,null,i),this._attachIcon(n),o?(this._addClass(this.icon,null,"ui-widget-icon-block"),this.iconSpace&&this.iconSpace.remove()):(this.iconSpace||(this.iconSpace=t("<span> </span>"),this._addClass(this.iconSpace,"ui-button-icon-space")),this._removeClass(this.icon,null,"ui-wiget-icon-block"),this._attachIconSpace(n))},_destroy:function(){this.element.removeAttr("role"),this.icon&&this.icon.remove(),this.iconSpace&&this.iconSpace.remove(),this.hasTitle||this.element.removeAttr("title")},_attachIconSpace:function(t){this.icon[/^(?:end|bottom)/.test(t)?"before":"after"](this.iconSpace)},_attachIcon:function(t){this.element[/^(?:end|bottom)/.test(t)?"append":"prepend"](this.icon)},_setOptions:function(t){var e=void 0===t.showLabel?this.options.showLabel:t.showLabel,i=void 0===t.icon?this.options.icon:t.icon;e||i||(t.showLabel=!0),this._super(t)},_setOption:function(t,e){"icon"===t&&(e?this._updateIcon(t,e):this.icon&&(this.icon.remove(),this.iconSpace&&this.iconSpace.remove())),"iconPosition"===t&&this._updateIcon(t,e),"showLabel"===t&&(this._toggleClass("ui-button-icon-only",null,!e),this._updateTooltip()),"label"===t&&(this.isInput?this.element.val(e):(this.element.html(e),this.icon&&(this._attachIcon(this.options.iconPosition),this._attachIconSpace(this.options.iconPosition)))),this._super(t,e),"disabled"===t&&(this._toggleClass(null,"ui-state-disabled",e),this.element[0].disabled=e,e&&this.element.blur())},refresh:function(){var t=this.element.is("input, button")?this.element[0].disabled:this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOptions({disabled:t}),this._updateTooltip()}}),t.uiBackCompat!==!1&&(t.widget("ui.button",t.ui.button,{options:{text:!0,icons:{primary:null,secondary:null}},_create:function(){this.options.showLabel&&!this.options.text&&(this.options.showLabel=this.options.text),!this.options.showLabel&&this.options.text&&(this.options.text=this.options.showLabel),this.options.icon||!this.options.icons.primary&&!this.options.icons.secondary?this.options.icon&&(this.options.icons.primary=this.options.icon):this.options.icons.primary?this.options.icon=this.options.icons.primary:(this.options.icon=this.options.icons.secondary,this.options.iconPosition="end"),this._super()},_setOption:function(t,e){return"text"===t?(this._super("showLabel",e),void 0):("showLabel"===t&&(this.options.text=e),"icon"===t&&(this.options.icons.primary=e),"icons"===t&&(e.primary?(this._super("icon",e.primary),this._super("iconPosition","beginning")):e.secondary&&(this._super("icon",e.secondary),this._super("iconPosition","end"))),this._superApply(arguments),void 0)}}),t.fn.button=function(e){return function(){return!this.length||this.length&&"INPUT"!==this[0].tagName||this.length&&"INPUT"===this[0].tagName&&"checkbox"!==this.attr("type")&&"radio"!==this.attr("type")?e.apply(this,arguments):(t.ui.checkboxradio||t.error("Checkboxradio widget missing"),0===arguments.length?this.checkboxradio({icon:!1}):this.checkboxradio.apply(this,arguments))}}(t.fn.button),t.fn.buttonset=function(){return t.ui.controlgroup||t.error("Controlgroup widget missing"),"option"===arguments[0]&&"items"===arguments[1]&&arguments[2]?this.controlgroup.apply(this,[arguments[0],"items.button",arguments[2]]):"option"===arguments[0]&&"items"===arguments[1]?this.controlgroup.apply(this,[arguments[0],"items.button"]):("object"==typeof arguments[0]&&arguments[0].items&&(arguments[0].items={button:arguments[0].items}),this.controlgroup.apply(this,arguments))}),t.ui.button,t.extend(t.ui,{datepicker:{version:"1.12.1"}});var m;t.extend(s.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return a(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var s,n,o;s=e.nodeName.toLowerCase(),n="div"===s||"span"===s,e.id||(this.uuid+=1,e.id="dp"+this.uuid),o=this._newInst(t(e),n),o.settings=t.extend({},i||{}),"input"===s?this._connectDatepicker(e,o):n&&this._inlineDatepicker(e,o)},_newInst:function(e,i){var s=e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:s,input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?n(t("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(e,i){var s=t(e);i.append=t([]),i.trigger=t([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).on("keydown",this._doKeyDown).on("keypress",this._doKeyPress).on("keyup",this._doKeyUp),this._autoSize(i),t.data(e,"datepicker",i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var s,n,o,a=this._get(i,"appendText"),r=this._get(i,"isRTL");i.append&&i.append.remove(),a&&(i.append=t("<span class='"+this._appendClass+"'>"+a+"</span>"),e[r?"before":"after"](i.append)),e.off("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&e.on("focus",this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),o=this._get(i,"buttonImage"),i.trigger=t(this._get(i,"buttonImageOnly")?t("<img/>").addClass(this._triggerClass).attr({src:o,alt:n,title:n}):t("<button type='button'></button>").addClass(this._triggerClass).html(o?t("<img/>").attr({src:o,alt:n,title:n}):n)),e[r?"before":"after"](i.trigger),i.trigger.on("click",function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,o=new Date(2009,11,20),a=this._get(t,"dateFormat");a.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},o.setMonth(e(this._get(t,a.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,a.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,n,o){var r,h,l,c,u,d=this._dialogInst;return d||(this.uuid+=1,r="dp"+this.uuid,this._dialogInput=t("<input type='text' id='"+r+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.on("keydown",this._doKeyDown),t("body").append(this._dialogInput),d=this._dialogInst=this._newInst(this._dialogInput,!1),d.settings={},t.data(this._dialogInput[0],"datepicker",d)),a(d.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(d,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(h=document.documentElement.clientWidth,l=document.documentElement.clientHeight,c=document.documentElement.scrollLeft||document.body.scrollLeft,u=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[h/2-100+c,l/2-150+u]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),d.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],"datepicker",d),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,"datepicker");s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty(),m===n&&(m=null))},_enableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,o.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,o.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,"datepicker")}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(e,i,s){var n,o,r,h,l=this._getInst(e);return 2===arguments.length&&"string"==typeof i?"defaults"===i?t.extend({},t.datepicker._defaults):l?"all"===i?t.extend({},l.settings):this._get(l,i):null:(n=i||{},"string"==typeof i&&(n={},n[i]=s),l&&(this._curInst===l&&this._hideDatepicker(),o=this._getDateDatepicker(e,!0),r=this._getMinMaxDate(l,"min"),h=this._getMinMaxDate(l,"max"),a(l.settings,n),null!==r&&void 0!==n.dateFormat&&void 0===n.minDate&&(l.settings.minDate=this._formatDate(l,r)),null!==h&&void 0!==n.dateFormat&&void 0===n.maxDate&&(l.settings.maxDate=this._formatDate(l,h)),"disabled"in n&&(n.disabled?this._disableDatepicker(e):this._enableDatepicker(e)),this._attachments(t(e),l),this._autoSize(l),this._setDate(l,o),this._updateAlternate(l),this._updateDatepicker(l)),void 0)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,o=t.datepicker._getInst(e.target),a=!0,r=o.dpDiv.is(".ui-datepicker-rtl");if(o._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),a=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",o.dpDiv),n[0]&&t.datepicker._selectDay(e.target,o.selectedMonth,o.selectedYear,n[0]),i=t.datepicker._get(o,"onSelect"),i?(s=t.datepicker._formatDate(o),i.apply(o.input?o.input[0]:null,[s,o])):t.datepicker._hideDatepicker(),!1;case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),a=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),a=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?1:-1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),a=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?-1:1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),a=e.ctrlKey||e.metaKey;break;default:a=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):a=!1;a&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(e){var i,s,n=t.datepicker._getInst(e.target);return t.datepicker._get(n,"constrainInput")?(i=t.datepicker._possibleChars(t.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),e.ctrlKey||e.metaKey||" ">s||!i||i.indexOf(s)>-1):void 0},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(e){if(e=e.target||e,"input"!==e.nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),!t.datepicker._isDisabledDatepicker(e)&&t.datepicker._lastInput!==e){var s,n,o,r,h,l,c;s=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==s&&(t.datepicker._curInst.dpDiv.stop(!0,!0),s&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),n=t.datepicker._get(s,"beforeShow"),o=n?n.apply(e,[e,s]):{},o!==!1&&(a(s.settings,o),s.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(s),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),r=!1,t(e).parents().each(function(){return r|="fixed"===t(this).css("position"),!r}),h={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,s.dpDiv.empty(),s.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(s),h=t.datepicker._checkOffset(s,h,r),s.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":r?"fixed":"absolute",display:"none",left:h.left+"px",top:h.top+"px"}),s.inline||(l=t.datepicker._get(s,"showAnim"),c=t.datepicker._get(s,"duration"),s.dpDiv.css("z-index",i(t(e))+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[l]?s.dpDiv.show(l,t.datepicker._get(s,"showOptions"),c):s.dpDiv[l||"show"](l?c:null),t.datepicker._shouldFocusInput(s)&&s.input.trigger("focus"),t.datepicker._curInst=s)) +}},_updateDatepicker:function(e){this.maxRows=4,m=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var i,s=this._getNumberOfMonths(e),n=s[1],a=17,r=e.dpDiv.find("."+this._dayOverClass+" a");r.length>0&&o.apply(r.get(0)),e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",a*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.trigger("focus"),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),o=e.dpDiv.outerHeight(),a=e.input?e.input.outerWidth():0,r=e.input?e.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-a:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+r?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+o>l&&l>o?Math.abs(o+r):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,o,a=this._curInst;!a||e&&a!==t.data(e,"datepicker")||this._datepickerShowing&&(i=this._get(a,"showAnim"),s=this._get(a,"duration"),n=function(){t.datepicker._tidyDialog(a)},t.effects&&(t.effects.effect[i]||t.effects[i])?a.dpDiv.hide(i,t.datepicker._get(a,"showOptions"),s,n):a.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,o=this._get(a,"onClose"),o&&o.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),o=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(o,i+("M"===s?this._get(o,"showCurrentAtPos"):0),s),this._updateDatepicker(o))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),o=this._getInst(n[0]);o["selected"+("M"===s?"Month":"Year")]=o["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(o),this._adjustDate(n)},_selectDay:function(e,i,s,n){var o,a=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(a[0])||(o=this._getInst(a[0]),o.selectedDay=o.currentDay=t("a",n).html(),o.selectedMonth=o.currentMonth=i,o.selectedYear=o.currentYear=s,this._selectDate(e,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),o=this._getInst(n[0]);i=null!=i?i:this._formatDate(o),o.input&&o.input.val(i),this._updateAlternate(o),s=this._get(o,"onSelect"),s?s.apply(o.input?o.input[0]:null,[i,o]):o.input&&o.input.trigger("change"),o.inline?this._updateDatepicker(o):(this._hideDatepicker(),this._lastInput=o.input[0],"object"!=typeof o.input[0]&&o.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,o=this._get(e,"altField");o&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(o).val(n))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(e,i,s){if(null==e||null==i)throw"Invalid arguments";if(i="object"==typeof i?""+i:i+"",""===i)return null;var n,o,a,r,h=0,l=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,c="string"!=typeof l?l:(new Date).getFullYear()%100+parseInt(l,10),u=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,d=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,g=-1,m=-1,_=-1,v=-1,b=!1,y=function(t){var i=e.length>n+1&&e.charAt(n+1)===t;return i&&n++,i},w=function(t){var e=y(t),s="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n="y"===t?s:1,o=RegExp("^\\d{"+n+","+s+"}"),a=i.substring(h).match(o);if(!a)throw"Missing number at position "+h;return h+=a[0].length,parseInt(a[0],10)},k=function(e,s,n){var o=-1,a=t.map(y(e)?n:s,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(a,function(t,e){var s=e[1];return i.substr(h,s.length).toLowerCase()===s.toLowerCase()?(o=e[0],h+=s.length,!1):void 0}),-1!==o)return o+1;throw"Unknown name at position "+h},x=function(){if(i.charAt(h)!==e.charAt(n))throw"Unexpected literal at position "+h;h++};for(n=0;e.length>n;n++)if(b)"'"!==e.charAt(n)||y("'")?x():b=!1;else switch(e.charAt(n)){case"d":_=w("d");break;case"D":k("D",u,d);break;case"o":v=w("o");break;case"m":m=w("m");break;case"M":m=k("M",p,f);break;case"y":g=w("y");break;case"@":r=new Date(w("@")),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"!":r=new Date((w("!")-this._ticksTo1970)/1e4),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"'":y("'")?x():b=!0;break;default:x()}if(i.length>h&&(a=i.substr(h),!/^\s+/.test(a)))throw"Extra/unparsed characters found in date: "+a;if(-1===g?g=(new Date).getFullYear():100>g&&(g+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c>=g?0:-100)),v>-1)for(m=1,_=v;;){if(o=this._getDaysInMonth(g,m-1),o>=_)break;m++,_-=o}if(r=this._daylightSavingAdjust(new Date(g,m-1,_)),r.getFullYear()!==g||r.getMonth()+1!==m||r.getDate()!==_)throw"Invalid date";return r},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,o=(i?i.dayNames:null)||this._defaults.dayNames,a=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},l=function(t,e,i){var s=""+e;if(h(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return h(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||h("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=l("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,o);break;case"o":u+=l("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=l("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),a,r);break;case"y":u+=h("y")?e.getFullYear():(10>e.getFullYear()%100?"0":"")+e.getFullYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":h("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,e){return void 0!==t.settings[e]?t.settings[e]:this._defaults[e]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),o=n,a=this._getFormatConfig(t);try{o=this.parseDate(i,s,a)||n}catch(r){s=e?"":s}t.selectedDay=o.getDate(),t.drawMonth=t.selectedMonth=o.getMonth(),t.drawYear=t.selectedYear=o.getFullYear(),t.currentDay=s?o.getDate():0,t.currentMonth=s?o.getMonth():0,t.currentYear=s?o.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},o=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,o=n.getFullYear(),a=n.getMonth(),r=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":r+=parseInt(l[1],10);break;case"w":case"W":r+=7*parseInt(l[1],10);break;case"m":case"M":a+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a));break;case"y":case"Y":o+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a))}l=h.exec(i)}return new Date(o,a,r)},a=null==i||""===i?s:"string"==typeof i?o(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return a=a&&"Invalid Date"==""+a?s:a,a&&(a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)),this._daylightSavingAdjust(a)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,o=t.selectedYear,a=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=a.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=a.getMonth(),t.drawYear=t.selectedYear=t.currentYear=a.getFullYear(),n===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).on(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,o,a,r,h,l,c,u,d,p,f,g,m,_,v,b,y,w,k,x,C,D,I,T,P,M,S,H,z,O,A,N,W,E,F,L,R=new Date,B=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),Y=this._get(t,"isRTL"),j=this._get(t,"showButtonPanel"),q=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),U=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),$=this._get(t,"stepMonths"),X=1!==U[0]||1!==U[1],G=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),Q=this._getMinMaxDate(t,"min"),J=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,te=t.drawYear;if(0>Z&&(Z+=12,te--),J)for(e=this._daylightSavingAdjust(new Date(J.getFullYear(),J.getMonth()-U[0]*U[1]+1,J.getDate())),e=Q&&Q>e?Q:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-$,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":q?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+$,1)),this._getFormatConfig(t)):n,o=this._canAdjustMonth(t,1,te,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>":q?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>",a=this._get(t,"currentText"),r=this._get(t,"gotoCurrent")&&t.currentDay?G:B,a=K?this.formatDate(a,r,this._getFormatConfig(t)):a,h=t.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(t,"closeText")+"</button>",l=j?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(t,r)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+a+"</button>":"")+(Y?"":h)+"</div>":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),g=this._get(t,"monthNamesShort"),m=this._get(t,"beforeShowDay"),_=this._get(t,"showOtherMonths"),v=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;U[0]>k;k++){for(x="",this.maxRows=4,C=0;U[1]>C;C++){if(D=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),I=" ui-corner-all",T="",X){if(T+="<div class='ui-datepicker-group",U[1]>1)switch(C){case 0:T+=" ui-datepicker-group-first",I=" ui-corner-"+(Y?"right":"left");break;case U[1]-1:T+=" ui-datepicker-group-last",I=" ui-corner-"+(Y?"left":"right");break;default:T+=" ui-datepicker-group-middle",I=""}T+="'>"}for(T+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+I+"'>"+(/all|left/.test(I)&&0===k?Y?o:s:"")+(/all|right/.test(I)&&0===k?Y?s:o:"")+this._generateMonthYearHeader(t,Z,te,Q,J,k>0||C>0,f,g)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",P=u?"<th class='ui-datepicker-week-col'>"+this._get(t,"weekHeader")+"</th>":"",w=0;7>w;w++)M=(w+c)%7,P+="<th scope='col'"+((w+c+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+d[M]+"'>"+p[M]+"</span></th>";for(T+=P+"</tr></thead><tbody>",S=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,S)),H=(this._getFirstDayOfMonth(te,Z)-c+7)%7,z=Math.ceil((H+S)/7),O=X?this.maxRows>z?this.maxRows:z:z,this.maxRows=O,A=this._daylightSavingAdjust(new Date(te,Z,1-H)),N=0;O>N;N++){for(T+="<tr>",W=u?"<td class='ui-datepicker-week-col'>"+this._get(t,"calculateWeek")(A)+"</td>":"",w=0;7>w;w++)E=m?m.apply(t.input?t.input[0]:null,[A]):[!0,""],F=A.getMonth()!==Z,L=F&&!v||!E[0]||Q&&Q>A||J&&A>J,W+="<td class='"+((w+c+6)%7>=5?" ui-datepicker-week-end":"")+(F?" ui-datepicker-other-month":"")+(A.getTime()===D.getTime()&&Z===t.selectedMonth&&t._keyEvent||b.getTime()===A.getTime()&&b.getTime()===D.getTime()?" "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" ui-state-disabled":"")+(F&&!_?"":" "+E[1]+(A.getTime()===G.getTime()?" "+this._currentClass:"")+(A.getTime()===B.getTime()?" ui-datepicker-today":""))+"'"+(F&&!_||!E[2]?"":" title='"+E[2].replace(/'/g,"'")+"'")+(L?"":" data-handler='selectDay' data-event='click' data-month='"+A.getMonth()+"' data-year='"+A.getFullYear()+"'")+">"+(F&&!_?" ":L?"<span class='ui-state-default'>"+A.getDate()+"</span>":"<a class='ui-state-default"+(A.getTime()===B.getTime()?" ui-state-highlight":"")+(A.getTime()===G.getTime()?" ui-state-active":"")+(F?" ui-priority-secondary":"")+"' href='#'>"+A.getDate()+"</a>")+"</td>",A.setDate(A.getDate()+1),A=this._daylightSavingAdjust(A);T+=W+"</tr>"}Z++,Z>11&&(Z=0,te++),T+="</tbody></table>"+(X?"</div>"+(U[0]>0&&C===U[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),x+=T}y+=x}return y+=l,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,o,a,r){var h,l,c,u,d,p,f,g,m=this._get(t,"changeMonth"),_=this._get(t,"changeYear"),v=this._get(t,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",y="";if(o||!m)y+="<span class='ui-datepicker-month'>"+a[e]+"</span>";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",c=0;12>c;c++)(!h||c>=s.getMonth())&&(!l||n.getMonth()>=c)&&(y+="<option value='"+c+"'"+(c===e?" selected='selected'":"")+">"+r[c]+"</option>");y+="</select>"}if(v||(b+=y+(!o&&m&&_?"":" ")),!t.yearshtml)if(t.yearshtml="",o||!_)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e},f=p(u[0]),g=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,g=n?Math.min(g,n.getFullYear()):g,t.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";g>=f;f++)t.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";t.yearshtml+="</select>",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),v&&(b+=(!o&&m&&_?"":" ")+y),b+="</div>"},_adjustInstDate:function(t,e,i){var s=t.selectedYear+("Y"===i?e:0),n=t.selectedMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),a=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,o)));t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),a=null,r=null,h=this._get(t,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),a=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(a+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||e.getTime()>=n.getTime())&&(!o||e.getTime()<=o.getTime())&&(!a||e.getFullYear()>=a)&&(!r||r>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new s,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.12.1",t.datepicker,t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var _=!1;t(document).on("mouseup",function(){_=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!_){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,n="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),_=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,_=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.ui.safeBlur=function(e){e&&"body"!==e.nodeName.toLowerCase()&&t(e).trigger("blur")},t.widget("ui.draggable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(t,e){this._super(t,e),"handle"===t&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(e){var i=this.options;return this.helper||i.disabled||t(e.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(e),this.handle?(this._blurActiveElement(e),this._blockFrames(i.iframeFix===!0?"iframe":i.iframeFix),!0):!1)},_blockFrames:function(e){this.iframeBlocks=this.document.find(e).map(function(){var e=t(this);return t("<div>").css("position","absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(e){var i=t.ui.safeActiveElement(this.document[0]),s=t(e.target);s.closest(i).length||t.ui.safeBlur(i)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===t(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(e),this.originalPosition=this.position=this._generatePosition(e,!1),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",e)===!1?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(e,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",e,s)===!1)return this._mouseUp(new t.Event("mouseup",e)),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,s=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(s=t.ui.ddmanager.drop(this,e)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",e)!==!1&&i._clear()}):this._trigger("stop",e)!==!1&&this._clear(),!1},_mouseUp:function(e){return this._unblockFrames(),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),this.handleElement.is(e.target)&&this.element.trigger("focus"),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new t.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(e){return this.options.handle?!!t(e.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper),n=s?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var e=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var t=this.element.position(),e=this._isRootNode(this.scrollParent[0]);return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())} +},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options,o=this.document[0];return this.relativeContainer=null,n.containment?"window"===n.containment?(this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,t(o).width()-this.helperProportions.width-this.margins.left,(t(o).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=t(n.containment),s=i[0],s&&(e=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0)},_convertPositionTo:function(t,e){e||(e=this.position);var i="absolute"===t?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:e.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(t,e){var i,s,n,o,a=this.options,r=this._isRootNode(this.scrollParent[0]),h=t.pageX,l=t.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),e&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.left<i[0]&&(h=i[0]+this.offset.click.left),t.pageY-this.offset.click.top<i[1]&&(l=i[1]+this.offset.click.top),t.pageX-this.offset.click.left>i[2]&&(h=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),a.grid&&(n=a.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/a.grid[1])*a.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-a.grid[1]:n+a.grid[1]:n,o=a.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/a.grid[0])*a.grid[0]:this.originalPageX,h=i?o-this.offset.click.left>=i[0]||o-this.offset.click.left>i[2]?o:o-this.offset.click.left>=i[0]?o-a.grid[0]:o+a.grid[0]:o),"y"===a.axis&&(h=this.originalPageX),"x"===a.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s,this],!0),/^(drag|start|stop)/.test(e)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i,s){var n=t.extend({},i,{item:s.element});s.sortables=[],t(s.options.connectToSortable).each(function(){var i=t(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",e,n))})},stop:function(e,i,s){var n=t.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,t.each(s.sortables,function(){var t=this;t.isOver?(t.isOver=0,s.cancelHelperRemoval=!0,t.cancelHelperRemoval=!1,t._storedCSS={position:t.placeholder.css("position"),top:t.placeholder.css("top"),left:t.placeholder.css("left")},t._mouseStop(e),t.options.helper=t.options._helper):(t.cancelHelperRemoval=!0,t._trigger("deactivate",e,n))})},drag:function(e,i,s){t.each(s.sortables,function(){var n=!1,o=this;o.positionAbs=s.positionAbs,o.helperProportions=s.helperProportions,o.offset.click=s.offset.click,o._intersectsWith(o.containerCache)&&(n=!0,t.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==o&&this._intersectsWith(this.containerCache)&&t.contains(o.element[0],this.element[0])&&(n=!1),n})),n?(o.isOver||(o.isOver=1,s._parent=i.helper.parent(),o.currentItem=i.helper.appendTo(o.element).data("ui-sortable-item",!0),o.options._helper=o.options.helper,o.options.helper=function(){return i.helper[0]},e.target=o.currentItem[0],o._mouseCapture(e,!0),o._mouseStart(e,!0,!0),o.offset.click.top=s.offset.click.top,o.offset.click.left=s.offset.click.left,o.offset.parent.left-=s.offset.parent.left-o.offset.parent.left,o.offset.parent.top-=s.offset.parent.top-o.offset.parent.top,s._trigger("toSortable",e),s.dropped=o.element,t.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,o.fromOutside=s),o.currentItem&&(o._mouseDrag(e),i.position=o.position)):o.isOver&&(o.isOver=0,o.cancelHelperRemoval=!0,o.options._revert=o.options.revert,o.options.revert=!1,o._trigger("out",e,o._uiHash(o)),o._mouseStop(e,!0),o.options.revert=o.options._revert,o.options.helper=o.options._helper,o.placeholder&&o.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(e),i.position=s._generatePosition(e,!0),s._trigger("fromSortable",e),s.dropped=!1,t.each(s.sortables,function(){this.refreshPositions()}))})}}),t.ui.plugin.add("draggable","cursor",{start:function(e,i,s){var n=t("body"),o=s.options;n.css("cursor")&&(o._cursor=n.css("cursor")),n.css("cursor",o.cursor)},stop:function(e,i,s){var n=s.options;n._cursor&&t("body").css("cursor",n._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("opacity")&&(o._opacity=n.css("opacity")),n.css("opacity",o.opacity)},stop:function(e,i,s){var n=s.options;n._opacity&&t(i.helper).css("opacity",n._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(t,e,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(e,i,s){var n=s.options,o=!1,a=s.scrollParentNotHidden[0],r=s.document[0];a!==r&&"HTML"!==a.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+a.offsetHeight-e.pageY<n.scrollSensitivity?a.scrollTop=o=a.scrollTop+n.scrollSpeed:e.pageY-s.overflowOffset.top<n.scrollSensitivity&&(a.scrollTop=o=a.scrollTop-n.scrollSpeed)),n.axis&&"y"===n.axis||(s.overflowOffset.left+a.offsetWidth-e.pageX<n.scrollSensitivity?a.scrollLeft=o=a.scrollLeft+n.scrollSpeed:e.pageX-s.overflowOffset.left<n.scrollSensitivity&&(a.scrollLeft=o=a.scrollLeft-n.scrollSpeed))):(n.axis&&"x"===n.axis||(e.pageY-t(r).scrollTop()<n.scrollSensitivity?o=t(r).scrollTop(t(r).scrollTop()-n.scrollSpeed):t(window).height()-(e.pageY-t(r).scrollTop())<n.scrollSensitivity&&(o=t(r).scrollTop(t(r).scrollTop()+n.scrollSpeed))),n.axis&&"y"===n.axis||(e.pageX-t(r).scrollLeft()<n.scrollSensitivity?o=t(r).scrollLeft(t(r).scrollLeft()-n.scrollSpeed):t(window).width()-(e.pageX-t(r).scrollLeft())<n.scrollSensitivity&&(o=t(r).scrollLeft(t(r).scrollLeft()+n.scrollSpeed)))),o!==!1&&t.ui.ddmanager&&!n.dropBehaviour&&t.ui.ddmanager.prepareOffsets(s,e)}}),t.ui.plugin.add("draggable","snap",{start:function(e,i,s){var n=s.options;s.snapElements=[],t(n.snap.constructor!==String?n.snap.items||":data(ui-draggable)":n.snap).each(function(){var e=t(this),i=e.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:e.outerWidth(),height:e.outerHeight(),top:i.top,left:i.left})})},drag:function(e,i,s){var n,o,a,r,h,l,c,u,d,p,f=s.options,g=f.snapTolerance,m=i.offset.left,_=m+s.helperProportions.width,v=i.offset.top,b=v+s.helperProportions.height;for(d=s.snapElements.length-1;d>=0;d--)h=s.snapElements[d].left-s.margins.left,l=h+s.snapElements[d].width,c=s.snapElements[d].top-s.margins.top,u=c+s.snapElements[d].height,h-g>_||m>l+g||c-g>b||v>u+g||!t.contains(s.snapElements[d].item.ownerDocument,s.snapElements[d].item)?(s.snapElements[d].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=!1):("inner"!==f.snapMode&&(n=g>=Math.abs(c-b),o=g>=Math.abs(u-v),a=g>=Math.abs(h-_),r=g>=Math.abs(l-m),n&&(i.position.top=s._convertPositionTo("relative",{top:c-s.helperProportions.height,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left)),p=n||o||a||r,"outer"!==f.snapMode&&(n=g>=Math.abs(c-v),o=g>=Math.abs(u-b),a=g>=Math.abs(h-m),r=g>=Math.abs(l-_),n&&(i.position.top=s._convertPositionTo("relative",{top:c,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[d].snapping&&(n||o||a||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=n||o||a||r||p)}}),t.ui.plugin.add("draggable","stack",{start:function(e,i,s){var n,o=s.options,a=t.makeArray(t(o.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});a.length&&(n=parseInt(t(a[0]).css("zIndex"),10)||0,t(a).each(function(e){t(this).css("zIndex",n+e)}),this.css("zIndex",n+a.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("zIndex")&&(o._zIndex=n.css("zIndex")),n.css("zIndex",o.zIndex)},stop:function(e,i,s){var n=s.options;n._zIndex&&t(i.helper).css("zIndex",n._zIndex)}}),t.ui.draggable,t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("<div>"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,g=s.maxWidth&&p>s.maxWidth,m=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),g&&(p-=l),m&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable,t.widget("ui.dialog",{version:"1.12.1",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;0>i&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),t=e.parent.children().eq(e.index),t.length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog +},disable:t.noop,enable:t.noop,close:function(e){var i=this;this._isOpen&&this._trigger("beforeClose",e)!==!1&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||t.ui.safeBlur(t.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",e)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(e,i){var s=!1,n=this.uiDialog.siblings(".ui-front:visible").map(function(){return+t(this).css("z-index")}).get(),o=Math.max.apply(null,n);return o>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",o+1),s=!0),s&&!i&&this._trigger("focus",e),s},open:function(){var e=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),void 0):(this._isOpen=!0,this.opener=t(t.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"),void 0)},_focusTabbable:function(){var t=this._focusedElement;t||(t=this.element.find("[autofocus]")),t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).trigger("focus")},_keepFocus:function(e){function i(){var e=t.ui.safeActiveElement(this.document[0]),i=this.uiDialog[0]===e||t.contains(this.uiDialog[0],e);i||this._focusTabbable()}e.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=t("<div>").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),this.close(e),void 0;if(e.keyCode===t.ui.keyCode.TAB&&!e.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");e.target!==n[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==s[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(this._delay(function(){n.trigger("focus")}),e.preventDefault()):(this._delay(function(){s.trigger("focus")}),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("<div>"),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=t("<button type='button'></button>").button({label:t("<a>").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("<span>").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(e,"ui-dialog-title"),this._title(e),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title?t.text(this.options.title):t.html(" ")},_createButtonPane:function(){this.uiDialogButtonPane=t("<div>"),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("<div>").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||t.isArray(i)&&!i.length?(this._removeClass(this.uiDialog,"ui-dialog-buttons"),void 0):(t.each(i,function(i,s){var n,o;s=t.isFunction(s)?{click:s,text:i}:s,s=t.extend({type:"button"},s),n=s.click,o={icon:s.icon,iconPosition:s.iconPosition,showLabel:s.showLabel,icons:s.icons,text:s.text},delete s.click,delete s.icon,delete s.iconPosition,delete s.showLabel,delete s.icons,"boolean"==typeof s.text&&delete s.text,t("<button></button>",s).button(o).appendTo(e.uiButtonSet).on("click",function(){n.apply(e.element[0],arguments)})}),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),void 0)},_makeDraggable:function(){function e(t){return{position:t.position,offset:t.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){i._addClass(t(this),"ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,e(n))},drag:function(t,s){i._trigger("drag",t,e(s))},stop:function(n,o){var a=o.offset.left-i.document.scrollLeft(),r=o.offset.top-i.document.scrollTop();s.position={my:"left top",at:"left"+(a>=0?"+":"")+a+" "+"top"+(r>=0?"+":"")+r,of:i.window},i._removeClass(t(this),"ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,e(o))}})},_makeResizable:function(){function e(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}var i=this,s=this.options,n=s.resizable,o=this.uiDialog.css("position"),a="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:a,start:function(s,n){i._addClass(t(this),"ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,e(n))},resize:function(t,s){i._trigger("resize",t,e(s))},stop:function(n,o){var a=i.uiDialog.offset(),r=a.left-i.document.scrollLeft(),h=a.top-i.document.scrollTop();s.height=i.uiDialog.height(),s.width=i.uiDialog.width(),s.position={my:"left top",at:"left"+(r>=0?"+":"")+r+" "+"top"+(h>=0?"+":"")+h,of:i.window},i._removeClass(t(this),"ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,e(o))}}).css("position",o)},_trackFocus:function(){this._on(this.widget(),{focusin:function(e){this._makeFocusTarget(),this._focusedElement=t(e.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var e=this._trackingInstances(),i=t.inArray(this,e);-1!==i&&e.splice(i,1)},_trackingInstances:function(){var t=this.document.data("ui-dialog-instances");return t||(t=[],this.document.data("ui-dialog-instances",t)),t},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(e){var i=this,s=!1,n={};t.each(e,function(t,e){i._setOption(t,e),t in i.sizeRelatedOptions&&(s=!0),t in i.resizableRelatedOptions&&(n[t]=e)}),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(e,i){var s,n,o=this.uiDialog;"disabled"!==e&&(this._super(e,i),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:t("<a>").text(""+this.options.closeText).html()}),"draggable"===e&&(s=o.is(":data(ui-draggable)"),s&&!i&&o.draggable("destroy"),!s&&i&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&(n=o.is(":data(ui-resizable)"),n&&!i&&o.resizable("destroy"),n&&"string"==typeof i&&o.resizable("option","handles",i),n||i===!1||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),e=Math.max(0,s.minHeight-t),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=t(this);return t("<div>").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return t(e.target).closest(".ui-dialog").length?!0:!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=!0;this._delay(function(){e=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(t){e||this._allowInteraction(t)||(t.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=t("<div>").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var t=this.document.data("ui-dialog-overlays")-1;t?this.document.data("ui-dialog-overlays",t):(this._off(this.document,"focusin"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null}}}),t.uiBackCompat!==!1&&t.widget("ui.dialog",t.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(t,e){"dialogClass"===t&&this.uiDialog.removeClass(this.options.dialogClass).addClass(e),this._superApply(arguments)}}),t.ui.dialog,t.widget("ui.droppable",{version:"1.12.1",widgetEventPrefix:"drop",options:{accept:"*",addClasses:!0,greedy:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=t.isFunction(s)?s:function(t){return t.is(s)},this.proportions=function(){return arguments.length?(e=arguments[0],void 0):e?e:e={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(i.scope),i.addClasses&&this._addClass("ui-droppable")},_addToManager:function(e){t.ui.ddmanager.droppables[e]=t.ui.ddmanager.droppables[e]||[],t.ui.ddmanager.droppables[e].push(this)},_splice:function(t){for(var e=0;t.length>e;e++)t[e]===this&&t.splice(e,1)},_destroy:function(){var e=t.ui.ddmanager.droppables[this.options.scope];this._splice(e)},_setOption:function(e,i){if("accept"===e)this.accept=t.isFunction(i)?i:function(t){return t.is(i)};else if("scope"===e){var s=t.ui.ddmanager.droppables[this.options.scope];this._splice(s),this._addToManager(i)}this._super(e,i)},_activate:function(e){var i=t.ui.ddmanager.current;this._addActiveClass(),i&&this._trigger("activate",e,this.ui(i))},_deactivate:function(e){var i=t.ui.ddmanager.current;this._removeActiveClass(),i&&this._trigger("deactivate",e,this.ui(i))},_over:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this._addHoverClass(),this._trigger("over",e,this.ui(i)))},_out:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this._removeHoverClass(),this._trigger("out",e,this.ui(i)))},_drop:function(e,i){var s=i||t.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var i=t(this).droppable("instance");return i.options.greedy&&!i.options.disabled&&i.options.scope===s.options.scope&&i.accept.call(i.element[0],s.currentItem||s.element)&&v(s,t.extend(i,{offset:i.element.offset()}),i.options.tolerance,e)?(n=!0,!1):void 0}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this._removeActiveClass(),this._removeHoverClass(),this._trigger("drop",e,this.ui(s)),this.element):!1):!1},ui:function(t){return{draggable:t.currentItem||t.element,helper:t.helper,position:t.position,offset:t.positionAbs}},_addHoverClass:function(){this._addClass("ui-droppable-hover")},_removeHoverClass:function(){this._removeClass("ui-droppable-hover")},_addActiveClass:function(){this._addClass("ui-droppable-active")},_removeActiveClass:function(){this._removeClass("ui-droppable-active")}});var v=t.ui.intersect=function(){function t(t,e,i){return t>=e&&e+i>t}return function(e,i,s,n){if(!i.offset)return!1;var o=(e.positionAbs||e.position.absolute).left+e.margins.left,a=(e.positionAbs||e.position.absolute).top+e.margins.top,r=o+e.helperProportions.width,h=a+e.helperProportions.height,l=i.offset.left,c=i.offset.top,u=l+i.proportions().width,d=c+i.proportions().height;switch(s){case"fit":return o>=l&&u>=r&&a>=c&&d>=h;case"intersect":return o+e.helperProportions.width/2>l&&u>r-e.helperProportions.width/2&&a+e.helperProportions.height/2>c&&d>h-e.helperProportions.height/2;case"pointer":return t(n.pageY,c,i.proportions().height)&&t(n.pageX,l,i.proportions().width);case"touch":return(a>=c&&d>=a||h>=c&&d>=h||c>a&&h>d)&&(o>=l&&u>=o||r>=l&&u>=r||l>o&&r>u);default:return!1}}}();t.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,i){var s,n,o=t.ui.ddmanager.droppables[e.options.scope]||[],a=i?i.type:null,r=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(s=0;o.length>s;s++)if(!(o[s].options.disabled||e&&!o[s].accept.call(o[s].element[0],e.currentItem||e.element))){for(n=0;r.length>n;n++)if(r[n]===o[s].element[0]){o[s].proportions().height=0;continue t}o[s].visible="none"!==o[s].element.css("display"),o[s].visible&&("mousedown"===a&&o[s]._activate.call(o[s],i),o[s].offset=o[s].element.offset(),o[s].proportions({width:o[s].element[0].offsetWidth,height:o[s].element[0].offsetHeight}))}},drop:function(e,i){var s=!1;return t.each((t.ui.ddmanager.droppables[e.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&v(e,this,this.options.tolerance,i)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],e.currentItem||e.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(e,i){e.element.parentsUntil("body").on("scroll.droppable",function(){e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)})},drag:function(e,i){e.options.refreshPositions&&t.ui.ddmanager.prepareOffsets(e,i),t.each(t.ui.ddmanager.droppables[e.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,o,a=v(e,this,this.options.tolerance,i),r=!a&&this.isover?"isout":a&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,o=this.element.parents(":data(ui-droppable)").filter(function(){return t(this).droppable("instance").options.scope===n}),o.length&&(s=t(o[0]).droppable("instance"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(e,i){e.element.parentsUntil("body").off("scroll.droppable"),e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)}},t.uiBackCompat!==!1&&t.widget("ui.droppable",t.ui.droppable,{options:{hoverClass:!1,activeClass:!1},_addActiveClass:function(){this._super(),this.options.activeClass&&this.element.addClass(this.options.activeClass)},_removeActiveClass:function(){this._super(),this.options.activeClass&&this.element.removeClass(this.options.activeClass)},_addHoverClass:function(){this._super(),this.options.hoverClass&&this.element.addClass(this.options.hoverClass)},_removeHoverClass:function(){this._super(),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass)}}),t.ui.droppable,t.widget("ui.progressbar",{version:"1.12.1",options:{classes:{"ui-progressbar":"ui-corner-all","ui-progressbar-value":"ui-corner-left","ui-progressbar-complete":"ui-corner-right"},max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.attr({role:"progressbar","aria-valuemin":this.min}),this._addClass("ui-progressbar","ui-widget ui-widget-content"),this.valueDiv=t("<div>").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(t){return void 0===t?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),void 0)},_constrainedValue:function(t){return void 0===t&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).width(i.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,e===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("<div>").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}}),t.widget("ui.selectable",t.ui.mouse,{version:"1.12.1",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e=this;this._addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){e.elementPos=t(e.element[0]).offset(),e.selectees=t(e.options.filter,e.element[0]),e._addClass(e.selectees,"ui-selectee"),e.selectees.each(function(){var i=t(this),s=i.offset(),n={left:s.left-e.elementPos.left,top:s.top-e.elementPos.top};t.data(this,"selectable-item",{element:this,$element:i,left:n.left,top:n.top,right:n.left+i.outerWidth(),bottom:n.top+i.outerHeight(),startselected:!1,selected:i.hasClass("ui-selected"),selecting:i.hasClass("ui-selecting"),unselecting:i.hasClass("ui-unselecting")})})},this.refresh(),this._mouseInit(),this.helper=t("<div>"),this._addClass(this.helper,"ui-selectable-helper")},_destroy:function(){this.selectees.removeData("selectable-item"),this._mouseDestroy()},_mouseStart:function(e){var i=this,s=this.options;this.opos=[e.pageX,e.pageY],this.elementPos=t(this.element[0]).offset(),this.options.disabled||(this.selectees=t(s.filter,this.element[0]),this._trigger("start",e),t(s.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=t.data(this,"selectable-item");s.startselected=!0,e.metaKey||e.ctrlKey||(i._removeClass(s.$element,"ui-selected"),s.selected=!1,i._addClass(s.$element,"ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",e,{unselecting:s.element}))}),t(e.target).parents().addBack().each(function(){var s,n=t.data(this,"selectable-item");return n?(s=!e.metaKey&&!e.ctrlKey||!n.$element.hasClass("ui-selected"),i._removeClass(n.$element,s?"ui-unselecting":"ui-selected")._addClass(n.$element,s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",e,{selecting:n.element}):i._trigger("unselecting",e,{unselecting:n.element}),!1):void 0}))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,o=this.opos[0],a=this.opos[1],r=e.pageX,h=e.pageY;return o>r&&(i=r,r=o,o=i),a>h&&(i=h,h=a,a=i),this.helper.css({left:o,top:a,width:r-o,height:h-a}),this.selectees.each(function(){var i=t.data(this,"selectable-item"),l=!1,c={};i&&i.element!==s.element[0]&&(c.left=i.left+s.elementPos.left,c.right=i.right+s.elementPos.left,c.top=i.top+s.elementPos.top,c.bottom=i.bottom+s.elementPos.top,"touch"===n.tolerance?l=!(c.left>r||o>c.right||c.top>h||a>c.bottom):"fit"===n.tolerance&&(l=c.left>o&&r>c.right&&c.top>a&&h>c.bottom),l?(i.selected&&(s._removeClass(i.$element,"ui-selected"),i.selected=!1),i.unselecting&&(s._removeClass(i.$element,"ui-unselecting"),i.unselecting=!1),i.selecting||(s._addClass(i.$element,"ui-selecting"),i.selecting=!0,s._trigger("selecting",e,{selecting:i.element}))):(i.selecting&&((e.metaKey||e.ctrlKey)&&i.startselected?(s._removeClass(i.$element,"ui-selecting"),i.selecting=!1,s._addClass(i.$element,"ui-selected"),i.selected=!0):(s._removeClass(i.$element,"ui-selecting"),i.selecting=!1,i.startselected&&(s._addClass(i.$element,"ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",e,{unselecting:i.element}))),i.selected&&(e.metaKey||e.ctrlKey||i.startselected||(s._removeClass(i.$element,"ui-selected"),i.selected=!1,s._addClass(i.$element,"ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",e,{unselecting:i.element})))))}),!1}},_mouseStop:function(e){var i=this;return this.dragged=!1,t(".ui-unselecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");i._removeClass(s.$element,"ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",e,{unselected:s.element})}),t(".ui-selecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");i._removeClass(s.$element,"ui-selecting")._addClass(s.$element,"ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",e,{selected:s.element})}),this._trigger("stop",e),this.helper.remove(),!1}}),t.widget("ui.selectmenu",[t.ui.formResetMixin,{version:"1.12.1",defaultElement:"<select>",options:{appendTo:null,classes:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"},disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:!1,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr("id");this.ids={element:e,button:e+"-button",menu:e+"-menu"},this._drawButton(),this._drawMenu(),this._bindFormResetHandler(),this._rendered=!1,this.menuItems=t()},_drawButton:function(){var e,i=this,s=this._parseOption(this.element.find("option:selected"),this.element[0].selectedIndex);this.labels=this.element.labels().attr("for",this.ids.button),this._on(this.labels,{click:function(t){this.button.focus(),t.preventDefault()}}),this.element.hide(),this.button=t("<span>",{tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true",title:this.element.attr("title")}).insertAfter(this.element),this._addClass(this.button,"ui-selectmenu-button ui-selectmenu-button-closed","ui-button ui-widget"),e=t("<span>").appendTo(this.button),this._addClass(e,"ui-selectmenu-icon","ui-icon "+this.options.icons.button),this.buttonItem=this._renderButtonItem(s).appendTo(this.button),this.options.width!==!1&&this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){i._rendered||i._refreshMenu()})},_drawMenu:function(){var e=this;this.menu=t("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=t("<div>").append(this.menu),this._addClass(this.menuWrap,"ui-selectmenu-menu","ui-front"),this.menuWrap.appendTo(this._appendTo()),this.menuInstance=this.menu.menu({classes:{"ui-menu":"ui-corner-bottom"},role:"listbox",select:function(t,i){t.preventDefault(),e._setSelection(),e._select(i.item.data("ui-selectmenu-item"),t)},focus:function(t,i){var s=i.item.data("ui-selectmenu-item");null!=e.focusIndex&&s.index!==e.focusIndex&&(e._trigger("focus",t,{item:s}),e.isOpen||e._select(s,t)),e.focusIndex=s.index,e.button.attr("aria-activedescendant",e.menuItems.eq(s.index).attr("id"))}}).menu("instance"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(this._getSelectedItem().data("ui-selectmenu-item")||{})),null===this.options.width&&this._resizeButton()},_refreshMenu:function(){var t,e=this.element.find("option");this.menu.empty(),this._parseOptions(e),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup").find(".ui-menu-item-wrapper"),this._rendered=!0,e.length&&(t=this._getSelectedItem(),this.menuInstance.focus(null,t),this._setAria(t.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(t){this.options.disabled||(this._rendered?(this._removeClass(this.menu.find(".ui-state-active"),null,"ui-state-active"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.menuItems.length&&(this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",t)))},_position:function(){this.menuWrap.position(t.extend({of:this.button},this.options.position))},close:function(t){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",t))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderButtonItem:function(e){var i=t("<span>");return this._setText(i,e.label),this._addClass(i,"ui-selectmenu-text"),i},_renderMenu:function(e,i){var s=this,n="";t.each(i,function(i,o){var a;o.optgroup!==n&&(a=t("<li>",{text:o.optgroup}),s._addClass(a,"ui-selectmenu-optgroup","ui-menu-divider"+(o.element.parent("optgroup").prop("disabled")?" ui-state-disabled":"")),a.appendTo(e),n=o.optgroup),s._renderItemData(e,o)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-selectmenu-item",e)},_renderItem:function(e,i){var s=t("<li>"),n=t("<div>",{title:i.element.attr("title")});return i.disabled&&this._addClass(s,null,"ui-state-disabled"),this._setText(n,i.label),s.append(n).appendTo(e)},_setText:function(t,e){e?t.text(e):t.html(" ")},_move:function(t,e){var i,s,n=".ui-menu-item";this.isOpen?i=this.menuItems.eq(this.focusIndex).parent("li"):(i=this.menuItems.eq(this.element[0].selectedIndex).parent("li"),n+=":not(.ui-state-disabled)"),s="first"===t||"last"===t?i["first"===t?"prevAll":"nextAll"](n).eq(-1):i[t+"All"](n).eq(0),s.length&&this.menuInstance.focus(e,s)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex).parent("li")},_toggle:function(t){this[this.isOpen?"close":"open"](t)},_setSelection:function(){var t;this.range&&(window.getSelection?(t=window.getSelection(),t.removeAllRanges(),t.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(e){this.isOpen&&(t(e.target).closest(".ui-selectmenu-menu, #"+t.ui.escapeSelector(this.ids.button)).length||this.close(e))}},_buttonEvents:{mousedown:function(){var t;window.getSelection?(t=window.getSelection(),t.rangeCount&&(this.range=t.getRangeAt(0))):this.range=document.selection.createRange()},click:function(t){this._setSelection(),this._toggle(t)},keydown:function(e){var i=!0;switch(e.keyCode){case t.ui.keyCode.TAB:case t.ui.keyCode.ESCAPE:this.close(e),i=!1;break;case t.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(e);break;case t.ui.keyCode.UP:e.altKey?this._toggle(e):this._move("prev",e);break;case t.ui.keyCode.DOWN:e.altKey?this._toggle(e):this._move("next",e);break;case t.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(e):this._toggle(e);break;case t.ui.keyCode.LEFT:this._move("prev",e);break;case t.ui.keyCode.RIGHT:this._move("next",e);break;case t.ui.keyCode.HOME:case t.ui.keyCode.PAGE_UP:this._move("first",e);break;case t.ui.keyCode.END:case t.ui.keyCode.PAGE_DOWN:this._move("last",e);break;default:this.menu.trigger(e),i=!1}i&&e.preventDefault()}},_selectFocusedItem:function(t){var e=this.menuItems.eq(this.focusIndex).parent("li");e.hasClass("ui-state-disabled")||this._select(e.data("ui-selectmenu-item"),t)},_select:function(t,e){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=t.index,this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(t)),this._setAria(t),this._trigger("select",e,{item:t}),t.index!==i&&this._trigger("change",e,{item:t}),this.close(e)},_setAria:function(t){var e=this.menuItems.eq(t.index).attr("id");this.button.attr({"aria-labelledby":e,"aria-activedescendant":e}),this.menu.attr("aria-activedescendant",e)},_setOption:function(t,e){if("icons"===t){var i=this.button.find("span.ui-icon");this._removeClass(i,null,this.options.icons.button)._addClass(i,null,e.button)}this._super(t,e),"appendTo"===t&&this.menuWrap.appendTo(this._appendTo()),"width"===t&&this._resizeButton()},_setOptionDisabled:function(t){this._super(t),this.menuInstance.option("disabled",t),this.button.attr("aria-disabled",t),this._toggleClass(this.button,null,"ui-state-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_toggleAttr:function(){this.button.attr("aria-expanded",this.isOpen),this._removeClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"closed":"open"))._addClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"open":"closed"))._toggleClass(this.menuWrap,"ui-selectmenu-open",null,this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var t=this.options.width;return t===!1?(this.button.css("width",""),void 0):(null===t&&(t=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(t),void 0)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){var t=this._super();return t.disabled=this.element.prop("disabled"),t},_parseOptions:function(e){var i=this,s=[];e.each(function(e,n){s.push(i._parseOption(t(n),e))}),this.items=s},_parseOption:function(t,e){var i=t.parent("optgroup");return{element:t,index:e,value:t.val(),label:t.text(),optgroup:i.attr("label")||"",disabled:i.prop("disabled")||t.prop("disabled")}},_destroy:function(){this._unbindFormResetHandler(),this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.labels.attr("for",this.ids.element)}}]),t.widget("ui.slider",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1 +},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle"),o="<span tabindex='0'></span>",a=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)a.push(o);this.handles=n.add(t(a.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e).attr("tabIndex",0)})},_createRange:function(){var e=this.options;e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=t("<div>").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),("min"===e.range||"max"===e.range)&&this._addClass(this.range,"ui-slider-range-"+e.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,o,a,r,h,l,c=this,u=this.options;return u.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-c.values(e));(n>i||n===i&&(e===c._lastChangedValue||c.values(e)===u.min))&&(n=i,o=t(this),a=e)}),r=this._start(e,a),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=a,this._addClass(o,null,"ui-state-active"),o.trigger("focus"),h=o.offset(),l=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:e.pageX-h.left-o.width()/2,top:e.pageY-h.top-o.height()/2-(parseInt(o.css("borderTopWidth"),10)||0)-(parseInt(o.css("borderBottomWidth"),10)||0)+(parseInt(o.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,a,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,o;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),o=this._valueMin()+s*n,this._trimAlignValue(o)},_uiHash:function(t,e,i){var s={handle:this.handles[t],handleIndex:t,value:void 0!==e?e:this.value()};return this._hasMultipleValues()&&(s.value=void 0!==e?e:this.values(t),s.values=i||this.values()),s},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(t,e){return this._trigger("start",t,this._uiHash(e))},_slide:function(t,e,i){var s,n,o=this.value(),a=this.values();this._hasMultipleValues()&&(n=this.values(e?0:1),o=this.values(e),2===this.options.values.length&&this.options.range===!0&&(i=0===e?Math.min(n,i):Math.max(n,i)),a[e]=i),i!==o&&(s=this._trigger("slide",t,this._uiHash(e,i,a)),s!==!1&&(this._hasMultipleValues()?this.values(e,i):this.value(i)))},_stop:function(t,e){this._trigger("stop",t,this._uiHash(e))},_change:function(t,e){this._keySliding||this._mouseSliding||(this._lastChangedValue=e,this._trigger("change",t,this._uiHash(e)))},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),void 0):this._value()},values:function(e,i){var s,n,o;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),void 0;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this._hasMultipleValues()?this._values(e):this.value();for(s=this.options.values,n=arguments[0],o=0;s.length>o;o+=1)s[o]=this._trimAlignValue(n[o]),this._change(null,o);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),this._super(e,i),e){case"orientation":this._detectOrientation(),this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-"+this.orientation),this._refreshValue(),this.options.range&&this._refreshRange(i),this.handles.css("horizontal"===i?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=n-1;s>=0;s--)this._change(null,s);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(t){this._super(t),this._toggleClass(null,"ui-state-disabled",!!t)},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this._hasMultipleValues()){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_calculateNewMax:function(){var t=this.options.max,e=this._valueMin(),i=this.options.step,s=Math.round((t-e)/i)*i;t=s+e,t>this.options.max&&(t-=i),this.max=parseFloat(t.toFixed(this._precision()))},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(t){"vertical"===t&&this.range.css({width:"",left:""}),"horizontal"===t&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var e,i,s,n,o,a=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,c={};this._hasMultipleValues()?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),c["horizontal"===h.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[l?"animate":"css"](c,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),o=this._valueMax(),i=o!==n?100*((s-n)/(o-n)):0,c["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](c,r.animate),"min"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:100-i+"%"},r.animate),"min"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:100-i+"%"},r.animate))},_handleEvents:{keydown:function(e){var i,s,n,o,a=t(e.target).data("ui-slider-handle-index");switch(e.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(e.preventDefault(),!this._keySliding&&(this._keySliding=!0,this._addClass(t(e.target),null,"ui-state-active"),i=this._start(e,a),i===!1))return}switch(o=this.options.step,s=n=this._hasMultipleValues()?this.values(a):this.value(),e.keyCode){case t.ui.keyCode.HOME:n=this._valueMin();break;case t.ui.keyCode.END:n=this._valueMax();break;case t.ui.keyCode.PAGE_UP:n=this._trimAlignValue(s+(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(s-(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(s===this._valueMax())return;n=this._trimAlignValue(s+o);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(s===this._valueMin())return;n=this._trimAlignValue(s-o)}this._slide(e,a,n)},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),this._removeClass(t(e.target),null,"ui-state-active"))}}}),t.widget("ui.sortable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(t,e,i){return t>=e&&e+i>t},_isFloating:function(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))},_create:function(){this.containerCache={},this._addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(t,e){this._super(t,e),"handle"===t&&this._setHandleClassName()},_setHandleClassName:function(){var e=this;this._removeClass(this.element.find(".ui-sortable-handle"),"ui-sortable-handle"),t.each(this.items,function(){e._addClass(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item,"ui-sortable-handle")})},_destroy:function(){this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(e,i){var s=null,n=!1,o=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,o.widgetName+"-item")===o?(s=t(this),!1):void 0}),t.data(e.target,o.widgetName+"-item")===o&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,o,a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),a.containment&&this._setContainment(),a.cursor&&"auto"!==a.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",a.cursor),this.storedStylesheet=t("<style>*{ cursor: "+a.cursor+" !important; }</style>").appendTo(o)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,o,a=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY<a.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+a.scrollSpeed:e.pageY-this.overflowOffset.top<a.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-a.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-e.pageX<a.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+a.scrollSpeed:e.pageX-this.overflowOffset.left<a.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-a.scrollSpeed)):(e.pageY-this.document.scrollTop()<a.scrollSensitivity?r=this.document.scrollTop(this.document.scrollTop()-a.scrollSpeed):this.window.height()-(e.pageY-this.document.scrollTop())<a.scrollSensitivity&&(r=this.document.scrollTop(this.document.scrollTop()+a.scrollSpeed)),e.pageX-this.document.scrollLeft()<a.scrollSensitivity?r=this.document.scrollLeft(this.document.scrollLeft()-a.scrollSpeed):this.window.width()-(e.pageX-this.document.scrollLeft())<a.scrollSensitivity&&(r=this.document.scrollLeft(this.document.scrollLeft()+a.scrollSpeed))),r!==!1&&t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],o=this._intersectsWithPointer(s),o&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===o?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),o=this.options.axis,a={};o&&"x"!==o||(a.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(a.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(a,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp(new t.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+l>r&&h>s+l,d="y"===this.options.axis||e+c>o&&a>e+c,p=u&&d;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?p:e+this.helperProportions.width/2>o&&a>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(t){var e,i,s="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top,t.height),n="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left,t.width),o=s&&n;return o?(e=this._getDragVerticalDirection(),i=this._getDragHorizontalDirection(),this.floating?"right"===i||"down"===e?2:1:e&&("down"===e?2:1)):!1},_intersectsWithSides:function(t){var e=this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),i=this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),s=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?"right"===n&&i||"left"===n&&!i:s&&("down"===s&&e||"up"===s&&!e)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){function i(){r.push(this)}var s,n,o,a,r=[],h=[],l=this._connectWith();if(l&&e)for(s=l.length-1;s>=0;s--)for(o=t(l[s],this.document[0]),n=o.length-1;n>=0;n--)a=t.data(o[n],this.widgetFullName),a&&a!==this&&!a.options.disabled&&h.push([t.isFunction(a.options.items)?a.options.items.call(a.element):t(a.options.items,a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),a]);for(h.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return t(r)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,o,a,r,h,l,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i],this.document[0]),s=n.length-1;s>=0;s--)o=t.data(n[s],this.widgetFullName),o&&o!==this&&!o.options.disabled&&(u.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=u.length-1;i>=0;i--)for(a=u[i][1],r=u[i][0],s=0,l=r.length;l>s;s++)h=t(r[s]),h.data(this.widgetName+"-item",a),c.push({item:h,instance:a,width:0,height:0,left:0,top:0})},refreshPositions:function(e){this.floating=this.items.length?"x"===this.options.axis||this._isFloating(this.items[0].item):!1,this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,o;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),o=n.offset(),s.left=o.left,s.top=o.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]);return e._addClass(n,"ui-sortable-placeholder",i||e.currentItem[0].className)._removeClass(n,"ui-sortable-helper"),"tbody"===s?e._createTrPlaceholder(e.currentItem.find("tr").eq(0),t("<tr>",e.document[0]).appendTo(n)):"tr"===s?e._createTrPlaceholder(e.currentItem,n):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_createTrPlaceholder:function(e,i){var s=this;e.children().each(function(){t("<td> </td>",s.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(e){var i,s,n,o,a,r,h,l,c,u,d=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!t.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(d&&t.contains(this.containers[i].element[0],d.element[0]))continue;d=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",e,this._uiHash(this)),this.containers[i].containerCache.over=0);if(d)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",e,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,o=null,c=d.floating||this._isFloating(this.currentItem),a=c?"left":"top",r=c?"width":"height",u=c?"pageX":"pageY",s=this.items.length-1;s>=0;s--)t.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(h=this.items[s].item.offset()[a],l=!1,e[u]-h>this.items[s][r]/2&&(l=!0),n>Math.abs(e[u]-h)&&(n=Math.abs(e[u]-h),o=this.items[s],this.direction=l?"up":"down"));if(!o&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return this.currentContainer.containerCache.over||(this.containers[p]._trigger("over",e,this._uiHash()),this.currentContainer.containerCache.over=1),void 0;o?this._rearrange(e,o,null,!0):this._rearrange(e,null,this.containers[p].element,!0),this._trigger("change",e,this._uiHash()),this.containers[p]._trigger("change",e,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",e,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||t("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===n.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===n.containment?this.document.height()||document.body.parentNode.scrollHeight:this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden"!==t(e).css("overflow"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth"),10)||0)+(parseInt(t(e).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth"),10)||0)+(parseInt(t(e).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth"),10)||0)-(parseInt(t(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth"),10)||0)-(parseInt(t(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():o?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():o?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,o=e.pageX,a=e.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(e.pageX-this.offset.click.left<this.containment[0]&&(o=this.containment[0]+this.offset.click.left),e.pageY-this.offset.click.top<this.containment[1]&&(a=this.containment[1]+this.offset.click.top),e.pageX-this.offset.click.left>this.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(a=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((a-this.originalPageY)/n.grid[1])*n.grid[1],a=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((o-this.originalPageX)/n.grid[0])*n.grid[0],o=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:a-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter; +this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){function i(t,e,i){return function(s){i._trigger(t,s,e._uiHash(e))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!e&&n.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||n.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(n.push(function(t){this._trigger("remove",t,this._uiHash())}),n.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)e||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!e){for(s=0;n.length>s;s++)n[s].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}}),t.widget("ui.spinner",{version:"1.12.1",defaultElement:"<input>",widgetEventPrefix:"spin",options:{classes:{"ui-spinner":"ui-corner-all","ui-spinner-down":"ui-corner-br","ui-spinner-up":"ui-corner-tr"},culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e=this._super(),i=this.element;return t.each(["min","max","step"],function(t,s){var n=i.attr(s);null!=n&&n.length&&(e[s]=n)}),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t),void 0)},mousewheel:function(t,e){if(e){if(!this.spinning&&!this._start(t))return!1;this._spin((e>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100),t.preventDefault()}},"mousedown .ui-spinner-button":function(e){function i(){var e=this.element[0]===t.ui.safeActiveElement(this.document[0]);e||(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===t.ui.safeActiveElement(this.document[0])?this.previous:this.element.val(),e.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(e)!==!1&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){return t(e.currentTarget).hasClass("ui-state-active")?this._start(e)===!1?!1:(this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap("<span>").parent().append("<a></a><a></a>")},_draw:function(){this._enhance(),this._addClass(this.uiSpinner,"ui-spinner","ui-widget ui-widget-content"),this._addClass("ui-spinner-input"),this.element.attr("role","spinbutton"),this.buttons=this.uiSpinner.children("a").attr("tabIndex",-1).attr("aria-hidden",!0).button({classes:{"ui-button":""}}),this._removeClass(this.buttons,"ui-corner-all"),this._addClass(this.buttons.first(),"ui-spinner-button ui-spinner-up"),this._addClass(this.buttons.last(),"ui-spinner-button ui-spinner-down"),this.buttons.first().button({icon:this.options.icons.up,showLabel:!1}),this.buttons.last().button({icon:this.options.icons.down,showLabel:!1}),this.buttons.height()>Math.ceil(.5*this.uiSpinner.height())&&this.uiSpinner.height()>0&&this.uiSpinner.height(this.uiSpinner.height())},_keydown:function(e){var i=this.options,s=t.ui.keyCode;switch(e.keyCode){case s.UP:return this._repeat(null,1,e),!0;case s.DOWN:return this._repeat(null,-1,e),!0;case s.PAGE_UP:return this._repeat(null,i.page,e),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_start:function(t){return this.spinning||this._trigger("start",t)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&this._trigger("spin",e,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(e){var i=this.options.incremental;return i?t.isFunction(i)?i(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return e=null!==s.min?s.min:0,i=t-e,i=Math.round(i/s.step)*s.step,t=e+i,t=parseFloat(t.toFixed(this._precision())),null!==s.max&&t>s.max?s.max:null!==s.min&&s.min>t?s.min:t},_stop:function(t){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",t))},_setOption:function(t,e){var i,s,n;return"culture"===t||"numberFormat"===t?(i=this._parse(this.element.val()),this.options[t]=e,this.element.val(this._format(i)),void 0):(("max"===t||"min"===t||"step"===t)&&"string"==typeof e&&(e=this._parse(e)),"icons"===t&&(s=this.buttons.first().find(".ui-icon"),this._removeClass(s,null,this.options.icons.up),this._addClass(s,null,e.up),n=this.buttons.last().find(".ui-icon"),this._removeClass(n,null,this.options.icons.down),this._addClass(n,null,e.down)),this._super(t,e),void 0)},_setOptionDisabled:function(t){this._super(t),this._toggleClass(this.uiSpinner,null,"ui-state-disabled",!!t),this.element.prop("disabled",!!t),this.buttons.button(t?"disable":"enable")},_setOptions:r(function(t){this._super(t)}),_parse:function(t){return"string"==typeof t&&""!==t&&(t=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(t,10,this.options.culture):+t),""===t||isNaN(t)?null:t},_format:function(t){return""===t?"":window.Globalize&&this.options.numberFormat?Globalize.format(t,this.options.numberFormat,this.options.culture):t},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var t=this.value();return null===t?!1:t===this._adjustValue(t)},_value:function(t,e){var i;""!==t&&(i=this._parse(t),null!==i&&(e||(i=this._adjustValue(i)),t=this._format(i))),this.element.val(t),this._refresh()},_destroy:function(){this.element.prop("disabled",!1).removeAttr("autocomplete role aria-valuemin aria-valuemax aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:r(function(t){this._stepUp(t)}),_stepUp:function(t){this._start()&&(this._spin((t||1)*this.options.step),this._stop())},stepDown:r(function(t){this._stepDown(t)}),_stepDown:function(t){this._start()&&(this._spin((t||1)*-this.options.step),this._stop())},pageUp:r(function(t){this._stepUp((t||1)*this.options.page)}),pageDown:r(function(t){this._stepDown((t||1)*this.options.page)}),value:function(t){return arguments.length?(r(this._value).call(this,t),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}),t.uiBackCompat!==!1&&t.widget("ui.spinner",t.ui.spinner,{_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml())},_uiSpinnerHtml:function(){return"<span>"},_buttonHtml:function(){return"<a></a><a></a>"}}),t.ui.spinner,t.widget("ui.tabs",{version:"1.12.1",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var t=/#.*$/;return function(e){var i,s;i=e.href.replace(t,""),s=location.href.replace(t,"");try{i=decodeURIComponent(i)}catch(n){}try{s=decodeURIComponent(s)}catch(n){}return e.hash.length>1&&i===s}}(),_create:function(){var e=this,i=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,i.collapsible),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var e=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===e&&(s&&this.tabs.each(function(i,n){return t(n).attr("aria-controls")===s?(e=i,!1):void 0}),null===e&&(e=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===e||-1===e)&&(e=this.tabs.length?0:!1)),e!==!1&&(e=this.tabs.index(this.tabs.eq(e)),-1===e&&(e=i?!1:0)),!i&&e===!1&&this.anchors.length&&(e=0),e},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(e){var i=t(t.ui.safeActiveElement(this.document[0])).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(e)){switch(e.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:s++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:n=!1,s--;break;case t.ui.keyCode.END:s=this.anchors.length-1;break;case t.ui.keyCode.HOME:s=0;break;case t.ui.keyCode.SPACE:return e.preventDefault(),clearTimeout(this.activating),this._activate(s),void 0;case t.ui.keyCode.ENTER:return e.preventDefault(),clearTimeout(this.activating),this._activate(s===this.options.active?!1:s),void 0;default:return}e.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),e.ctrlKey||e.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(e){return e.altKey&&e.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):e.altKey&&e.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(e,i){function s(){return e>n&&(e=0),0>e&&(e=n),e}for(var n=this.tabs.length-1;-1!==t.inArray(s(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).trigger("focus"),t},_setOption:function(t,e){return"active"===t?(this._activate(e),void 0):(this._super(t,e),"collapsible"===t&&(this._toggleClass("ui-tabs-collapsible",null,e),e||this.options.active!==!1||this._activate(0)),"event"===t&&this._setupEvents(e),"heightStyle"===t&&this._setupHeightStyle(e),void 0)},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),e.active!==!1&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this,i=this.tabs,s=this.anchors,n=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).on("focus"+this.eventNamespace,".ui-tabs-anchor",function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).attr({role:"presentation",tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=t(),this.anchors.each(function(i,s){var n,o,a,r=t(s).uniqueId().attr("id"),h=t(s).closest("li"),l=h.attr("aria-controls");e._isLocal(s)?(n=s.hash,a=n.substring(1),o=e.element.find(e._sanitizeSelector(n))):(a=h.attr("aria-controls")||t({}).uniqueId()[0].id,n="#"+a,o=e.element.find(n),o.length||(o=e._createPanel(a),o.insertAfter(e.panels[i-1]||e.tablist)),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),l&&h.data("ui-tabs-aria-controls",l),h.attr({"aria-controls":a,"aria-labelledby":r}),o.attr("aria-labelledby",r)}),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(e){return t("<div>").attr("id",e).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(e){var i,s,n;for(t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1),n=0;s=this.tabs[n];n++)i=t(s),e===!0||-1!==t.inArray(n,e)?(i.attr("aria-disabled","true"),this._addClass(i,null,"ui-state-disabled")):(i.removeAttr("aria-disabled"),this._removeClass(i,null,"ui-state-disabled"));this.options.disabled=e,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,e===!0)},_setupEvents:function(e){var i={};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(t){t.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),o=n.closest("li"),a=o[0]===s[0],r=a&&i.collapsible,h=r?t():this._getPanelForTab(o),l=s.length?this._getPanelForTab(s):t(),c={oldTab:s,oldPanel:l,newTab:r?t():o,newPanel:h};e.preventDefault(),o.hasClass("ui-state-disabled")||o.hasClass("ui-tabs-loading")||this.running||a&&!i.collapsible||this._trigger("beforeActivate",e,c)===!1||(i.active=r?!1:this.tabs.index(o),this.active=a?t():o,this.xhr&&this.xhr.abort(),l.length||h.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(o),e),this._toggle(e,c))},_toggle:function(e,i){function s(){o.running=!1,o._trigger("activate",e,i)}function n(){o._addClass(i.newTab.closest("li"),"ui-tabs-active","ui-state-active"),a.length&&o.options.show?o._show(a,o.options.show,s):(a.show(),s())}var o=this,a=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){o._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),n()}):(this._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),r.hide(),n()),r.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),a.length&&r.length?i.oldTab.attr("tabIndex",-1):a.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),a.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return e===!1?t():this.tabs.eq(e)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+t.ui.escapeSelector(e)+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(e){var i=this.options.disabled;i!==!1&&(void 0===e?i=!1:(e=this._getIndex(e),i=t.isArray(i)?t.map(i,function(t){return t!==e?t:null}):t.map(this.tabs,function(t,i){return i!==e?i:null})),this._setOptionDisabled(i))},disable:function(e){var i=this.options.disabled;if(i!==!0){if(void 0===e)i=!0;else{if(e=this._getIndex(e),-1!==t.inArray(e,i))return;i=t.isArray(i)?t.merge([e],i).sort():[e]}this._setOptionDisabled(i)}},load:function(e,i){e=this._getIndex(e);var s=this,n=this.tabs.eq(e),o=n.find(".ui-tabs-anchor"),a=this._getPanelForTab(n),r={tab:n,panel:a},h=function(t,e){"abort"===e&&s.panels.stop(!1,!0),s._removeClass(n,"ui-tabs-loading"),a.removeAttr("aria-busy"),t===s.xhr&&delete s.xhr};this._isLocal(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(n,"ui-tabs-loading"),a.attr("aria-busy","true"),this.xhr.done(function(t,e,n){setTimeout(function(){a.html(t),s._trigger("load",i,r),h(n,e)},1)}).fail(function(t,e){setTimeout(function(){h(t,e)},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href").replace(/#.*$/,""),beforeSend:function(e,o){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:o},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),t.uiBackCompat!==!1&&t.widget("ui.tabs",t.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}}),t.ui.tabs,t.widget("ui.tooltip",{version:"1.12.1",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var e=t(this).attr("title")||"";return t("<a>").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))},_removeDescribedBy:function(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),s=t.trim(s.join(" ")),s?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.liveRegion=t("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this.disabledTitles=t([])},_setOption:function(e,i){var s=this;this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e.element)})},_setOptionDisabled:function(t){this[t?"_disable":"_enable"]()},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s.element[0],e.close(n,!0)}),this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function(){var e=t(this);return e.is("[title]")?e.data("ui-tooltip-title",e.attr("title")).removeAttr("title"):void 0}))},_enable:function(){this.disabledTitles.each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))}),this.disabledTitles=t([])},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&(e=t.Event("blur"),e.target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._registerCloseHandlers(e,s),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,o=e?e.type:null;return"string"==typeof s||s.nodeType||s.jquery?this._open(e,t,s):(i=s.call(t[0],function(i){n._delay(function(){t.data("ui-tooltip-open")&&(e&&(e.type=o),this._open(e,t,i))})}),i&&this._open(e,t,i),void 0)},_open:function(e,i,s){function n(t){l.of=t,a.is(":hidden")||a.position(l)}var o,a,r,h,l=t.extend({},this.options.position);if(s){if(o=this._find(i))return o.tooltip.find(".ui-tooltip-content").html(s),void 0;i.is("[title]")&&(e&&"mouseover"===e.type?i.attr("title",""):i.removeAttr("title")),o=this._tooltip(i),a=o.tooltip,this._addDescribedBy(i,a.attr("id")),a.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),h=t("<div>").html(a.find(".ui-tooltip-content").html()),h.removeAttr("name").find("[name]").removeAttr("name"),h.removeAttr("id").find("[id]").removeAttr("id"),h.appendTo(this.liveRegion),this.options.track&&e&&/^mouse/.test(e.type)?(this._on(this.document,{mousemove:n}),n(e)):a.position(t.extend({of:i},this.options.position)),a.hide(),this._show(a,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(r=this.delayedShow=setInterval(function(){a.is(":visible")&&(n(l.of),clearInterval(r))},t.fx.interval)),this._trigger("open",e,{tooltip:a})}},_registerCloseHandlers:function(e,i){var s={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var s=t.Event(e);s.currentTarget=i[0],this.close(s,!0)}}};i[0]!==this.element[0]&&(s.remove=function(){this._removeTooltip(this._find(i).tooltip)}),e&&"mouseover"!==e.type||(s.mouseleave="close"),e&&"focusin"!==e.type||(s.focusout="close"),this._on(!0,i,s)},close:function(e){var i,s=this,n=t(e?e.currentTarget:this.element),o=this._find(n);return o?(i=o.tooltip,o.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&!n.attr("title")&&n.attr("title",n.data("ui-tooltip-title")),this._removeDescribedBy(n),o.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]}),o.closing=!0,this._trigger("close",e,{tooltip:i}),o.hiding||(o.closing=!1)),void 0):(n.removeData("ui-tooltip-open"),void 0)},_tooltip:function(e){var i=t("<div>").attr("role","tooltip"),s=t("<div>").appendTo(i),n=i.uniqueId().attr("id");return this._addClass(s,"ui-tooltip-content"),this._addClass(i,"ui-tooltip","ui-widget ui-widget-content"),i.appendTo(this._appendTo(e)),this.tooltips[n]={element:e,tooltip:i}},_find:function(t){var e=t.data("ui-tooltip-id");return e?this.tooltips[e]:null},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_appendTo:function(t){var e=t.closest(".ui-front, dialog");return e.length||(e=this.document[0].body),e},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur"),o=s.element;n.target=n.currentTarget=o[0],e.close(n,!0),t("#"+i).remove(),o.data("ui-tooltip-title")&&(o.attr("title")||o.attr("title",o.data("ui-tooltip-title")),o.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}}),t.uiBackCompat!==!1&&t.widget("ui.tooltip",t.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var t=this._superApply(arguments);return this.options.tooltipClass&&t.tooltip.addClass(this.options.tooltipClass),t}}),t.ui.tooltip}); \ No newline at end of file diff --git a/src/main/resources/static/js/jquery.cookie.min.js b/src/main/resources/static/js/jquery.cookie.min.js new file mode 100644 index 0000000..c0f19d8 --- /dev/null +++ b/src/main/resources/static/js/jquery.cookie.min.js @@ -0,0 +1,2 @@ +/*! jquery.cookie v1.4.1 | MIT */ +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?a(require("jquery")):a(jQuery)}(function(a){function b(a){return h.raw?a:encodeURIComponent(a)}function c(a){return h.raw?a:decodeURIComponent(a)}function d(a){return b(h.json?JSON.stringify(a):String(a))}function e(a){0===a.indexOf('"')&&(a=a.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return a=decodeURIComponent(a.replace(g," ")),h.json?JSON.parse(a):a}catch(b){}}function f(b,c){var d=h.raw?b:e(b);return a.isFunction(c)?c(d):d}var g=/\+/g,h=a.cookie=function(e,g,i){if(void 0!==g&&!a.isFunction(g)){if(i=a.extend({},h.defaults,i),"number"==typeof i.expires){var j=i.expires,k=i.expires=new Date;k.setTime(+k+864e5*j)}return document.cookie=[b(e),"=",d(g),i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}for(var l=e?void 0:{},m=document.cookie?document.cookie.split("; "):[],n=0,o=m.length;o>n;n++){var p=m[n].split("="),q=c(p.shift()),r=p.join("=");if(e&&e===q){l=f(r,g);break}e||void 0===(r=f(r))||(l[q]=r)}return l};h.defaults={},a.removeCookie=function(b,c){return void 0===a.cookie(b)?!1:(a.cookie(b,"",a.extend({},c,{expires:-1})),!a.cookie(b))}}); \ No newline at end of file diff --git a/src/main/resources/static/js/jquery.min.js b/src/main/resources/static/js/jquery.min.js new file mode 100644 index 0000000..0f60b7b --- /dev/null +++ b/src/main/resources/static/js/jquery.min.js @@ -0,0 +1,5 @@ +/*! jQuery v1.11.3 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.3",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b="length"in a&&a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function qa(){}qa.prototype=d.filters=d.pseudos,d.setFilters=new qa,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function ra(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; + +return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function aa(){return!0}function ba(){return!1}function ca(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ca()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ca()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?aa:ba):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=aa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=aa,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=aa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=ba;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=ba),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function da(a){var b=ea.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var ea="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fa=/ jQuery\d+="(?:null|\d+)"/g,ga=new RegExp("<(?:"+ea+")[\\s/>]","i"),ha=/^\s+/,ia=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ja=/<([\w:]+)/,ka=/<tbody/i,la=/<|&#?\w+;/,ma=/<(?:script|style|link)/i,na=/checked\s*(?:[^=]|=\s*.checked.)/i,oa=/^$|\/(?:java|ecma)script/i,pa=/^true\/(.*)/,qa=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ra={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sa=da(y),ta=sa.appendChild(y.createElement("div"));ra.optgroup=ra.option,ra.tbody=ra.tfoot=ra.colgroup=ra.caption=ra.thead,ra.th=ra.td;function ua(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ua(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function va(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wa(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xa(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function ya(a){var b=pa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function za(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Aa(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Ba(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xa(b).text=a.text,ya(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!ga.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ta.innerHTML=a.outerHTML,ta.removeChild(f=ta.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ua(f),h=ua(a),g=0;null!=(e=h[g]);++g)d[g]&&Ba(e,d[g]);if(b)if(c)for(h=h||ua(a),d=d||ua(f),g=0;null!=(e=h[g]);g++)Aa(e,d[g]);else Aa(a,f);return d=ua(f,"script"),d.length>0&&za(d,!i&&ua(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=da(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(la.test(f)){h=h||o.appendChild(b.createElement("div")),i=(ja.exec(f)||["",""])[1].toLowerCase(),l=ra[i]||ra._default,h.innerHTML=l[1]+f.replace(ia,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&ha.test(f)&&p.push(b.createTextNode(ha.exec(f)[0])),!k.tbody){f="table"!==i||ka.test(f)?"<table>"!==l[1]||ka.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ua(p,"input"),va),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ua(o.appendChild(f),"script"),g&&za(h),c)){e=0;while(f=h[e++])oa.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ua(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&za(ua(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ua(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fa,""):void 0;if(!("string"!=typeof a||ma.test(a)||!k.htmlSerialize&&ga.test(a)||!k.leadingWhitespace&&ha.test(a)||ra[(ja.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ia,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ua(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ua(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&na.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ua(i,"script"),xa),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ua(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,ya),j=0;f>j;j++)d=g[j],oa.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qa,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Ca,Da={};function Ea(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fa(a){var b=y,c=Da[a];return c||(c=Ea(a,b),"none"!==c&&c||(Ca=(Ca||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ca[0].contentWindow||Ca[0].contentDocument).document,b.write(),b.close(),c=Ea(a,b),Ca.detach()),Da[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Ga=/^margin/,Ha=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ia,Ja,Ka=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ia=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Ha.test(g)&&Ga.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ia=function(a){return a.currentStyle},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Ha.test(g)&&!Ka.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function La(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Ma=/alpha\([^)]*\)/i,Na=/opacity\s*=\s*([^)]*)/,Oa=/^(none|table(?!-c[ea]).+)/,Pa=new RegExp("^("+S+")(.*)$","i"),Qa=new RegExp("^([+-])=("+S+")","i"),Ra={position:"absolute",visibility:"hidden",display:"block"},Sa={letterSpacing:"0",fontWeight:"400"},Ta=["Webkit","O","Moz","ms"];function Ua(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Ta.length;while(e--)if(b=Ta[e]+c,b in a)return b;return d}function Va(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fa(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wa(a,b,c){var d=Pa.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xa(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Ya(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ia(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Ja(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ha.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xa(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ja(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ua(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qa.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ua(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Ja(a,b,d)),"normal"===f&&b in Sa&&(f=Sa[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Oa.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Ra,function(){return Ya(a,b,d)}):Ya(a,b,d):void 0},set:function(a,c,d){var e=d&&Ia(a);return Wa(a,c,d?Xa(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Na.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Ma,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Ma.test(f)?f.replace(Ma,e):f+" "+e)}}),m.cssHooks.marginRight=La(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Ja,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Ga.test(a)||(m.cssHooks[a+b].set=Wa)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ia(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Va(this,!0)},hide:function(){return Va(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Za(a,b,c,d,e){ +return new Za.prototype.init(a,b,c,d,e)}m.Tween=Za,Za.prototype={constructor:Za,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Za.propHooks[this.prop];return a&&a.get?a.get(this):Za.propHooks._default.get(this)},run:function(a){var b,c=Za.propHooks[this.prop];return this.options.duration?this.pos=b=m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Za.propHooks._default.set(this),this}},Za.prototype.init.prototype=Za.prototype,Za.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Za.propHooks.scrollTop=Za.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Za.prototype.init,m.fx.step={};var $a,_a,ab=/^(?:toggle|show|hide)$/,bb=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cb=/queueHooks$/,db=[ib],eb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bb.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bb.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fb(){return setTimeout(function(){$a=void 0}),$a=m.now()}function gb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hb(a,b,c){for(var d,e=(eb[b]||[]).concat(eb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fa(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fa(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ab.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fa(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hb(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=db.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$a||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$a||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);g>f;f++)if(d=db[f].call(j,a,k,j.opts))return d;return m.map(k,hb,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kb,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],eb[c]=eb[c]||[],eb[c].unshift(b)},prefilter:function(a,b){b?db.unshift(a):db.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kb(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),m.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($a=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$a=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_a||(_a=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_a),_a=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lb=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lb,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mb,nb,ob=m.expr.attrHandle,pb=/^(?:checked|selected)$/i,qb=k.getSetAttribute,rb=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nb:mb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rb&&qb||!pb.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qb?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nb={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rb&&qb||!pb.test(c)?a.setAttribute(!qb&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ob[b]||m.find.attr;ob[b]=rb&&qb||!pb.test(b)?function(a,b,d){var e,f;return d||(f=ob[b],ob[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,ob[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rb&&qb||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mb&&mb.set(a,b,c)}}),qb||(mb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},ob.id=ob.name=ob.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mb.set},m.attrHooks.contenteditable={set:function(a,b,c){mb.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sb=/^(?:input|select|textarea|button|object)$/i,tb=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sb.test(a.nodeName)||tb.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var ub=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ub," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vb=m.now(),wb=/\?/,xb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yb,zb,Ab=/#.*$/,Bb=/([?&])_=[^&]*/,Cb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Db=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Eb=/^(?:GET|HEAD)$/,Fb=/^\/\//,Gb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hb={},Ib={},Jb="*/".concat("*");try{zb=location.href}catch(Kb){zb=y.createElement("a"),zb.href="",zb=zb.href}yb=Gb.exec(zb.toLowerCase())||[];function Lb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mb(a,b,c,d){var e={},f=a===Ib;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nb(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Ob(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zb,type:"GET",isLocal:Db.test(yb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nb(Nb(a,m.ajaxSettings),b):Nb(m.ajaxSettings,a)},ajaxPrefilter:Lb(Hb),ajaxTransport:Lb(Ib),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cb.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zb)+"").replace(Ab,"").replace(Fb,yb[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gb.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yb[1]&&c[2]===yb[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yb[3]||("http:"===yb[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mb(Hb,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Eb.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wb.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bb.test(e)?e.replace(Bb,"$1_="+vb++):e+(wb.test(e)?"&":"?")+"_="+vb++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jb+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mb(Ib,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Ob(k,v,c)),u=Pb(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qb=/%20/g,Rb=/\[\]$/,Sb=/\r?\n/g,Tb=/^(?:submit|button|image|reset|file)$/i,Ub=/^(?:input|select|textarea|keygen)/i;function Vb(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rb.test(a)?d(a,e):Vb(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vb(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vb(c,a[c],b,e);return d.join("&").replace(Qb,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Ub.test(this.nodeName)&&!Tb.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sb,"\r\n")}}):{name:b.name,value:c.replace(Sb,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zb()||$b()}:Zb;var Wb=0,Xb={},Yb=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xb)Xb[a](void 0,!0)}),k.cors=!!Yb&&"withCredentials"in Yb,Yb=k.ajax=!!Yb,Yb&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xb[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xb[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zb(){try{return new a.XMLHttpRequest}catch(b){}}function $b(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _b=[],ac=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_b.pop()||m.expando+"_"+vb++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ac.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ac.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ac,"$1"+e):b.jsonp!==!1&&(b.url+=(wb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_b.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bc=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bc)return bc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cc=a.document.documentElement;function dc(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cc;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cc})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=La(k.pixelPosition,function(a,c){return c?(c=Ja(a,b),Ha.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ec=a.jQuery,fc=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fc),b&&a.jQuery===m&&(a.jQuery=ec),m},typeof b===K&&(a.jQuery=a.$=m),m}); diff --git a/src/main/resources/static/js/login.js b/src/main/resources/static/js/login.js new file mode 100644 index 0000000..318771c --- /dev/null +++ b/src/main/resources/static/js/login.js @@ -0,0 +1,149 @@ +window.isBusy = false; + +// 鍒涘缓楠岃瘉鐮� +function createCode() { + var codeLength = 4, code = ""; // 楠岃瘉鐮佺殑闀垮害 + var checkCode = document.getElementById("checkCode"); + + var codeChars = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9); + for (var i = 0; i < codeLength; i++) { + var charNum = Math.floor(Math.random() * 10); + code += codeChars[charNum]; + } + if (checkCode) { + checkCode.innerHTML = code; + } +} + +// 鑾峰彇鍏挜 +function getPublicKey() { + $.get("getPublicKey", function (rs) { + if (rs && rs.code == 200) { + window.encrypt = new JSEncrypt(); + encrypt.setPublicKey(rs.result); + } + }); +} + +// 楠岃瘉 +function sysValidate() { + // 楠岃瘉鐢ㄦ埛鍚嶄笌瀵嗙爜 + var theUsername = document.getElementById("username").value; + if (theUsername.length <= 0) { + $("#eMsg").html("鎻愮ず锛氳杈撳叆鐢ㄦ埛鍚嶏紒"); + $("#username").focus(); + return false; + } + var thePassword = document.getElementById("password").value; + if (thePassword.length <= 0) { + $("#eMsg").html("鎻愮ず锛氳杈撳叆瀵嗙爜锛�"); + $("#password").focus(); + return false; + } + /*if (!isValid(thePassword)) { + $("#eMsg").html("鎻愮ず锛氬瘑鐮佷负8-20浣嶅寘鍚瓧姣嶃�佹暟瀛楀拰鐗规畩瀛楃锛�"); + $("#password").focus(); + return false; + }*/ + + // 楠岃瘉楠岃瘉鐮� + var inputCode = document.getElementById("inputCode").value; + if (inputCode.length <= 0) { + $("#eMsg").html("鎻愮ず锛氳杈撳叆楠岃瘉鐮侊紒"); + $("#inputCode").focus(); + return false; + } + var code = document.getElementById("checkCode").innerHTML; + if (inputCode.toUpperCase() != code.toUpperCase()) { + $("#eMsg").html("鎻愮ず锛氶獙璇佺爜杈撳叆鏈夎锛�"); + $("#inputCode").val("").focus(); + createCode(); + return false; + } + + return true; +} + +// login +function sysLogin() { + if (isBusy || !sysValidate()) { + return; + } + + isBusy = true; + var username = $.trim($("#username").val()); + var password = $("#password").val(); + var service = getQueryStr("service"); + + var data = { + "uid": encrypt.encrypt(username), + "pwd": encrypt.encrypt(password) + }; + ajax("login", "POST", JSON.stringify(data), null, null, function (rs) { + isBusy = false; + if (!rs || rs.code !== 200) { + createCode(); + var msg = rs && rs.msg ? rs.msg : "鐧诲綍澶辫触锛�"; + $("#eMsg").html(msg); + return; + } + if (rs.msg) alert(rs.msg); + + var service = getQueryStr("service"); + if (service) { + service += (service.indexOf("?") > -1 ? "&" : "?") + "token=" + rs.result.token; + location.href = service; + return; + } + + location.href = location.href.replace("/sign/toLogin", "/sign/toIndex"); + }, function () { + isBusy = false; + alert("鐧诲綍鍑洪敊锛岃鑱旂郴绠$悊鍛橈紒"); + }); +} + +// Ajax +function ajax(url, type, data, dataType, contentType, fn, ex) { + $.ajax({ + url: url, + type: type, + data: data, + dataType: dataType || "json", // html銆乯son銆乯sonp銆乻cript銆乼ext + contentType: contentType || "application/json", // "application/x-www-form-urlencoded" + success: function (data) { + fn(data); + }, + error: function (e) { + console.error(e); + ex(e); + } + }); +} + +// 鑾峰彇URL鍙傛暟 +function getQueryStr(name) { + var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); + var r = window.location.search.substr(1).match(reg); + if (r != null) { + return decodeURI(r[2]); + } + return null; +} + +// 閿洏鎸変笅浜嬩欢 +document.onkeydown = function (e) { + var ev = window.event || e; + var code = ev.keyCode || ev.which || ev.charCode; + if (code == 13) { + sysLogin(); + } +} + +// 瀵嗙爜鏄惁鍚堣 +function isValid(pwd) { + if (!pwd) return false; + + var regex = new RegExp('^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$'); + return regex.test(pwd); +} diff --git a/src/main/resources/static/js/paramconfig.js b/src/main/resources/static/js/paramconfig.js new file mode 100644 index 0000000..eb6835f --- /dev/null +++ b/src/main/resources/static/js/paramconfig.js @@ -0,0 +1,58 @@ +//CAS鏈嶅姟鍣� logout浣跨敤 +var casServerUrlPrefix = "https://127.0.0.1:8088/cas"; +//REST鏈嶅姟鍣� +var restServerBaseURL = "http://127.0.0.1:8081/"; + +var LanCatalogBaseURL = "http://127.0.0.1:8082/"; +//鏈鎴风鏍硅矾寰� +var baseURL = "/lanwebapp/"; +//鍏敤搴撴枃浠跺紩鐢ㄦ牴璺緞 pubzy +var pubzyURL = "http://127.0.0.1:8088/javapubzy/"; +// +var ueditorURL = "http://127.0.0.1:8088/"; +// +var LanCatalogBaseApiURL = "http://127.0.0.1:8082/api/"; +// +var socketUrl = "ws://127.0.0.1:8081/ws"; + +//濡傛灉鏄疘IS杩愯锛岃璁剧疆涓簍rue +var iisRun = true; + +//涓婁紶鏂囦欢鐨勬槧灏勫湴鍧� +var uploadFileResource = restServerBaseURL + 'uploadFile\/'; + +//鐗堟潈淇℃伅 骞夸笢钃濆浘淇℃伅鎶�鏈湁闄愬叕鍙� +var copyrightName = "鎶�鏈敮鎸侊細鍚堣偉娉扮憺鏁板垱鑲′唤鏈夐檺鍏徃"; + +//绯荤粺鏍囬 +var systemTitle = "杩愮淮鐩戞帶-鏃剁┖澶ф暟鎹钩鍙�"; + +//鍔犺浇澶栭儴璧勬簮js +function remoteToLoadJs(fileurl) { + document.write("<script src='" + pubzyURL + fileurl + "'><\/script>"); +} + +//鍔犺浇鏈湴璧勬簮js +function loadLocalJs(fileurl) { + document.write("<script src='" + fileurl + "'><\/script>"); +} + +//鍔犺浇澶栭儴璧勬簮Css +function remoteToLoadCss(fileurl) { + document.write("<link rel='stylesheet' href='" + pubzyURL + fileurl + "'>"); +} + +//鍔犺浇鏈湴璧勬簮Css +function loadLocalCss(fileurl) { + document.write("<link rel='stylesheet' href='" + fileurl + "'>"); +} + +//鍔犺浇Ueditor璧勬簮js +function remoteUeditorToloadJs(fileurl) { + document.write("<script src='" + ueditorURL + fileurl + "'></script>"); +} + +//鎵撳紑闂ㄦ埛椤甸潰 +function openLiferay() { + window.location.replace('http://127.0.0.1:8090/'); +} diff --git a/src/main/resources/static/js/particles.min.js b/src/main/resources/static/js/particles.min.js new file mode 100644 index 0000000..df0021d --- /dev/null +++ b/src/main/resources/static/js/particles.min.js @@ -0,0 +1,9 @@ +/*! + * A lightweight, dependency-free and responsive javascript plugin for particle backgrounds. + * + * @author Marc Bruederlin <hello@marcbruederlin.com> + * @version 2.2.3 + * @license MIT + * @see https://github.com/marcbruederlin/particles.js + */ +var Particles=function(e,t){"use strict";var n,i={};function o(e,t){return e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0}return(n=function(){return function(){var e=this;e.defaults={responsive:null,selector:null,maxParticles:100,sizeVariations:3,showParticles:!0,speed:.5,color:"#000000",minDistance:120,connectParticles:!1},e.element=null,e.context=null,e.ratio=null,e.breakpoints=[],e.activeBreakpoint=null,e.breakpointSettings=[],e.originalSettings=null,e.storage=[],e.usingPolyfill=!1}}()).prototype.init=function(e){var t=this;return t.options=t._extend(t.defaults,e),t.originalSettings=JSON.parse(JSON.stringify(t.options)),t._animate=t._animate.bind(t),t._initializeCanvas(),t._initializeEvents(),t._registerBreakpoints(),t._checkResponsive(),t._initializeStorage(),t._animate(),t},n.prototype.destroy=function(){var t=this;t.storage=[],t.element.remove(),e.removeEventListener("resize",t.listener,!1),e.clearTimeout(t._animation),cancelAnimationFrame(t._animation)},n.prototype._initializeCanvas=function(){var n,i,o=this;if(!o.options.selector)return console.warn("particles.js: No selector specified! Check https://github.com/marcbruederlin/particles.js#options"),!1;o.element=t.querySelector(o.options.selector),o.context=o.element.getContext("2d"),n=e.devicePixelRatio||1,i=o.context.webkitBackingStorePixelRatio||o.context.mozBackingStorePixelRatio||o.context.msBackingStorePixelRatio||o.context.oBackingStorePixelRatio||o.context.backingStorePixelRatio||1,o.ratio=n/i,o.element.width=o.element.offsetParent?o.element.offsetParent.clientWidth*o.ratio:o.element.clientWidth*o.ratio,o.element.offsetParent&&"BODY"===o.element.offsetParent.nodeName?o.element.height=e.innerHeight*o.ratio:o.element.height=o.element.offsetParent?o.element.offsetParent.clientHeight*o.ratio:o.element.clientHeight*o.ratio,o.element.style.width="100%",o.element.style.height="100%",o.context.scale(o.ratio,o.ratio)},n.prototype._initializeEvents=function(){var t=this;t.listener=function(){t._resize()}.bind(this),e.addEventListener("resize",t.listener,!1)},n.prototype._initializeStorage=function(){var e=this;e.storage=[];for(var t=e.options.maxParticles;t--;)e.storage.push(new i(e.context,e.options))},n.prototype._registerBreakpoints=function(){var e,t,n,i=this,o=i.options.responsive||null;if("object"==typeof o&&null!==o&&o.length){for(e in o)if(n=i.breakpoints.length-1,t=o[e].breakpoint,o.hasOwnProperty(e)){for(;n>=0;)i.breakpoints[n]&&i.breakpoints[n]===t&&i.breakpoints.splice(n,1),n--;i.breakpoints.push(t),i.breakpointSettings[t]=o[e].options}i.breakpoints.sort(function(e,t){return t-e})}},n.prototype._checkResponsive=function(){var t,n=this,i=!1,o=e.innerWidth;if(n.options.responsive&&n.options.responsive.length&&null!==n.options.responsive){for(t in i=null,n.breakpoints)n.breakpoints.hasOwnProperty(t)&&o<=n.breakpoints[t]&&(i=n.breakpoints[t]);null!==i?(n.activeBreakpoint=i,n.options=n._extend(n.options,n.breakpointSettings[i])):null!==n.activeBreakpoint&&(n.activeBreakpoint=null,i=null,n.options=n._extend(n.options,n.originalSettings))}},n.prototype._refresh=function(){this._initializeStorage(),this._draw()},n.prototype._resize=function(){var t=this;t.element.width=t.element.offsetParent?t.element.offsetParent.clientWidth*t.ratio:t.element.clientWidth*t.ratio,t.element.offsetParent&&"BODY"===t.element.offsetParent.nodeName?t.element.height=e.innerHeight*t.ratio:t.element.height=t.element.offsetParent?t.element.offsetParent.clientHeight*t.ratio:t.element.clientHeight*t.ratio,t.context.scale(t.ratio,t.ratio),clearTimeout(t.windowDelay),t.windowDelay=e.setTimeout(function(){t._checkResponsive(),t._refresh()},50)},n.prototype._animate=function(){var t=this;t._draw(),t._animation=e.requestAnimFrame(t._animate)},n.prototype.resumeAnimation=function(){this._animation||this._animate()},n.prototype.pauseAnimation=function(){var t=this;if(t._animation){if(t.usingPolyfill)e.clearTimeout(t._animation);else(e.cancelAnimationFrame||e.webkitCancelAnimationFrame||e.mozCancelAnimationFrame)(t._animation);t._animation=null}},n.prototype._draw=function(){var t=this,n=t.element,i=n.offsetParent?n.offsetParent.clientWidth:n.clientWidth,r=n.offsetParent?n.offsetParent.clientHeight:n.clientHeight,a=t.options.showParticles,s=t.storage;n.offsetParent&&"BODY"===n.offsetParent.nodeName&&(r=e.innerHeight),t.context.clearRect(0,0,n.width,n.height),t.context.beginPath();for(var l=s.length;l--;){var c=s[l];a&&c._draw(),c._updateCoordinates(i,r)}t.options.connectParticles&&(s.sort(o),t._updateEdges())},n.prototype._updateEdges=function(){for(var e=this,t=e.options.minDistance,n=Math.sqrt,i=Math.abs,o=e.storage,r=o.length,a=0;a<r;a++)for(var s=o[a],l=a+1;l<r;l++){var c,f=o[l],p=s.x-f.x,h=s.y-f.y;if(c=n(p*p+h*h),i(p)>t)break;c<=t&&e._drawEdge(s,f,1.2-c/t)}},n.prototype._drawEdge=function(e,t,n){var i=this,o=i.context.createLinearGradient(e.x,e.y,t.x,t.y),r=this._hex2rgb(e.color),a=this._hex2rgb(t.color);o.addColorStop(0,"rgba("+r.r+","+r.g+","+r.b+","+n+")"),o.addColorStop(1,"rgba("+a.r+","+a.g+","+a.b+","+n+")"),i.context.beginPath(),i.context.strokeStyle=o,i.context.moveTo(e.x,e.y),i.context.lineTo(t.x,t.y),i.context.stroke(),i.context.fill(),i.context.closePath()},n.prototype._extend=function(e,t){return Object.keys(t).forEach(function(n){e[n]=t[n]}),e},n.prototype._hex2rgb=function(e){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null},(i=function(n,i){var o=this,r=Math.random,a=i.speed,s=i.color instanceof Array?i.color[Math.floor(Math.random()*i.color.length)]:i.color;o.context=n,o.options=i;var l=t.querySelector(i.selector);o.x=l.offsetParent?r()*l.offsetParent.clientWidth:r()*l.clientWidth,l.offsetParent&&"BODY"===l.offsetParent.nodeName?o.y=r()*e.innerHeight:o.y=l.offsetParent?r()*l.offsetParent.clientHeight:r()*l.clientHeight,o.vx=r()*a*2-a,o.vy=r()*a*2-a,o.radius=r()*r()*i.sizeVariations,o.color=s,o._draw()}).prototype._draw=function(){var e=this;e.context.save(),e.context.translate(e.x,e.y),e.context.moveTo(0,0),e.context.beginPath(),e.context.arc(0,0,e.radius,0,2*Math.PI,!1),e.context.fillStyle=e.color,e.context.fill(),e.context.restore()},i.prototype._updateCoordinates=function(e,t){var n=this,i=n.x+this.vx,o=n.y+this.vy,r=n.radius;i+r>e?i=r:i-r<0&&(i=e-r),o+r>t?o=r:o-r<0&&(o=t-r),n.x=i,n.y=o},e.requestAnimFrame=function(){var t=e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame;return t||(this._usingPolyfill=!0,function(t){return e.setTimeout(t,1e3/60)})}(),new n}(window,document);!function(){"use strict";"function"==typeof define&&define.amd?define("Particles",function(){return Particles}):"undefined"!=typeof module&&module.exports?module.exports=Particles:window.Particles=Particles}(); \ No newline at end of file diff --git a/src/main/resources/static/js/resourceAnalyse.js b/src/main/resources/static/js/resourceAnalyse.js new file mode 100644 index 0000000..4339a18 --- /dev/null +++ b/src/main/resources/static/js/resourceAnalyse.js @@ -0,0 +1,89 @@ +function resource(count) { + // const restServerBaseURL='http://71.3.21.232:8081'; + $.get(restServerBaseURL + '/log/action/analyseResource?count=' + (count != undefined ? count : 5), + function (data) { + + // var map = JSON.parse(data); + var map = data.actionTypes; + + + resourceChart.setOption(option = { + /* color: 'blue', */ + title: { + show: false, + text: '璧勬簮璋冪敤缁熻', + left: '3%', + textStyle: { + color: '#73879a', + fontSize: 25 + }, + }, + + tooltip: { + trigger: 'axis' + }, + grid: { + // left: '10%', + // right: '5%', + // bottom: '40%' + // x:"-20", + // y:"-20" + }, + xAxis: { + + axisLabel: { + rotate: 50, + textStyle: { + color: '#73879a', + fontSize: 10 + }, + axisLine: { + lineStyle: { + color: '#73879a' + + } + } + }, + data: map.map(function (item) { + return item.title; + }) + }, + yAxis: { + type: 'value', + // max: 20, + axisLabel: { + textStyle: { + color: '#73879a', + fontSize: 14 + } + } + }, + + series: { + name: '璧勬簮璋冪敤娆℃暟', + type: 'bar', + data: map.map(function (item) { + return item.count; + }), + markLine: { + silent: true, + lineStyle: { + color: '#333' + } + + } + } + }); + }); + + // useractionchart.on("click", function (params) { + // console.log("iframe 鐢ㄦ埛琛屼负椤甸潰"); + // var frameSrc = "./useraction.html?username=" + $("#UserName").val(); + // $("#serverstatusiframe").attr("src", frameSrc); + // $('#serverstatusModal').modal({ + // show: true, + // backdrop: 'static' + // }); + // }) + +} \ No newline at end of file diff --git a/src/main/resources/static/js/rsa.min.js b/src/main/resources/static/js/rsa.min.js new file mode 100644 index 0000000..840ea50 --- /dev/null +++ b/src/main/resources/static/js/rsa.min.js @@ -0,0 +1,6 @@ +var JSEncryptExports = {}; +(function(exports) { +function BigInteger(a,b,c){null!=a&&("number"==typeof a?this.fromNumber(a,b,c):null==b&&"string"!=typeof a?this.fromString(a,256):this.fromString(a,b))}function nbi(){return new BigInteger(null)}function am1(a,b,c,d,e,f){for(;--f>=0;){var g=b*this[a++]+c[d]+e;e=Math.floor(g/67108864),c[d++]=67108863&g}return e}function am2(a,b,c,d,e,f){for(var g=32767&b,h=b>>15;--f>=0;){var i=32767&this[a],j=this[a++]>>15,k=h*i+j*g;i=g*i+((32767&k)<<15)+c[d]+(1073741823&e),e=(i>>>30)+(k>>>15)+h*j+(e>>>30),c[d++]=1073741823&i}return e}function am3(a,b,c,d,e,f){for(var g=16383&b,h=b>>14;--f>=0;){var i=16383&this[a],j=this[a++]>>14,k=h*i+j*g;i=g*i+((16383&k)<<14)+c[d]+e,e=(i>>28)+(k>>14)+h*j,c[d++]=268435455&i}return e}function int2char(a){return BI_RM.charAt(a)}function intAt(a,b){var c=BI_RC[a.charCodeAt(b)];return null==c?-1:c}function bnpCopyTo(a){for(var b=this.t-1;b>=0;--b)a[b]=this[b];a.t=this.t,a.s=this.s}function bnpFromInt(a){this.t=1,this.s=0>a?-1:0,a>0?this[0]=a:-1>a?this[0]=a+DV:this.t=0}function nbv(a){var b=nbi();return b.fromInt(a),b}function bnpFromString(a,b){var c;if(16==b)c=4;else if(8==b)c=3;else if(256==b)c=8;else if(2==b)c=1;else if(32==b)c=5;else{if(4!=b)return void this.fromRadix(a,b);c=2}this.t=0,this.s=0;for(var d=a.length,e=!1,f=0;--d>=0;){var g=8==c?255&a[d]:intAt(a,d);0>g?"-"==a.charAt(d)&&(e=!0):(e=!1,0==f?this[this.t++]=g:f+c>this.DB?(this[this.t-1]|=(g&(1<<this.DB-f)-1)<<f,this[this.t++]=g>>this.DB-f):this[this.t-1]|=g<<f,f+=c,f>=this.DB&&(f-=this.DB))}8==c&&0!=(128&a[0])&&(this.s=-1,f>0&&(this[this.t-1]|=(1<<this.DB-f)-1<<f)),this.clamp(),e&&BigInteger.ZERO.subTo(this,this)}function bnpClamp(){for(var a=this.s&this.DM;this.t>0&&this[this.t-1]==a;)--this.t}function bnToString(a){if(this.s<0)return"-"+this.negate().toString(a);var b;if(16==a)b=4;else if(8==a)b=3;else if(2==a)b=1;else if(32==a)b=5;else{if(4!=a)return this.toRadix(a);b=2}var c,d=(1<<b)-1,e=!1,f="",g=this.t,h=this.DB-g*this.DB%b;if(g-->0)for(h<this.DB&&(c=this[g]>>h)>0&&(e=!0,f=int2char(c));g>=0;)b>h?(c=(this[g]&(1<<h)-1)<<b-h,c|=this[--g]>>(h+=this.DB-b)):(c=this[g]>>(h-=b)&d,0>=h&&(h+=this.DB,--g)),c>0&&(e=!0),e&&(f+=int2char(c));return e?f:"0"}function bnNegate(){var a=nbi();return BigInteger.ZERO.subTo(this,a),a}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(a){var b=this.s-a.s;if(0!=b)return b;var c=this.t;if(b=c-a.t,0!=b)return this.s<0?-b:b;for(;--c>=0;)if(0!=(b=this[c]-a[c]))return b;return 0}function nbits(a){var b,c=1;return 0!=(b=a>>>16)&&(a=b,c+=16),0!=(b=a>>8)&&(a=b,c+=8),0!=(b=a>>4)&&(a=b,c+=4),0!=(b=a>>2)&&(a=b,c+=2),0!=(b=a>>1)&&(a=b,c+=1),c}function bnBitLength(){return this.t<=0?0:this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(a,b){var c;for(c=this.t-1;c>=0;--c)b[c+a]=this[c];for(c=a-1;c>=0;--c)b[c]=0;b.t=this.t+a,b.s=this.s}function bnpDRShiftTo(a,b){for(var c=a;c<this.t;++c)b[c-a]=this[c];b.t=Math.max(this.t-a,0),b.s=this.s}function bnpLShiftTo(a,b){var c,d=a%this.DB,e=this.DB-d,f=(1<<e)-1,g=Math.floor(a/this.DB),h=this.s<<d&this.DM;for(c=this.t-1;c>=0;--c)b[c+g+1]=this[c]>>e|h,h=(this[c]&f)<<d;for(c=g-1;c>=0;--c)b[c]=0;b[g]=h,b.t=this.t+g+1,b.s=this.s,b.clamp()}function bnpRShiftTo(a,b){b.s=this.s;var c=Math.floor(a/this.DB);if(c>=this.t)return void(b.t=0);var d=a%this.DB,e=this.DB-d,f=(1<<d)-1;b[0]=this[c]>>d;for(var g=c+1;g<this.t;++g)b[g-c-1]|=(this[g]&f)<<e,b[g-c]=this[g]>>d;d>0&&(b[this.t-c-1]|=(this.s&f)<<e),b.t=this.t-c,b.clamp()}function bnpSubTo(a,b){for(var c=0,d=0,e=Math.min(a.t,this.t);e>c;)d+=this[c]-a[c],b[c++]=d&this.DM,d>>=this.DB;if(a.t<this.t){for(d-=a.s;c<this.t;)d+=this[c],b[c++]=d&this.DM,d>>=this.DB;d+=this.s}else{for(d+=this.s;c<a.t;)d-=a[c],b[c++]=d&this.DM,d>>=this.DB;d-=a.s}b.s=0>d?-1:0,-1>d?b[c++]=this.DV+d:d>0&&(b[c++]=d),b.t=c,b.clamp()}function bnpMultiplyTo(a,b){var c=this.abs(),d=a.abs(),e=c.t;for(b.t=e+d.t;--e>=0;)b[e]=0;for(e=0;e<d.t;++e)b[e+c.t]=c.am(0,d[e],b,e,0,c.t);b.s=0,b.clamp(),this.s!=a.s&&BigInteger.ZERO.subTo(b,b)}function bnpSquareTo(a){for(var b=this.abs(),c=a.t=2*b.t;--c>=0;)a[c]=0;for(c=0;c<b.t-1;++c){var d=b.am(c,b[c],a,2*c,0,1);(a[c+b.t]+=b.am(c+1,2*b[c],a,2*c+1,d,b.t-c-1))>=b.DV&&(a[c+b.t]-=b.DV,a[c+b.t+1]=1)}a.t>0&&(a[a.t-1]+=b.am(c,b[c],a,2*c,0,1)),a.s=0,a.clamp()}function bnpDivRemTo(a,b,c){var d=a.abs();if(!(d.t<=0)){var e=this.abs();if(e.t<d.t)return null!=b&&b.fromInt(0),void(null!=c&&this.copyTo(c));null==c&&(c=nbi());var f=nbi(),g=this.s,h=a.s,i=this.DB-nbits(d[d.t-1]);i>0?(d.lShiftTo(i,f),e.lShiftTo(i,c)):(d.copyTo(f),e.copyTo(c));var j=f.t,k=f[j-1];if(0!=k){var l=k*(1<<this.F1)+(j>1?f[j-2]>>this.F2:0),m=this.FV/l,n=(1<<this.F1)/l,o=1<<this.F2,p=c.t,q=p-j,r=null==b?nbi():b;for(f.dlShiftTo(q,r),c.compareTo(r)>=0&&(c[c.t++]=1,c.subTo(r,c)),BigInteger.ONE.dlShiftTo(j,r),r.subTo(f,f);f.t<j;)f[f.t++]=0;for(;--q>=0;){var s=c[--p]==k?this.DM:Math.floor(c[p]*m+(c[p-1]+o)*n);if((c[p]+=f.am(0,s,c,q,0,j))<s)for(f.dlShiftTo(q,r),c.subTo(r,c);c[p]<--s;)c.subTo(r,c)}null!=b&&(c.drShiftTo(j,b),g!=h&&BigInteger.ZERO.subTo(b,b)),c.t=j,c.clamp(),i>0&&c.rShiftTo(i,c),0>g&&BigInteger.ZERO.subTo(c,c)}}}function bnMod(a){var b=nbi();return this.abs().divRemTo(a,null,b),this.s<0&&b.compareTo(BigInteger.ZERO)>0&&a.subTo(b,b),b}function Classic(a){this.m=a}function cConvert(a){return a.s<0||a.compareTo(this.m)>=0?a.mod(this.m):a}function cRevert(a){return a}function cReduce(a){a.divRemTo(this.m,null,a)}function cMulTo(a,b,c){a.multiplyTo(b,c),this.reduce(c)}function cSqrTo(a,b){a.squareTo(b),this.reduce(b)}function bnpInvDigit(){if(this.t<1)return 0;var a=this[0];if(0==(1&a))return 0;var b=3&a;return b=b*(2-(15&a)*b)&15,b=b*(2-(255&a)*b)&255,b=b*(2-((65535&a)*b&65535))&65535,b=b*(2-a*b%this.DV)%this.DV,b>0?this.DV-b:-b}function Montgomery(a){this.m=a,this.mp=a.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<a.DB-15)-1,this.mt2=2*a.t}function montConvert(a){var b=nbi();return a.abs().dlShiftTo(this.m.t,b),b.divRemTo(this.m,null,b),a.s<0&&b.compareTo(BigInteger.ZERO)>0&&this.m.subTo(b,b),b}function montRevert(a){var b=nbi();return a.copyTo(b),this.reduce(b),b}function montReduce(a){for(;a.t<=this.mt2;)a[a.t++]=0;for(var b=0;b<this.m.t;++b){var c=32767&a[b],d=c*this.mpl+((c*this.mph+(a[b]>>15)*this.mpl&this.um)<<15)&a.DM;for(c=b+this.m.t,a[c]+=this.m.am(0,d,a,b,0,this.m.t);a[c]>=a.DV;)a[c]-=a.DV,a[++c]++}a.clamp(),a.drShiftTo(this.m.t,a),a.compareTo(this.m)>=0&&a.subTo(this.m,a)}function montSqrTo(a,b){a.squareTo(b),this.reduce(b)}function montMulTo(a,b,c){a.multiplyTo(b,c),this.reduce(c)}function bnpIsEven(){return 0==(this.t>0?1&this[0]:this.s)}function bnpExp(a,b){if(a>4294967295||1>a)return BigInteger.ONE;var c=nbi(),d=nbi(),e=b.convert(this),f=nbits(a)-1;for(e.copyTo(c);--f>=0;)if(b.sqrTo(c,d),(a&1<<f)>0)b.mulTo(d,e,c);else{var g=c;c=d,d=g}return b.revert(c)}function bnModPowInt(a,b){var c;return c=256>a||b.isEven()?new Classic(b):new Montgomery(b),this.exp(a,c)}function bnClone(){var a=nbi();return this.copyTo(a),a}function bnIntValue(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function bnByteValue(){return 0==this.t?this.s:this[0]<<24>>24}function bnShortValue(){return 0==this.t?this.s:this[0]<<16>>16}function bnpChunkSize(a){return Math.floor(Math.LN2*this.DB/Math.log(a))}function bnSigNum(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1}function bnpToRadix(a){if(null==a&&(a=10),0==this.signum()||2>a||a>36)return"0";var b=this.chunkSize(a),c=Math.pow(a,b),d=nbv(c),e=nbi(),f=nbi(),g="";for(this.divRemTo(d,e,f);e.signum()>0;)g=(c+f.intValue()).toString(a).substr(1)+g,e.divRemTo(d,e,f);return f.intValue().toString(a)+g}function bnpFromRadix(a,b){this.fromInt(0),null==b&&(b=10);for(var c=this.chunkSize(b),d=Math.pow(b,c),e=!1,f=0,g=0,h=0;h<a.length;++h){var i=intAt(a,h);0>i?"-"==a.charAt(h)&&0==this.signum()&&(e=!0):(g=b*g+i,++f>=c&&(this.dMultiply(d),this.dAddOffset(g,0),f=0,g=0))}f>0&&(this.dMultiply(Math.pow(b,f)),this.dAddOffset(g,0)),e&&BigInteger.ZERO.subTo(this,this)}function bnpFromNumber(a,b,c){if("number"==typeof b)if(2>a)this.fromInt(1);else for(this.fromNumber(a,c),this.testBit(a-1)||this.bitwiseTo(BigInteger.ONE.shiftLeft(a-1),op_or,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(b);)this.dAddOffset(2,0),this.bitLength()>a&&this.subTo(BigInteger.ONE.shiftLeft(a-1),this);else{var d=new Array,e=7&a;d.length=(a>>3)+1,b.nextBytes(d),e>0?d[0]&=(1<<e)-1:d[0]=0,this.fromString(d,256)}}function bnToByteArray(){var a=this.t,b=new Array;b[0]=this.s;var c,d=this.DB-a*this.DB%8,e=0;if(a-->0)for(d<this.DB&&(c=this[a]>>d)!=(this.s&this.DM)>>d&&(b[e++]=c|this.s<<this.DB-d);a>=0;)8>d?(c=(this[a]&(1<<d)-1)<<8-d,c|=this[--a]>>(d+=this.DB-8)):(c=this[a]>>(d-=8)&255,0>=d&&(d+=this.DB,--a)),0!=(128&c)&&(c|=-256),0==e&&(128&this.s)!=(128&c)&&++e,(e>0||c!=this.s)&&(b[e++]=c);return b}function bnEquals(a){return 0==this.compareTo(a)}function bnMin(a){return this.compareTo(a)<0?this:a}function bnMax(a){return this.compareTo(a)>0?this:a}function bnpBitwiseTo(a,b,c){var d,e,f=Math.min(a.t,this.t);for(d=0;f>d;++d)c[d]=b(this[d],a[d]);if(a.t<this.t){for(e=a.s&this.DM,d=f;d<this.t;++d)c[d]=b(this[d],e);c.t=this.t}else{for(e=this.s&this.DM,d=f;d<a.t;++d)c[d]=b(e,a[d]);c.t=a.t}c.s=b(this.s,a.s),c.clamp()}function op_and(a,b){return a&b}function bnAnd(a){var b=nbi();return this.bitwiseTo(a,op_and,b),b}function op_or(a,b){return a|b}function bnOr(a){var b=nbi();return this.bitwiseTo(a,op_or,b),b}function op_xor(a,b){return a^b}function bnXor(a){var b=nbi();return this.bitwiseTo(a,op_xor,b),b}function op_andnot(a,b){return a&~b}function bnAndNot(a){var b=nbi();return this.bitwiseTo(a,op_andnot,b),b}function bnNot(){for(var a=nbi(),b=0;b<this.t;++b)a[b]=this.DM&~this[b];return a.t=this.t,a.s=~this.s,a}function bnShiftLeft(a){var b=nbi();return 0>a?this.rShiftTo(-a,b):this.lShiftTo(a,b),b}function bnShiftRight(a){var b=nbi();return 0>a?this.lShiftTo(-a,b):this.rShiftTo(a,b),b}function lbit(a){if(0==a)return-1;var b=0;return 0==(65535&a)&&(a>>=16,b+=16),0==(255&a)&&(a>>=8,b+=8),0==(15&a)&&(a>>=4,b+=4),0==(3&a)&&(a>>=2,b+=2),0==(1&a)&&++b,b}function bnGetLowestSetBit(){for(var a=0;a<this.t;++a)if(0!=this[a])return a*this.DB+lbit(this[a]);return this.s<0?this.t*this.DB:-1}function cbit(a){for(var b=0;0!=a;)a&=a-1,++b;return b}function bnBitCount(){for(var a=0,b=this.s&this.DM,c=0;c<this.t;++c)a+=cbit(this[c]^b);return a}function bnTestBit(a){var b=Math.floor(a/this.DB);return b>=this.t?0!=this.s:0!=(this[b]&1<<a%this.DB)}function bnpChangeBit(a,b){var c=BigInteger.ONE.shiftLeft(a);return this.bitwiseTo(c,b,c),c}function bnSetBit(a){return this.changeBit(a,op_or)}function bnClearBit(a){return this.changeBit(a,op_andnot)}function bnFlipBit(a){return this.changeBit(a,op_xor)}function bnpAddTo(a,b){for(var c=0,d=0,e=Math.min(a.t,this.t);e>c;)d+=this[c]+a[c],b[c++]=d&this.DM,d>>=this.DB;if(a.t<this.t){for(d+=a.s;c<this.t;)d+=this[c],b[c++]=d&this.DM,d>>=this.DB;d+=this.s}else{for(d+=this.s;c<a.t;)d+=a[c],b[c++]=d&this.DM,d>>=this.DB;d+=a.s}b.s=0>d?-1:0,d>0?b[c++]=d:-1>d&&(b[c++]=this.DV+d),b.t=c,b.clamp()}function bnAdd(a){var b=nbi();return this.addTo(a,b),b}function bnSubtract(a){var b=nbi();return this.subTo(a,b),b}function bnMultiply(a){var b=nbi();return this.multiplyTo(a,b),b}function bnSquare(){var a=nbi();return this.squareTo(a),a}function bnDivide(a){var b=nbi();return this.divRemTo(a,b,null),b}function bnRemainder(a){var b=nbi();return this.divRemTo(a,null,b),b}function bnDivideAndRemainder(a){var b=nbi(),c=nbi();return this.divRemTo(a,b,c),new Array(b,c)}function bnpDMultiply(a){this[this.t]=this.am(0,a-1,this,0,0,this.t),++this.t,this.clamp()}function bnpDAddOffset(a,b){if(0!=a){for(;this.t<=b;)this[this.t++]=0;for(this[b]+=a;this[b]>=this.DV;)this[b]-=this.DV,++b>=this.t&&(this[this.t++]=0),++this[b]}}function NullExp(){}function nNop(a){return a}function nMulTo(a,b,c){a.multiplyTo(b,c)}function nSqrTo(a,b){a.squareTo(b)}function bnPow(a){return this.exp(a,new NullExp)}function bnpMultiplyLowerTo(a,b,c){var d=Math.min(this.t+a.t,b);for(c.s=0,c.t=d;d>0;)c[--d]=0;var e;for(e=c.t-this.t;e>d;++d)c[d+this.t]=this.am(0,a[d],c,d,0,this.t);for(e=Math.min(a.t,b);e>d;++d)this.am(0,a[d],c,d,0,b-d);c.clamp()}function bnpMultiplyUpperTo(a,b,c){--b;var d=c.t=this.t+a.t-b;for(c.s=0;--d>=0;)c[d]=0;for(d=Math.max(b-this.t,0);d<a.t;++d)c[this.t+d-b]=this.am(b-d,a[d],c,0,0,this.t+d-b);c.clamp(),c.drShiftTo(1,c)}function Barrett(a){this.r2=nbi(),this.q3=nbi(),BigInteger.ONE.dlShiftTo(2*a.t,this.r2),this.mu=this.r2.divide(a),this.m=a}function barrettConvert(a){if(a.s<0||a.t>2*this.m.t)return a.mod(this.m);if(a.compareTo(this.m)<0)return a;var b=nbi();return a.copyTo(b),this.reduce(b),b}function barrettRevert(a){return a}function barrettReduce(a){for(a.drShiftTo(this.m.t-1,this.r2),a.t>this.m.t+1&&(a.t=this.m.t+1,a.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);a.compareTo(this.r2)<0;)a.dAddOffset(1,this.m.t+1);for(a.subTo(this.r2,a);a.compareTo(this.m)>=0;)a.subTo(this.m,a)}function barrettSqrTo(a,b){a.squareTo(b),this.reduce(b)}function barrettMulTo(a,b,c){a.multiplyTo(b,c),this.reduce(c)}function bnModPow(a,b){var c,d,e=a.bitLength(),f=nbv(1);if(0>=e)return f;c=18>e?1:48>e?3:144>e?4:768>e?5:6,d=8>e?new Classic(b):b.isEven()?new Barrett(b):new Montgomery(b);var g=new Array,h=3,i=c-1,j=(1<<c)-1;if(g[1]=d.convert(this),c>1){var k=nbi();for(d.sqrTo(g[1],k);j>=h;)g[h]=nbi(),d.mulTo(k,g[h-2],g[h]),h+=2}var l,m,n=a.t-1,o=!0,p=nbi();for(e=nbits(a[n])-1;n>=0;){for(e>=i?l=a[n]>>e-i&j:(l=(a[n]&(1<<e+1)-1)<<i-e,n>0&&(l|=a[n-1]>>this.DB+e-i)),h=c;0==(1&l);)l>>=1,--h;if((e-=h)<0&&(e+=this.DB,--n),o)g[l].copyTo(f),o=!1;else{for(;h>1;)d.sqrTo(f,p),d.sqrTo(p,f),h-=2;h>0?d.sqrTo(f,p):(m=f,f=p,p=m),d.mulTo(p,g[l],f)}for(;n>=0&&0==(a[n]&1<<e);)d.sqrTo(f,p),m=f,f=p,p=m,--e<0&&(e=this.DB-1,--n)}return d.revert(f)}function bnGCD(a){var b=this.s<0?this.negate():this.clone(),c=a.s<0?a.negate():a.clone();if(b.compareTo(c)<0){var d=b;b=c,c=d}var e=b.getLowestSetBit(),f=c.getLowestSetBit();if(0>f)return b;for(f>e&&(f=e),f>0&&(b.rShiftTo(f,b),c.rShiftTo(f,c));b.signum()>0;)(e=b.getLowestSetBit())>0&&b.rShiftTo(e,b),(e=c.getLowestSetBit())>0&&c.rShiftTo(e,c),b.compareTo(c)>=0?(b.subTo(c,b),b.rShiftTo(1,b)):(c.subTo(b,c),c.rShiftTo(1,c));return f>0&&c.lShiftTo(f,c),c}function bnpModInt(a){if(0>=a)return 0;var b=this.DV%a,c=this.s<0?a-1:0;if(this.t>0)if(0==b)c=this[0]%a;else for(var d=this.t-1;d>=0;--d)c=(b*c+this[d])%a;return c}function bnModInverse(a){var b=a.isEven();if(this.isEven()&&b||0==a.signum())return BigInteger.ZERO;for(var c=a.clone(),d=this.clone(),e=nbv(1),f=nbv(0),g=nbv(0),h=nbv(1);0!=c.signum();){for(;c.isEven();)c.rShiftTo(1,c),b?(e.isEven()&&f.isEven()||(e.addTo(this,e),f.subTo(a,f)),e.rShiftTo(1,e)):f.isEven()||f.subTo(a,f),f.rShiftTo(1,f);for(;d.isEven();)d.rShiftTo(1,d),b?(g.isEven()&&h.isEven()||(g.addTo(this,g),h.subTo(a,h)),g.rShiftTo(1,g)):h.isEven()||h.subTo(a,h),h.rShiftTo(1,h);c.compareTo(d)>=0?(c.subTo(d,c),b&&e.subTo(g,e),f.subTo(h,f)):(d.subTo(c,d),b&&g.subTo(e,g),h.subTo(f,h))}return 0!=d.compareTo(BigInteger.ONE)?BigInteger.ZERO:h.compareTo(a)>=0?h.subtract(a):h.signum()<0?(h.addTo(a,h),h.signum()<0?h.add(a):h):h}function bnIsProbablePrime(a){var b,c=this.abs();if(1==c.t&&c[0]<=lowprimes[lowprimes.length-1]){for(b=0;b<lowprimes.length;++b)if(c[0]==lowprimes[b])return!0;return!1}if(c.isEven())return!1;for(b=1;b<lowprimes.length;){for(var d=lowprimes[b],e=b+1;e<lowprimes.length&&lplim>d;)d*=lowprimes[e++];for(d=c.modInt(d);e>b;)if(d%lowprimes[b++]==0)return!1}return c.millerRabin(a)}function bnpMillerRabin(a){var b=this.subtract(BigInteger.ONE),c=b.getLowestSetBit();if(0>=c)return!1;var d=b.shiftRight(c);a=a+1>>1,a>lowprimes.length&&(a=lowprimes.length);for(var e=nbi(),f=0;a>f;++f){e.fromInt(lowprimes[Math.floor(Math.random()*lowprimes.length)]);var g=e.modPow(d,this);if(0!=g.compareTo(BigInteger.ONE)&&0!=g.compareTo(b)){for(var h=1;h++<c&&0!=g.compareTo(b);)if(g=g.modPowInt(2,this),0==g.compareTo(BigInteger.ONE))return!1;if(0!=g.compareTo(b))return!1}}return!0}function Arcfour(){this.i=0,this.j=0,this.S=new Array}function ARC4init(a){var b,c,d;for(b=0;256>b;++b)this.S[b]=b;for(c=0,b=0;256>b;++b)c=c+this.S[b]+a[b%a.length]&255,d=this.S[b],this.S[b]=this.S[c],this.S[c]=d;this.i=0,this.j=0}function ARC4next(){var a;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,a=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=a,this.S[a+this.S[this.i]&255]}function prng_newstate(){return new Arcfour}function rng_get_byte(){if(null==rng_state){for(rng_state=prng_newstate();rng_psize>rng_pptr;){var a=Math.floor(65536*Math.random());rng_pool[rng_pptr++]=255&a}for(rng_state.init(rng_pool),rng_pptr=0;rng_pptr<rng_pool.length;++rng_pptr)rng_pool[rng_pptr]=0;rng_pptr=0}return rng_state.next()}function rng_get_bytes(a){var b;for(b=0;b<a.length;++b)a[b]=rng_get_byte()}function SecureRandom(){}function parseBigInt(a,b){return new BigInteger(a,b)}function linebrk(a,b){for(var c="",d=0;d+b<a.length;)c+=a.substring(d,d+b)+"\n",d+=b;return c+a.substring(d,a.length)}function byte2Hex(a){return 16>a?"0"+a.toString(16):a.toString(16)}function pkcs1pad2(a,b){if(b<a.length+11)return console.error("Message too long for RSA"),null;for(var c=new Array,d=a.length-1;d>=0&&b>0;){var e=a.charCodeAt(d--);128>e?c[--b]=e:e>127&&2048>e?(c[--b]=63&e|128,c[--b]=e>>6|192):(c[--b]=63&e|128,c[--b]=e>>6&63|128,c[--b]=e>>12|224)}c[--b]=0;for(var f=new SecureRandom,g=new Array;b>2;){for(g[0]=0;0==g[0];)f.nextBytes(g);c[--b]=g[0]}return c[--b]=2,c[--b]=0,new BigInteger(c)}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}function RSASetPublic(a,b){null!=a&&null!=b&&a.length>0&&b.length>0?(this.n=parseBigInt(a,16),this.e=parseInt(b,16)):console.error("Invalid RSA public key")}function RSADoPublic(a){return a.modPowInt(this.e,this.n)}function RSAEncrypt(a){var b=pkcs1pad2(a,this.n.bitLength()+7>>3);if(null==b)return null;var c=this.doPublic(b);if(null==c)return null;var d=c.toString(16);return 0==(1&d.length)?d:"0"+d}function pkcs1unpad2(a,b){for(var c=a.toByteArray(),d=0;d<c.length&&0==c[d];)++d;if(c.length-d!=b-1||2!=c[d])return null;for(++d;0!=c[d];)if(++d>=c.length)return null;for(var e="";++d<c.length;){var f=255&c[d];128>f?e+=String.fromCharCode(f):f>191&&224>f?(e+=String.fromCharCode((31&f)<<6|63&c[d+1]),++d):(e+=String.fromCharCode((15&f)<<12|(63&c[d+1])<<6|63&c[d+2]),d+=2)}return e}function RSASetPrivate(a,b,c){null!=a&&null!=b&&a.length>0&&b.length>0?(this.n=parseBigInt(a,16),this.e=parseInt(b,16),this.d=parseBigInt(c,16)):console.error("Invalid RSA private key")}function RSASetPrivateEx(a,b,c,d,e,f,g,h){null!=a&&null!=b&&a.length>0&&b.length>0?(this.n=parseBigInt(a,16),this.e=parseInt(b,16),this.d=parseBigInt(c,16),this.p=parseBigInt(d,16),this.q=parseBigInt(e,16),this.dmp1=parseBigInt(f,16),this.dmq1=parseBigInt(g,16),this.coeff=parseBigInt(h,16)):console.error("Invalid RSA private key")}function RSAGenerate(a,b){var c=new SecureRandom,d=a>>1;this.e=parseInt(b,16);for(var e=new BigInteger(b,16);;){for(;this.p=new BigInteger(a-d,1,c),0!=this.p.subtract(BigInteger.ONE).gcd(e).compareTo(BigInteger.ONE)||!this.p.isProbablePrime(10););for(;this.q=new BigInteger(d,1,c),0!=this.q.subtract(BigInteger.ONE).gcd(e).compareTo(BigInteger.ONE)||!this.q.isProbablePrime(10););if(this.p.compareTo(this.q)<=0){var f=this.p;this.p=this.q,this.q=f}var g=this.p.subtract(BigInteger.ONE),h=this.q.subtract(BigInteger.ONE),i=g.multiply(h);if(0==i.gcd(e).compareTo(BigInteger.ONE)){this.n=this.p.multiply(this.q),this.d=e.modInverse(i),this.dmp1=this.d.mod(g),this.dmq1=this.d.mod(h),this.coeff=this.q.modInverse(this.p);break}}}function RSADoPrivate(a){if(null==this.p||null==this.q)return a.modPow(this.d,this.n);for(var b=a.mod(this.p).modPow(this.dmp1,this.p),c=a.mod(this.q).modPow(this.dmq1,this.q);b.compareTo(c)<0;)b=b.add(this.p);return b.subtract(c).multiply(this.coeff).mod(this.p).multiply(this.q).add(c)}function RSADecrypt(a){var b=parseBigInt(a,16),c=this.doPrivate(b);return null==c?null:pkcs1unpad2(c,this.n.bitLength()+7>>3)}function hex2b64(a){var b,c,d="";for(b=0;b+3<=a.length;b+=3)c=parseInt(a.substring(b,b+3),16),d+=b64map.charAt(c>>6)+b64map.charAt(63&c);for(b+1==a.length?(c=parseInt(a.substring(b,b+1),16),d+=b64map.charAt(c<<2)):b+2==a.length&&(c=parseInt(a.substring(b,b+2),16),d+=b64map.charAt(c>>2)+b64map.charAt((3&c)<<4));(3&d.length)>0;)d+=b64pad;return d}function b64tohex(a){var b,c,d="",e=0;for(b=0;b<a.length&&a.charAt(b)!=b64pad;++b)v=b64map.indexOf(a.charAt(b)),v<0||(0==e?(d+=int2char(v>>2),c=3&v,e=1):1==e?(d+=int2char(c<<2|v>>4),c=15&v,e=2):2==e?(d+=int2char(c),d+=int2char(v>>2),c=3&v,e=3):(d+=int2char(c<<2|v>>4),d+=int2char(15&v),e=0));return 1==e&&(d+=int2char(c<<2)),d}function b64toBA(a){var b,c=b64tohex(a),d=new Array;for(b=0;2*b<c.length;++b)d[b]=parseInt(c.substring(2*b,2*b+2),16);return d}var dbits,canary=0xdeadbeefcafe,j_lm=15715070==(16777215&canary);j_lm&&"Microsoft Internet Explorer"==navigator.appName?(BigInteger.prototype.am=am2,dbits=30):j_lm&&"Netscape"!=navigator.appName?(BigInteger.prototype.am=am1,dbits=26):(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;var BI_RM="0123456789abcdefghijklmnopqrstuvwxyz",BI_RC=new Array,rr,vv;for(rr="0".charCodeAt(0),vv=0;9>=vv;++vv)BI_RC[rr++]=vv;for(rr="a".charCodeAt(0),vv=10;36>vv;++vv)BI_RC[rr++]=vv;for(rr="A".charCodeAt(0),vv=10;36>vv;++vv)BI_RC[rr++]=vv;Classic.prototype.convert=cConvert,Classic.prototype.revert=cRevert,Classic.prototype.reduce=cReduce,Classic.prototype.mulTo=cMulTo,Classic.prototype.sqrTo=cSqrTo,Montgomery.prototype.convert=montConvert,Montgomery.prototype.revert=montRevert,Montgomery.prototype.reduce=montReduce,Montgomery.prototype.mulTo=montMulTo,Montgomery.prototype.sqrTo=montSqrTo,BigInteger.prototype.copyTo=bnpCopyTo,BigInteger.prototype.fromInt=bnpFromInt,BigInteger.prototype.fromString=bnpFromString,BigInteger.prototype.clamp=bnpClamp,BigInteger.prototype.dlShiftTo=bnpDLShiftTo,BigInteger.prototype.drShiftTo=bnpDRShiftTo,BigInteger.prototype.lShiftTo=bnpLShiftTo,BigInteger.prototype.rShiftTo=bnpRShiftTo,BigInteger.prototype.subTo=bnpSubTo,BigInteger.prototype.multiplyTo=bnpMultiplyTo,BigInteger.prototype.squareTo=bnpSquareTo,BigInteger.prototype.divRemTo=bnpDivRemTo,BigInteger.prototype.invDigit=bnpInvDigit,BigInteger.prototype.isEven=bnpIsEven,BigInteger.prototype.exp=bnpExp,BigInteger.prototype.toString=bnToString,BigInteger.prototype.negate=bnNegate,BigInteger.prototype.abs=bnAbs,BigInteger.prototype.compareTo=bnCompareTo,BigInteger.prototype.bitLength=bnBitLength,BigInteger.prototype.mod=bnMod,BigInteger.prototype.modPowInt=bnModPowInt,BigInteger.ZERO=nbv(0),BigInteger.ONE=nbv(1),NullExp.prototype.convert=nNop,NullExp.prototype.revert=nNop,NullExp.prototype.mulTo=nMulTo,NullExp.prototype.sqrTo=nSqrTo,Barrett.prototype.convert=barrettConvert,Barrett.prototype.revert=barrettRevert,Barrett.prototype.reduce=barrettReduce,Barrett.prototype.mulTo=barrettMulTo,Barrett.prototype.sqrTo=barrettSqrTo;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],lplim=(1<<26)/lowprimes[lowprimes.length-1];BigInteger.prototype.chunkSize=bnpChunkSize,BigInteger.prototype.toRadix=bnpToRadix,BigInteger.prototype.fromRadix=bnpFromRadix,BigInteger.prototype.fromNumber=bnpFromNumber,BigInteger.prototype.bitwiseTo=bnpBitwiseTo,BigInteger.prototype.changeBit=bnpChangeBit,BigInteger.prototype.addTo=bnpAddTo,BigInteger.prototype.dMultiply=bnpDMultiply,BigInteger.prototype.dAddOffset=bnpDAddOffset,BigInteger.prototype.multiplyLowerTo=bnpMultiplyLowerTo,BigInteger.prototype.multiplyUpperTo=bnpMultiplyUpperTo,BigInteger.prototype.modInt=bnpModInt,BigInteger.prototype.millerRabin=bnpMillerRabin,BigInteger.prototype.clone=bnClone,BigInteger.prototype.intValue=bnIntValue,BigInteger.prototype.byteValue=bnByteValue,BigInteger.prototype.shortValue=bnShortValue,BigInteger.prototype.signum=bnSigNum,BigInteger.prototype.toByteArray=bnToByteArray,BigInteger.prototype.equals=bnEquals,BigInteger.prototype.min=bnMin,BigInteger.prototype.max=bnMax,BigInteger.prototype.and=bnAnd,BigInteger.prototype.or=bnOr,BigInteger.prototype.xor=bnXor,BigInteger.prototype.andNot=bnAndNot,BigInteger.prototype.not=bnNot,BigInteger.prototype.shiftLeft=bnShiftLeft,BigInteger.prototype.shiftRight=bnShiftRight,BigInteger.prototype.getLowestSetBit=bnGetLowestSetBit,BigInteger.prototype.bitCount=bnBitCount,BigInteger.prototype.testBit=bnTestBit,BigInteger.prototype.setBit=bnSetBit,BigInteger.prototype.clearBit=bnClearBit,BigInteger.prototype.flipBit=bnFlipBit,BigInteger.prototype.add=bnAdd,BigInteger.prototype.subtract=bnSubtract,BigInteger.prototype.multiply=bnMultiply,BigInteger.prototype.divide=bnDivide,BigInteger.prototype.remainder=bnRemainder,BigInteger.prototype.divideAndRemainder=bnDivideAndRemainder,BigInteger.prototype.modPow=bnModPow,BigInteger.prototype.modInverse=bnModInverse,BigInteger.prototype.pow=bnPow,BigInteger.prototype.gcd=bnGCD,BigInteger.prototype.isProbablePrime=bnIsProbablePrime,BigInteger.prototype.square=bnSquare,Arcfour.prototype.init=ARC4init,Arcfour.prototype.next=ARC4next;var rng_psize=256,rng_state,rng_pool,rng_pptr;if(null==rng_pool){rng_pool=new Array,rng_pptr=0;var t;if(window.crypto&&window.crypto.getRandomValues){var z=new Uint32Array(256);for(window.crypto.getRandomValues(z),t=0;t<z.length;++t)rng_pool[rng_pptr++]=255&z[t]}var onMouseMoveListener=function(a){if(this.count=this.count||0,this.count>=256||rng_pptr>=rng_psize)return void(window.removeEventListener?window.removeEventListener("mousemove",onMouseMoveListener):window.detachEvent&&window.detachEvent("onmousemove",onMouseMoveListener));this.count+=1;var b=a.x+a.y;rng_pool[rng_pptr++]=255&b};window.addEventListener?window.addEventListener("mousemove",onMouseMoveListener):window.attachEvent&&window.attachEvent("onmousemove",onMouseMoveListener)}SecureRandom.prototype.nextBytes=rng_get_bytes,RSAKey.prototype.doPublic=RSADoPublic,RSAKey.prototype.setPublic=RSASetPublic,RSAKey.prototype.encrypt=RSAEncrypt,RSAKey.prototype.doPrivate=RSADoPrivate,RSAKey.prototype.setPrivate=RSASetPrivate,RSAKey.prototype.setPrivateEx=RSASetPrivateEx,RSAKey.prototype.generate=RSAGenerate,RSAKey.prototype.decrypt=RSADecrypt,function(){var a=function(a,b,c){var d=new SecureRandom,e=a>>1;this.e=parseInt(b,16);var f=new BigInteger(b,16),g=this,h=function(){var b=function(){if(g.p.compareTo(g.q)<=0){var a=g.p;g.p=g.q,g.q=a}var b=g.p.subtract(BigInteger.ONE),d=g.q.subtract(BigInteger.ONE),e=b.multiply(d);0==e.gcd(f).compareTo(BigInteger.ONE)?(g.n=g.p.multiply(g.q),g.d=f.modInverse(e),g.dmp1=g.d.mod(b),g.dmq1=g.d.mod(d),g.coeff=g.q.modInverse(g.p),setTimeout(function(){c()},0)):setTimeout(h,0)},i=function(){g.q=nbi(),g.q.fromNumberAsync(e,1,d,function(){g.q.subtract(BigInteger.ONE).gcda(f,function(a){0==a.compareTo(BigInteger.ONE)&&g.q.isProbablePrime(10)?setTimeout(b,0):setTimeout(i,0)})})},j=function(){g.p=nbi(),g.p.fromNumberAsync(a-e,1,d,function(){g.p.subtract(BigInteger.ONE).gcda(f,function(a){0==a.compareTo(BigInteger.ONE)&&g.p.isProbablePrime(10)?setTimeout(i,0):setTimeout(j,0)})})};setTimeout(j,0)};setTimeout(h,0)};RSAKey.prototype.generateAsync=a;var b=function(a,b){var c=this.s<0?this.negate():this.clone(),d=a.s<0?a.negate():a.clone();if(c.compareTo(d)<0){var e=c;c=d,d=e}var f=c.getLowestSetBit(),g=d.getLowestSetBit();if(0>g)return void b(c);g>f&&(g=f),g>0&&(c.rShiftTo(g,c),d.rShiftTo(g,d));var h=function(){(f=c.getLowestSetBit())>0&&c.rShiftTo(f,c),(f=d.getLowestSetBit())>0&&d.rShiftTo(f,d),c.compareTo(d)>=0?(c.subTo(d,c),c.rShiftTo(1,c)):(d.subTo(c,d),d.rShiftTo(1,d)),c.signum()>0?setTimeout(h,0):(g>0&&d.lShiftTo(g,d),setTimeout(function(){b(d)},0))};setTimeout(h,10)};BigInteger.prototype.gcda=b;var c=function(a,b,c,d){if("number"==typeof b)if(2>a)this.fromInt(1);else{this.fromNumber(a,c),this.testBit(a-1)||this.bitwiseTo(BigInteger.ONE.shiftLeft(a-1),op_or,this),this.isEven()&&this.dAddOffset(1,0);var e=this,f=function(){e.dAddOffset(2,0),e.bitLength()>a&&e.subTo(BigInteger.ONE.shiftLeft(a-1),e),e.isProbablePrime(b)?setTimeout(function(){d()},0):setTimeout(f,0)};setTimeout(f,0)}else{var g=new Array,h=7&a;g.length=(a>>3)+1,b.nextBytes(g),h>0?g[0]&=(1<<h)-1:g[0]=0,this.fromString(g,256)}};BigInteger.prototype.fromNumberAsync=c}();var b64map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",b64pad="=",JSX=JSX||{};JSX.env=JSX.env||{};var L=JSX,OP=Object.prototype,FUNCTION_TOSTRING="[object Function]",ADD=["toString","valueOf"];JSX.env.parseUA=function(a){var b,c=function(a){var b=0;return parseFloat(a.replace(/\./g,function(){return 1==b++?"":"."}))},d=navigator,e={ie:0,opera:0,gecko:0,webkit:0,chrome:0,mobile:null,air:0,ipad:0,iphone:0,ipod:0,ios:null,android:0,webos:0,caja:d&&d.cajaVersion,secure:!1,os:null},f=a||navigator&&navigator.userAgent,g=window&&window.location,h=g&&g.href;return e.secure=h&&0===h.toLowerCase().indexOf("https"),f&&(/windows|win32/i.test(f)?e.os="windows":/macintosh/i.test(f)?e.os="macintosh":/rhino/i.test(f)&&(e.os="rhino"),/KHTML/.test(f)&&(e.webkit=1),b=f.match(/AppleWebKit\/([^\s]*)/),b&&b[1]&&(e.webkit=c(b[1]),/ Mobile\//.test(f)?(e.mobile="Apple",b=f.match(/OS ([^\s]*)/),b&&b[1]&&(b=c(b[1].replace("_","."))),e.ios=b,e.ipad=e.ipod=e.iphone=0,b=f.match(/iPad|iPod|iPhone/),b&&b[0]&&(e[b[0].toLowerCase()]=e.ios)):(b=f.match(/NokiaN[^\/]*|Android \d\.\d|webOS\/\d\.\d/),b&&(e.mobile=b[0]),/webOS/.test(f)&&(e.mobile="WebOS",b=f.match(/webOS\/([^\s]*);/),b&&b[1]&&(e.webos=c(b[1]))),/ Android/.test(f)&&(e.mobile="Android",b=f.match(/Android ([^\s]*);/),b&&b[1]&&(e.android=c(b[1])))),b=f.match(/Chrome\/([^\s]*)/),b&&b[1]?e.chrome=c(b[1]):(b=f.match(/AdobeAIR\/([^\s]*)/),b&&(e.air=b[0]))),e.webkit||(b=f.match(/Opera[\s\/]([^\s]*)/),b&&b[1]?(e.opera=c(b[1]),b=f.match(/Version\/([^\s]*)/),b&&b[1]&&(e.opera=c(b[1])),b=f.match(/Opera Mini[^;]*/),b&&(e.mobile=b[0])):(b=f.match(/MSIE\s([^;]*)/),b&&b[1]?e.ie=c(b[1]):(b=f.match(/Gecko\/([^\s]*)/),b&&(e.gecko=1,b=f.match(/rv:([^\s\)]*)/),b&&b[1]&&(e.gecko=c(b[1]))))))),e},JSX.env.ua=JSX.env.parseUA(),JSX.isFunction=function(a){return"function"==typeof a||OP.toString.apply(a)===FUNCTION_TOSTRING},JSX._IEEnumFix=JSX.env.ua.ie?function(a,b){var c,d,e;for(c=0;c<ADD.length;c+=1)d=ADD[c],e=b[d],L.isFunction(e)&&e!=OP[d]&&(a[d]=e)}:function(){},JSX.extend=function(a,b,c){if(!b||!a)throw new Error("extend failed, please check that all dependencies are included.");var d,e=function(){};if(e.prototype=b.prototype,a.prototype=new e,a.prototype.constructor=a,a.superclass=b.prototype,b.prototype.constructor==OP.constructor&&(b.prototype.constructor=b),c){for(d in c)L.hasOwnProperty(c,d)&&(a.prototype[d]=c[d]);L._IEEnumFix(a.prototype,c)}},"undefined"!=typeof KJUR&&KJUR||(KJUR={}),"undefined"!=typeof KJUR.asn1&&KJUR.asn1||(KJUR.asn1={}),KJUR.asn1.ASN1Util=new function(){this.integerToByteHex=function(a){var b=a.toString(16);return b.length%2==1&&(b="0"+b),b},this.bigIntToMinTwosComplementsHex=function(a){var b=a.toString(16);if("-"!=b.substr(0,1))b.length%2==1?b="0"+b:b.match(/^[0-7]/)||(b="00"+b); +else{var c=b.substr(1),d=c.length;d%2==1?d+=1:b.match(/^[0-7]/)||(d+=2);for(var e="",f=0;d>f;f++)e+="f";var g=new BigInteger(e,16),h=g.xor(a).add(BigInteger.ONE);b=h.toString(16).replace(/^-/,"")}return b},this.getPEMStringFromHex=function(a,b){var c=CryptoJS.enc.Hex.parse(a),d=CryptoJS.enc.Base64.stringify(c),e=d.replace(/(.{64})/g,"$1\r\n");return e=e.replace(/\r\n$/,""),"-----BEGIN "+b+"-----\r\n"+e+"\r\n-----END "+b+"-----\r\n"}},KJUR.asn1.ASN1Object=function(){var a="";this.getLengthHexFromValue=function(){if("undefined"==typeof this.hV||null==this.hV)throw"this.hV is null or undefined.";if(this.hV.length%2==1)throw"value hex must be even length: n="+a.length+",v="+this.hV;var b=this.hV.length/2,c=b.toString(16);if(c.length%2==1&&(c="0"+c),128>b)return c;var d=c.length/2;if(d>15)throw"ASN.1 length too long to represent by 8x: n = "+b.toString(16);var e=128+d;return e.toString(16)+c},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""}},KJUR.asn1.DERAbstractString=function(a){KJUR.asn1.DERAbstractString.superclass.constructor.call(this);this.getString=function(){return this.s},this.setString=function(a){this.hTLV=null,this.isModified=!0,this.s=a,this.hV=stohex(this.s)},this.setStringHex=function(a){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=a},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof a&&("undefined"!=typeof a.str?this.setString(a.str):"undefined"!=typeof a.hex&&this.setStringHex(a.hex))},JSX.extend(KJUR.asn1.DERAbstractString,KJUR.asn1.ASN1Object),KJUR.asn1.DERAbstractTime=function(){KJUR.asn1.DERAbstractTime.superclass.constructor.call(this);this.localDateToUTC=function(a){utc=a.getTime()+6e4*a.getTimezoneOffset();var b=new Date(utc);return b},this.formatDate=function(a,b){var c=this.zeroPadding,d=this.localDateToUTC(a),e=String(d.getFullYear());"utc"==b&&(e=e.substr(2,2));var f=c(String(d.getMonth()+1),2),g=c(String(d.getDate()),2),h=c(String(d.getHours()),2),i=c(String(d.getMinutes()),2),j=c(String(d.getSeconds()),2);return e+f+g+h+i+j+"Z"},this.zeroPadding=function(a,b){return a.length>=b?a:new Array(b-a.length+1).join("0")+a},this.getString=function(){return this.s},this.setString=function(a){this.hTLV=null,this.isModified=!0,this.s=a,this.hV=stohex(this.s)},this.setByDateValue=function(a,b,c,d,e,f){var g=new Date(Date.UTC(a,b-1,c,d,e,f,0));this.setByDate(g)},this.getFreshValueHex=function(){return this.hV}},JSX.extend(KJUR.asn1.DERAbstractTime,KJUR.asn1.ASN1Object),KJUR.asn1.DERAbstractStructured=function(a){KJUR.asn1.DERAbstractString.superclass.constructor.call(this);this.setByASN1ObjectArray=function(a){this.hTLV=null,this.isModified=!0,this.asn1Array=a},this.appendASN1Object=function(a){this.hTLV=null,this.isModified=!0,this.asn1Array.push(a)},this.asn1Array=new Array,"undefined"!=typeof a&&"undefined"!=typeof a.array&&(this.asn1Array=a.array)},JSX.extend(KJUR.asn1.DERAbstractStructured,KJUR.asn1.ASN1Object),KJUR.asn1.DERBoolean=function(){KJUR.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV="0101ff"},JSX.extend(KJUR.asn1.DERBoolean,KJUR.asn1.ASN1Object),KJUR.asn1.DERInteger=function(a){KJUR.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(a){this.hTLV=null,this.isModified=!0,this.hV=KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(a)},this.setByInteger=function(a){var b=new BigInteger(String(a),10);this.setByBigInteger(b)},this.setValueHex=function(a){this.hV=a},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof a&&("undefined"!=typeof a.bigint?this.setByBigInteger(a.bigint):"undefined"!=typeof a["int"]?this.setByInteger(a["int"]):"undefined"!=typeof a.hex&&this.setValueHex(a.hex))},JSX.extend(KJUR.asn1.DERInteger,KJUR.asn1.ASN1Object),KJUR.asn1.DERBitString=function(a){KJUR.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(a){this.hTLV=null,this.isModified=!0,this.hV=a},this.setUnusedBitsAndHexValue=function(a,b){if(0>a||a>7)throw"unused bits shall be from 0 to 7: u = "+a;var c="0"+a;this.hTLV=null,this.isModified=!0,this.hV=c+b},this.setByBinaryString=function(a){a=a.replace(/0+$/,"");var b=8-a.length%8;8==b&&(b=0);for(var c=0;b>=c;c++)a+="0";for(var d="",c=0;c<a.length-1;c+=8){var e=a.substr(c,8),f=parseInt(e,2).toString(16);1==f.length&&(f="0"+f),d+=f}this.hTLV=null,this.isModified=!0,this.hV="0"+b+d},this.setByBooleanArray=function(a){for(var b="",c=0;c<a.length;c++)b+=1==a[c]?"1":"0";this.setByBinaryString(b)},this.newFalseArray=function(a){for(var b=new Array(a),c=0;a>c;c++)b[c]=!1;return b},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof a&&("undefined"!=typeof a.hex?this.setHexValueIncludingUnusedBits(a.hex):"undefined"!=typeof a.bin?this.setByBinaryString(a.bin):"undefined"!=typeof a.array&&this.setByBooleanArray(a.array))},JSX.extend(KJUR.asn1.DERBitString,KJUR.asn1.ASN1Object),KJUR.asn1.DEROctetString=function(a){KJUR.asn1.DEROctetString.superclass.constructor.call(this,a),this.hT="04"},JSX.extend(KJUR.asn1.DEROctetString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERNull=function(){KJUR.asn1.DERNull.superclass.constructor.call(this),this.hT="05",this.hTLV="0500"},JSX.extend(KJUR.asn1.DERNull,KJUR.asn1.ASN1Object),KJUR.asn1.DERObjectIdentifier=function(a){var b=function(a){var b=a.toString(16);return 1==b.length&&(b="0"+b),b},c=function(a){var c="",d=new BigInteger(a,10),e=d.toString(2),f=7-e.length%7;7==f&&(f=0);for(var g="",h=0;f>h;h++)g+="0";e=g+e;for(var h=0;h<e.length-1;h+=7){var i=e.substr(h,7);h!=e.length-7&&(i="1"+i),c+=b(parseInt(i,2))}return c};KJUR.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT="06",this.setValueHex=function(a){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=a},this.setValueOidString=function(a){if(!a.match(/^[0-9.]+$/))throw"malformed oid string: "+a;var d="",e=a.split("."),f=40*parseInt(e[0])+parseInt(e[1]);d+=b(f),e.splice(0,2);for(var g=0;g<e.length;g++)d+=c(e[g]);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=d},this.setValueName=function(a){if("undefined"==typeof KJUR.asn1.x509.OID.name2oidList[a])throw"DERObjectIdentifier oidName undefined: "+a;var b=KJUR.asn1.x509.OID.name2oidList[a];this.setValueOidString(b)},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof a&&("undefined"!=typeof a.oid?this.setValueOidString(a.oid):"undefined"!=typeof a.hex?this.setValueHex(a.hex):"undefined"!=typeof a.name&&this.setValueName(a.name))},JSX.extend(KJUR.asn1.DERObjectIdentifier,KJUR.asn1.ASN1Object),KJUR.asn1.DERUTF8String=function(a){KJUR.asn1.DERUTF8String.superclass.constructor.call(this,a),this.hT="0c"},JSX.extend(KJUR.asn1.DERUTF8String,KJUR.asn1.DERAbstractString),KJUR.asn1.DERNumericString=function(a){KJUR.asn1.DERNumericString.superclass.constructor.call(this,a),this.hT="12"},JSX.extend(KJUR.asn1.DERNumericString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERPrintableString=function(a){KJUR.asn1.DERPrintableString.superclass.constructor.call(this,a),this.hT="13"},JSX.extend(KJUR.asn1.DERPrintableString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERTeletexString=function(a){KJUR.asn1.DERTeletexString.superclass.constructor.call(this,a),this.hT="14"},JSX.extend(KJUR.asn1.DERTeletexString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERIA5String=function(a){KJUR.asn1.DERIA5String.superclass.constructor.call(this,a),this.hT="16"},JSX.extend(KJUR.asn1.DERIA5String,KJUR.asn1.DERAbstractString),KJUR.asn1.DERUTCTime=function(a){KJUR.asn1.DERUTCTime.superclass.constructor.call(this,a),this.hT="17",this.setByDate=function(a){this.hTLV=null,this.isModified=!0,this.date=a,this.s=this.formatDate(this.date,"utc"),this.hV=stohex(this.s)},"undefined"!=typeof a&&("undefined"!=typeof a.str?this.setString(a.str):"undefined"!=typeof a.hex?this.setStringHex(a.hex):"undefined"!=typeof a.date&&this.setByDate(a.date))},JSX.extend(KJUR.asn1.DERUTCTime,KJUR.asn1.DERAbstractTime),KJUR.asn1.DERGeneralizedTime=function(a){KJUR.asn1.DERGeneralizedTime.superclass.constructor.call(this,a),this.hT="18",this.setByDate=function(a){this.hTLV=null,this.isModified=!0,this.date=a,this.s=this.formatDate(this.date,"gen"),this.hV=stohex(this.s)},"undefined"!=typeof a&&("undefined"!=typeof a.str?this.setString(a.str):"undefined"!=typeof a.hex?this.setStringHex(a.hex):"undefined"!=typeof a.date&&this.setByDate(a.date))},JSX.extend(KJUR.asn1.DERGeneralizedTime,KJUR.asn1.DERAbstractTime),KJUR.asn1.DERSequence=function(a){KJUR.asn1.DERSequence.superclass.constructor.call(this,a),this.hT="30",this.getFreshValueHex=function(){for(var a="",b=0;b<this.asn1Array.length;b++){var c=this.asn1Array[b];a+=c.getEncodedHex()}return this.hV=a,this.hV}},JSX.extend(KJUR.asn1.DERSequence,KJUR.asn1.DERAbstractStructured),KJUR.asn1.DERSet=function(a){KJUR.asn1.DERSet.superclass.constructor.call(this,a),this.hT="31",this.getFreshValueHex=function(){for(var a=new Array,b=0;b<this.asn1Array.length;b++){var c=this.asn1Array[b];a.push(c.getEncodedHex())}return a.sort(),this.hV=a.join(""),this.hV}},JSX.extend(KJUR.asn1.DERSet,KJUR.asn1.DERAbstractStructured),KJUR.asn1.DERTaggedObject=function(a){KJUR.asn1.DERTaggedObject.superclass.constructor.call(this),this.hT="a0",this.hV="",this.isExplicit=!0,this.asn1Object=null,this.setASN1Object=function(a,b,c){this.hT=b,this.isExplicit=a,this.asn1Object=c,this.isExplicit?(this.hV=this.asn1Object.getEncodedHex(),this.hTLV=null,this.isModified=!0):(this.hV=null,this.hTLV=c.getEncodedHex(),this.hTLV=this.hTLV.replace(/^../,b),this.isModified=!1)},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof a&&("undefined"!=typeof a.tag&&(this.hT=a.tag),"undefined"!=typeof a.explicit&&(this.isExplicit=a.explicit),"undefined"!=typeof a.obj&&(this.asn1Object=a.obj,this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)))},JSX.extend(KJUR.asn1.DERTaggedObject,KJUR.asn1.ASN1Object),function(a){"use strict";var b,c={};c.decode=function(c){var d;if(b===a){var e="0123456789ABCDEF",f=" \f\n\r 脗 \u2028\u2029";for(b=[],d=0;16>d;++d)b[e.charAt(d)]=d;for(e=e.toLowerCase(),d=10;16>d;++d)b[e.charAt(d)]=d;for(d=0;d<f.length;++d)b[f.charAt(d)]=-1}var g=[],h=0,i=0;for(d=0;d<c.length;++d){var j=c.charAt(d);if("="==j)break;if(j=b[j],-1!=j){if(j===a)throw"Illegal character at offset "+d;h|=j,++i>=2?(g[g.length]=h,h=0,i=0):h<<=4}}if(i)throw"Hex encoding incomplete: 4 bits missing";return g},window.Hex=c}(),function(a){"use strict";var b,c={};c.decode=function(c){var d;if(b===a){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",f="= \f\n\r 脗 \u2028\u2029";for(b=[],d=0;64>d;++d)b[e.charAt(d)]=d;for(d=0;d<f.length;++d)b[f.charAt(d)]=-1}var g=[],h=0,i=0;for(d=0;d<c.length;++d){var j=c.charAt(d);if("="==j)break;if(j=b[j],-1!=j){if(j===a)throw"Illegal character at offset "+d;h|=j,++i>=4?(g[g.length]=h>>16,g[g.length]=h>>8&255,g[g.length]=255&h,h=0,i=0):h<<=6}}switch(i){case 1:throw"Base64 encoding incomplete: at least 2 bits missing";case 2:g[g.length]=h>>10;break;case 3:g[g.length]=h>>16,g[g.length]=h>>8&255}return g},c.re=/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/,c.unarmor=function(a){var b=c.re.exec(a);if(b)if(b[1])a=b[1];else{if(!b[2])throw"RegExp out of sync";a=b[2]}return c.decode(a)},window.Base64=c}(),function(a){"use strict";function b(a,c){a instanceof b?(this.enc=a.enc,this.pos=a.pos):(this.enc=a,this.pos=c)}function c(a,b,c,d,e){this.stream=a,this.header=b,this.length=c,this.tag=d,this.sub=e}var d=100,e="芒鈧�",f={tag:function(a,b){var c=document.createElement(a);return c.className=b,c},text:function(a){return document.createTextNode(a)}};b.prototype.get=function(b){if(b===a&&(b=this.pos++),b>=this.enc.length)throw"Requesting byte offset "+b+" on a stream of length "+this.enc.length;return this.enc[b]},b.prototype.hexDigits="0123456789ABCDEF",b.prototype.hexByte=function(a){return this.hexDigits.charAt(a>>4&15)+this.hexDigits.charAt(15&a)},b.prototype.hexDump=function(a,b,c){for(var d="",e=a;b>e;++e)if(d+=this.hexByte(this.get(e)),c!==!0)switch(15&e){case 7:d+=" ";break;case 15:d+="\n";break;default:d+=" "}return d},b.prototype.parseStringISO=function(a,b){for(var c="",d=a;b>d;++d)c+=String.fromCharCode(this.get(d));return c},b.prototype.parseStringUTF=function(a,b){for(var c="",d=a;b>d;){var e=this.get(d++);c+=String.fromCharCode(128>e?e:e>191&&224>e?(31&e)<<6|63&this.get(d++):(15&e)<<12|(63&this.get(d++))<<6|63&this.get(d++))}return c},b.prototype.parseStringBMP=function(a,b){for(var c="",d=a;b>d;d+=2){var e=this.get(d),f=this.get(d+1);c+=String.fromCharCode((e<<8)+f)}return c},b.prototype.reTime=/^((?:1[89]|2\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)?)?$/,b.prototype.parseTime=function(a,b){var c=this.parseStringISO(a,b),d=this.reTime.exec(c);return d?(c=d[1]+"-"+d[2]+"-"+d[3]+" "+d[4],d[5]&&(c+=":"+d[5],d[6]&&(c+=":"+d[6],d[7]&&(c+="."+d[7]))),d[8]&&(c+=" UTC","Z"!=d[8]&&(c+=d[8],d[9]&&(c+=":"+d[9]))),c):"Unrecognized time: "+c},b.prototype.parseInteger=function(a,b){var c=b-a;if(c>4){c<<=3;var d=this.get(a);if(0===d)c-=8;else for(;128>d;)d<<=1,--c;return"("+c+" bit)"}for(var e=0,f=a;b>f;++f)e=e<<8|this.get(f);return e},b.prototype.parseBitString=function(a,b){var c=this.get(a),d=(b-a-1<<3)-c,e="("+d+" bit)";if(20>=d){var f=c;e+=" ";for(var g=b-1;g>a;--g){for(var h=this.get(g),i=f;8>i;++i)e+=h>>i&1?"1":"0";f=0}}return e},b.prototype.parseOctetString=function(a,b){var c=b-a,f="("+c+" byte) ";c>d&&(b=a+d);for(var g=a;b>g;++g)f+=this.hexByte(this.get(g));return c>d&&(f+=e),f},b.prototype.parseOID=function(a,b){for(var c="",d=0,e=0,f=a;b>f;++f){var g=this.get(f);if(d=d<<7|127&g,e+=7,!(128&g)){if(""===c){var h=80>d?40>d?0:1:2;c=h+"."+(d-40*h)}else c+="."+(e>=31?"bigint":d);d=e=0}}return c},c.prototype.typeName=function(){if(this.tag===a)return"unknown";var b=this.tag>>6,c=(this.tag>>5&1,31&this.tag);switch(b){case 0:switch(c){case 0:return"EOC";case 1:return"BOOLEAN";case 2:return"INTEGER";case 3:return"BIT_STRING";case 4:return"OCTET_STRING";case 5:return"NULL";case 6:return"OBJECT_IDENTIFIER";case 7:return"ObjectDescriptor";case 8:return"EXTERNAL";case 9:return"REAL";case 10:return"ENUMERATED";case 11:return"EMBEDDED_PDV";case 12:return"UTF8String";case 16:return"SEQUENCE";case 17:return"SET";case 18:return"NumericString";case 19:return"PrintableString";case 20:return"TeletexString";case 21:return"VideotexString";case 22:return"IA5String";case 23:return"UTCTime";case 24:return"GeneralizedTime";case 25:return"GraphicString";case 26:return"VisibleString";case 27:return"GeneralString";case 28:return"UniversalString";case 30:return"BMPString";default:return"Universal_"+c.toString(16)}case 1:return"Application_"+c.toString(16);case 2:return"["+c+"]";case 3:return"Private_"+c.toString(16)}},c.prototype.reSeemsASCII=/^[ -~]+$/,c.prototype.content=function(){if(this.tag===a)return null;var b=this.tag>>6,c=31&this.tag,f=this.posContent(),g=Math.abs(this.length);if(0!==b){if(null!==this.sub)return"("+this.sub.length+" elem)";var h=this.stream.parseStringISO(f,f+Math.min(g,d));return this.reSeemsASCII.test(h)?h.substring(0,2*d)+(h.length>2*d?e:""):this.stream.parseOctetString(f,f+g)}switch(c){case 1:return 0===this.stream.get(f)?"false":"true";case 2:return this.stream.parseInteger(f,f+g);case 3:return this.sub?"("+this.sub.length+" elem)":this.stream.parseBitString(f,f+g);case 4:return this.sub?"("+this.sub.length+" elem)":this.stream.parseOctetString(f,f+g);case 6:return this.stream.parseOID(f,f+g);case 16:case 17:return"("+this.sub.length+" elem)";case 12:return this.stream.parseStringUTF(f,f+g);case 18:case 19:case 20:case 21:case 22:case 26:return this.stream.parseStringISO(f,f+g);case 30:return this.stream.parseStringBMP(f,f+g);case 23:case 24:return this.stream.parseTime(f,f+g)}return null},c.prototype.toString=function(){return this.typeName()+"@"+this.stream.pos+"[header:"+this.header+",length:"+this.length+",sub:"+(null===this.sub?"null":this.sub.length)+"]"},c.prototype.print=function(b){if(b===a&&(b=""),document.writeln(b+this),null!==this.sub){b+=" ";for(var c=0,d=this.sub.length;d>c;++c)this.sub[c].print(b)}},c.prototype.toPrettyString=function(b){b===a&&(b="");var c=b+this.typeName()+" @"+this.stream.pos;if(this.length>=0&&(c+="+"),c+=this.length,32&this.tag?c+=" (constructed)":3!=this.tag&&4!=this.tag||null===this.sub||(c+=" (encapsulates)"),c+="\n",null!==this.sub){b+=" ";for(var d=0,e=this.sub.length;e>d;++d)c+=this.sub[d].toPrettyString(b)}return c},c.prototype.toDOM=function(){var a=f.tag("div","node");a.asn1=this;var b=f.tag("div","head"),c=this.typeName().replace(/_/g," ");b.innerHTML=c;var d=this.content();if(null!==d){d=String(d).replace(/</g,"<");var e=f.tag("span","preview");e.appendChild(f.text(d)),b.appendChild(e)}a.appendChild(b),this.node=a,this.head=b;var g=f.tag("div","value");if(c="Offset: "+this.stream.pos+"<br/>",c+="Length: "+this.header+"+",c+=this.length>=0?this.length:-this.length+" (undefined)",32&this.tag?c+="<br/>(constructed)":3!=this.tag&&4!=this.tag||null===this.sub||(c+="<br/>(encapsulates)"),null!==d&&(c+="<br/>Value:<br/><b>"+d+"</b>","object"==typeof oids&&6==this.tag)){var h=oids[d];h&&(h.d&&(c+="<br/>"+h.d),h.c&&(c+="<br/>"+h.c),h.w&&(c+="<br/>(warning!)"))}g.innerHTML=c,a.appendChild(g);var i=f.tag("div","sub");if(null!==this.sub)for(var j=0,k=this.sub.length;k>j;++j)i.appendChild(this.sub[j].toDOM());return a.appendChild(i),b.onclick=function(){a.className="node collapsed"==a.className?"node":"node collapsed"},a},c.prototype.posStart=function(){return this.stream.pos},c.prototype.posContent=function(){return this.stream.pos+this.header},c.prototype.posEnd=function(){return this.stream.pos+this.header+Math.abs(this.length)},c.prototype.fakeHover=function(a){this.node.className+=" hover",a&&(this.head.className+=" hover")},c.prototype.fakeOut=function(a){var b=/ ?hover/;this.node.className=this.node.className.replace(b,""),a&&(this.head.className=this.head.className.replace(b,""))},c.prototype.toHexDOM_sub=function(a,b,c,d,e){if(!(d>=e)){var g=f.tag("span",b);g.appendChild(f.text(c.hexDump(d,e))),a.appendChild(g)}},c.prototype.toHexDOM=function(b){var c=f.tag("span","hex");if(b===a&&(b=c),this.head.hexNode=c,this.head.onmouseover=function(){this.hexNode.className="hexCurrent"},this.head.onmouseout=function(){this.hexNode.className="hex"},c.asn1=this,c.onmouseover=function(){var a=!b.selected;a&&(b.selected=this.asn1,this.className="hexCurrent"),this.asn1.fakeHover(a)},c.onmouseout=function(){var a=b.selected==this.asn1;this.asn1.fakeOut(a),a&&(b.selected=null,this.className="hex")},this.toHexDOM_sub(c,"tag",this.stream,this.posStart(),this.posStart()+1),this.toHexDOM_sub(c,this.length>=0?"dlen":"ulen",this.stream,this.posStart()+1,this.posContent()),null===this.sub)c.appendChild(f.text(this.stream.hexDump(this.posContent(),this.posEnd())));else if(this.sub.length>0){var d=this.sub[0],e=this.sub[this.sub.length-1];this.toHexDOM_sub(c,"intro",this.stream,this.posContent(),d.posStart());for(var g=0,h=this.sub.length;h>g;++g)c.appendChild(this.sub[g].toHexDOM(b));this.toHexDOM_sub(c,"outro",this.stream,e.posEnd(),this.posEnd())}return c},c.prototype.toHexString=function(){return this.stream.hexDump(this.posStart(),this.posEnd(),!0)},c.decodeLength=function(a){var b=a.get(),c=127&b;if(c==b)return c;if(c>3)throw"Length over 24 bits not supported at position "+(a.pos-1);if(0===c)return-1;b=0;for(var d=0;c>d;++d)b=b<<8|a.get();return b},c.hasContent=function(a,d,e){if(32&a)return!0;if(3>a||a>4)return!1;var f=new b(e);3==a&&f.get();var g=f.get();if(g>>6&1)return!1;try{var h=c.decodeLength(f);return f.pos-e.pos+h==d}catch(i){return!1}},c.decode=function(a){a instanceof b||(a=new b(a,0));var d=new b(a),e=a.get(),f=c.decodeLength(a),g=a.pos-d.pos,h=null;if(c.hasContent(e,f,a)){var i=a.pos;if(3==e&&a.get(),h=[],f>=0){for(var j=i+f;a.pos<j;)h[h.length]=c.decode(a);if(a.pos!=j)throw"Content size is not correct for container starting at offset "+i}else try{for(;;){var k=c.decode(a);if(0===k.tag)break;h[h.length]=k}f=i-a.pos}catch(l){throw"Exception while decoding undefined length content: "+l}}else a.pos+=f;return new c(d,g,f,e,h)},c.test=function(){for(var a=[{value:[39],expected:39},{value:[129,201],expected:201},{value:[131,254,220,186],expected:16702650}],d=0,e=a.length;e>d;++d){var f=new b(a[d].value,0),g=c.decodeLength(f);g!=a[d].expected&&document.write("In test["+d+"] expected "+a[d].expected+" got "+g+"\n")}},window.ASN1=c}(),ASN1.prototype.getHexStringValue=function(){var a=this.toHexString(),b=2*this.header,c=2*this.length;return a.substr(b,c)},RSAKey.prototype.parseKey=function(a){try{var b=0,c=0,d=/^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/,e=d.test(a)?Hex.decode(a):Base64.unarmor(a),f=ASN1.decode(e);if(3===f.sub.length&&(f=f.sub[2].sub[0]),9===f.sub.length){b=f.sub[1].getHexStringValue(),this.n=parseBigInt(b,16),c=f.sub[2].getHexStringValue(),this.e=parseInt(c,16);var g=f.sub[3].getHexStringValue();this.d=parseBigInt(g,16);var h=f.sub[4].getHexStringValue();this.p=parseBigInt(h,16);var i=f.sub[5].getHexStringValue();this.q=parseBigInt(i,16);var j=f.sub[6].getHexStringValue();this.dmp1=parseBigInt(j,16);var k=f.sub[7].getHexStringValue();this.dmq1=parseBigInt(k,16);var l=f.sub[8].getHexStringValue();this.coeff=parseBigInt(l,16)}else{if(2!==f.sub.length)return!1;var m=f.sub[1],n=m.sub[0];b=n.sub[0].getHexStringValue(),this.n=parseBigInt(b,16),c=n.sub[1].getHexStringValue(),this.e=parseInt(c,16)}return!0}catch(o){return!1}},RSAKey.prototype.getPrivateBaseKey=function(){var a={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})]},b=new KJUR.asn1.DERSequence(a);return b.getEncodedHex()},RSAKey.prototype.getPrivateBaseKeyB64=function(){return hex2b64(this.getPrivateBaseKey())},RSAKey.prototype.getPublicBaseKey=function(){var a={array:[new KJUR.asn1.DERObjectIdentifier({oid:"1.2.840.113549.1.1.1"}),new KJUR.asn1.DERNull]},b=new KJUR.asn1.DERSequence(a);a={array:[new KJUR.asn1.DERInteger({bigint:this.n}),new KJUR.asn1.DERInteger({"int":this.e})]};var c=new KJUR.asn1.DERSequence(a);a={hex:"00"+c.getEncodedHex()};var d=new KJUR.asn1.DERBitString(a);a={array:[b,d]};var e=new KJUR.asn1.DERSequence(a);return e.getEncodedHex()},RSAKey.prototype.getPublicBaseKeyB64=function(){return hex2b64(this.getPublicBaseKey())},RSAKey.prototype.wordwrap=function(a,b){if(b=b||64,!a)return a;var c="(.{1,"+b+"})( +|$\n?)|(.{1,"+b+"})";return a.match(RegExp(c,"g")).join("\n")},RSAKey.prototype.getPrivateKey=function(){var a="-----BEGIN RSA PRIVATE KEY-----\n";return a+=this.wordwrap(this.getPrivateBaseKeyB64())+"\n",a+="-----END RSA PRIVATE KEY-----"},RSAKey.prototype.getPublicKey=function(){var a="-----BEGIN PUBLIC KEY-----\n";return a+=this.wordwrap(this.getPublicBaseKeyB64())+"\n",a+="-----END PUBLIC KEY-----"},RSAKey.prototype.hasPublicKeyProperty=function(a){return a=a||{},a.hasOwnProperty("n")&&a.hasOwnProperty("e")},RSAKey.prototype.hasPrivateKeyProperty=function(a){return a=a||{},a.hasOwnProperty("n")&&a.hasOwnProperty("e")&&a.hasOwnProperty("d")&&a.hasOwnProperty("p")&&a.hasOwnProperty("q")&&a.hasOwnProperty("dmp1")&&a.hasOwnProperty("dmq1")&&a.hasOwnProperty("coeff")},RSAKey.prototype.parsePropertiesFrom=function(a){this.n=a.n,this.e=a.e,a.hasOwnProperty("d")&&(this.d=a.d,this.p=a.p,this.q=a.q,this.dmp1=a.dmp1,this.dmq1=a.dmq1,this.coeff=a.coeff)};var JSEncryptRSAKey=function(a){RSAKey.call(this),a&&("string"==typeof a?this.parseKey(a):(this.hasPrivateKeyProperty(a)||this.hasPublicKeyProperty(a))&&this.parsePropertiesFrom(a))};JSEncryptRSAKey.prototype=new RSAKey,JSEncryptRSAKey.prototype.constructor=JSEncryptRSAKey;var JSEncrypt=function(a){a=a||{},this.default_key_size=parseInt(a.default_key_size)||1024,this.default_public_exponent=a.default_public_exponent||"010001",this.log=a.log||!1,this.key=null};JSEncrypt.prototype.setKey=function(a){this.log&&this.key&&console.warn("A key was already set, overriding existing."),this.key=new JSEncryptRSAKey(a)},JSEncrypt.prototype.setPrivateKey=function(a){this.setKey(a)},JSEncrypt.prototype.setPublicKey=function(a){this.setKey(a)},JSEncrypt.prototype.decrypt=function(a){try{return this.getKey().decrypt(b64tohex(a))}catch(b){return!1}},JSEncrypt.prototype.encrypt=function(a){try{return hex2b64(this.getKey().encrypt(a))}catch(b){return!1}},JSEncrypt.prototype.getKey=function(a){if(!this.key){if(this.key=new JSEncryptRSAKey,a&&"[object Function]"==={}.toString.call(a))return void this.key.generateAsync(this.default_key_size,this.default_public_exponent,a);this.key.generate(this.default_key_size,this.default_public_exponent)}return this.key},JSEncrypt.prototype.getPrivateKey=function(){return this.getKey().getPrivateKey()},JSEncrypt.prototype.getPrivateKeyB64=function(){return this.getKey().getPrivateBaseKeyB64()},JSEncrypt.prototype.getPublicKey=function(){return this.getKey().getPublicKey()},JSEncrypt.prototype.getPublicKeyB64=function(){return this.getKey().getPublicBaseKeyB64()};exports.JSEncrypt = JSEncrypt; +})(JSEncryptExports); +var JSEncrypt = JSEncryptExports.JSEncrypt; \ No newline at end of file diff --git a/src/main/resources/static/js/sockjs.min.js b/src/main/resources/static/js/sockjs.min.js new file mode 100644 index 0000000..60ecfbb --- /dev/null +++ b/src/main/resources/static/js/sockjs.min.js @@ -0,0 +1,2 @@ +/* sockjs-client v1.4.0 | http://sockjs.org | MIT license */ +(function(a){"object"===typeof exports&&"undefined"!==typeof module?module.exports=a():"function"===typeof define&&define.amd?define([],a):("undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:this).SockJS=a()})(function(){return function(){function a(f,k,d){function c(e,g){if(!k[e]){if(!f[e]){var h="function"==typeof require&&require;if(!g&&h)return h(e,!0);if(b)return b(e,!0);h=Error("Cannot find module '"+e+"'");throw h.code="MODULE_NOT_FOUND",h;}h=k[e]={exports:{}};f[e][0].call(h.exports,function(b){return c(f[e][1][b]||b)},h,h.exports,a,f,k,d)}return k[e].exports}for(var b="function"==typeof require&&require,g=0;g<d.length;g++)c(d[g]);return c}return a}()({1:[function(a,f,k){k="undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{};var d=a("./transport-list");f.exports=a("./main")(d);"_sockjs_onload"in k&&setTimeout(k._sockjs_onload,1)},{"./main":14,"./transport-list":16}],2:[function(a,f,k){function d(){c.call(this);this.initEvent("close",!1,!1);this.wasClean=!1;this.code=0;this.reason=""}k=a("inherits");var c=a("./event");k(d,c);f.exports=d},{"./event":4,inherits:57}],3:[function(a,f,k){function d(){c.call(this)}k=a("inherits");var c=a("./eventtarget");k(d,c);d.prototype.removeAllListeners=function(b){b?delete this._listeners[b]:this._listeners={}};d.prototype.once=function(b,c){function a(){g.removeListener(b,a);d||(d=!0,c.apply(this,arguments))}var g=this,d=!1;this.on(b,a)};d.prototype.emit=function(){var b=this._listeners[arguments[0]];if(b){for(var c=arguments.length,a=Array(c-1),h=1;h<c;h++)a[h-1]=arguments[h];for(c=0;c<b.length;c++)b[c].apply(this,a)}};d.prototype.on=d.prototype.addListener=c.prototype.addEventListener;d.prototype.removeListener=c.prototype.removeEventListener;f.exports.EventEmitter=d},{"./eventtarget":5,inherits:57}],4:[function(a,f,k){function d(c){this.type=c}d.prototype.initEvent=function(c,b,a){this.type=c;this.bubbles=b;this.cancelable=a;this.timeStamp=+new Date;return this};d.prototype.stopPropagation=function(){};d.prototype.preventDefault=function(){};d.CAPTURING_PHASE=1;d.AT_TARGET=2;d.BUBBLING_PHASE=3;f.exports=d},{}],5:[function(a,f,k){function d(){this._listeners={}}d.prototype.addEventListener=function(c,b){c in this._listeners||(this._listeners[c]=[]);var a=this._listeners[c];-1===a.indexOf(b)&&(a=a.concat([b]));this._listeners[c]=a};d.prototype.removeEventListener=function(c,b){var a=this._listeners[c];if(a){var e=a.indexOf(b);-1!==e&&(1<a.length?this._listeners[c]=a.slice(0,e).concat(a.slice(e+1)):delete this._listeners[c])}};d.prototype.dispatchEvent=function(){var a=arguments[0],b=a.type,a=1===arguments.length?[a]:Array.apply(null,arguments);this["on"+b]&&this["on"+b].apply(this,a);if(b in this._listeners)for(var b=this._listeners[b],d=0;d<b.length;d++)b[d].apply(this,a)};f.exports=d},{}],6:[function(a,f,k){function d(b){c.call(this);this.initEvent("message",!1,!1);this.data=b}k=a("inherits");var c=a("./event");k(d,c);f.exports=d},{"./event":4,inherits:57}],7:[function(a,f,k){function d(b){this._transport=b;b.on("message",this._transportMessage.bind(this));b.on("close",this._transportClose.bind(this))}var c=a("json3"),b=a("./utils/iframe");d.prototype._transportClose=function(a,e){b.postMessage("c",c.stringify([a,e]))};d.prototype._transportMessage=function(a){b.postMessage("t",a)};d.prototype._send=function(b){this._transport.send(b)};d.prototype._close=function(){this._transport.close();this._transport.removeAllListeners()};f.exports=d},{"./utils/iframe":47,json3:58}],8:[function(a,f,k){(function(d){var c=a("./utils/url"),b=a("./utils/event"),g=a("json3"),e=a("./facade"),h=a("./info-iframe-receiver"),l=a("./utils/iframe"),r=a("./location"),n=function(){};"production"!==d.env.NODE_ENV&&(n=a("debug")("sockjs-client:iframe-bootstrap"));f.exports=function(a,d){var p={};d.forEach(function(b){b.facadeTransport&&(p[b.facadeTransport.transportName]=b.facadeTransport)});p[h.transportName]=h;var E;a.bootstrap_iframe=function(){var d;l.currentWindowId=r.hash.slice(1);b.attachEvent("message",function(b){if(b.source===parent&&("undefined"===typeof E&&(E=b.origin),b.origin===E)){var h;try{h=g.parse(b.data)}catch(J){n("bad json",b.data);return}if(h.windowId===l.currentWindowId)switch(h.type){case "s":var m;try{m=g.parse(h.data)}catch(J){n("bad json",h.data);break}b=m[0];h=m[1];var f=m[2];m=m[3];n(b,h,f,m);if(b!==a.version)throw Error('Incompatible SockJS! Main site uses: "'+b+'", the iframe: "'+a.version+'".');if(!c.isOriginEqual(f,r.href)||!c.isOriginEqual(m,r.href))throw Error("Can't connect to different domain from within an iframe. ("+r.href+", "+f+", "+m+")");d=new e(new p[h](f,m));break;case "m":d._send(h.data);break;case "c":d&&d._close(),d=null}}});l.postMessage("s")}}}).call(this,{env:{}})},{"./facade":7,"./info-iframe-receiver":10,"./location":13,"./utils/event":46,"./utils/iframe":47,"./utils/url":52,debug:55,json3:58}],9:[function(a,f,k){(function(d){function c(a,c){b.call(this);var d=this,g=+new Date;this.xo=new c("GET",a);this.xo.once("finish",function(b,a){var c,p;if(200===b){p=+new Date-g;if(a)try{c=e.parse(a)}catch(G){l("bad json",a)}h.isObject(c)||(c={})}d.emit("finish",c,p);d.removeAllListeners()})}var b=a("events").EventEmitter,g=a("inherits"),e=a("json3"),h=a("./utils/object"),l=function(){};"production"!==d.env.NODE_ENV&&(l=a("debug")("sockjs-client:info-ajax"));g(c,b);c.prototype.close=function(){this.removeAllListeners();this.xo.close()};f.exports=c}).call(this,{env:{}})},{"./utils/object":49,debug:55,events:3,inherits:57,json3:58}],10:[function(a,f,k){function d(a){var d=this;c.call(this);this.ir=new e(a,g);this.ir.once("finish",function(a,c){d.ir=null;d.emit("message",b.stringify([a,c]))})}k=a("inherits");var c=a("events").EventEmitter,b=a("json3"),g=a("./transport/sender/xhr-local"),e=a("./info-ajax");k(d,c);d.transportName="iframe-info-receiver";d.prototype.close=function(){this.ir&&(this.ir.close(),this.ir=null);this.removeAllListeners()};f.exports=d},{"./info-ajax":9,"./transport/sender/xhr-local":37,events:3,inherits:57,json3:58}],11:[function(a,f,k){(function(d,c){function b(b,a){var d=this;g.call(this);var e=function(){var c=d.ifr=new r(n.transportName,a,b);c.once("message",function(b){if(b){var a;try{a=h.parse(b)}catch(R){k("bad json",b);d.emit("finish");d.close();return}d.emit("finish",a[0],a[1])}d.close()});c.once("close",function(){d.emit("finish");d.close()})};c.document.body?e():l.attachEvent("load",e)}var g=a("events").EventEmitter,e=a("inherits"),h=a("json3"),l=a("./utils/event"),r=a("./transport/iframe"),n=a("./info-iframe-receiver"),k=function(){};"production"!==d.env.NODE_ENV&&(k=a("debug")("sockjs-client:info-iframe"));e(b,g);b.enabled=function(){return r.enabled()};b.prototype.close=function(){this.ifr&&this.ifr.close();this.removeAllListeners();this.ifr=null};f.exports=b}).call(this,{env:{}},"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"./info-iframe-receiver":10,"./transport/iframe":22,"./utils/event":46,debug:55,events:3,inherits:57,json3:58}],12:[function(a,f,k){(function(d){function c(a,c){p(a);var d=this;b.call(this);setTimeout(function(){d.doXhr(a,c)},0)}var b=a("events").EventEmitter,g=a("inherits"),e=a("./utils/url"),h=a("./transport/sender/xdr"),l=a("./transport/sender/xhr-cors"),r=a("./transport/sender/xhr-local"),n=a("./transport/sender/xhr-fake"),k=a("./info-iframe"),m=a("./info-ajax"),p=function(){};"production"!==d.env.NODE_ENV&&(p=a("debug")("sockjs-client:info-receiver"));g(c,b);c._getReceiver=function(b,a,c){return c.sameOrigin?new m(a,r):l.enabled?new m(a,l):h.enabled&&c.sameScheme?new m(a,h):k.enabled()?new k(b,a):new m(a,n)};c.prototype.doXhr=function(b,a){var d=this,h=e.addPath(b,"/info");p("doXhr",h);this.xo=c._getReceiver(b,h,a);this.timeoutRef=setTimeout(function(){p("timeout");d._cleanup(!1);d.emit("finish")},c.timeout);this.xo.once("finish",function(b,a){p("finish",b,a);d._cleanup(!0);d.emit("finish",b,a)})};c.prototype._cleanup=function(b){p("_cleanup");clearTimeout(this.timeoutRef);this.timeoutRef=null;!b&&this.xo&&this.xo.close();this.xo=null};c.prototype.close=function(){p("close");this.removeAllListeners();this._cleanup(!1)};c.timeout=8E3;f.exports=c}).call(this,{env:{}})},{"./info-ajax":9,"./info-iframe":11,"./transport/sender/xdr":34,"./transport/sender/xhr-cors":35,"./transport/sender/xhr-fake":36,"./transport/sender/xhr-local":37,"./utils/url":52,debug:55,events:3,inherits:57}],13:[function(a,f,k){f.exports=("undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{}).location||{origin:"http://localhost:80",protocol:"http:",host:"localhost",port:80,href:"http://localhost/",hash:""}},{}],14:[function(a,f,k){(function(d,c){function b(a,c,d){if(!(this instanceof b))return new b(a,c,d);if(1>arguments.length)throw new TypeError("Failed to construct 'SockJS: 1 argument required, but only 0 present");G.call(this);this.readyState=b.CONNECTING;this.protocol=this.extensions="";d=d||{};d.protocols_whitelist&&X.warn("'protocols_whitelist' is DEPRECATED. Use 'transports' instead.");this._transportsWhitelist=d.transports;this._transportOptions=d.transportOptions||{};this._timeout=d.timeout||0;var h=d.sessionId||8;if("function"===typeof h)this._generateSessionId=h;else if("number"===typeof h)this._generateSessionId=function(){return l.string(h)};else throw new TypeError("If sessionId is used in the options, it needs to be a number or a function.");this._server=d.server||l.numberString(1E3);var e=new g(a);if(e.host&&e.protocol){if(e.hash)throw new SyntaxError("The URL must not contain a fragment");if("http:"!==e.protocol&&"https:"!==e.protocol)throw new SyntaxError("The URL's scheme must be either 'http:' or 'https:'. '"+e.protocol+"' is not allowed.");}else throw new SyntaxError("The URL '"+a+"' is invalid");var p="https:"===e.protocol;if("https:"===A.protocol&&!p)throw Error("SecurityError: An insecure SockJS connection may not be initiated from a page loaded over HTTPS");c?Array.isArray(c)||(c=[c]):c=[];var m=c.sort();m.forEach(function(b,a){if(!b)throw new SyntaxError("The protocols entry '"+b+"' is invalid.");if(a<m.length-1&&b===m[a+1])throw new SyntaxError("The protocols entry '"+b+"' is duplicated.");});this._origin=(p=n.getOrigin(A.href))?p.toLowerCase():null;e.set("pathname",e.pathname.replace(/\/+$/,""));this.url=e.href;u("using url",this.url);this._urlInfo={nullOrigin:!E.hasDomain(),sameOrigin:n.isOriginEqual(this.url,A.href),sameScheme:n.isSchemeEqual(this.url,A.href)};this._ir=new S(this.url,this._urlInfo);this._ir.once("finish",this._receiveInfo.bind(this))}a("./shims");var g=a("url-parse"),e=a("inherits"),h=a("json3"),l=a("./utils/random"),r=a("./utils/escape"),n=a("./utils/url"),k=a("./utils/event"),m=a("./utils/transport"),p=a("./utils/object"),E=a("./utils/browser"),X=a("./utils/log"),w=a("./event/event"),G=a("./event/eventtarget"),A=a("./location"),R=a("./event/close"),J=a("./event/trans-message"),S=a("./info-receiver"),u=function(){};"production"!==d.env.NODE_ENV&&(u=a("debug")("sockjs-client:main"));var T;e(b,G);b.prototype.close=function(a,c){if(a&&!(1E3===a||3E3<=a&&4999>=a))throw Error("InvalidAccessError: Invalid code");if(c&&123<c.length)throw new SyntaxError("reason argument has an invalid length");this.readyState!==b.CLOSING&&this.readyState!==b.CLOSED&&this._close(a||1E3,c||"Normal closure",!0)};b.prototype.send=function(a){"string"!==typeof a&&(a=""+a);if(this.readyState===b.CONNECTING)throw Error("InvalidStateError: The connection has not been established yet");this.readyState===b.OPEN&&this._transport.send(r.quote(a))};b.version=a("./version");b.CONNECTING=0;b.OPEN=1;b.CLOSING=2;b.CLOSED=3;b.prototype._receiveInfo=function(b,a){u("_receiveInfo",a);this._ir=null;b?(this._rto=this.countRTO(a),this._transUrl=b.base_url?b.base_url:this.url,b=p.extend(b,this._urlInfo),u("info",b),this._transports=T.filterToEnabled(this._transportsWhitelist,b).main,u(this._transports.length+" enabled transports"),this._connect()):this._close(1002,"Cannot connect to server")};b.prototype._connect=function(){for(var b=this._transports.shift();b;){u("attempt",b.transportName);if(b.needBody&&(!c.document.body||"undefined"!==typeof c.document.readyState&&"complete"!==c.document.readyState&&"interactive"!==c.document.readyState)){u("waiting for body");this._transports.unshift(b);k.attachEvent("load",this._connect.bind(this));return}var a=Math.max(this._timeout,this._rto*b.roundTrips||5E3);this._transportTimeoutId=setTimeout(this._transportTimeout.bind(this),a);u("using timeout",a);var a=n.addPath(this._transUrl,"/"+this._server+"/"+this._generateSessionId()),d=this._transportOptions[b.transportName];u("transport url",a);a=new b(a,this._transUrl,d);a.on("message",this._transportMessage.bind(this));a.once("close",this._transportClose.bind(this));a.transportName=b.transportName;this._transport=a;return}this._close(2E3,"All transports failed",!1)};b.prototype._transportTimeout=function(){u("_transportTimeout");this.readyState===b.CONNECTING&&(this._transport&&this._transport.close(),this._transportClose(2007,"Transport timed out"))};b.prototype._transportMessage=function(b){u("_transportMessage",b);var a=this,c=b.slice(0,1);b=b.slice(1);var d;switch(c){case "o":this._open();return;case "h":this.dispatchEvent(new w("heartbeat"));u("heartbeat",this.transport);return}if(b)try{d=h.parse(b)}catch(I){u("bad json",b)}if("undefined"===typeof d)u("empty payload",b);else switch(c){case "a":Array.isArray(d)&&d.forEach(function(b){u("message",a.transport,b);a.dispatchEvent(new J(b))});break;case "m":u("message",this.transport,d);this.dispatchEvent(new J(d));break;case "c":Array.isArray(d)&&2===d.length&&this._close(d[0],d[1],!0)}};b.prototype._transportClose=function(a,c){u("_transportClose",this.transport,a,c);this._transport&&(this._transport.removeAllListeners(),this.transport=this._transport=null);1E3===a||3E3<=a&&4999>=a||2E3===a||this.readyState!==b.CONNECTING?this._close(a,c):this._connect()};b.prototype._open=function(){u("_open",this._transport&&this._transport.transportName,this.readyState);this.readyState===b.CONNECTING?(this._transportTimeoutId&&(clearTimeout(this._transportTimeoutId),this._transportTimeoutId=null),this.readyState=b.OPEN,this.transport=this._transport.transportName,this.dispatchEvent(new w("open")),u("connected",this.transport)):this._close(1006,"Server lost session")};b.prototype._close=function(a,c,d){u("_close",this.transport,a,c,d,this.readyState);var e=!1;this._ir&&(e=!0,this._ir.close(),this._ir=null);this._transport&&(this._transport.close(),this.transport=this._transport=null);if(this.readyState===b.CLOSED)throw Error("InvalidStateError: SockJS has already been closed");this.readyState=b.CLOSING;setTimeout(function(){this.readyState=b.CLOSED;e&&this.dispatchEvent(new w("error"));var h=new R("close");h.wasClean=d||!1;h.code=a||1E3;h.reason=c;this.dispatchEvent(h);this.onmessage=this.onclose=this.onerror=null;u("disconnected")}.bind(this),0)};b.prototype.countRTO=function(b){return 100<b?4*b:300+b};f.exports=function(c){T=m(c);a("./iframe-bootstrap")(b,c);return b}}).call(this,{env:{}},"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"./event/close":2,"./event/event":4,"./event/eventtarget":5,"./event/trans-message":6,"./iframe-bootstrap":8,"./info-receiver":12,"./location":13,"./shims":15,"./utils/browser":44,"./utils/escape":45,"./utils/event":46,"./utils/log":48,"./utils/object":49,"./utils/random":50,"./utils/transport":51,"./utils/url":52,"./version":53,debug:55,inherits:57,json3:58,"url-parse":61}],15:[function(a,f,k){function d(){}var c=Array.prototype,b=Object.prototype;f=Function.prototype;var g=String.prototype,e=c.slice,h=b.toString;if(a=Object.defineProperty)try{Object.defineProperty({},"x",{}),a=!0}catch(p){a=!1}var l;l=a?function(b,a,c,d){!d&&a in b||Object.defineProperty(b,a,{configurable:!0,enumerable:!1,writable:!0,value:c})}:function(b,a,c,d){!d&&a in b||(b[a]=c)};a=function(a,c,d){for(var e in c)b.hasOwnProperty.call(c,e)&&l(a,e,c[e],d)};var r=function(b){if(null==b)throw new TypeError("can't convert "+b+" to object");return Object(b)};a(f,{bind:function(a){var c=this;if("[object Function]"!==b.toString.call(c))throw new TypeError("Function.prototype.bind called on incompatible "+c);for(var h=e.call(arguments,1),g=Math.max(0,c.length-h.length),m=[],p=0;p<g;p++)m.push("$"+p);var l=Function("binder","return function ("+m.join(",")+"){ return binder.apply(this, arguments); }")(function(){if(this instanceof l){var b=c.apply(this,h.concat(e.call(arguments)));return Object(b)===b?b:this}return c.apply(a,h.concat(e.call(arguments)))});c.prototype&&(d.prototype=c.prototype,l.prototype=new d,d.prototype=null);return l}});a(Array,{isArray:function(b){return"[object Array]"===h.call(b)}});f=Object("a");var n="a"!==f[0]||!(0 in f);a(c,{forEach:function(a,c){var d=r(this),e=n&&"[object String]"===h.call(this)?this.split(""):d,g=-1,m=e.length>>>0;if("[object Function]"!==b.toString.call(a))throw new TypeError;for(;++g<m;)g in e&&a.call(c,e[g],g,d)}},!function(b){var a=!0,c=!0;b&&(b.call("foo",function(b,c,d){"object"!==typeof d&&(a=!1)}),b.call([1],function(){c="string"===typeof this},"x"));return!!b&&a&&c}(c.forEach));f=Array.prototype.indexOf&&-1!==[0,1].indexOf(1,2);a(c,{indexOf:function(b){var a=n&&"[object String]"===h.call(this)?this.split(""):r(this),c=a.length>>>0;if(!c)return-1;var d=0;1<arguments.length&&(d=+arguments[1],d!==d?d=0:0!==d&&d!==1/0&&d!==-(1/0)&&(d=(0<d||-1)*Math.floor(Math.abs(d))));for(d=0<=d?d:Math.max(0,c+d);d<c;d++)if(d in a&&a[d]===b)return d;return-1}},f);var t=g.split;2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||"t"==="tesst".split(/(s)*/)[1]||4!=="test".split(/(?:)/,-1).length||"".split(/.?/).length||1<".".split(/()()/).length?function(){var b=void 0===/()??/.exec("")[1];g.split=function(a,d){var e=this;if(void 0===a&&0===d)return[];if("[object RegExp]"!==h.call(a))return t.call(this,a,d);var g=[],m=(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.extended?"x":"")+(a.sticky?"y":""),p=0,l,n,E;a=new RegExp(a.source,m+"g");e+="";b||(l=new RegExp("^"+a.source+"$(?!\\s)",m));for(d=void 0===d?4294967295:d>>>0;n=a.exec(e);){m=n.index+n[0].length;if(m>p&&(g.push(e.slice(p,n.index)),!b&&1<n.length&&n[0].replace(l,function(){for(var a=1;a<arguments.length-2;a++)void 0===arguments[a]&&(n[a]=void 0)}),1<n.length&&n.index<e.length&&c.push.apply(g,n.slice(1)),E=n[0].length,p=m,g.length>=d))break;a.lastIndex===n.index&&a.lastIndex++}p===e.length?!E&&a.test("")||g.push(""):g.push(e.slice(p));return g.length>d?g.slice(0,d):g}}():"0".split(void 0,0).length&&(g.split=function(a,b){return void 0===a&&0===b?[]:t.call(this,a,b)});var m=g.substr;f="".substr&&"b"!=="0b".substr(-1);a(g,{substr:function(a,b){return m.call(this,0>a?0>(a=this.length+a)?0:a:a,b)}},f)},{}],16:[function(a,f,k){f.exports=[a("./transport/websocket"),a("./transport/xhr-streaming"),a("./transport/xdr-streaming"),a("./transport/eventsource"),a("./transport/lib/iframe-wrap")(a("./transport/eventsource")),a("./transport/htmlfile"),a("./transport/lib/iframe-wrap")(a("./transport/htmlfile")),a("./transport/xhr-polling"),a("./transport/xdr-polling"),a("./transport/lib/iframe-wrap")(a("./transport/xhr-polling")),a("./transport/jsonp-polling")]},{"./transport/eventsource":20,"./transport/htmlfile":21,"./transport/jsonp-polling":23,"./transport/lib/iframe-wrap":26,"./transport/websocket":38,"./transport/xdr-polling":39,"./transport/xdr-streaming":40,"./transport/xhr-polling":41,"./transport/xhr-streaming":42}],17:[function(a,f,k){(function(d,c){function b(a,b,c,d){n(a,b);var e=this;g.call(this);setTimeout(function(){e._start(a,b,c,d)},0)}var g=a("events").EventEmitter,e=a("inherits"),h=a("../../utils/event"),l=a("../../utils/url"),r=c.XMLHttpRequest,n=function(){};"production"!==d.env.NODE_ENV&&(n=a("debug")("sockjs-client:browser:xhr"));e(b,g);b.prototype._start=function(a,c,d,e){var g=this;try{this.xhr=new r}catch(A){}if(this.xhr){c=l.addQuery(c,"t\x3d"+ +new Date);this.unloadRef=h.unloadAdd(function(){n("unload cleanup");g._cleanup(!0)});try{this.xhr.open(a,c,!0),this.timeout&&"timeout"in this.xhr&&(this.xhr.timeout=this.timeout,this.xhr.ontimeout=function(){n("xhr timeout");g.emit("finish",0,"");g._cleanup(!1)})}catch(A){n("exception",A);this.emit("finish",0,"");this._cleanup(!1);return}e&&e.noCredentials||!b.supportsCORS||(n("withCredentials"),this.xhr.withCredentials=!0);if(e&&e.headers)for(var m in e.headers)this.xhr.setRequestHeader(m,e.headers[m]);this.xhr.onreadystatechange=function(){if(g.xhr){var a=g.xhr,b,c;n("readyState",a.readyState);switch(a.readyState){case 3:try{c=a.status,b=a.responseText}catch(S){}n("status",c);1223===c&&(c=204);200===c&&b&&0<b.length&&(n("chunk"),g.emit("chunk",c,b));break;case 4:c=a.status;n("status",c);1223===c&&(c=204);if(12005===c||12029===c)c=0;n("finish",c,a.responseText);g.emit("finish",c,a.responseText);g._cleanup(!1)}}};try{g.xhr.send(d)}catch(A){g.emit("finish",0,""),g._cleanup(!1)}}else n("no xhr"),this.emit("finish",0,"no xhr support"),this._cleanup()};b.prototype._cleanup=function(a){n("cleanup");if(this.xhr){this.removeAllListeners();h.unloadDel(this.unloadRef);this.xhr.onreadystatechange=function(){};this.xhr.ontimeout&&(this.xhr.ontimeout=null);if(a)try{this.xhr.abort()}catch(p){}this.unloadRef=this.xhr=null}};b.prototype.close=function(){n("close");this._cleanup(!0)};b.enabled=!!r;var k=["Active"].concat("Object").join("X");!b.enabled&&k in c&&(n("overriding xmlhttprequest"),r=function(){try{return new c[k]("Microsoft.XMLHTTP")}catch(m){return null}},b.enabled=!!new r);e=!1;try{e="withCredentials"in new r}catch(m){}b.supportsCORS=e;f.exports=b}).call(this,{env:{}},"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../../utils/event":46,"../../utils/url":52,debug:55,events:3,inherits:57}],18:[function(a,f,k){f.exports=("undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{}).EventSource},{}],19:[function(a,f,k){(function(a){var c=a.WebSocket||a.MozWebSocket;f.exports=c?function(a){return new c(a)}:void 0}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{}],20:[function(a,f,k){function d(a){if(!d.enabled())throw Error("Transport created when disabled");c.call(this,a,"/eventsource",b,g)}k=a("inherits");var c=a("./lib/ajax-based"),b=a("./receiver/eventsource"),g=a("./sender/xhr-cors"),e=a("eventsource");k(d,c);d.enabled=function(){return!!e};d.transportName="eventsource";d.roundTrips=2;f.exports=d},{"./lib/ajax-based":24,"./receiver/eventsource":29,"./sender/xhr-cors":35,eventsource:18,inherits:57}],21:[function(a,f,k){function d(a){if(!c.enabled)throw Error("Transport created when disabled");g.call(this,a,"/htmlfile",c,b)}k=a("inherits");var c=a("./receiver/htmlfile"),b=a("./sender/xhr-local"),g=a("./lib/ajax-based");k(d,g);d.enabled=function(a){return c.enabled&&a.sameOrigin};d.transportName="htmlfile";d.roundTrips=2;f.exports=d},{"./lib/ajax-based":24,"./receiver/htmlfile":30,"./sender/xhr-local":37,inherits:57}],22:[function(a,f,k){(function(d){function c(a,b,d){if(!c.enabled())throw Error("Transport created when disabled");e.call(this);var h=this;this.origin=l.getOrigin(d);this.baseUrl=d;this.transUrl=b;this.transport=a;this.windowId=k.string(8);d=l.addPath(d,"/iframe.html")+"#"+this.windowId;m(a,b,d);this.iframeObj=r.createIframe(d,function(a){m("err callback");h.emit("close",1006,"Unable to load an iframe ("+a+")");h.close()});this.onmessageCallback=this._message.bind(this);n.attachEvent("message",this.onmessageCallback)}var b=a("inherits"),g=a("json3"),e=a("events").EventEmitter,h=a("../version"),l=a("../utils/url"),r=a("../utils/iframe"),n=a("../utils/event"),k=a("../utils/random"),m=function(){};"production"!==d.env.NODE_ENV&&(m=a("debug")("sockjs-client:transport:iframe"));b(c,e);c.prototype.close=function(){m("close");this.removeAllListeners();if(this.iframeObj){n.detachEvent("message",this.onmessageCallback);try{this.postMessage("c")}catch(p){}this.iframeObj.cleanup();this.onmessageCallback=this.iframeObj=null}};c.prototype._message=function(a){m("message",a.data);if(l.isOriginEqual(a.origin,this.origin)){var b;try{b=g.parse(a.data)}catch(w){m("bad json",a.data);return}if(b.windowId!==this.windowId)m("mismatched window id",b.windowId,this.windowId);else switch(b.type){case "s":this.iframeObj.loaded();this.postMessage("s",g.stringify([h,this.transport,this.transUrl,this.baseUrl]));break;case "t":this.emit("message",b.data);break;case "c":var c;try{c=g.parse(b.data)}catch(w){m("bad json",b.data);break}this.emit("close",c[0],c[1]);this.close()}}else m("not same origin",a.origin,this.origin)};c.prototype.postMessage=function(a,b){m("postMessage",a,b);this.iframeObj.post(g.stringify({windowId:this.windowId,type:a,data:b||""}),this.origin)};c.prototype.send=function(a){m("send",a);this.postMessage("m",a)};c.enabled=function(){return r.iframeEnabled};c.transportName="iframe";c.roundTrips=2;f.exports=c}).call(this,{env:{}})},{"../utils/event":46,"../utils/iframe":47,"../utils/random":50,"../utils/url":52,"../version":53,debug:55,events:3,inherits:57,json3:58}],23:[function(a,f,k){(function(d){function c(a){if(!c.enabled())throw Error("Transport created when disabled");g.call(this,a,"/jsonp",h,e)}var b=a("inherits"),g=a("./lib/sender-receiver"),e=a("./receiver/jsonp"),h=a("./sender/jsonp");b(c,g);c.enabled=function(){return!!d.document};c.transportName="jsonp-polling";c.roundTrips=1;c.needBody=!0;f.exports=c}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"./lib/sender-receiver":28,"./receiver/jsonp":31,"./sender/jsonp":33,inherits:57}],24:[function(a,f,k){(function(d){function c(a){return function(b,c,d){l("create ajax sender",b,c);var h={};"string"===typeof c&&(h.headers={"Content-type":"text/plain"});b=e.addPath(b,"/xhr_send");var g=new a("POST",b,c,h);g.once("finish",function(a){l("finish",a);g=null;if(200!==a&&204!==a)return d(Error("http status "+a));d()});return function(){l("abort");g.close();g=null;var a=Error("Aborted");a.code=1E3;d(a)}}}function b(a,b,d,e){h.call(this,a,b,c(e),d,e)}var g=a("inherits"),e=a("../../utils/url"),h=a("./sender-receiver"),l=function(){};"production"!==d.env.NODE_ENV&&(l=a("debug")("sockjs-client:ajax-based"));g(b,h);f.exports=b}).call(this,{env:{}})},{"../../utils/url":52,"./sender-receiver":28,debug:55,inherits:57}],25:[function(a,f,k){(function(d){function c(a,b){e(a);g.call(this);this.sendBuffer=[];this.sender=b;this.url=a}var b=a("inherits"),g=a("events").EventEmitter,e=function(){};"production"!==d.env.NODE_ENV&&(e=a("debug")("sockjs-client:buffered-sender"));b(c,g);c.prototype.send=function(a){e("send",a);this.sendBuffer.push(a);this.sendStop||this.sendSchedule()};c.prototype.sendScheduleWait=function(){e("sendScheduleWait");var a=this,b;this.sendStop=function(){e("sendStop");a.sendStop=null;clearTimeout(b)};b=setTimeout(function(){e("timeout");a.sendStop=null;a.sendSchedule()},25)};c.prototype.sendSchedule=function(){e("sendSchedule",this.sendBuffer.length);var a=this;if(0<this.sendBuffer.length){var b="["+this.sendBuffer.join(",")+"]";this.sendStop=this.sender(this.url,b,function(b){a.sendStop=null;b?(e("error",b),a.emit("close",b.code||1006,"Sending error: "+b),a.close()):a.sendScheduleWait()});this.sendBuffer=[]}};c.prototype._cleanup=function(){e("_cleanup");this.removeAllListeners()};c.prototype.close=function(){e("close");this._cleanup();this.sendStop&&(this.sendStop(),this.sendStop=null)};f.exports=c}).call(this,{env:{}})},{debug:55,events:3,inherits:57}],26:[function(a,f,k){(function(d){var c=a("inherits"),b=a("../iframe"),g=a("../../utils/object");f.exports=function(a){function e(c,d){b.call(this,a.transportName,c,d)}c(e,b);e.enabled=function(c,e){if(!d.document)return!1;var h=g.extend({},e);h.sameOrigin=!0;return a.enabled(h)&&b.enabled()};e.transportName="iframe-"+a.transportName;e.needBody=!0;e.roundTrips=b.roundTrips+a.roundTrips-1;e.facadeTransport=a;return e}}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../../utils/object":49,"../iframe":22,inherits:57}],27:[function(a,f,k){(function(d){function c(a,b,c){e(b);g.call(this);this.Receiver=a;this.receiveUrl=b;this.AjaxObject=c;this._scheduleReceiver()}var b=a("inherits"),g=a("events").EventEmitter,e=function(){};"production"!==d.env.NODE_ENV&&(e=a("debug")("sockjs-client:polling"));b(c,g);c.prototype._scheduleReceiver=function(){e("_scheduleReceiver");var a=this,b=this.poll=new this.Receiver(this.receiveUrl,this.AjaxObject);b.on("message",function(b){e("message",b);a.emit("message",b)});b.once("close",function(c,d){e("close",c,d,a.pollIsClosing);a.poll=b=null;a.pollIsClosing||("network"===d?a._scheduleReceiver():(a.emit("close",c||1006,d),a.removeAllListeners()))})};c.prototype.abort=function(){e("abort");this.removeAllListeners();this.pollIsClosing=!0;this.poll&&this.poll.abort()};f.exports=c}).call(this,{env:{}})},{debug:55,events:3,inherits:57}],28:[function(a,f,k){(function(d){function c(a,b,c,d,p){b=g.addPath(a,b);l(b);var m=this;e.call(this,a,c);this.poll=new h(d,b,p);this.poll.on("message",function(a){l("poll message",a);m.emit("message",a)});this.poll.once("close",function(a,b){l("poll close",a,b);m.poll=null;m.emit("close",a,b);m.close()})}var b=a("inherits"),g=a("../../utils/url"),e=a("./buffered-sender"),h=a("./polling"),l=function(){};"production"!==d.env.NODE_ENV&&(l=a("debug")("sockjs-client:sender-receiver"));b(c,e);c.prototype.close=function(){e.prototype.close.call(this);l("close");this.removeAllListeners();this.poll&&(this.poll.abort(),this.poll=null)};f.exports=c}).call(this,{env:{}})},{"../../utils/url":52,"./buffered-sender":25,"./polling":27,debug:55,inherits:57}],29:[function(a,f,k){(function(d){function c(a){h(a);g.call(this);var b=this,c=this.es=new e(a);c.onmessage=function(a){h("message",a.data);b.emit("message",decodeURI(a.data))};c.onerror=function(a){h("error",c.readyState,a);a=2!==c.readyState?"network":"permanent";b._cleanup();b._close(a)}}var b=a("inherits"),g=a("events").EventEmitter,e=a("eventsource"),h=function(){};"production"!==d.env.NODE_ENV&&(h=a("debug")("sockjs-client:receiver:eventsource"));b(c,g);c.prototype.abort=function(){h("abort");this._cleanup();this._close("user")};c.prototype._cleanup=function(){h("cleanup");var a=this.es;a&&(a.onmessage=a.onerror=null,a.close(),this.es=null)};c.prototype._close=function(a){h("close",a);var b=this;setTimeout(function(){b.emit("close",null,a);b.removeAllListeners()},200)};f.exports=c}).call(this,{env:{}})},{debug:55,events:3,eventsource:18,inherits:57}],30:[function(a,f,k){(function(d,c){function b(a){n(a);l.call(this);var d=this;e.polluteGlobalNamespace();this.id="a"+k.string(6);a=h.addQuery(a,"c\x3d"+decodeURIComponent(e.WPrefix+"."+this.id));n("using htmlfile",b.htmlfileEnabled);var g=b.htmlfileEnabled?e.createHtmlfile:e.createIframe;c[e.WPrefix][this.id]={start:function(){n("start");d.iframeObj.loaded()},message:function(a){n("message",a);d.emit("message",a)},stop:function(){n("stop");d._cleanup();d._close("network")}};this.iframeObj=g(a,function(){n("callback");d._cleanup();d._close("permanent")})}var g=a("inherits"),e=a("../../utils/iframe"),h=a("../../utils/url"),l=a("events").EventEmitter,k=a("../../utils/random"),n=function(){};"production"!==d.env.NODE_ENV&&(n=a("debug")("sockjs-client:receiver:htmlfile"));g(b,l);b.prototype.abort=function(){n("abort");this._cleanup();this._close("user")};b.prototype._cleanup=function(){n("_cleanup");this.iframeObj&&(this.iframeObj.cleanup(),this.iframeObj=null);delete c[e.WPrefix][this.id]};b.prototype._close=function(a){n("_close",a);this.emit("close",null,a);this.removeAllListeners()};b.htmlfileEnabled=!1;g=["Active"].concat("Object").join("X");if(g in c)try{b.htmlfileEnabled=!!new c[g]("htmlfile")}catch(t){}b.enabled=b.htmlfileEnabled||e.iframeEnabled;f.exports=b}).call(this,{env:{}},"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../../utils/iframe":47,"../../utils/random":50,"../../utils/url":52,debug:55,events:3,inherits:57}],31:[function(a,f,k){(function(d,c){function b(a){t(a);var d=this;n.call(this);g.polluteGlobalNamespace();this.id="a"+e.string(6);a=l.addQuery(a,"c\x3d"+encodeURIComponent(g.WPrefix+"."+this.id));c[g.WPrefix][this.id]=this._callback.bind(this);this._createScript(a);this.timeoutId=setTimeout(function(){t("timeout");d._abort(Error("JSONP script loaded abnormally (timeout)"))},b.timeout)}var g=a("../../utils/iframe"),e=a("../../utils/random"),h=a("../../utils/browser"),l=a("../../utils/url"),k=a("inherits"),n=a("events").EventEmitter,t=function(){};"production"!==d.env.NODE_ENV&&(t=a("debug")("sockjs-client:receiver:jsonp"));k(b,n);b.prototype.abort=function(){t("abort");if(c[g.WPrefix][this.id]){var a=Error("JSONP user aborted read");a.code=1E3;this._abort(a)}};b.timeout=35E3;b.scriptErrorTimeout=1E3;b.prototype._callback=function(a){t("_callback",a);this._cleanup();this.aborting||(a&&(t("message",a),this.emit("message",a)),this.emit("close",null,"network"),this.removeAllListeners())};b.prototype._abort=function(a){t("_abort",a);this._cleanup();this.aborting=!0;this.emit("close",a.code,a.message);this.removeAllListeners()};b.prototype._cleanup=function(){t("_cleanup");clearTimeout(this.timeoutId);this.script2&&(this.script2.parentNode.removeChild(this.script2),this.script2=null);if(this.script){var a=this.script;a.parentNode.removeChild(a);this.script=a.onreadystatechange=a.onerror=a.onload=a.onclick=null}delete c[g.WPrefix][this.id]};b.prototype._scriptError=function(){t("_scriptError");var a=this;this.errorTimer||(this.errorTimer=setTimeout(function(){a.loadedOkay||a._abort(Error("JSONP script loaded abnormally (onerror)"))},b.scriptErrorTimeout))};b.prototype._createScript=function(a){t("_createScript",a);var b=this,d=this.script=c.document.createElement("script"),g;d.id="a"+e.string(8);d.src=a;d.type="text/javascript";d.charset="UTF-8";d.onerror=this._scriptError.bind(this);d.onload=function(){t("onload");b._abort(Error("JSONP script loaded abnormally (onload)"))};d.onreadystatechange=function(){t("onreadystatechange",d.readyState);if(/loaded|closed/.test(d.readyState)){if(d&&d.htmlFor&&d.onclick){b.loadedOkay=!0;try{d.onclick()}catch(w){}}d&&b._abort(Error("JSONP script loaded abnormally (onreadystatechange)"))}};if("undefined"===typeof d.async&&c.document.attachEvent)if(h.isOpera())g=this.script2=c.document.createElement("script"),g.text="try{var a \x3d document.getElementById('"+d.id+"'); if(a)a.onerror();}catch(x){};",d.async=g.async=!1;else{try{d.htmlFor=d.id,d.event="onclick"}catch(w){}d.async=!0}"undefined"!==typeof d.async&&(d.async=!0);a=c.document.getElementsByTagName("head")[0];a.insertBefore(d,a.firstChild);g&&a.insertBefore(g,a.firstChild)};f.exports=b}).call(this,{env:{}},"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../../utils/browser":44,"../../utils/iframe":47,"../../utils/random":50,"../../utils/url":52,debug:55,events:3,inherits:57}],32:[function(a,f,k){(function(d){function c(a,b){e(a);g.call(this);var c=this;this.bufferPosition=0;this.xo=new b("POST",a,null);this.xo.on("chunk",this._chunkHandler.bind(this));this.xo.once("finish",function(a,b){e("finish",a,b);c._chunkHandler(a,b);c.xo=null;var d=200===a?"network":"permanent";e("close",d);c.emit("close",null,d);c._cleanup()})}var b=a("inherits"),g=a("events").EventEmitter,e=function(){};"production"!==d.env.NODE_ENV&&(e=a("debug")("sockjs-client:receiver:xhr"));b(c,g);c.prototype._chunkHandler=function(a,b){e("_chunkHandler",a);if(200===a&&b)for(var c;;this.bufferPosition+=c+1){var d=b.slice(this.bufferPosition);c=d.indexOf("\n");if(-1===c)break;if(d=d.slice(0,c))e("message",d),this.emit("message",d)}};c.prototype._cleanup=function(){e("_cleanup");this.removeAllListeners()};c.prototype.abort=function(){e("abort");this.xo&&(this.xo.close(),e("close"),this.emit("close",null,"user"),this.xo=null);this._cleanup()};f.exports=c}).call(this,{env:{}})},{debug:55,events:3,inherits:57}],33:[function(a,f,k){(function(d,c){function b(a){h("createIframe",a);try{return c.document.createElement('\x3ciframe name\x3d"'+a+'"\x3e')}catch(m){var b=c.document.createElement("iframe");b.name=a;return b}}var g=a("../../utils/random"),e=a("../../utils/url"),h=function(){};"production"!==d.env.NODE_ENV&&(h=a("debug")("sockjs-client:sender:jsonp"));var l,k;f.exports=function(a,d,m){h(a,d);l||(h("createForm"),l=c.document.createElement("form"),l.style.display="none",l.style.position="absolute",l.method="POST",l.enctype="application/x-www-form-urlencoded",l.acceptCharset="UTF-8",k=c.document.createElement("textarea"),k.name="d",l.appendChild(k),c.document.body.appendChild(l));var p="a"+g.string(8);l.target=p;l.action=e.addQuery(e.addPath(a,"/jsonp_send"),"i\x3d"+p);var f=b(p);f.id=p;f.style.display="none";l.appendChild(f);try{k.value=d}catch(w){}l.submit();var n=function(a){h("completed",p,a);f.onerror&&(f.onreadystatechange=f.onerror=f.onload=null,setTimeout(function(){h("cleaning up",p);f.parentNode.removeChild(f);f=null},500),k.value="",m(a))};f.onerror=function(){h("onerror",p);n()};f.onload=function(){h("onload",p);n()};f.onreadystatechange=function(a){h("onreadystatechange",p,f.readyState,a);"complete"===f.readyState&&n()};return function(){h("aborted",p);n(Error("Aborted"))}}}).call(this,{env:{}},"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../../utils/random":50,"../../utils/url":52,debug:55}],34:[function(a,f,k){(function(d,c){function b(a,b,c){n(a,b);var d=this;g.call(this);setTimeout(function(){d._start(a,b,c)},0)}var g=a("events").EventEmitter,e=a("inherits"),h=a("../../utils/event"),l=a("../../utils/browser"),k=a("../../utils/url"),n=function(){};"production"!==d.env.NODE_ENV&&(n=a("debug")("sockjs-client:sender:xdr"));e(b,g);b.prototype._start=function(a,b,d){n("_start");var e=this,g=new c.XDomainRequest;b=k.addQuery(b,"t\x3d"+ +new Date);g.onerror=function(){n("onerror");e._error()};g.ontimeout=function(){n("ontimeout");e._error()};g.onprogress=function(){n("progress",g.responseText);e.emit("chunk",200,g.responseText)};g.onload=function(){n("load");e.emit("finish",200,g.responseText);e._cleanup(!1)};this.xdr=g;this.unloadRef=h.unloadAdd(function(){e._cleanup(!0)});try{this.xdr.open(a,b),this.timeout&&(this.xdr.timeout=this.timeout),this.xdr.send(d)}catch(w){this._error()}};b.prototype._error=function(){this.emit("finish",0,"");this._cleanup(!1)};b.prototype._cleanup=function(a){n("cleanup",a);if(this.xdr){this.removeAllListeners();h.unloadDel(this.unloadRef);this.xdr.ontimeout=this.xdr.onerror=this.xdr.onprogress=this.xdr.onload=null;if(a)try{this.xdr.abort()}catch(m){}this.unloadRef=this.xdr=null}};b.prototype.close=function(){n("close");this._cleanup(!0)};b.enabled=!(!c.XDomainRequest||!l.hasDomain());f.exports=b}).call(this,{env:{}},"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../../utils/browser":44,"../../utils/event":46,"../../utils/url":52,debug:55,events:3,inherits:57}],35:[function(a,f,k){function d(a,d,e,h){c.call(this,a,d,e,h)}k=a("inherits");var c=a("../driver/xhr");k(d,c);d.enabled=c.enabled&&c.supportsCORS;f.exports=d},{"../driver/xhr":17,inherits:57}],36:[function(a,f,k){function d(){var a=this;c.call(this);this.to=setTimeout(function(){a.emit("finish",200,"{}")},d.timeout)}var c=a("events").EventEmitter;a("inherits")(d,c);d.prototype.close=function(){clearTimeout(this.to)};d.timeout=2E3;f.exports=d},{events:3,inherits:57}],37:[function(a,f,k){function d(a,d,e){c.call(this,a,d,e,{noCredentials:!0})}k=a("inherits");var c=a("../driver/xhr");k(d,c);d.enabled=c.enabled;f.exports=d},{"../driver/xhr":17,inherits:57}],38:[function(a,f,k){(function(d){function c(a,d,e){if(!c.enabled())throw Error("Transport created when disabled");h.call(this);k("constructor",a);var f=this;a=g.addPath(a,"/websocket");this.url=a="https"===a.slice(0,5)?"wss"+a.slice(5):"ws"+a.slice(4);this.ws=new l(this.url,[],e);this.ws.onmessage=function(a){k("message event",a.data);f.emit("message",a.data)};this.unloadRef=b.unloadAdd(function(){k("unload");f.ws.close()});this.ws.onclose=function(a){k("close event",a.code,a.reason);f.emit("close",a.code,a.reason);f._cleanup()};this.ws.onerror=function(a){k("error event",a);f.emit("close",1006,"WebSocket connection broken");f._cleanup()}}var b=a("../utils/event"),g=a("../utils/url"),e=a("inherits"),h=a("events").EventEmitter,l=a("./driver/websocket"),k=function(){};"production"!==d.env.NODE_ENV&&(k=a("debug")("sockjs-client:websocket"));e(c,h);c.prototype.send=function(a){a="["+a+"]";k("send",a);this.ws.send(a)};c.prototype.close=function(){k("close");var a=this.ws;this._cleanup();a&&a.close()};c.prototype._cleanup=function(){k("_cleanup");var a=this.ws;a&&(a.onmessage=a.onclose=a.onerror=null);b.unloadDel(this.unloadRef);this.unloadRef=this.ws=null;this.removeAllListeners()};c.enabled=function(){k("enabled");return!!l};c.transportName="websocket";c.roundTrips=2;f.exports=c}).call(this,{env:{}})},{"../utils/event":46,"../utils/url":52,"./driver/websocket":19,debug:55,events:3,inherits:57}],39:[function(a,f,k){function d(a){if(!e.enabled)throw Error("Transport created when disabled");c.call(this,a,"/xhr",g,e)}k=a("inherits");var c=a("./lib/ajax-based"),b=a("./xdr-streaming"),g=a("./receiver/xhr"),e=a("./sender/xdr");k(d,c);d.enabled=b.enabled;d.transportName="xdr-polling";d.roundTrips=2;f.exports=d},{"./lib/ajax-based":24,"./receiver/xhr":32,"./sender/xdr":34,"./xdr-streaming":40,inherits:57}],40:[function(a,f,k){function d(a){if(!g.enabled)throw Error("Transport created when disabled");c.call(this,a,"/xhr_streaming",b,g)}k=a("inherits");var c=a("./lib/ajax-based"),b=a("./receiver/xhr"),g=a("./sender/xdr");k(d,c);d.enabled=function(a){return a.cookie_needed||a.nullOrigin?!1:g.enabled&&a.sameScheme};d.transportName="xdr-streaming";d.roundTrips=2;f.exports=d},{"./lib/ajax-based":24,"./receiver/xhr":32,"./sender/xdr":34,inherits:57}],41:[function(a,f,k){function d(a){if(!e.enabled&&!g.enabled)throw Error("Transport created when disabled");c.call(this,a,"/xhr",b,g)}k=a("inherits");var c=a("./lib/ajax-based"),b=a("./receiver/xhr"),g=a("./sender/xhr-cors"),e=a("./sender/xhr-local");k(d,c);d.enabled=function(a){return a.nullOrigin?!1:e.enabled&&a.sameOrigin?!0:g.enabled};d.transportName="xhr-polling";d.roundTrips=2;f.exports=d},{"./lib/ajax-based":24,"./receiver/xhr":32,"./sender/xhr-cors":35,"./sender/xhr-local":37,inherits:57}],42:[function(a,f,k){(function(d){function c(a){if(!l.enabled&&!h.enabled)throw Error("Transport created when disabled");g.call(this,a,"/xhr_streaming",e,h)}var b=a("inherits"),g=a("./lib/ajax-based"),e=a("./receiver/xhr"),h=a("./sender/xhr-cors"),l=a("./sender/xhr-local"),k=a("../utils/browser");b(c,g);c.enabled=function(a){return a.nullOrigin||k.isOpera()?!1:h.enabled};c.transportName="xhr-streaming";c.roundTrips=2;c.needBody=!!d.document;f.exports=c}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../utils/browser":44,"./lib/ajax-based":24,"./receiver/xhr":32,"./sender/xhr-cors":35,"./sender/xhr-local":37,inherits:57}],43:[function(a,f,k){(function(a){f.exports.randomBytes=a.crypto&&a.crypto.getRandomValues?function(c){c=new Uint8Array(c);a.crypto.getRandomValues(c);return c}:function(a){for(var b=Array(a),c=0;c<a;c++)b[c]=Math.floor(256*Math.random());return b}}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{}],44:[function(a,f,k){(function(a){f.exports={isOpera:function(){return a.navigator&&/opera/i.test(a.navigator.userAgent)},isKonqueror:function(){return a.navigator&&/konqueror/i.test(a.navigator.userAgent)},hasDomain:function(){if(!a.document)return!0;try{return!!a.document.domain}catch(c){return!1}}}}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{}],45:[function(a,f,k){var d=a("json3"),c=/[\x00-\x1f\ud800-\udfff\ufffe\uffff\u0300-\u0333\u033d-\u0346\u034a-\u034c\u0350-\u0352\u0357-\u0358\u035c-\u0362\u0374\u037e\u0387\u0591-\u05af\u05c4\u0610-\u0617\u0653-\u0654\u0657-\u065b\u065d-\u065e\u06df-\u06e2\u06eb-\u06ec\u0730\u0732-\u0733\u0735-\u0736\u073a\u073d\u073f-\u0741\u0743\u0745\u0747\u07eb-\u07f1\u0951\u0958-\u095f\u09dc-\u09dd\u09df\u0a33\u0a36\u0a59-\u0a5b\u0a5e\u0b5c-\u0b5d\u0e38-\u0e39\u0f43\u0f4d\u0f52\u0f57\u0f5c\u0f69\u0f72-\u0f76\u0f78\u0f80-\u0f83\u0f93\u0f9d\u0fa2\u0fa7\u0fac\u0fb9\u1939-\u193a\u1a17\u1b6b\u1cda-\u1cdb\u1dc0-\u1dcf\u1dfc\u1dfe\u1f71\u1f73\u1f75\u1f77\u1f79\u1f7b\u1f7d\u1fbb\u1fbe\u1fc9\u1fcb\u1fd3\u1fdb\u1fe3\u1feb\u1fee-\u1fef\u1ff9\u1ffb\u1ffd\u2000-\u2001\u20d0-\u20d1\u20d4-\u20d7\u20e7-\u20e9\u2126\u212a-\u212b\u2329-\u232a\u2adc\u302b-\u302c\uaab2-\uaab3\uf900-\ufa0d\ufa10\ufa12\ufa15-\ufa1e\ufa20\ufa22\ufa25-\ufa26\ufa2a-\ufa2d\ufa30-\ufa6d\ufa70-\ufad9\ufb1d\ufb1f\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufb4e\ufff0-\uffff]/g,b,g=function(a){var b,c={},d=[];for(b=0;65536>b;b++)d.push(String.fromCharCode(b));a.lastIndex=0;d.join("").replace(a,function(a){c[a]="\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4);return""});a.lastIndex=0;return c};f.exports={quote:function(a){a=d.stringify(a);c.lastIndex=0;if(!c.test(a))return a;b||(b=g(c));return a.replace(c,function(a){return b[a]})}}},{json3:58}],46:[function(a,f,k){(function(d){var c=a("./random"),b={},g=!1,e=d.chrome&&d.chrome.app&&d.chrome.app.runtime;f.exports={attachEvent:function(a,b){"undefined"!==typeof d.addEventListener?d.addEventListener(a,b,!1):d.document&&d.attachEvent&&(d.document.attachEvent("on"+a,b),d.attachEvent("on"+a,b))},detachEvent:function(a,b){"undefined"!==typeof d.addEventListener?d.removeEventListener(a,b,!1):d.document&&d.detachEvent&&(d.document.detachEvent("on"+a,b),d.detachEvent("on"+a,b))},unloadAdd:function(a){if(e)return null;var d=c.string(8);b[d]=a;g&&setTimeout(this.triggerUnloadCallbacks,0);return d},unloadDel:function(a){a in b&&delete b[a]},triggerUnloadCallbacks:function(){for(var a in b)b[a](),delete b[a]}};e||f.exports.attachEvent("unload",function(){g||(g=!0,f.exports.triggerUnloadCallbacks())})}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"./random":50}],47:[function(a,f,k){(function(d,c){var b=a("./event"),g=a("json3"),e=a("./browser"),h=function(){};"production"!==d.env.NODE_ENV&&(h=a("debug")("sockjs-client:utils:iframe"));f.exports={WPrefix:"_jp",currentWindowId:null,polluteGlobalNamespace:function(){f.exports.WPrefix in c||(c[f.exports.WPrefix]={})},postMessage:function(a,b){c.parent!==c?c.parent.postMessage(g.stringify({windowId:f.exports.currentWindowId,type:a,data:b||""}),"*"):h("Cannot postMessage, no parent window.",a,b)},createIframe:function(a,d){var e=c.document.createElement("iframe"),g,f,p=function(){h("unattach");clearTimeout(g);try{e.onload=null}catch(w){}e.onerror=null},k=function(){h("cleanup");e&&(p(),setTimeout(function(){e&&e.parentNode.removeChild(e);e=null},0),b.unloadDel(f))},l=function(a){h("onerror",a);e&&(k(),d(a))};e.src=a;e.style.display="none";e.style.position="absolute";e.onerror=function(){l("onerror")};e.onload=function(){h("onload");clearTimeout(g);g=setTimeout(function(){l("onload timeout")},2E3)};c.document.body.appendChild(e);g=setTimeout(function(){l("timeout")},15E3);f=b.unloadAdd(k);return{post:function(a,b){h("post",a,b);setTimeout(function(){try{e&&e.contentWindow&&e.contentWindow.postMessage(a,b)}catch(A){}},0)},cleanup:k,loaded:p}},createHtmlfile:function(a,d){var e=["Active"].concat("Object").join("X"),g=new c[e]("htmlfile"),m,k,l,r=function(){clearTimeout(m);l.onerror=null},w=function(){g&&(r(),b.unloadDel(k),l.parentNode.removeChild(l),l=g=null,CollectGarbage())},G=function(a){h("onerror",a);g&&(w(),d(a))};g.open();g.write('\x3chtml\x3e\x3cscript\x3edocument.domain\x3d"'+c.document.domain+'";\x3c/script\x3e\x3c/html\x3e');g.close();g.parentWindow[f.exports.WPrefix]=c[f.exports.WPrefix];e=g.createElement("div");g.body.appendChild(e);l=g.createElement("iframe");e.appendChild(l);l.src=a;l.onerror=function(){G("onerror")};m=setTimeout(function(){G("timeout")},15E3);k=b.unloadAdd(w);return{post:function(a,b){try{setTimeout(function(){l&&l.contentWindow&&l.contentWindow.postMessage(a,b)},0)}catch(J){}},cleanup:w,loaded:r}}};f.exports.iframeEnabled=!1;c.document&&(f.exports.iframeEnabled=("function"===typeof c.postMessage||"object"===typeof c.postMessage)&&!e.isKonqueror())}).call(this,{env:{}},"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"./browser":44,"./event":46,debug:55,json3:58}],48:[function(a,f,k){(function(a){var c={};["log","debug","warn"].forEach(function(b){var d;try{d=a.console&&a.console[b]&&a.console[b].apply}catch(e){}c[b]=d?function(){return a.console[b].apply(a.console,arguments)}:"log"===b?function(){}:c.log});f.exports=c}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{}],49:[function(a,f,k){f.exports={isObject:function(a){var c=typeof a;return"function"===c||"object"===c&&!!a},extend:function(a){if(!this.isObject(a))return a;for(var c,b,d=1,e=arguments.length;d<e;d++)for(b in c=arguments[d],c)Object.prototype.hasOwnProperty.call(c,b)&&(a[b]=c[b]);return a}}},{}],50:[function(a,f,k){var d=a("crypto");f.exports={string:function(a){for(var b=d.randomBytes(a),c=[],e=0;e<a;e++)c.push("abcdefghijklmnopqrstuvwxyz012345".substr(b[e]%32,1));return c.join("")},number:function(a){return Math.floor(Math.random()*a)},numberString:function(a){var b=(""+(a-1)).length;return(Array(b+1).join("0")+this.number(a)).slice(-b)}}},{crypto:43}],51:[function(a,f,k){(function(d){var c=function(){};"production"!==d.env.NODE_ENV&&(c=a("debug")("sockjs-client:utils:transport"));f.exports=function(a){return{filterToEnabled:function(b,d){var e={main:[],facade:[]};b?"string"===typeof b&&(b=[b]):b=[];a.forEach(function(a){a&&("websocket"===a.transportName&&!1===d.websocket?c("disabled from server","websocket"):b.length&&-1===b.indexOf(a.transportName)?c("not in whitelist",a.transportName):a.enabled(d)?(c("enabled",a.transportName),e.main.push(a),a.facadeTransport&&e.facade.push(a.facadeTransport)):c("disabled",a.transportName))});return e}}}}).call(this,{env:{}})},{debug:55}],52:[function(a,f,k){(function(d){var c=a("url-parse"),b=function(){};"production"!==d.env.NODE_ENV&&(b=a("debug")("sockjs-client:utils:url"));f.exports={getOrigin:function(a){if(!a)return null;a=new c(a);if("file:"===a.protocol)return null;var b=a.port;b||(b="https:"===a.protocol?"443":"80");return a.protocol+"//"+a.hostname+":"+b},isOriginEqual:function(a,c){var d=this.getOrigin(a)===this.getOrigin(c);b("same",a,c,d);return d},isSchemeEqual:function(a,b){return a.split(":")[0]===b.split(":")[0]},addPath:function(a,b){var c=a.split("?");return c[0]+b+(c[1]?"?"+c[1]:"")},addQuery:function(a,b){return a+(-1===a.indexOf("?")?"?"+b:"\x26"+b)}}}).call(this,{env:{}})},{debug:55,"url-parse":61}],53:[function(a,f,k){f.exports="1.4.0"},{}],54:[function(a,f,k){function d(a){a=String(a);if(!(100<a.length)&&(a=/^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(a))){var b=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case "years":case "year":case "yrs":case "yr":case "y":return 315576E5*b;case "weeks":case "week":case "w":return 6048E5*b;case "days":case "day":case "d":return 864E5*b;case "hours":case "hour":case "hrs":case "hr":case "h":return 36E5*b;case "minutes":case "minute":case "mins":case "min":case "m":return 6E4*b;case "seconds":case "second":case "secs":case "sec":case "s":return 1E3*b;case "milliseconds":case "millisecond":case "msecs":case "msec":case "ms":return b}}}function c(a,c,d,h){return Math.round(a/d)+" "+h+(c>=1.5*d?"s":"")}f.exports=function(a,g){g=g||{};var b=typeof a;if("string"===b&&0<a.length)return d(a);if("number"===b&&!1===isNaN(a))return g["long"]?(b=Math.abs(a),b=864E5<=b?c(a,b,864E5,"day"):36E5<=b?c(a,b,36E5,"hour"):6E4<=b?c(a,b,6E4,"minute"):1E3<=b?c(a,b,1E3,"second"):a+" ms"):(b=Math.abs(a),b=864E5<=b?Math.round(a/864E5)+"d":36E5<=b?Math.round(a/36E5)+"h":6E4<=b?Math.round(a/6E4)+"m":1E3<=b?Math.round(a/1E3)+"s":a+"ms"),b;throw Error("val is not a non-empty string or a valid number. val\x3d"+JSON.stringify(a));}},{}],55:[function(a,f,k){(function(d){function c(a){c="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"===typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};return c(a)}k.log=function(){var a;return"object"===("undefined"===typeof console?"undefined":c(console))&&console.log&&(a=console).log.apply(a,arguments)};k.formatArgs=function(a){a[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+a[0]+(this.useColors?"%c ":" ")+"+"+f.exports.humanize(this.diff);if(this.useColors){var b="color: "+this.color;a.splice(1,0,b,"color: inherit");var c=0,d=0;a[0].replace(/%[a-zA-Z%]/g,function(a){"%%"!==a&&(c++,"%c"===a&&(d=c))});a.splice(d,0,b)}};k.save=function(a){try{a?k.storage.setItem("debug",a):k.storage.removeItem("debug")}catch(e){}};k.load=function(){var a;try{a=k.storage.getItem("debug")}catch(e){}!a&&"undefined"!==typeof d&&"env"in d&&(a=d.env.DEBUG);return a};k.useColors=function(){return"undefined"!==typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs)?!0:"undefined"!==typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:"undefined"!==typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!==typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!==typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&31<=parseInt(RegExp.$1,10)||"undefined"!==typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)};var b;a:{try{b=localStorage;break a}catch(g){}b=void 0}k.storage=b;k.colors="#0000CC #0000FF #0033CC #0033FF #0066CC #0066FF #0099CC #0099FF #00CC00 #00CC33 #00CC66 #00CC99 #00CCCC #00CCFF #3300CC #3300FF #3333CC #3333FF #3366CC #3366FF #3399CC #3399FF #33CC00 #33CC33 #33CC66 #33CC99 #33CCCC #33CCFF #6600CC #6600FF #6633CC #6633FF #66CC00 #66CC33 #9900CC #9900FF #9933CC #9933FF #99CC00 #99CC33 #CC0000 #CC0033 #CC0066 #CC0099 #CC00CC #CC00FF #CC3300 #CC3333 #CC3366 #CC3399 #CC33CC #CC33FF #CC6600 #CC6633 #CC9900 #CC9933 #CCCC00 #CCCC33 #FF0000 #FF0033 #FF0066 #FF0099 #FF00CC #FF00FF #FF3300 #FF3333 #FF3366 #FF3399 #FF33CC #FF33FF #FF6600 #FF6633 #FF9900 #FF9933 #FFCC00 #FFCC33".split(" ");f.exports=a("./common")(k);f.exports.formatters.j=function(a){try{return JSON.stringify(a)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}).call(this,{env:{}})},{"./common":56}],56:[function(a,f,k){f.exports=function(d){function c(a){for(var c=0,d=0;d<a.length;d++)c=(c<<5)-c+a.charCodeAt(d),c|=0;return b.colors[Math.abs(c)%b.colors.length]}function b(a){function d(){for(var a=arguments.length,c=Array(a),e=0;e<a;e++)c[e]=arguments[e];if(d.enabled){a=Number(new Date);d.diff=a-(f||a);d.prev=f;f=d.curr=a;c[0]=b.coerce(c[0]);"string"!==typeof c[0]&&c.unshift("%O");var g=0;c[0]=c[0].replace(/%([a-zA-Z%])/g,function(a,e){if("%%"===a)return a;g++;var f=b.formatters[e];"function"===typeof f&&(a=f.call(d,c[g]),c.splice(g,1),g--);return a});b.formatArgs.call(d,c);(d.log||b.log).apply(d,c)}}var f;d.namespace=a;d.enabled=b.enabled(a);d.useColors=b.useColors();d.color=c(a);d.destroy=g;d.extend=e;"function"===typeof b.init&&b.init(d);b.instances.push(d);return d}function g(){var a=b.instances.indexOf(this);return-1!==a?(b.instances.splice(a,1),!0):!1}function e(a,c){return b(this.namespace+("undefined"===typeof c?":":c)+a)}b.debug=b;b["default"]=b;b.coerce=function(a){return a instanceof Error?a.stack||a.message:a};b.disable=function(){b.enable("")};b.enable=function(a){b.save(a);b.names=[];b.skips=[];var c,d=("string"===typeof a?a:"").split(/[\s,]+/),e=d.length;for(c=0;c<e;c++)d[c]&&(a=d[c].replace(/\*/g,".*?"),"-"===a[0]?b.skips.push(new RegExp("^"+a.substr(1)+"$")):b.names.push(new RegExp("^"+a+"$")));for(c=0;c<b.instances.length;c++)a=b.instances[c],a.enabled=b.enabled(a.namespace)};b.enabled=function(a){if("*"===a[a.length-1])return!0;var c,d;c=0;for(d=b.skips.length;c<d;c++)if(b.skips[c].test(a))return!1;c=0;for(d=b.names.length;c<d;c++)if(b.names[c].test(a))return!0;return!1};b.humanize=a("ms");Object.keys(d).forEach(function(a){b[a]=d[a]});b.instances=[];b.names=[];b.skips=[];b.formatters={};b.selectColor=c;b.enable(b.load());return b}},{ms:54}],57:[function(a,f,k){f.exports="function"===typeof Object.create?function(a,c){a.super_=c;a.prototype=Object.create(c.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})}:function(a,c){a.super_=c;var b=function(){};b.prototype=c.prototype;a.prototype=new b;a.prototype.constructor=a}},{}],58:[function(a,f,k){(function(a){(function(){function c(a,d){function g(a){if(g[a]!==y)return g[a];var b;if("bug-string-char-index"==a)b=!1;else if("json"==a)b=g("json-stringify")&&g("json-parse");else{var c;if("json-stringify"==a){b=d.stringify;var e="function"==typeof b&&z;if(e){(c=function(){return 1}).toJSON=c;try{e="0"===b(0)&&"0"===b(new f)&&'""'==b(new k)&&b(t)===y&&b(y)===y&&b()===y&&"1"===b(c)&&"[1]"==b([c])&&"[null]"==b([y])&&"null"==b(null)&&"[null,null,null]"==b([y,t,null])&&'{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}'==b({a:[c,!0,!1,null,"\x00\b\n\f\r\t"]})&&"1"===b(null,c)&&"[\n 1,\n 2\n]"==b([1,2],null,1)&&'"-271821-04-20T00:00:00.000Z"'==b(new m(-864E13))&&'"+275760-09-13T00:00:00.000Z"'==b(new m(864E13))&&'"-000001-01-01T00:00:00.000Z"'==b(new m(-621987552E5))&&'"1969-12-31T23:59:59.999Z"'==b(new m(-1))}catch(M){e=!1}}b=e}if("json-parse"==a){b=d.parse;if("function"==typeof b)try{if(0===b("0")&&!b(!1)){c=b('{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}');var h=5==c.a.length&&1===c.a[0];if(h){try{h=!b('"\t"')}catch(M){}if(h)try{h=1!==b("01")}catch(M){}if(h)try{h=1!==b("1.")}catch(M){}}}}catch(M){h=!1}b=h}}return g[a]=!!b}a||(a=e.Object());d||(d=e.Object());var f=a.Number||e.Number,k=a.String||e.String,h=a.Object||e.Object,m=a.Date||e.Date,p=a.SyntaxError||e.SyntaxError,l=a.TypeError||e.TypeError,n=a.Math||e.Math,r=a.JSON||e.JSON;"object"==typeof r&&r&&(d.stringify=r.stringify,d.parse=r.parse);var h=h.prototype,t=h.toString,x,H,y,z=new m(-0xc782b5b800cec);try{z=-109252==z.getUTCFullYear()&&0===z.getUTCMonth()&&1===z.getUTCDate()&&10==z.getUTCHours()&&37==z.getUTCMinutes()&&6==z.getUTCSeconds()&&708==z.getUTCMilliseconds()}catch(L){}if(!g("json")){var I=g("bug-string-char-index");if(!z)var B=n.floor,Y=[0,31,59,90,120,151,181,212,243,273,304,334],K=function(a,b){return Y[b]+365*(a-1970)+B((a-1969+(b=+(1<b)))/4)-B((a-1901+b)/100)+B((a-1601+b)/400)};(x=h.hasOwnProperty)||(x=function(a){var b={},c;(b.__proto__=null,b.__proto__={toString:1},b).toString!=t?x=function(a){var b=this.__proto__;a=a in(this.__proto__=null,this);this.__proto__=b;return a}:(c=b.constructor,x=function(a){var b=(this.constructor||c).prototype;return a in this&&!(a in b&&this[a]===b[a])});b=null;return x.call(this,a)});H=function(a,c){var d=0,e,g,f;(e=function(){this.valueOf=0}).prototype.valueOf=0;g=new e;for(f in g)x.call(g,f)&&d++;e=g=null;d?H=2==d?function(a,b){var c={},d="[object Function]"==t.call(a),e;for(e in a)d&&"prototype"==e||x.call(c,e)||!(c[e]=1)||!x.call(a,e)||b(e)}:function(a,b){var c="[object Function]"==t.call(a),d,e;for(d in a)c&&"prototype"==d||!x.call(a,d)||(e="constructor"===d)||b(d);(e||x.call(a,d="constructor"))&&b(d)}:(g="valueOf toString toLocaleString propertyIsEnumerable isPrototypeOf hasOwnProperty constructor".split(" "),H=function(a,c){var d="[object Function]"==t.call(a),e,f=!d&&"function"!=typeof a.constructor&&b[typeof a.hasOwnProperty]&&a.hasOwnProperty||x;for(e in a)d&&"prototype"==e||!f.call(a,e)||c(e);for(d=g.length;e=g[--d];f.call(a,e)&&c(e));});return H(a,c)};if(!g("json-stringify")){var Z={92:"\\\\",34:'\\"',8:"\\b",12:"\\f",10:"\\n",13:"\\r",9:"\\t"},D=function(a,b){return("000000"+(b||0)).slice(-a)},U=function(a){for(var b='"',c=0,d=a.length,e=!I||10<d,g=e&&(I?a.split(""):a);c<d;c++){var f=a.charCodeAt(c);switch(f){case 8:case 9:case 10:case 12:case 13:case 34:case 92:b+=Z[f];break;default:b=32>f?b+("\\u00"+D(2,f.toString(16))):b+(e?g[c]:a.charAt(c))}}return b+'"'},P=function(a,b,c,d,e,g,f){var h,k,m,p,n,L,O,q,C;try{h=b[a]}catch(ca){}if("object"==typeof h&&h)if(k=t.call(h),"[object Date]"!=k||x.call(h,"toJSON"))"function"==typeof h.toJSON&&("[object Number]"!=k&&"[object String]"!=k&&"[object Array]"!=k||x.call(h,"toJSON"))&&(h=h.toJSON(a));else if(h>-1/0&&h<1/0){if(K){p=B(h/864E5);for(k=B(p/365.2425)+1970-1;K(k+1,0)<=p;k++);for(m=B((p-K(k,0))/30.42);K(k,m+1)<=p;m++);p=1+p-K(k,m);n=(h%864E5+864E5)%864E5;L=B(n/36E5)%24;O=B(n/6E4)%60;q=B(n/1E3)%60;n%=1E3}else k=h.getUTCFullYear(),m=h.getUTCMonth(),p=h.getUTCDate(),L=h.getUTCHours(),O=h.getUTCMinutes(),q=h.getUTCSeconds(),n=h.getUTCMilliseconds();h=(0>=k||1E4<=k?(0>k?"-":"+")+D(6,0>k?-k:k):D(4,k))+"-"+D(2,m+1)+"-"+D(2,p)+"T"+D(2,L)+":"+D(2,O)+":"+D(2,q)+"."+D(3,n)+"Z"}else h=null;c&&(h=c.call(b,a,h));if(null===h)return"null";k=t.call(h);if("[object Boolean]"==k)return""+h;if("[object Number]"==k)return h>-1/0&&h<1/0?""+h:"null";if("[object String]"==k)return U(""+h);if("object"==typeof h){for(a=f.length;a--;)if(f[a]===h)throw l();f.push(h);C=[];b=g;g+=e;if("[object Array]"==k){m=0;for(a=h.length;m<a;m++)k=P(m,h,c,d,e,g,f),C.push(k===y?"null":k);a=C.length?e?"[\n"+g+C.join(",\n"+g)+"\n"+b+"]":"["+C.join(",")+"]":"[]"}else H(d||h,function(a){var b=P(a,h,c,d,e,g,f);b!==y&&C.push(U(a)+":"+(e?" ":"")+b)}),a=C.length?e?"{\n"+g+C.join(",\n"+g)+"\n"+b+"}":"{"+C.join(",")+"}":"{}";f.pop();return a}};d.stringify=function(a,c,d){var e,g,f,h;if(b[typeof c]&&c)if("[object Function]"==(h=t.call(c)))g=c;else if("[object Array]"==h){f={};for(var k=0,m=c.length,p;k<m;p=c[k++],(h=t.call(p),"[object String]"==h||"[object Number]"==h)&&(f[p]=1));}if(d)if("[object Number]"==(h=t.call(d))){if(0<(d-=d%1))for(e="",10<d&&(d=10);e.length<d;e+=" ");}else"[object String]"==h&&(e=10>=d.length?d:d.slice(0,10));return P("",(p={},p[""]=a,p),g,f,e,"",[])}}if(!g("json-parse")){var aa=k.fromCharCode,ba={92:"\\",34:'"',47:"/",98:"\b",116:"\t",110:"\n",102:"\f",114:"\r"},q,N,v=function(){q=N=null;throw p();},F=function(){for(var a=N,b=a.length,c,d,e,g,f;q<b;)switch(f=a.charCodeAt(q),f){case 9:case 10:case 13:case 32:q++;break;case 123:case 125:case 91:case 93:case 58:case 44:return c=I?a.charAt(q):a[q],q++,c;case 34:c="@";for(q++;q<b;)if(f=a.charCodeAt(q),32>f)v();else if(92==f)switch(f=a.charCodeAt(++q),f){case 92:case 34:case 47:case 98:case 116:case 110:case 102:case 114:c+=ba[f];q++;break;case 117:d=++q;for(e=q+4;q<e;q++)f=a.charCodeAt(q),48<=f&&57>=f||97<=f&&102>=f||65<=f&&70>=f||v();c+=aa("0x"+a.slice(d,q));break;default:v()}else{if(34==f)break;f=a.charCodeAt(q);for(d=q;32<=f&&92!=f&&34!=f;)f=a.charCodeAt(++q);c+=a.slice(d,q)}if(34==a.charCodeAt(q))return q++,c;v();default:d=q;45==f&&(g=!0,f=a.charCodeAt(++q));if(48<=f&&57>=f){for(48==f&&(f=a.charCodeAt(q+1),48<=f&&57>=f)&&v();q<b&&(f=a.charCodeAt(q),48<=f&&57>=f);q++);if(46==a.charCodeAt(q)){for(e=++q;e<b&&(f=a.charCodeAt(e),48<=f&&57>=f);e++);e==q&&v();q=e}f=a.charCodeAt(q);if(101==f||69==f){f=a.charCodeAt(++q);43!=f&&45!=f||q++;for(e=q;e<b&&(f=a.charCodeAt(e),48<=f&&57>=f);e++);e==q&&v();q=e}return+a.slice(d,q)}g&&v();if("true"==a.slice(q,q+4))return q+=4,!0;if("false"==a.slice(q,q+5))return q+=5,!1;if("null"==a.slice(q,q+4))return q+=4,null;v()}return"$"},Q=function(a){var b,c;"$"==a&&v();if("string"==typeof a){if("@"==(I?a.charAt(0):a[0]))return a.slice(1);if("["==a){for(b=[];;c||(c=!0)){a=F();if("]"==a)break;c&&(","==a?(a=F(),"]"==a&&v()):v());","==a&&v();b.push(Q(a))}return b}if("{"==a){for(b={};;c||(c=!0)){a=F();if("}"==a)break;c&&(","==a?(a=F(),"}"==a&&v()):v());","!=a&&"string"==typeof a&&"@"==(I?a.charAt(0):a[0])&&":"==F()||v();b[a.slice(1)]=Q(F())}return b}v()}return a},W=function(a,b,c){c=V(a,b,c);c===y?delete a[b]:a[b]=c},V=function(a,b,c){var d=a[b],e;if("object"==typeof d&&d)if("[object Array]"==t.call(d))for(e=d.length;e--;)W(d,e,c);else H(d,function(a){W(d,a,c)});return c.call(a,b,d)};d.parse=function(a,b){var c,d;q=0;N=""+a;c=Q(F());"$"!=F()&&v();q=N=null;return b&&"[object Function]"==t.call(b)?V((d={},d[""]=c,d),"",b):c}}}d.runInContext=c;return d}var b={"function":!0,object:!0},d=b[typeof k]&&k&&!k.nodeType&&k,e=b[typeof window]&&window||this,h=d&&b[typeof f]&&f&&!f.nodeType&&"object"==typeof a&&a;!h||h.global!==h&&h.window!==h&&h.self!==h||(e=h);if(d)c(e,d);else{var l=e.JSON,r=e.JSON3,n=!1,t=c(e,e.JSON3={noConflict:function(){n||(n=!0,e.JSON=l,e.JSON3=r,l=r=null);return t}});e.JSON={parse:t.parse,stringify:t.stringify}}}).call(this)}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{}],59:[function(a,f,k){var d=Object.prototype.hasOwnProperty;k.stringify=function(a,b){b=b||"";var c=[];"string"!==typeof b&&(b="?");for(var e in a)d.call(a,e)&&c.push(encodeURIComponent(e)+"\x3d"+encodeURIComponent(a[e]));return c.length?b+c.join("\x26"):""};k.parse=function(a){for(var b=/([^=?&]+)=?([^&]*)/g,c={},d;d=b.exec(a);){var f=decodeURIComponent(d[1].replace(/\+/g," "));d=decodeURIComponent(d[2].replace(/\+/g," "));f in c||(c[f]=d)}return c}},{}],60:[function(a,f,k){f.exports=function(a,c){c=c.split(":")[0];a=+a;if(!a)return!1;switch(c){case "http":case "ws":return 80!==a;case "https":case "wss":return 443!==a;case "ftp":return 21!==a;case "gopher":return 70!==a;case "file":return!1}return 0!==a}},{}],61:[function(a,f,k){(function(d){function c(a){var b=d&&d.location||{};a=a||b;var b={},c=typeof a,e;if("blob:"===a.protocol)b=new g(unescape(a.pathname),{});else if("string"===c)for(e in b=new g(a,{}),t)delete b[e];else if("object"===c){for(e in a)e in t||(b[e]=a[e]);void 0===b.slashes&&(b.slashes=r.test(a.href))}return b}function b(a){a=k.exec(a);return{protocol:a[1]?a[1].toLowerCase():"",slashes:!!a[2],rest:a[3]}}function g(a,d,f){if(!(this instanceof g))return new g(a,d,f);var k,p,m,l,t=n.slice();k=typeof d;var r=0;"object"!==k&&"string"!==k&&(f=d,d=null);f&&"function"!==typeof f&&(f=h.parse);d=c(d);p=b(a||"");k=!p.protocol&&!p.slashes;this.slashes=p.slashes||k&&d.slashes;this.protocol=p.protocol||d.protocol||"";a=p.rest;for(p.slashes||(t[3]=[/(.*)/,"pathname"]);r<t.length;r++)if(p=t[r],"function"===typeof p)a=p(a);else{m=p[0];l=p[1];if(m!==m)this[l]=a;else if("string"===typeof m)~(m=a.indexOf(m))&&("number"===typeof p[2]?(this[l]=a.slice(0,m),a=a.slice(m+p[2])):(this[l]=a.slice(m),a=a.slice(0,m)));else if(m=m.exec(a))this[l]=m[1],a=a.slice(0,m.index);this[l]=this[l]||(k&&p[3]?d[l]||"":"");p[4]&&(this[l]=this[l].toLowerCase())}f&&(this.query=f(this.query));if(k&&d.slashes&&"/"!==this.pathname.charAt(0)&&(""!==this.pathname||""!==d.pathname)){a=this.pathname;d=(d.pathname||"/").split("/").slice(0,-1).concat(a.split("/"));a=d.length;f=d[a-1];t=!1;for(r=0;a--;)"."===d[a]?d.splice(a,1):".."===d[a]?(d.splice(a,1),r++):r&&(0===a&&(t=!0),d.splice(a,1),r--);t&&d.unshift("");"."!==f&&".."!==f||d.push("");this.pathname=d.join("/")}e(this.port,this.protocol)||(this.host=this.hostname,this.port="");this.username=this.password="";this.auth&&(p=this.auth.split(":"),this.username=p[0]||"",this.password=p[1]||"");this.origin=this.protocol&&this.host&&"file:"!==this.protocol?this.protocol+"//"+this.host:"null";this.href=this.toString()}var e=a("requires-port"),h=a("querystringify"),k=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\S\s]*)/i,r=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,n=[["#","hash"],["?","query"],function(a){return a.replace("\\","/")},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d+)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],t={hash:1,query:1};g.prototype={set:function(a,b,c){switch(a){case "query":"string"===typeof b&&b.length&&(b=(c||h.parse)(b));this[a]=b;break;case "port":this[a]=b;e(b,this.protocol)?b&&(this.host=this.hostname+":"+b):(this.host=this.hostname,this[a]="");break;case "hostname":this[a]=b;this.port&&(b+=":"+this.port);this.host=b;break;case "host":this[a]=b;/:\d+$/.test(b)?(b=b.split(":"),this.port=b.pop(),this.hostname=b.join(":")):(this.hostname=b,this.port="");break;case "protocol":this.protocol=b.toLowerCase();this.slashes=!c;break;case "pathname":case "hash":b?(c="pathname"===a?"/":"#",this[a]=b.charAt(0)!==c?c+b:b):this[a]=b;break;default:this[a]=b}for(a=0;a<n.length;a++)b=n[a],b[4]&&(this[b[1]]=this[b[1]].toLowerCase());this.origin=this.protocol&&this.host&&"file:"!==this.protocol?this.protocol+"//"+this.host:"null";this.href=this.toString();return this},toString:function(a){a&&"function"===typeof a||(a=h.stringify);var b=this.protocol;b&&":"!==b.charAt(b.length-1)&&(b+=":");b+=this.slashes?"//":"";this.username&&(b+=this.username,this.password&&(b+=":"+this.password),b+="@");b+=this.host+this.pathname;(a="object"===typeof this.query?a(this.query):this.query)&&(b+="?"!==a.charAt(0)?"?"+a:a);this.hash&&(b+=this.hash);return b}};g.extractProtocol=b;g.location=c;g.qs=h;f.exports=g}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{querystringify:59,"requires-port":60}]},{},[1])(1)}); \ No newline at end of file diff --git a/src/main/resources/static/js/zxcvbn.js b/src/main/resources/static/js/zxcvbn.js new file mode 100644 index 0000000..ea46c8c --- /dev/null +++ b/src/main/resources/static/js/zxcvbn.js @@ -0,0 +1,28 @@ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.zxcvbn = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ +var adjacency_graphs;adjacency_graphs={qwerty:{"!":["`~",null,null,"2@","qQ",null],'"':[";:","[{","]}",null,null,"/?"],"#":["2@",null,null,"4$","eE","wW"],$:["3#",null,null,"5%","rR","eE"],"%":["4$",null,null,"6^","tT","rR"],"&":["6^",null,null,"8*","uU","yY"],"'":[";:","[{","]}",null,null,"/?"],"(":["8*",null,null,"0)","oO","iI"],")":["9(",null,null,"-_","pP","oO"],"*":["7&",null,null,"9(","iI","uU"],"+":["-_",null,null,null,"]}","[{"],",":["mM","kK","lL",".>",null,null],"-":["0)",null,null,"=+","[{","pP"],".":[",<","lL",";:","/?",null,null],"/":[".>",";:","'\"",null,null,null],0:["9(",null,null,"-_","pP","oO"],1:["`~",null,null,"2@","qQ",null],2:["1!",null,null,"3#","wW","qQ"],3:["2@",null,null,"4$","eE","wW"],4:["3#",null,null,"5%","rR","eE"],5:["4$",null,null,"6^","tT","rR"],6:["5%",null,null,"7&","yY","tT"],7:["6^",null,null,"8*","uU","yY"],8:["7&",null,null,"9(","iI","uU"],9:["8*",null,null,"0)","oO","iI"],":":["lL","pP","[{","'\"","/?",".>"],";":["lL","pP","[{","'\"","/?",".>"],"<":["mM","kK","lL",".>",null,null],"=":["-_",null,null,null,"]}","[{"],">":[",<","lL",";:","/?",null,null],"?":[".>",";:","'\"",null,null,null],"@":["1!",null,null,"3#","wW","qQ"],A:[null,"qQ","wW","sS","zZ",null],B:["vV","gG","hH","nN",null,null],C:["xX","dD","fF","vV",null,null],D:["sS","eE","rR","fF","cC","xX"],E:["wW","3#","4$","rR","dD","sS"],F:["dD","rR","tT","gG","vV","cC"],G:["fF","tT","yY","hH","bB","vV"],H:["gG","yY","uU","jJ","nN","bB"],I:["uU","8*","9(","oO","kK","jJ"],J:["hH","uU","iI","kK","mM","nN"],K:["jJ","iI","oO","lL",",<","mM"],L:["kK","oO","pP",";:",".>",",<"],M:["nN","jJ","kK",",<",null,null],N:["bB","hH","jJ","mM",null,null],O:["iI","9(","0)","pP","lL","kK"],P:["oO","0)","-_","[{",";:","lL"],Q:[null,"1!","2@","wW","aA",null],R:["eE","4$","5%","tT","fF","dD"],S:["aA","wW","eE","dD","xX","zZ"],T:["rR","5%","6^","yY","gG","fF"],U:["yY","7&","8*","iI","jJ","hH"],V:["cC","fF","gG","bB",null,null],W:["qQ","2@","3#","eE","sS","aA"],X:["zZ","sS","dD","cC",null,null],Y:["tT","6^","7&","uU","hH","gG"],Z:[null,"aA","sS","xX",null,null],"[":["pP","-_","=+","]}","'\"",";:"],"\\":["]}",null,null,null,null,null],"]":["[{","=+",null,"\\|",null,"'\""],"^":["5%",null,null,"7&","yY","tT"],_:["0)",null,null,"=+","[{","pP"],"`":[null,null,null,"1!",null,null],a:[null,"qQ","wW","sS","zZ",null],b:["vV","gG","hH","nN",null,null],c:["xX","dD","fF","vV",null,null],d:["sS","eE","rR","fF","cC","xX"],e:["wW","3#","4$","rR","dD","sS"],f:["dD","rR","tT","gG","vV","cC"],g:["fF","tT","yY","hH","bB","vV"],h:["gG","yY","uU","jJ","nN","bB"],i:["uU","8*","9(","oO","kK","jJ"],j:["hH","uU","iI","kK","mM","nN"],k:["jJ","iI","oO","lL",",<","mM"],l:["kK","oO","pP",";:",".>",",<"],m:["nN","jJ","kK",",<",null,null],n:["bB","hH","jJ","mM",null,null],o:["iI","9(","0)","pP","lL","kK"],p:["oO","0)","-_","[{",";:","lL"],q:[null,"1!","2@","wW","aA",null],r:["eE","4$","5%","tT","fF","dD"],s:["aA","wW","eE","dD","xX","zZ"],t:["rR","5%","6^","yY","gG","fF"],u:["yY","7&","8*","iI","jJ","hH"],v:["cC","fF","gG","bB",null,null],w:["qQ","2@","3#","eE","sS","aA"],x:["zZ","sS","dD","cC",null,null],y:["tT","6^","7&","uU","hH","gG"],z:[null,"aA","sS","xX",null,null],"{":["pP","-_","=+","]}","'\"",";:"],"|":["]}",null,null,null,null,null],"}":["[{","=+",null,"\\|",null,"'\""],"~":[null,null,null,"1!",null,null]},dvorak:{"!":["`~",null,null,"2@","'\"",null],'"':[null,"1!","2@",",<","aA",null],"#":["2@",null,null,"4$",".>",",<"],$:["3#",null,null,"5%","pP",".>"],"%":["4$",null,null,"6^","yY","pP"],"&":["6^",null,null,"8*","gG","fF"],"'":[null,"1!","2@",",<","aA",null],"(":["8*",null,null,"0)","rR","cC"],")":["9(",null,null,"[{","lL","rR"],"*":["7&",null,null,"9(","cC","gG"],"+":["/?","]}",null,"\\|",null,"-_"],",":["'\"","2@","3#",".>","oO","aA"],"-":["sS","/?","=+",null,null,"zZ"],".":[",<","3#","4$","pP","eE","oO"],"/":["lL","[{","]}","=+","-_","sS"],0:["9(",null,null,"[{","lL","rR"],1:["`~",null,null,"2@","'\"",null],2:["1!",null,null,"3#",",<","'\""],3:["2@",null,null,"4$",".>",",<"],4:["3#",null,null,"5%","pP",".>"],5:["4$",null,null,"6^","yY","pP"],6:["5%",null,null,"7&","fF","yY"],7:["6^",null,null,"8*","gG","fF"],8:["7&",null,null,"9(","cC","gG"],9:["8*",null,null,"0)","rR","cC"],":":[null,"aA","oO","qQ",null,null],";":[null,"aA","oO","qQ",null,null],"<":["'\"","2@","3#",".>","oO","aA"],"=":["/?","]}",null,"\\|",null,"-_"],">":[",<","3#","4$","pP","eE","oO"],"?":["lL","[{","]}","=+","-_","sS"],"@":["1!",null,null,"3#",",<","'\""],A:[null,"'\"",",<","oO",";:",null],B:["xX","dD","hH","mM",null,null],C:["gG","8*","9(","rR","tT","hH"],D:["iI","fF","gG","hH","bB","xX"],E:["oO",".>","pP","uU","jJ","qQ"],F:["yY","6^","7&","gG","dD","iI"],G:["fF","7&","8*","cC","hH","dD"],H:["dD","gG","cC","tT","mM","bB"],I:["uU","yY","fF","dD","xX","kK"],J:["qQ","eE","uU","kK",null,null],K:["jJ","uU","iI","xX",null,null],L:["rR","0)","[{","/?","sS","nN"],M:["bB","hH","tT","wW",null,null],N:["tT","rR","lL","sS","vV","wW"],O:["aA",",<",".>","eE","qQ",";:"],P:[".>","4$","5%","yY","uU","eE"],Q:[";:","oO","eE","jJ",null,null],R:["cC","9(","0)","lL","nN","tT"],S:["nN","lL","/?","-_","zZ","vV"],T:["hH","cC","rR","nN","wW","mM"],U:["eE","pP","yY","iI","kK","jJ"],V:["wW","nN","sS","zZ",null,null],W:["mM","tT","nN","vV",null,null],X:["kK","iI","dD","bB",null,null],Y:["pP","5%","6^","fF","iI","uU"],Z:["vV","sS","-_",null,null,null],"[":["0)",null,null,"]}","/?","lL"],"\\":["=+",null,null,null,null,null],"]":["[{",null,null,null,"=+","/?"],"^":["5%",null,null,"7&","fF","yY"],_:["sS","/?","=+",null,null,"zZ"],"`":[null,null,null,"1!",null,null],a:[null,"'\"",",<","oO",";:",null],b:["xX","dD","hH","mM",null,null],c:["gG","8*","9(","rR","tT","hH"],d:["iI","fF","gG","hH","bB","xX"],e:["oO",".>","pP","uU","jJ","qQ"],f:["yY","6^","7&","gG","dD","iI"],g:["fF","7&","8*","cC","hH","dD"],h:["dD","gG","cC","tT","mM","bB"],i:["uU","yY","fF","dD","xX","kK"],j:["qQ","eE","uU","kK",null,null],k:["jJ","uU","iI","xX",null,null],l:["rR","0)","[{","/?","sS","nN"],m:["bB","hH","tT","wW",null,null],n:["tT","rR","lL","sS","vV","wW"],o:["aA",",<",".>","eE","qQ",";:"],p:[".>","4$","5%","yY","uU","eE"],q:[";:","oO","eE","jJ",null,null],r:["cC","9(","0)","lL","nN","tT"],s:["nN","lL","/?","-_","zZ","vV"],t:["hH","cC","rR","nN","wW","mM"],u:["eE","pP","yY","iI","kK","jJ"],v:["wW","nN","sS","zZ",null,null],w:["mM","tT","nN","vV",null,null],x:["kK","iI","dD","bB",null,null],y:["pP","5%","6^","fF","iI","uU"],z:["vV","sS","-_",null,null,null],"{":["0)",null,null,"]}","/?","lL"],"|":["=+",null,null,null,null,null],"}":["[{",null,null,null,"=+","/?"],"~":[null,null,null,"1!",null,null]},keypad:{"*":["/",null,null,null,"-","+","9","8"],"+":["9","*","-",null,null,null,null,"6"],"-":["*",null,null,null,null,null,"+","9"],".":["0","2","3",null,null,null,null,null],"/":[null,null,null,null,"*","9","8","7"],0:[null,"1","2","3",".",null,null,null],1:[null,null,"4","5","2","0",null,null],2:["1","4","5","6","3",".","0",null],3:["2","5","6",null,null,null,".","0"],4:[null,null,"7","8","5","2","1",null],5:["4","7","8","9","6","3","2","1"],6:["5","8","9","+",null,null,"3","2"],7:[null,null,null,"/","8","5","4",null],8:["7",null,"/","*","9","6","5","4"],9:["8","/","*","-","+",null,"6","5"]},mac_keypad:{"*":["/",null,null,null,null,null,"-","9"],"+":["6","9","-",null,null,null,null,"3"],"-":["9","/","*",null,null,null,"+","6"],".":["0","2","3",null,null,null,null,null],"/":["=",null,null,null,"*","-","9","8"],0:[null,"1","2","3",".",null,null,null],1:[null,null,"4","5","2","0",null,null],2:["1","4","5","6","3",".","0",null],3:["2","5","6","+",null,null,".","0"],4:[null,null,"7","8","5","2","1",null],5:["4","7","8","9","6","3","2","1"],6:["5","8","9","-","+",null,"3","2"],7:[null,null,null,"=","8","5","4",null],8:["7",null,"=","/","9","6","5","4"],9:["8","=","/","*","-","+","6","5"],"=":[null,null,null,null,"/","9","8","7"]}},module.exports=adjacency_graphs; + +},{}],2:[function(require,module,exports){ +var feedback,scoring;scoring=require("./scoring"),feedback={default_feedback:{warning:"",suggestions:["Use a few words, avoid common phrases","No need for symbols, digits, or uppercase letters"]},get_feedback:function(e,s){var a,t,r,n,o,i;if(0===s.length)return this.default_feedback;if(e>2)return{warning:"",suggestions:[]};for(n=s[0],i=s.slice(1),t=0,r=i.length;r>t;t++)o=i[t],o.token.length>n.token.length&&(n=o);return feedback=this.get_match_feedback(n,1===s.length),a="Add another word or two. Uncommon words are better.",null!=feedback?(feedback.suggestions.unshift(a),null==feedback.warning&&(feedback.warning="")):feedback={warning:"",suggestions:[a]},feedback},get_match_feedback:function(e,s){var a,t;switch(e.pattern){case"dictionary":return this.get_dictionary_match_feedback(e,s);case"spatial":return a=e.graph.toUpperCase(),t=1===e.turns?"Straight rows of keys are easy to guess":"Short keyboard patterns are easy to guess",{warning:t,suggestions:["Use a longer keyboard pattern with more turns"]};case"repeat":return t=1===e.base_token.length?'Repeats like "aaa" are easy to guess':'Repeats like "abcabcabc" are only slightly harder to guess than "abc"',{warning:t,suggestions:["Avoid repeated words and characters"]};case"sequence":return{warning:"Sequences like abc or 6543 are easy to guess",suggestions:["Avoid sequences"]};case"regex":if("recent_year"===e.regex_name)return{warning:"Recent years are easy to guess",suggestions:["Avoid recent years","Avoid years that are associated with you"]};break;case"date":return{warning:"Dates are often easy to guess",suggestions:["Avoid dates and years that are associated with you"]}}},get_dictionary_match_feedback:function(e,s){var a,t,r,n,o;return n="passwords"===e.dictionary_name?!s||e.l33t||e.reversed?e.guesses_log10<=4?"This is similar to a commonly used password":void 0:e.rank<=10?"This is a top-10 common password":e.rank<=100?"This is a top-100 common password":"This is a very common password":"english"===e.dictionary_name?s?"A word by itself is easy to guess":void 0:"surnames"===(a=e.dictionary_name)||"male_names"===a||"female_names"===a?s?"Names and surnames by themselves are easy to guess":"Common names and surnames are easy to guess":"",r=[],o=e.token,o.match(scoring.START_UPPER)?r.push("Capitalization doesn't help very much"):o.match(scoring.ALL_UPPER)&&o.toLowerCase()!==o&&r.push("All-uppercase is almost as easy to guess as all-lowercase"),e.reversed&&e.token.length>=4&&r.push("Reversed words aren't much harder to guess"),e.l33t&&r.push("Predictable substitutions like '@' instead of 'a' don't help very much"),t={warning:n,suggestions:r}}},module.exports=feedback; + +},{"./scoring":6}],3:[function(require,module,exports){ +var frequency_lists;frequency_lists={passwords:"123456,password,12345678,qwerty,123456789,12345,1234,111111,1234567,dragon,123123,baseball,abc123,football,monkey,letmein,shadow,master,696969,mustang,666666,qwertyuiop,123321,1234567890,pussy,superman,654321,1qaz2wsx,7777777,fuckyou,qazwsx,jordan,123qwe,000000,killer,trustno1,hunter,harley,zxcvbnm,asdfgh,buster,batman,soccer,tigger,charlie,sunshine,iloveyou,fuckme,ranger,hockey,computer,starwars,asshole,pepper,klaster,112233,zxcvbn,freedom,princess,maggie,pass,ginger,11111111,131313,fuck,love,cheese,159753,summer,chelsea,dallas,biteme,matrix,yankees,6969,corvette,austin,access,thunder,merlin,secret,diamond,hello,hammer,fucker,1234qwer,silver,gfhjkm,internet,samantha,golfer,scooter,test,orange,cookie,q1w2e3r4t5,maverick,sparky,phoenix,mickey,bigdog,snoopy,guitar,whatever,chicken,camaro,mercedes,peanut,ferrari,falcon,cowboy,welcome,sexy,samsung,steelers,smokey,dakota,arsenal,boomer,eagles,tigers,marina,nascar,booboo,gateway,yellow,porsche,monster,spider,diablo,hannah,bulldog,junior,london,purple,compaq,lakers,iceman,qwer1234,hardcore,cowboys,money,banana,ncc1701,boston,tennis,q1w2e3r4,coffee,scooby,123654,nikita,yamaha,mother,barney,brandy,chester,fuckoff,oliver,player,forever,rangers,midnight,chicago,bigdaddy,redsox,angel,badboy,fender,jasper,slayer,rabbit,natasha,marine,bigdick,wizard,marlboro,raiders,prince,casper,fishing,flower,jasmine,iwantu,panties,adidas,winter,winner,gandalf,password1,enter,ghbdtn,1q2w3e4r,golden,cocacola,jordan23,winston,madison,angels,panther,blowme,sexsex,bigtits,spanky,bitch,sophie,asdfasdf,horny,thx1138,toyota,tiger,dick,canada,12344321,blowjob,8675309,muffin,liverpoo,apples,qwerty123,passw0rd,abcd1234,pokemon,123abc,slipknot,qazxsw,123456a,scorpion,qwaszx,butter,startrek,rainbow,asdfghjkl,razz,newyork,redskins,gemini,cameron,qazwsxedc,florida,liverpool,turtle,sierra,viking,booger,butthead,doctor,rocket,159357,dolphins,captain,bandit,jaguar,packers,pookie,peaches,789456,asdf,dolphin,helpme,blue,theman,maxwell,qwertyui,shithead,lovers,maddog,giants,nirvana,metallic,hotdog,rosebud,mountain,warrior,stupid,elephant,suckit,success,bond007,jackass,alexis,porn,lucky,scorpio,samson,q1w2e3,azerty,rush2112,driver,freddy,1q2w3e4r5t,sydney,gators,dexter,red123,123456q,12345a,bubba,creative,voodoo,golf,trouble,america,nissan,gunner,garfield,bullshit,asdfghjk,5150,fucking,apollo,1qazxsw2,2112,eminem,legend,airborne,bear,beavis,apple,brooklyn,godzilla,skippy,4815162342,buddy,qwert,kitten,magic,shelby,beaver,phantom,asdasd,xavier,braves,darkness,blink182,copper,platinum,qweqwe,tomcat,01012011,girls,bigboy,102030,animal,police,online,11223344,voyager,lifehack,12qwaszx,fish,sniper,315475,trinity,blazer,heaven,lover,snowball,playboy,loveme,bubbles,hooters,cricket,willow,donkey,topgun,nintendo,saturn,destiny,pakistan,pumpkin,digital,sergey,redwings,explorer,tits,private,runner,therock,guinness,lasvegas,beatles,789456123,fire,cassie,christin,qwerty1,celtic,asdf1234,andrey,broncos,007007,babygirl,eclipse,fluffy,cartman,michigan,carolina,testing,alexande,birdie,pantera,cherry,vampire,mexico,dickhead,buffalo,genius,montana,beer,minecraft,maximus,flyers,lovely,stalker,metallica,doggie,snickers,speedy,bronco,lol123,paradise,yankee,horses,magnum,dreams,147258369,lacrosse,ou812,goober,enigma,qwertyu,scotty,pimpin,bollocks,surfer,cock,poohbear,genesis,star,asd123,qweasdzxc,racing,hello1,hawaii,eagle1,viper,poopoo,einstein,boobies,12345q,bitches,drowssap,simple,badger,alaska,action,jester,drummer,111222,spitfire,forest,maryjane,champion,diesel,svetlana,friday,hotrod,147258,chevy,lucky1,westside,security,google,badass,tester,shorty,thumper,hitman,mozart,zaq12wsx,boobs,reddog,010203,lizard,a123456,123456789a,ruslan,eagle,1232323q,scarface,qwerty12,147852,a12345,buddha,porno,420420,spirit,money1,stargate,qwe123,naruto,mercury,liberty,12345qwert,semperfi,suzuki,popcorn,spooky,marley,scotland,kitty,cherokee,vikings,simpsons,rascal,qweasd,hummer,loveyou,michael1,patches,russia,jupiter,penguin,passion,cumshot,vfhbyf,honda,vladimir,sandman,passport,raider,bastard,123789,infinity,assman,bulldogs,fantasy,sucker,1234554321,horney,domino,budlight,disney,ironman,usuckballz1,softball,brutus,redrum,bigred,mnbvcxz,fktrcfylh,karina,marines,digger,kawasaki,cougar,fireman,oksana,monday,cunt,justice,nigger,super,wildcats,tinker,logitech,dancer,swordfis,avalon,everton,alexandr,motorola,patriots,hentai,madonna,pussy1,ducati,colorado,connor,juventus,galore,smooth,freeuser,warcraft,boogie,titanic,wolverin,elizabet,arizona,valentin,saints,asdfg,accord,test123,password123,christ,yfnfif,stinky,slut,spiderma,naughty,chopper,hello123,ncc1701d,extreme,skyline,poop,zombie,pearljam,123qweasd,froggy,awesome,vision,pirate,fylhtq,dreamer,bullet,predator,empire,123123a,kirill,charlie1,panthers,penis,skipper,nemesis,rasdzv3,peekaboo,rolltide,cardinal,psycho,danger,mookie,happy1,wanker,chevelle,manutd,goblue,9379992,hobbes,vegeta,fyfcnfcbz,852456,picard,159951,windows,loverboy,victory,vfrcbv,bambam,serega,123654789,turkey,tweety,galina,hiphop,rooster,changeme,berlin,taurus,suckme,polina,electric,avatar,134679,maksim,raptor,alpha1,hendrix,newport,bigcock,brazil,spring,a1b2c3,madmax,alpha,britney,sublime,darkside,bigman,wolfpack,classic,hercules,ronaldo,letmein1,1q2w3e,741852963,spiderman,blizzard,123456789q,cheyenne,cjkysirj,tiger1,wombat,bubba1,pandora,zxc123,holiday,wildcat,devils,horse,alabama,147852369,caesar,12312,buddy1,bondage,pussycat,pickle,shaggy,catch22,leather,chronic,a1b2c3d4,admin,qqq111,qaz123,airplane,kodiak,freepass,billybob,sunset,katana,phpbb,chocolat,snowman,angel1,stingray,firebird,wolves,zeppelin,detroit,pontiac,gundam,panzer,vagina,outlaw,redhead,tarheels,greenday,nastya,01011980,hardon,engineer,dragon1,hellfire,serenity,cobra,fireball,lickme,darkstar,1029384756,01011,mustang1,flash,124578,strike,beauty,pavilion,01012000,bobafett,dbrnjhbz,bigmac,bowling,chris1,ytrewq,natali,pyramid,rulez,welcome1,dodgers,apache,swimming,whynot,teens,trooper,fuckit,defender,precious,135790,packard,weasel,popeye,lucifer,cancer,icecream,142536,raven,swordfish,presario,viktor,rockstar,blonde,james1,wutang,spike,pimp,atlanta,airforce,thailand,casino,lennon,mouse,741852,hacker,bluebird,hawkeye,456123,theone,catfish,sailor,goldfish,nfnmzyf,tattoo,pervert,barbie,maxima,nipples,machine,trucks,wrangler,rocks,tornado,lights,cadillac,bubble,pegasus,madman,longhorn,browns,target,666999,eatme,qazwsx123,microsoft,dilbert,christia,baller,lesbian,shooter,xfiles,seattle,qazqaz,cthutq,amateur,prelude,corona,freaky,malibu,123qweasdzxc,assassin,246810,atlantis,integra,pussies,iloveu,lonewolf,dragons,monkey1,unicorn,software,bobcat,stealth,peewee,openup,753951,srinivas,zaqwsx,valentina,shotgun,trigger,veronika,bruins,coyote,babydoll,joker,dollar,lestat,rocky1,hottie,random,butterfly,wordpass,smiley,sweety,snake,chipper,woody,samurai,devildog,gizmo,maddie,soso123aljg,mistress,freedom1,flipper,express,hjvfirf,moose,cessna,piglet,polaris,teacher,montreal,cookies,wolfgang,scully,fatboy,wicked,balls,tickle,bunny,dfvgbh,foobar,transam,pepsi,fetish,oicu812,basketba,toshiba,hotstuff,sunday,booty,gambit,31415926,impala,stephani,jessica1,hooker,lancer,knicks,shamrock,fuckyou2,stinger,314159,redneck,deftones,squirt,siemens,blaster,trucker,subaru,renegade,ibanez,manson,swinger,reaper,blondie,mylove,galaxy,blahblah,enterpri,travel,1234abcd,babylon5,indiana,skeeter,master1,sugar,ficken,smoke,bigone,sweetpea,fucked,trfnthbyf,marino,escort,smitty,bigfoot,babes,larisa,trumpet,spartan,valera,babylon,asdfghj,yankees1,bigboobs,stormy,mister,hamlet,aardvark,butterfl,marathon,paladin,cavalier,manchester,skater,indigo,hornet,buckeyes,01011990,indians,karate,hesoyam,toronto,diamonds,chiefs,buckeye,1qaz2wsx3edc,highland,hotsex,charger,redman,passwor,maiden,drpepper,storm,pornstar,garden,12345678910,pencil,sherlock,timber,thuglife,insane,pizza,jungle,jesus1,aragorn,1a2b3c,hamster,david1,triumph,techno,lollol,pioneer,catdog,321654,fktrctq,morpheus,141627,pascal,shadow1,hobbit,wetpussy,erotic,consumer,blabla,justme,stones,chrissy,spartak,goforit,burger,pitbull,adgjmptw,italia,barcelona,hunting,colors,kissme,virgin,overlord,pebbles,sundance,emerald,doggy,racecar,irina,element,1478963,zipper,alpine,basket,goddess,poison,nipple,sakura,chichi,huskers,13579,pussys,q12345,ultimate,ncc1701e,blackie,nicola,rommel,matthew1,caserta,omega,geronimo,sammy1,trojan,123qwe123,philips,nugget,tarzan,chicks,aleksandr,bassman,trixie,portugal,anakin,dodger,bomber,superfly,madness,q1w2e3r4t5y6,loser,123asd,fatcat,ybrbnf,soldier,warlock,wrinkle1,desire,sexual,babe,seminole,alejandr,951753,11235813,westham,andrei,concrete,access14,weed,letmein2,ladybug,naked,christop,trombone,tintin,bluesky,rhbcnbyf,qazxswedc,onelove,cdtnkfyf,whore,vfvjxrf,titans,stallion,truck,hansolo,blue22,smiles,beagle,panama,kingkong,flatron,inferno,mongoose,connect,poiuyt,snatch,qawsed,juice,blessed,rocker,snakes,turbo,bluemoon,sex4me,finger,jamaica,a1234567,mulder,beetle,fuckyou1,passat,immortal,plastic,123454321,anthony1,whiskey,dietcoke,suck,spunky,magic1,monitor,cactus,exigen,planet,ripper,teen,spyder,apple1,nolimit,hollywoo,sluts,sticky,trunks,1234321,14789632,pickles,sailing,bonehead,ghbdtnbr,delta,charlott,rubber,911911,112358,molly1,yomama,hongkong,jumper,william1,ilovesex,faster,unreal,cumming,memphis,1123581321,nylons,legion,sebastia,shalom,pentium,geheim,werewolf,funtime,ferret,orion,curious,555666,niners,cantona,sprite,philly,pirates,abgrtyu,lollipop,eternity,boeing,super123,sweets,cooldude,tottenha,green1,jackoff,stocking,7895123,moomoo,martini,biscuit,drizzt,colt45,fossil,makaveli,snapper,satan666,maniac,salmon,patriot,verbatim,nasty,shasta,asdzxc,shaved,blackcat,raistlin,qwerty12345,punkrock,cjkywt,01012010,4128,waterloo,crimson,twister,oxford,musicman,seinfeld,biggie,condor,ravens,megadeth,wolfman,cosmos,sharks,banshee,keeper,foxtrot,gn56gn56,skywalke,velvet,black1,sesame,dogs,squirrel,privet,sunrise,wolverine,sucks,legolas,grendel,ghost,cats,carrot,frosty,lvbnhbq,blades,stardust,frog,qazwsxed,121314,coolio,brownie,groovy,twilight,daytona,vanhalen,pikachu,peanuts,licker,hershey,jericho,intrepid,ninja,1234567a,zaq123,lobster,goblin,punisher,strider,shogun,kansas,amadeus,seven7,jason1,neptune,showtime,muscle,oldman,ekaterina,rfrfirf,getsome,showme,111222333,obiwan,skittles,danni,tanker,maestro,tarheel,anubis,hannibal,anal,newlife,gothic,shark,fighter,blue123,blues,123456z,princes,slick,chaos,thunder1,sabine,1q2w3e4r5t6y,python,test1,mirage,devil,clover,tequila,chelsea1,surfing,delete,potato,chubby,panasonic,sandiego,portland,baggins,fusion,sooners,blackdog,buttons,californ,moscow,playtime,mature,1a2b3c4d,dagger,dima,stimpy,asdf123,gangster,warriors,iverson,chargers,byteme,swallow,liquid,lucky7,dingdong,nymets,cracker,mushroom,456852,crusader,bigguy,miami,dkflbvbh,bugger,nimrod,tazman,stranger,newpass,doodle,powder,gotcha,guardian,dublin,slapshot,septembe,147896325,pepsi1,milano,grizzly,woody1,knights,photos,2468,nookie,charly,rammstein,brasil,123321123,scruffy,munchkin,poopie,123098,kittycat,latino,walnut,1701,thegame,viper1,1passwor,kolobok,picasso,robert1,barcelon,bananas,trance,auburn,coltrane,eatshit,goodluck,starcraft,wheels,parrot,postal,blade,wisdom,pink,gorilla,katerina,pass123,andrew1,shaney14,dumbass,osiris,fuck_inside,oakland,discover,ranger1,spanking,lonestar,bingo,meridian,ping,heather1,dookie,stonecol,megaman,192837465,rjntyjr,ledzep,lowrider,25802580,richard1,firefly,griffey,racerx,paradox,ghjcnj,gangsta,zaq1xsw2,tacobell,weezer,sirius,halflife,buffett,shiloh,123698745,vertigo,sergei,aliens,sobaka,keyboard,kangaroo,sinner,soccer1,0.0.000,bonjour,socrates,chucky,hotboy,sprint,0007,sarah1,scarlet,celica,shazam,formula1,sommer,trebor,qwerasdf,jeep,mailcreated5240,bollox,asshole1,fuckface,honda1,rebels,vacation,lexmark,penguins,12369874,ragnarok,formula,258456,tempest,vfhecz,tacoma,qwertz,colombia,flames,rockon,duck,prodigy,wookie,dodgeram,mustangs,123qaz,sithlord,smoker,server,bang,incubus,scoobydo,oblivion,molson,kitkat,titleist,rescue,zxcv1234,carpet,1122,bigballs,tardis,jimbob,xanadu,blueeyes,shaman,mersedes,pooper,pussy69,golfing,hearts,mallard,12312312,kenwood,patrick1,dogg,cowboys1,oracle,123zxc,nuttertools,102938,topper,1122334455,shemale,sleepy,gremlin,yourmom,123987,gateway1,printer,monkeys,peterpan,mikey,kingston,cooler,analsex,jimbo,pa55word,asterix,freckles,birdman,frank1,defiant,aussie,stud,blondes,tatyana,445566,aspirine,mariners,jackal,deadhead,katrin,anime,rootbeer,frogger,polo,scooter1,hallo,noodles,thomas1,parola,shaolin,celine,11112222,plymouth,creampie,justdoit,ohyeah,fatass,assfuck,amazon,1234567q,kisses,magnus,camel,nopass,bosco,987456,6751520,harley1,putter,champs,massive,spidey,lightnin,camelot,letsgo,gizmodo,aezakmi,bones,caliente,12121,goodtime,thankyou,raiders1,brucelee,redalert,aquarius,456654,catherin,smokin,pooh,mypass,astros,roller,porkchop,sapphire,qwert123,kevin1,a1s2d3f4,beckham,atomic,rusty1,vanilla,qazwsxedcrfv,hunter1,kaktus,cxfcnmt,blacky,753159,elvis1,aggies,blackjac,bangkok,scream,123321q,iforgot,power1,kasper,abc12,buster1,slappy,shitty,veritas,chevrole,amber1,01012001,vader,amsterdam,jammer,primus,spectrum,eduard,granny,horny1,sasha1,clancy,usa123,satan,diamond1,hitler,avenger,1221,spankme,123456qwerty,simba,smudge,scrappy,labrador,john316,syracuse,front242,falcons,husker,candyman,commando,gator,pacman,delta1,pancho,krishna,fatman,clitoris,pineappl,lesbians,8j4ye3uz,barkley,vulcan,punkin,boner,celtics,monopoly,flyboy,romashka,hamburg,123456aa,lick,gangbang,223344,area51,spartans,aaa111,tricky,snuggles,drago,homerun,vectra,homer1,hermes,topcat,cuddles,infiniti,1234567890q,cosworth,goose,phoenix1,killer1,ivanov,bossman,qawsedrf,peugeot,exigent,doberman,durango,brandon1,plumber,telefon,horndog,laguna,rbhbkk,dawg,webmaster,breeze,beast,porsche9,beefcake,leopard,redbull,oscar1,topdog,godsmack,theking,pics,omega1,speaker,viktoria,fuckers,bowler,starbuck,gjkbyf,valhalla,anarchy,blacks,herbie,kingpin,starfish,nokia,loveit,achilles,906090,labtec,ncc1701a,fitness,jordan1,brando,arsenal1,bull,kicker,napass,desert,sailboat,bohica,tractor,hidden,muppet,jackson1,jimmy1,terminator,phillies,pa55w0rd,terror,farside,swingers,legacy,frontier,butthole,doughboy,jrcfyf,tuesday,sabbath,daniel1,nebraska,homers,qwertyuio,azamat,fallen,agent007,striker,camels,iguana,looker,pinkfloy,moloko,qwerty123456,dannyboy,luckydog,789654,pistol,whocares,charmed,skiing,select,franky,puppy,daniil,vladik,vette,vfrcbvrf,ihateyou,nevada,moneys,vkontakte,mandingo,puppies,666777,mystic,zidane,kotenok,dilligaf,budman,bunghole,zvezda,123457,triton,golfball,technics,trojans,panda,laptop,rookie,01011991,15426378,aberdeen,gustav,jethro,enterprise,igor,stripper,filter,hurrican,rfnthbyf,lespaul,gizmo1,butch,132435,dthjybrf,1366613,excalibu,963852,nofear,momoney,possum,cutter,oilers,moocow,cupcake,gbpltw,batman1,splash,svetik,super1,soleil,bogdan,melissa1,vipers,babyboy,tdutybq,lancelot,ccbill,keystone,passwort,flamingo,firefox,dogman,vortex,rebel,noodle,raven1,zaphod,killme,pokemon1,coolman,danila,designer,skinny,kamikaze,deadman,gopher,doobie,warhammer,deeznuts,freaks,engage,chevy1,steve1,apollo13,poncho,hammers,azsxdc,dracula,000007,sassy,bitch1,boots,deskjet,12332,macdaddy,mighty,rangers1,manchest,sterlin,casey1,meatball,mailman,sinatra,cthulhu,summer1,bubbas,cartoon,bicycle,eatpussy,truelove,sentinel,tolkien,breast,capone,lickit,summit,123456k,peter1,daisy1,kitty1,123456789z,crazy1,jamesbon,texas1,sexygirl,362436,sonic,billyboy,redhot,microsof,microlab,daddy1,rockets,iloveyo,fernand,gordon24,danie,cutlass,polska,star69,titties,pantyhos,01011985,thekid,aikido,gofish,mayday,1234qwe,coke,anfield,sony,lansing,smut,scotch,sexx,catman,73501505,hustler,saun,dfkthbz,passwor1,jenny1,azsxdcfv,cheers,irish1,gabrie,tinman,orioles,1225,charlton,fortuna,01011970,airbus,rustam,xtreme,bigmoney,zxcasd,retard,grumpy,huskies,boxing,4runner,kelly1,ultima,warlord,fordf150,oranges,rotten,asdfjkl,superstar,denali,sultan,bikini,saratoga,thor,figaro,sixers,wildfire,vladislav,128500,sparta,mayhem,greenbay,chewie,music1,number1,cancun,fabie,mellon,poiuytrewq,cloud9,crunch,bigtime,chicken1,piccolo,bigbird,321654987,billy1,mojo,01011981,maradona,sandro,chester1,bizkit,rjirfrgbde,789123,rightnow,jasmine1,hyperion,treasure,meatloaf,armani,rovers,jarhead,01011986,cruise,coconut,dragoon,utopia,davids,cosmo,rfhbyf,reebok,1066,charli,giorgi,sticks,sayang,pass1234,exodus,anaconda,zaqxsw,illini,woofwoof,emily1,sandy1,packer,poontang,govols,jedi,tomato,beaner,cooter,creamy,lionking,happy123,albatros,poodle,kenworth,dinosaur,greens,goku,happyday,eeyore,tsunami,cabbage,holyshit,turkey50,memorex,chaser,bogart,orgasm,tommy1,volley,whisper,knopka,ericsson,walleye,321123,pepper1,katie1,chickens,tyler1,corrado,twisted,100000,zorro,clemson,zxcasdqwe,tootsie,milana,zenith,fktrcfylhf,shania,frisco,polniypizdec0211,crazybab,junebug,fugazi,rereirf,vfvekz,1001,sausage,vfczyz,koshka,clapton,justin1,anhyeuem,condom,fubar,hardrock,skywalker,tundra,cocks,gringo,150781,canon,vitalik,aspire,stocks,samsung1,applepie,abc12345,arjay,gandalf1,boob,pillow,sparkle,gmoney,rockhard,lucky13,samiam,everest,hellyeah,bigsexy,skorpion,rfrnec,hedgehog,australi,candle,slacker,dicks,voyeur,jazzman,america1,bobby1,br0d3r,wolfie,vfksirf,1qa2ws3ed,13243546,fright,yosemite,temp,karolina,fart,barsik,surf,cheetah,baddog,deniska,starship,bootie,milena,hithere,kume,greatone,dildo,50cent,0.0.0.000,albion,amanda1,midget,lion,maxell,football1,cyclone,freeporn,nikola,bonsai,kenshin,slider,balloon,roadkill,killbill,222333,jerkoff,78945612,dinamo,tekken,rambler,goliath,cinnamon,malaka,backdoor,fiesta,packers1,rastaman,fletch,sojdlg123aljg,stefano,artemis,calico,nyjets,damnit,robotech,duchess,rctybz,hooter,keywest,18436572,hal9000,mechanic,pingpong,operator,presto,sword,rasputin,spank,bristol,faggot,shado,963852741,amsterda,321456,wibble,carrera,alibaba,majestic,ramses,duster,route66,trident,clipper,steeler,wrestlin,divine,kipper,gotohell,kingfish,snake1,passwords,buttman,pompey,viagra,zxcvbnm1,spurs,332211,slutty,lineage2,oleg,macross,pooter,brian1,qwert1,charles1,slave,jokers,yzerman,swimmer,ne1469,nwo4life,solnce,seamus,lolipop,pupsik,moose1,ivanova,secret1,matador,love69,420247,ktyjxrf,subway,cinder,vermont,pussie,chico,florian,magick,guiness,allsop,ghetto,flash1,a123456789,typhoon,dfkthf,depeche,skydive,dammit,seeker,fuckthis,crysis,kcj9wx5n,umbrella,r2d2c3po,123123q,snoopdog,critter,theboss,ding,162534,splinter,kinky,cyclops,jayhawk,456321,caramel,qwer123,underdog,caveman,onlyme,grapes,feather,hotshot,fuckher,renault,george1,sex123,pippen,000001,789987,floppy,cunts,megapass,1000,pornos,usmc,kickass,great1,quattro,135246,wassup,helloo,p0015123,nicole1,chivas,shannon1,bullseye,java,fishes,blackhaw,jamesbond,tunafish,juggalo,dkflbckfd,123789456,dallas1,translator,122333,beanie,alucard,gfhjkm123,supersta,magicman,ashley1,cohiba,xbox360,caligula,12131415,facial,7753191,dfktynbyf,cobra1,cigars,fang,klingon,bob123,safari,looser,10203,deepthroat,malina,200000,tazmania,gonzo,goalie,jacob1,monaco,cruiser,misfit,vh5150,tommyboy,marino13,yousuck,sharky,vfhufhbnf,horizon,absolut,brighton,123456r,death1,kungfu,maxx,forfun,mamapapa,enter1,budweise,banker,getmoney,kostya,qazwsx12,bigbear,vector,fallout,nudist,gunners,royals,chainsaw,scania,trader,blueboy,walrus,eastside,kahuna,qwerty1234,love123,steph,01011989,cypress,champ,undertaker,ybrjkfq,europa,snowboar,sabres,moneyman,chrisbln,minime,nipper,groucho,whitey,viewsonic,penthous,wolf359,fabric,flounder,coolguy,whitesox,passme,smegma,skidoo,thanatos,fucku2,snapple,dalejr,mondeo,thesims,mybaby,panasoni,sinbad,thecat,topher,frodo,sneakers,q123456,z1x2c3,alfa,chicago1,taylor1,ghjcnjnfr,cat123,olivier,cyber,titanium,0420,madison1,jabroni,dang,hambone,intruder,holly1,gargoyle,sadie1,static,poseidon,studly,newcastl,sexxxx,poppy,johannes,danzig,beastie,musica,buckshot,sunnyday,adonis,bluedog,bonkers,2128506,chrono,compute,spawn,01011988,turbo1,smelly,wapbbs,goldstar,ferrari1,778899,quantum,pisces,boomboom,gunnar,1024,test1234,florida1,nike,superman1,multiplelo,custom,motherlode,1qwerty,westwood,usnavy,apple123,daewoo,korn,stereo,sasuke,sunflowe,watcher,dharma,555777,mouse1,assholes,babyblue,123qwerty,marius,walmart,snoop,starfire,tigger1,paintbal,knickers,aaliyah,lokomotiv,theend,winston1,sapper,rover,erotica,scanner,racer,zeus,sexy69,doogie,bayern,joshua1,newbie,scott1,losers,droopy,outkast,martin1,dodge1,wasser,ufkbyf,rjycnfynby,thirteen,12345z,112211,hotred,deejay,hotpussy,192837,jessic,philippe,scout,panther1,cubbies,havefun,magpie,fghtkm,avalanch,newyork1,pudding,leonid,harry1,cbr600,audia4,bimmer,fucku,01011984,idontknow,vfvfgfgf,1357,aleksey,builder,01011987,zerocool,godfather,mylife,donuts,allmine,redfish,777888,sascha,nitram,bounce,333666,smokes,1x2zkg8w,rodman,stunner,zxasqw12,hoosier,hairy,beretta,insert,123456s,rtyuehe,francesc,tights,cheese1,micron,quartz,hockey1,gegcbr,searay,jewels,bogey,paintball,celeron,padres,bing,syncmaster,ziggy,simon1,beaches,prissy,diehard,orange1,mittens,aleksandra,queens,02071986,biggles,thongs,southpark,artur,twinkle,gretzky,rabota,cambiami,monalisa,gollum,chuckles,spike1,gladiator,whisky,spongebob,sexy1,03082006,mazafaka,meathead,4121,ou8122,barefoot,12345678q,cfitymrf,bigass,a1s2d3,kosmos,blessing,titty,clevelan,terrapin,ginger1,johnboy,maggot,clarinet,deeznutz,336699,stumpy,stoney,footbal,traveler,volvo,bucket,snapon,pianoman,hawkeyes,futbol,casanova,tango,goodboy,scuba,honey1,sexyman,warthog,mustard,abc1234,nickel,10203040,meowmeow,1012,boricua,prophet,sauron,12qwas,reefer,andromeda,crystal1,joker1,90210,goofy,loco,lovesex,triangle,whatsup,mellow,bengals,monster1,maste,01011910,lover1,love1,123aaa,sunshin,smeghead,hokies,sting,welder,rambo,cerberus,bunny1,rockford,monke,1q2w3e4r5,goldwing,gabriell,buzzard,crjhgbjy,james007,rainman,groove,tiberius,purdue,nokia6300,hayabusa,shou,jagger,diver,zigzag,poochie,usarmy,phish,redwood,redwing,12345679,salamander,silver1,abcd123,sputnik,boobie,ripple,eternal,12qw34er,thegreat,allstar,slinky,gesperrt,mishka,whiskers,pinhead,overkill,sweet1,rhfcjnrf,montgom240,sersolution,jamie1,starman,proxy,swords,nikolay,bacardi,rasta,badgirl,rebecca1,wildman,penny1,spaceman,1007,10101,logan1,hacked,bulldog1,helmet,windsor,buffy1,runescape,trapper,123451,banane,dbrnjh,ripken,12345qwe,frisky,shun,fester,oasis,lightning,ib6ub9,cicero,kool,pony,thedog,784512,01011992,megatron,illusion,edward1,napster,11223,squash,roadking,woohoo,19411945,hoosiers,01091989,tracker,bagira,midway,leavemealone,br549,14725836,235689,menace,rachel1,feng,laser,stoned,realmadrid,787898,balloons,tinkerbell,5551212,maria1,pobeda,heineken,sonics,moonlight,optimus,comet,orchid,02071982,jaybird,kashmir,12345678a,chuang,chunky,peach,mortgage,rulezzz,saleen,chuckie,zippy,fishing1,gsxr750,doghouse,maxim,reader,shai,buddah,benfica,chou,salomon,meister,eraser,blackbir,bigmike,starter,pissing,angus,deluxe,eagles1,hardcock,135792468,mian,seahawks,godfathe,bookworm,gregor,intel,talisman,blackjack,babyface,hawaiian,dogfood,zhong,01011975,sancho,ludmila,medusa,mortimer,123456654321,roadrunn,just4me,stalin,01011993,handyman,alphabet,pizzas,calgary,clouds,password2,cgfhnfr,f**k,cubswin,gong,lexus,max123,xxx123,digital1,gfhjkm1,7779311,missy1,michae,beautifu,gator1,1005,pacers,buddie,chinook,heckfy,dutchess,sally1,breasts,beowulf,darkman,jenn,tiffany1,zhei,quan,qazwsx1,satana,shang,idontkno,smiths,puddin,nasty1,teddybea,valkyrie,passwd,chao,boxster,killers,yoda,cheater,inuyasha,beast1,wareagle,foryou,dragonball,mermaid,bhbirf,teddy1,dolphin1,misty1,delphi,gromit,sponge,qazzaq,fytxrf,gameover,diao,sergi,beamer,beemer,kittykat,rancid,manowar,adam12,diggler,assword,austin1,wishbone,gonavy,sparky1,fisting,thedude,sinister,1213,venera,novell,salsero,jayden,fuckoff1,linda1,vedder,02021987,1pussy,redline,lust,jktymrf,02011985,dfcbkbq,dragon12,chrome,gamecube,titten,cong,bella1,leng,02081988,eureka,bitchass,147369,banner,lakota,123321a,mustafa,preacher,hotbox,02041986,z1x2c3v4,playstation,01011977,claymore,electra,checkers,zheng,qing,armagedon,02051986,wrestle,svoboda,bulls,nimbus,alenka,madina,newpass6,onetime,aa123456,bartman,02091987,silverad,electron,12345t,devil666,oliver1,skylar,rhtdtlrj,gobucks,johann,12011987,milkman,02101985,camper,thunderb,bigbutt,jammin,davide,cheeks,goaway,lighter,claudi,thumbs,pissoff,ghostrider,cocaine,teng,squall,lotus,hootie,blackout,doitnow,subzero,02031986,marine1,02021988,pothead,123456qw,skate,1369,peng,antoni,neng,miao,bcfields,1492,marika,794613,musashi,tulips,nong,piao,chai,ruan,southpar,02061985,nude,mandarin,654123,ninjas,cannabis,jetski,xerxes,zhuang,kleopatra,dickie,bilbo,pinky,morgan1,1020,1017,dieter,baseball1,tottenham,quest,yfnfkmz,dirtbike,1234567890a,mango,jackson5,ipswich,iamgod,02011987,tdutybz,modena,qiao,slippery,qweasd123,bluefish,samtron,toon,111333,iscool,02091986,petrov,fuzzy,zhou,1357924680,mollydog,deng,02021986,1236987,pheonix,zhun,ghblehjr,othello,starcraf,000111,sanfran,a11111,cameltoe,badman,vasilisa,jiang,1qaz2ws,luan,sveta,12qw12,akira,chuai,369963,cheech,beatle,pickup,paloma,01011983,caravan,elizaveta,gawker,banzai,pussey,mullet,seng,bingo1,bearcat,flexible,farscape,borussia,zhuai,templar,guitar1,toolman,yfcntymrf,chloe1,xiang,slave1,guai,nuggets,02081984,mantis,slim,scorpio1,fyutkbyf,thedoors,02081987,02061986,123qq123,zappa,fergie,7ugd5hip2j,huai,asdfzxcv,sunflower,pussyman,deadpool,bigtit,01011982,love12,lassie,skyler,gatorade,carpedie,jockey,mancity,spectre,02021984,cameron1,artemka,reng,02031984,iomega,jing,moritz,spice,rhino,spinner,heater,zhai,hover,talon,grease,qiong,corleone,ltybcrf,tian,cowboy1,hippie,chimera,ting,alex123,02021985,mickey1,corsair,sonoma,aaron1,xxxpass,bacchus,webmaste,chuo,xyz123,chrysler,spurs1,artem,shei,cosmic,01020304,deutsch,gabriel1,123455,oceans,987456321,binladen,latinas,a12345678,speedo,buttercu,02081989,21031988,merlot,millwall,ceng,kotaku,jiong,dragonba,2580,stonecold,snuffy,01011999,02011986,hellos,blaze,maggie1,slapper,istanbul,bonjovi,babylove,mazda,bullfrog,phoeni,meng,porsche1,nomore,02061989,bobdylan,capslock,orion1,zaraza,teddybear,ntktajy,myname,rong,wraith,mets,niao,02041984,smokie,chevrolet,dialog,gfhjkmgfhjkm,dotcom,vadim,monarch,athlon,mikey1,hamish,pian,liang,coolness,chui,thoma,ramones,ciccio,chippy,eddie1,house1,ning,marker,cougars,jackpot,barbados,reds,pdtplf,knockers,cobalt,amateurs,dipshit,napoli,kilroy,pulsar,jayhawks,daemon,alexey,weng,shuang,9293709b13,shiner,eldorado,soulmate,mclaren,golfer1,andromed,duan,50spanks,sexyboy,dogshit,02021983,shuo,kakashka,syzygy,111111a,yeahbaby,qiang,netscape,fulham,120676,gooner,zhui,rainbow6,laurent,dog123,halifax,freeway,carlitos,147963,eastwood,microphone,monkey12,1123,persik,coldbeer,geng,nuan,danny1,fgtkmcby,entropy,gadget,just4fun,sophi,baggio,carlito,1234567891,02021989,02041983,specialk,piramida,suan,bigblue,salasana,hopeful,mephisto,bailey1,hack,annie1,generic,violetta,spencer1,arcadia,02051983,hondas,9562876,trainer,jones1,smashing,liao,159632,iceberg,rebel1,snooker,temp123,zang,matteo,fastball,q2w3e4r5,bamboo,fuckyo,shutup,astro,buddyboy,nikitos,redbird,maxxxx,shitface,02031987,kuai,kissmyass,sahara,radiohea,1234asdf,wildcard,maxwell1,patric,plasma,heynow,bruno1,shao,bigfish,misfits,sassy1,sheng,02011988,02081986,testpass,nanook,cygnus,licking,slavik,pringles,xing,1022,ninja1,submit,dundee,tiburon,pinkfloyd,yummy,shuai,guang,chopin,obelix,insomnia,stroker,1a2s3d4f,1223,playboy1,lazarus,jorda,spider1,homerj,sleeper,02041982,darklord,cang,02041988,02041987,tripod,magician,jelly,telephon,15975,vsjasnel12,pasword,iverson3,pavlov,homeboy,gamecock,amigo,brodie,budapest,yjdsqgfhjkm,reckless,02011980,pang,tiger123,2469,mason1,orient,01011979,zong,cdtnbr,maksimka,1011,bushido,taxman,giorgio,sphinx,kazantip,02101984,concorde,verizon,lovebug,georg,sam123,seadoo,qazwsxedc123,jiao,jezebel,pharmacy,abnormal,jellybea,maxime,puffy,islander,bunnies,jiggaman,drakon,010180,pluto,zhjckfd,12365,classics,crusher,mordor,hooligan,strawberry,02081985,scrabble,hawaii50,1224,wg8e3wjf,cthtuf,premium,arrow,123456qwe,mazda626,ramrod,tootie,rhjrjlbk,ghost1,1211,bounty,niang,02071984,goat,killer12,sweetnes,porno1,masamune,426hemi,corolla,mariposa,hjccbz,doomsday,bummer,blue12,zhao,bird33,excalibur,samsun,kirsty,buttfuck,kfhbcf,zhuo,marcello,ozzy,02021982,dynamite,655321,master12,123465,lollypop,stepan,1qa2ws,spiker,goirish,callum,michael2,moonbeam,attila,henry1,lindros,andrea1,sporty,lantern,12365478,nextel,violin,volcom,998877,water1,imation,inspiron,dynamo,citadel,placebo,clowns,tiao,02061988,tripper,dabears,haggis,merlin1,02031985,anthrax,amerika,iloveme,vsegda,burrito,bombers,snowboard,forsaken,katarina,a1a2a3,woofer,tigger2,fullmoon,tiger2,spock,hannah1,snoopy1,sexxxy,sausages,stanislav,cobain,robotics,exotic,green123,mobydick,senators,pumpkins,fergus,asddsa,147741,258852,windsurf,reddevil,vfitymrf,nevermind,nang,woodland,4417,mick,shui,q1q2q3,wingman,69696,superb,zuan,ganesh,pecker,zephyr,anastasiya,icu812,larry1,02081982,broker,zalupa,mihail,vfibyf,dogger,7007,paddle,varvara,schalke,1z2x3c,presiden,yankees2,tuning,poopy,02051982,concord,vanguard,stiffy,rjhjktdf,felix1,wrench,firewall,boxer,bubba69,popper,02011984,temppass,gobears,cuan,tipper,fuckme1,kamila,thong,puss,bigcat,drummer1,02031982,sowhat,digimon,tigers1,rang,jingle,bian,uranus,soprano,mandy1,dusty1,fandango,aloha,pumpkin1,postman,02061980,dogcat,bombay,pussy123,onetwo,highheel,pippo,julie1,laura1,pepito,beng,smokey1,stylus,stratus,reload,duckie,karen1,jimbo1,225588,369258,krusty,snappy,asdf12,electro,111qqq,kuang,fishin,clit,abstr,christma,qqqqq1,1234560,carnage,guyver,boxers,kittens,zeng,1000000,qwerty11,toaster,cramps,yugioh,02061987,icehouse,zxcvbnm123,pineapple,namaste,harrypotter,mygirl,falcon1,earnhard,fender1,spikes,nutmeg,01081989,dogboy,02091983,369852,softail,mypassword,prowler,bigboss,1112,harvest,heng,jubilee,killjoy,basset,keng,zaqxswcde,redsox1,biao,titan,misfit99,robot,wifey,kidrock,02101987,gameboy,enrico,1z2x3c4v,broncos1,arrows,havana,banger,cookie1,chriss,123qw,platypus,cindy1,lumber,pinball,foxy,london1,1023,05051987,02041985,password12,superma,longbow,radiohead,nigga,12051988,spongebo,qwert12345,abrakadabra,dodgers1,02101989,chillin,niceguy,pistons,hookup,santafe,bigben,jets,1013,vikings1,mankind,viktoriya,beardog,hammer1,02071980,reddwarf,magelan,longjohn,jennife,gilles,carmex2,02071987,stasik,bumper,doofus,slamdunk,pixies,garion,steffi,alessandro,beerman,niceass,warrior1,honolulu,134679852,visa,johndeer,mother1,windmill,boozer,oatmeal,aptiva,busty,delight,tasty,slick1,bergkamp,badgers,guitars,puffin,02091981,nikki1,irishman,miller1,zildjian,123000,airwolf,magnet,anai,install,02041981,02061983,astra,romans,megan1,mudvayne,freebird,muscles,dogbert,02091980,02091984,snowflak,01011900,mang,joseph1,nygiants,playstat,junior1,vjcrdf,qwer12,webhompas,giraffe,pelican,jefferso,comanche,bruiser,monkeybo,kjkszpj,123456l,micro,albany,02051987,angel123,epsilon,aladin,death666,hounddog,josephin,altima,chilly,02071988,78945,ultra,02041979,gasman,thisisit,pavel,idunno,kimmie,05051985,paulie,ballin,medion,moondog,manolo,pallmall,climber,fishbone,genesis1,153624,toffee,tbone,clippers,krypton,jerry1,picturs,compass,111111q,02051988,1121,02081977,sairam,getout,333777,cobras,22041987,bigblock,severin,booster,norwich,whiteout,ctrhtn,123456m,02061984,hewlett,shocker,fuckinside,02031981,chase1,white1,versace,123456789s,basebal,iloveyou2,bluebell,08031986,anthon,stubby,foreve,undertak,werder,saiyan,mama123,medic,chipmunk,mike123,mazdarx7,qwe123qwe,bowwow,kjrjvjnbd,celeb,choochoo,demo,lovelife,02051984,colnago,lithium,02051989,15051981,zzzxxx,welcom,anastasi,fidelio,franc,26061987,roadster,stone55,drifter,hookem,hellboy,1234qw,cbr900rr,sinned,good123654,storm1,gypsy,zebra,zachary1,toejam,buceta,02021979,testing1,redfox,lineage,mike1,highbury,koroleva,nathan1,washingt,02061982,02091985,vintage,redbaron,dalshe,mykids,11051987,macbeth,julien,james123,krasotka,111000,10011986,987123,pipeline,tatarin,sensei,codered,komodo,frogman,7894561230,nascar24,juicy,01031988,redrose,mydick,pigeon,tkbpfdtnf,smirnoff,1215,spam,winner1,flyfish,moskva,81fukkc,21031987,olesya,starligh,summer99,13041988,fishhead,freesex,super12,06061986,azazel,scoobydoo,02021981,cabron,yogibear,sheba1,konstantin,tranny,chilli,terminat,ghbywtccf,slowhand,soccer12,cricket1,fuckhead,1002,seagull,achtung,blam,bigbob,bdsm,nostromo,survivor,cnfybckfd,lemonade,boomer1,rainbow1,rober,irinka,cocksuck,peaches1,itsme,sugar1,zodiac,upyours,dinara,135791,sunny1,chiara,johnson1,02041989,solitude,habibi,sushi,markiz,smoke1,rockies,catwoman,johnny1,qwerty7,bearcats,username,01011978,wanderer,ohshit,02101986,sigma,stephen1,paradigm,02011989,flanker,sanity,jsbach,spotty,bologna,fantasia,chevys,borabora,cocker,74108520,123ewq,12021988,01061990,gtnhjdbx,02071981,01011960,sundevil,3000gt,mustang6,gagging,maggi,armstron,yfnfkb,13041987,revolver,02021976,trouble1,madcat,jeremy1,jackass1,volkswag,30051985,corndog,pool6123,marines1,03041991,pizza1,piggy,sissy,02031979,sunfire,angelus,undead,24061986,14061991,wildbill,shinobi,45m2do5bs,123qwer,21011989,cleopatr,lasvega,hornets,amorcit,11081989,coventry,nirvana1,destin,sidekick,20061988,02081983,gbhfvblf,sneaky,bmw325,22021989,nfytxrf,sekret,kalina,zanzibar,hotone,qazws,wasabi,heidi1,highlander,blues1,hitachi,paolo,23041987,slayer1,simba1,02011981,tinkerbe,kieran,01121986,172839,boiler,1125,bluesman,waffle,asdfgh01,threesom,conan,1102,reflex,18011987,nautilus,everlast,fatty,vader1,01071986,cyborg,ghbdtn123,birddog,rubble,02071983,suckers,02021973,skyhawk,12qw12qw,dakota1,joebob,nokia6233,woodie,longdong,lamer,troll,ghjcnjgfhjkm,420000,boating,nitro,armada,messiah,1031,penguin1,02091989,americ,02071989,redeye,asdqwe123,07071987,monty1,goten,spikey,sonata,635241,tokiohotel,sonyericsson,citroen,compaq1,1812,umpire,belmont,jonny,pantera1,nudes,palmtree,14111986,fenway,bighead,razor,gryphon,andyod22,aaaaa1,taco,10031988,enterme,malachi,dogface,reptile,01041985,dindom,handball,marseille,candy1,19101987,torino,tigge,matthias,viewsoni,13031987,stinker,evangelion,24011985,123456123,rampage,sandrine,02081980,thecrow,astral,28041987,sprinter,private1,seabee,shibby,02101988,25081988,fearless,junkie,01091987,aramis,antelope,draven,fuck1,mazda6,eggman,02021990,barselona,buddy123,19061987,fyfnjkbq,nancy1,12121990,10071987,sluggo,kille,hotties,irishka,zxcasdqwe123,shamus,fairlane,honeybee,soccer10,13061986,fantomas,17051988,10051987,20111986,gladiato,karachi,gambler,gordo,01011995,biatch,matthe,25800852,papito,excite,buffalo1,bobdole,cheshire,player1,28021992,thewho,10101986,pinky1,mentor,tomahawk,brown1,03041986,bismillah,bigpoppa,ijrjkfl,01121988,runaway,08121986,skibum,studman,helper,squeak,holycow,manfred,harlem,glock,gideon,987321,14021985,yellow1,wizard1,margarit,success1,medved,sf49ers,lambda,pasadena,johngalt,quasar,1776,02031980,coldplay,amand,playa,bigpimp,04041991,capricorn,elefant,sweetness,bruce1,luca,dominik,10011990,biker,09051945,datsun,elcamino,trinitro,malice,audi,voyager1,02101983,joe123,carpente,spartan1,mario1,glamour,diaper,12121985,22011988,winter1,asimov,callisto,nikolai,pebble,02101981,vendetta,david123,boytoy,11061985,02031989,iloveyou1,stupid1,cayman,casper1,zippo,yamahar1,wildwood,foxylady,calibra,02041980,27061988,dungeon,leedsutd,30041986,11051990,bestbuy,antares,dominion,24680,01061986,skillet,enforcer,derparol,01041988,196969,29071983,f00tball,purple1,mingus,25031987,21031990,remingto,giggles,klaste,3x7pxr,01011994,coolcat,29051989,megane,20031987,02051980,04041988,synergy,0000007,macman,iforget,adgjmp,vjqgfhjkm,28011987,rfvfcenhf,16051989,25121987,16051987,rogue,mamamia,08051990,20091991,1210,carnival,bolitas,paris1,dmitriy,dimas,05051989,papillon,knuckles,29011985,hola,tophat,28021990,100500,cutiepie,devo,415263,ducks,ghjuhfvvf,asdqwe,22021986,freefall,parol,02011983,zarina,buste,vitamin,warez,bigones,17061988,baritone,jamess,twiggy,mischief,bitchy,hetfield,1003,dontknow,grinch,sasha_007,18061990,12031985,12031987,calimero,224466,letmei,15011987,acmilan,alexandre,02031977,08081988,whiteboy,21051991,barney1,02071978,money123,18091985,bigdawg,02031988,cygnusx1,zoloto,31011987,firefigh,blowfish,screamer,lfybbk,20051988,chelse,11121986,01031989,harddick,sexylady,30031988,02041974,auditt,pizdec,kojak,kfgjxrf,20091988,123456ru,wp2003wp,1204,15051990,slugger,kordell1,03031986,swinging,01011974,02071979,rockie,dimples,1234123,1dragon,trucking,rusty2,roger1,marijuana,kerouac,02051978,08031985,paco,thecure,keepout,kernel,noname123,13121985,francisc,bozo,02011982,22071986,02101979,obsidian,12345qw,spud,tabasco,02051985,jaguars,dfktynby,kokomo,popova,notused,sevens,4200,magneto,02051976,roswell,15101986,21101986,lakeside,bigbang,aspen,little1,14021986,loki,suckmydick,strawber,carlos1,nokian73,dirty1,joshu,25091987,16121987,02041975,advent,17011987,slimshady,whistler,10101990,stryker,22031984,15021985,01031985,blueball,26031988,ksusha,bahamut,robocop,w_pass,chris123,impreza,prozac,bookie,bricks,13021990,alice1,cassandr,11111q,john123,4ever,korova,02051973,142857,25041988,paramedi,eclipse1,salope,07091990,1124,darkangel,23021986,999666,nomad,02051981,smackdow,01021990,yoyoma,argentin,moonligh,57chevy,bootys,hardone,capricor,galant,spanker,dkflbr,24111989,magpies,krolik,21051988,cevthrb,cheddar,22041988,bigbooty,scuba1,qwedsa,duffman,bukkake,acura,johncena,sexxy,p@ssw0rd,258369,cherries,12345s,asgard,leopold,fuck123,mopar,lalakers,dogpound,matrix1,crusty,spanner,kestrel,fenris,universa,peachy,assasin,lemmein,eggplant,hejsan,canucks,wendy1,doggy1,aikman,tupac,turnip,godlike,fussball,golden1,19283746,april1,django,petrova,captain1,vincent1,ratman,taekwondo,chocha,serpent,perfect1,capetown,vampir,amore,gymnast,timeout,nbvjatq,blue32,ksenia,k.lvbkf,nazgul,budweiser,clutch,mariya,sylveste,02051972,beaker,cartman1,q11111,sexxx,forever1,loser1,marseill,magellan,vehpbr,sexgod,jktxrf,hallo123,132456,liverpool1,southpaw,seneca,camden,357159,camero,tenchi,johndoe,145236,roofer,741963,vlad,02041978,fktyrf,zxcv123,wingnut,wolfpac,notebook,pufunga7782,brandy1,biteme1,goodgirl,redhat,02031978,challeng,millenium,hoops,maveric,noname,angus1,gaell,onion,olympus,sabrina1,ricard,sixpack,gratis,gagged,camaross,hotgirls,flasher,02051977,bubba123,goldfing,moonshin,gerrard,volkov,sonyfuck,mandrake,258963,tracer,lakers1,asians,susan1,money12,helmut,boater,diablo2,1234zxcv,dogwood,bubbles1,happy2,randy1,aries,beach1,marcius2,navigator,goodie,hellokitty,fkbyjxrf,earthlink,lookout,jumbo,opendoor,stanley1,marie1,12345m,07071977,ashle,wormix,murzik,02081976,lakewood,bluejays,loveya,commande,gateway2,peppe,01011976,7896321,goth,oreo,slammer,rasmus,faith1,knight1,stone1,redskin,ironmaiden,gotmilk,destiny1,dejavu,1master,midnite,timosha,espresso,delfin,toriamos,oberon,ceasar,markie,1a2s3d,ghhh47hj7649,vjkjrj,daddyo,dougie,disco,auggie,lekker,therock1,ou8123,start1,noway,p4ssw0rd,shadow12,333444,saigon,2fast4u,capecod,23skidoo,qazxcv,beater,bremen,aaasss,roadrunner,peace1,12345qwer,02071975,platon,bordeaux,vbkfirf,135798642,test12,supernov,beatles1,qwert40,optimist,vanessa1,prince1,ilovegod,nightwish,natasha1,alchemy,bimbo,blue99,patches1,gsxr1000,richar,hattrick,hott,solaris,proton,nevets,enternow,beavis1,amigos,159357a,ambers,lenochka,147896,suckdick,shag,intercourse,blue1234,spiral,02061977,tosser,ilove,02031975,cowgirl,canuck,q2w3e4,munch,spoons,waterboy,123567,evgeniy,savior,zasada,redcar,mamacita,terefon,globus,doggies,htubcnhfwbz,1008,cuervo,suslik,azertyui,limewire,houston1,stratfor,steaua,coors,tennis1,12345qwerty,stigmata,derf,klondike,patrici,marijuan,hardball,odyssey,nineinch,boston1,pass1,beezer,sandr,charon,power123,a1234,vauxhall,875421,awesome1,reggae,boulder,funstuff,iriska,krokodil,rfntymrf,sterva,champ1,bball,peeper,m123456,toolbox,cabernet,sheepdog,magic32,pigpen,02041977,holein1,lhfrjy,banan,dabomb,natalie1,jennaj,montana1,joecool,funky,steven1,ringo,junio,sammy123,qqqwww,baltimor,footjob,geezer,357951,mash4077,cashmone,pancake,monic,grandam,bongo,yessir,gocubs,nastia,vancouve,barley,dragon69,watford,ilikepie,02071976,laddie,123456789m,hairball,toonarmy,pimpdadd,cvthnm,hunte,davinci,lback,sophie1,firenze,q1234567,admin1,bonanza,elway7,daman,strap,azert,wxcvbn,afrika,theforce,123456t,idefix,wolfen,houdini,scheisse,default,beech,maserati,02061976,sigmachi,dylan1,bigdicks,eskimo,mizzou,02101976,riccardo,egghead,111777,kronos,ghbrjk,chaos1,jomama,rfhnjirf,rodeo,dolemite,cafc91,nittany,pathfind,mikael,password9,vqsablpzla,purpl,gabber,modelsne,myxworld,hellsing,punker,rocknrol,fishon,fuck69,02041976,lolol,twinkie,tripleh,cirrus,redbone,killer123,biggun,allegro,gthcbr,smith1,wanking,bootsy,barry1,mohawk,koolaid,5329,futurama,samoht,klizma,996633,lobo,honeys,peanut1,556677,zxasqw,joemama,javelin,samm,223322,sandra1,flicks,montag,nataly,3006,tasha1,1235789,dogbone,poker1,p0o9i8u7,goodday,smoothie,toocool,max333,metroid,archange,vagabond,billabon,22061941,tyson1,02031973,darkange,skateboard,evolutio,morrowind,wizards,frodo1,rockin,cumslut,plastics,zaqwsxcde,5201314,doit,outback,bumble,dominiqu,persona,nevermore,alinka,02021971,forgetit,sexo,all4one,c2h5oh,petunia,sheeba,kenny1,elisabet,aolsucks,woodstoc,pumper,02011975,fabio,granada,scrapper,123459,minimoni,q123456789,breaker,1004,02091976,ncc74656,slimshad,friendster,austin31,wiseguy,donner,dilbert1,132465,blackbird,buffet,jellybean,barfly,behappy,01011971,carebear,fireblad,02051975,boxcar,cheeky,kiteboy,hello12,panda1,elvisp,opennow,doktor,alex12,02101977,pornking,flamengo,02091975,snowbird,lonesome,robin1,11111a,weed420,baracuda,bleach,12345abc,nokia1,metall,singapor,mariner,herewego,dingo,tycoon,cubs,blunts,proview,123456789d,kamasutra,lagnaf,vipergts,navyseal,starwar,masterbate,wildone,peterbil,cucumber,butkus,123qwert,climax,deniro,gotribe,cement,scooby1,summer69,harrier,shodan,newyear,02091977,starwars1,romeo1,sedona,harald,doubled,sasha123,bigguns,salami,awnyce,kiwi,homemade,pimping,azzer,bradley1,warhamme,linkin,dudeman,qwe321,pinnacle,maxdog,flipflop,lfitymrf,fucker1,acidburn,esquire,sperma,fellatio,jeepster,thedon,sexybitch,pookey,spliff,widget,vfntvfnbrf,trinity1,mutant,samuel1,meliss,gohome,1q2q3q,mercede,comein,grin,cartoons,paragon,henrik,rainyday,pacino,senna,bigdog1,alleycat,12345qaz,narnia,mustang2,tanya1,gianni,apollo11,wetter,clovis,escalade,rainbows,freddy1,smart1,daisydog,s123456,cocksucker,pushkin,lefty,sambo,fyutkjxtr,hiziad,boyz,whiplash,orchard,newark,adrenalin,1598753,bootsie,chelle,trustme,chewy,golfgti,tuscl,ambrosia,5wr2i7h8,penetration,shonuf,jughead,payday,stickman,gotham,kolokol,johnny5,kolbasa,stang,puppydog,charisma,gators1,mone,jakarta,draco,nightmar,01011973,inlove,laetitia,02091973,tarpon,nautica,meadow,0192837465,luckyone,14881488,chessie,goldeney,tarakan,69camaro,bungle,wordup,interne,fuckme2,515000,dragonfl,sprout,02081974,gerbil,bandit1,02071971,melanie1,phialpha,camber,kathy1,adriano,gonzo1,10293847,bigjohn,bismarck,7777777a,scamper,12348765,rabbits,222777,bynthytn,dima123,alexander1,mallorca,dragster,favorite6,beethove,burner,cooper1,fosters,hello2,normandy,777999,sebring,1michael,lauren1,blake1,killa,02091971,nounours,trumpet1,thumper1,playball,xantia,rugby1,rocknroll,guillaum,angela1,strelok,prosper,buttercup,masterp,dbnfkbr,cambridg,venom,treefrog,lumina,1234566,supra,sexybabe,freee,shen,frogs,driller,pavement,grace1,dicky,checker,smackdown,pandas,cannibal,asdffdsa,blue42,zyjxrf,nthvbyfnjh,melrose,neon,jabber,gamma,369258147,aprilia,atticus,benessere,catcher,skipper1,azertyuiop,sixty9,thierry,treetop,jello,melons,123456789qwe,tantra,buzzer,catnip,bouncer,computer1,sexyone,ananas,young1,olenka,sexman,mooses,kittys,sephiroth,contra,hallowee,skylark,sparkles,777333,1qazxsw23edc,lucas1,q1w2e3r,gofast,hannes,amethyst,ploppy,flower2,hotass,amatory,volleyba,dixie1,bettyboo,ticklish,02061974,frenchy,phish1,murphy1,trustno,02061972,leinad,mynameis,spooge,jupiter1,hyundai,frosch,junkmail,abacab,marbles,32167,casio,sunshine1,wayne1,longhair,caster,snicker,02101973,gannibal,skinhead,hansol,gatsby,segblue2,montecar,plato,gumby,kaboom,matty,bosco1,888999,jazzy,panter,jesus123,charlie2,giulia,candyass,sex69,travis1,farmboy,special1,02041973,letsdoit,password01,allison1,abcdefg1,notredam,ilikeit,789654123,liberty1,rugger,uptown,alcatraz,123456w,airman,007bond,navajo,kenobi,terrier,stayout,grisha,frankie1,fluff,1qazzaq1,1234561,virginie,1234568,tango1,werdna,octopus,fitter,dfcbkbcf,blacklab,115599,montrose,allen1,supernova,frederik,ilovepussy,justice1,radeon,playboy2,blubber,sliver,swoosh,motocros,lockdown,pearls,thebear,istheman,pinetree,biit,1234rewq,rustydog,tampabay,titts,babycake,jehovah,vampire1,streaming,collie,camil,fidelity,calvin1,stitch,gatit,restart,puppy1,budgie,grunt,capitals,hiking,dreamcas,zorro1,321678,riffraff,makaka,playmate,napalm,rollin,amstel,zxcvb123,samanth,rumble,fuckme69,jimmys,951357,pizzaman,1234567899,tralala,delpiero,alexi,yamato,itisme,1million,vfndtq,kahlua,londo,wonderboy,carrots,tazz,ratboy,rfgecnf,02081973,nico,fujitsu,tujhrf,sergbest,blobby,02051970,sonic1,1357911,smirnov,video1,panhead,bucky,02031974,44332211,duffer,cashmoney,left4dead,bagpuss,salman,01011972,titfuck,66613666,england1,malish,dresden,lemans,darina,zapper,123456as,123456qqq,met2002,02041972,redstar,blue23,1234509876,pajero,booyah,please1,tetsuo,semper,finder,hanuman,sunlight,123456n,02061971,treble,cupoi,password99,dimitri,3ip76k2,popcorn1,lol12345,stellar,nympho,shark1,keith1,saskia,bigtruck,revoluti,rambo1,asd222,feelgood,phat,gogators,bismark,cola,puck,furball,burnout,slonik,bowtie,mommy1,icecube,fabienn,mouser,papamama,rolex,giants1,blue11,trooper1,momdad,iklo,morten,rhubarb,gareth,123456d,blitz,canada1,r2d2,brest,tigercat,usmarine,lilbit,benny1,azrael,lebowski,12345r,madagaskar,begemot,loverman,dragonballz,italiano,mazda3,naughty1,onions,diver1,cyrano,capcom,asdfg123,forlife,fisherman,weare138,requiem,mufasa,alpha123,piercing,hellas,abracadabra,duckman,caracas,macintos,02011971,jordan2,crescent,fduecn,hogtied,eatmenow,ramjet,18121812,kicksass,whatthe,discus,rfhfvtkmrf,rufus1,sqdwfe,mantle,vegitto,trek,dan123,paladin1,rudeboy,liliya,lunchbox,riversid,acapulco,libero,dnsadm,maison,toomuch,boobear,hemlock,sextoy,pugsley,misiek,athome,migue,altoids,marcin,123450,rhfcfdbwf,jeter2,rhinos,rjhjkm,mercury1,ronaldinho,shampoo,makayla,kamilla,masterbating,tennesse,holger,john1,matchbox,hores,poptart,parlament,goodyear,asdfgh1,02081970,hardwood,alain,erection,hfytnrb,highlife,implants,benjami,dipper,jeeper,bendover,supersonic,babybear,laserjet,gotenks,bama,natedogg,aol123,pokemo,rabbit1,raduga,sopranos,cashflow,menthol,pharao,hacking,334455,ghjcnbnenrf,lizzy,muffin1,pooky,penis1,flyer,gramma,dipset,becca,ireland1,diana1,donjuan,pong,ziggy1,alterego,simple1,cbr900,logger,111555,claudia1,cantona7,matisse,ljxtymrf,victori,harle,mamas,encore,mangos,iceman1,diamon,alexxx,tiamat,5000,desktop,mafia,smurf,princesa,shojou,blueberr,welkom,maximka,123890,123q123,tammy1,bobmarley,clips,demon666,ismail,termite,laser1,missie,altair,donna1,bauhaus,trinitron,mogwai,flyers88,juniper,nokia5800,boroda,jingles,qwerasdfzxcv,shakur,777666,legos,mallrats,1qazxsw,goldeneye,tamerlan,julia1,backbone,spleen,49ers,shady,darkone,medic1,justi,giggle,cloudy,aisan,douche,parkour,bluejay,huskers1,redwine,1qw23er4,satchmo,1231234,nineball,stewart1,ballsack,probes,kappa,amiga,flipper1,dortmund,963258,trigun,1237895,homepage,blinky,screwy,gizzmo,belkin,chemist,coolhand,chachi,braves1,thebest,greedisgood,pro100,banana1,101091m,123456g,wonderfu,barefeet,8inches,1111qqqq,kcchiefs,qweasdzxc123,metal1,jennifer1,xian,asdasd123,pollux,cheerleaers,fruity,mustang5,turbos,shopper,photon,espana,hillbill,oyster,macaroni,gigabyte,jesper,motown,tuxedo,buster12,triplex,cyclones,estrell,mortis,holla,456987,fiddle,sapphic,jurassic,thebeast,ghjcnjq,baura,spock1,metallica1,karaoke,nemrac58,love1234,02031970,flvbybcnhfnjh,frisbee,diva,ajax,feathers,flower1,soccer11,allday,mierda,pearl1,amature,marauder,333555,redheads,womans,egorka,godbless,159263,nimitz,aaaa1111,sashka,madcow,socce,greywolf,baboon,pimpdaddy,123456789r,reloaded,lancia,rfhfylfi,dicker,placid,grimace,22446688,olemiss,whores,culinary,wannabe,maxi,1234567aa,amelie,riley1,trample,phantom1,baberuth,bramble,asdfqwer,vides,4you,abc123456,taichi,aztnm,smother,outsider,hakr,blackhawk,bigblack,girlie,spook,valeriya,gianluca,freedo,1q2q3q4q,handbag,lavalamp,cumm,pertinant,whatup,nokia123,redlight,patrik,111aaa,poppy1,dfytxrf,aviator,sweeps,kristin1,cypher,elway,yinyang,access1,poophead,tucson,noles1,monterey,waterfal,dank,dougal,918273,suede,minnesot,legman,bukowski,ganja,mammoth,riverrat,asswipe,daredevi,lian,arizona1,kamikadze,alex1234,smile1,angel2,55bgates,bellagio,0001,wanrltw,stiletto,lipton,arsena,biohazard,bbking,chappy,tetris,as123456,darthvad,lilwayne,nopassword,7412369,123456789987654321,natchez,glitter,14785236,mytime,rubicon,moto,pyon,wazzup,tbird,shane1,nightowl,getoff,beckham7,trueblue,hotgirl,nevermin,deathnote,13131,taffy,bigal,copenhag,apricot,gallaries,dtkjcbgtl,totoro,onlyone,civicsi,jesse1,baby123,sierra1,festus,abacus,sickboy,fishtank,fungus,charle,golfpro,teensex,mario66,seaside,aleksei,rosewood,blackberry,1020304050,bedlam,schumi,deerhunt,contour,darkelf,surveyor,deltas,pitchers,741258963,dipstick,funny1,lizzard,112233445566,jupiter2,softtail,titman,greenman,z1x2c3v4b5,smartass,12345677,notnow,myworld,nascar1,chewbacc,nosferatu,downhill,dallas22,kuan,blazers,whales,soldat,craving,powerman,yfcntyf,hotrats,cfvceyu,qweasdzx,princess1,feline,qqwwee,chitown,1234qaz,mastermind,114477,dingbat,care1839,standby,kismet,atreides,dogmeat,icarus,monkeyboy,alex1,mouses,nicetits,sealteam,chopper1,crispy,winter99,rrpass1,myporn,myspace1,corazo,topolino,ass123,lawman,muffy,orgy,1love,passord,hooyah,ekmzyf,pretzel,amonra,nestle,01011950,jimbeam,happyman,z12345,stonewal,helios,manunited,harcore,dick1,gaymen,2hot4u,light1,qwerty13,kakashi,pjkjnj,alcatel,taylo,allah,buddydog,ltkmaby,mongo,blonds,start123,audia6,123456v,civilwar,bellaco,turtles,mustan,deadspin,aaa123,fynjirf,lucky123,tortoise,amor,summe,waterski,zulu,drag0n,dtxyjcnm,gizmos,strife,interacial,pusyy,goose1,bear1,equinox,matri,jaguar1,tobydog,sammys,nachos,traktor,bryan1,morgoth,444555,dasani,miami1,mashka,xxxxxx1,ownage,nightwin,hotlips,passmast,cool123,skolko,eldiablo,manu,1357908642,screwyou,badabing,foreplay,hydro,kubrick,seductive,demon1,comeon,galileo,aladdin,metoo,happines,902100,mizuno,caddy,bizzare,girls1,redone,ohmygod,sable,bonovox,girlies,hamper,opus,gizmodo1,aaabbb,pizzahut,999888,rocky2,anton1,kikimora,peavey,ocelot,a1a2a3a4,2wsx3edc,jackie1,solace,sprocket,galary,chuck1,volvo1,shurik,poop123,locutus,virago,wdtnjxtr,tequier,bisexual,doodles,makeitso,fishy,789632145,nothing1,fishcake,sentry,libertad,oaktree,fivestar,adidas1,vegitta,mississi,spiffy,carme,neutron,vantage,agassi,boners,123456789v,hilltop,taipan,barrage,kenneth1,fister,martian,willem,lfybkf,bluestar,moonman,ntktdbpjh,paperino,bikers,daffy,benji,quake,dragonfly,suckcock,danilka,lapochka,belinea,calypso,asshol,camero1,abraxas,mike1234,womam,q1q2q3q4q5,youknow,maxpower,pic's,audi80,sonora,raymond1,tickler,tadpole,belair,crazyman,finalfantasy,999000,jonatha,paisley,kissmyas,morgana,monste,mantra,spunk,magic123,jonesy,mark1,alessand,741258,baddest,ghbdtnrfrltkf,zxccxz,tictac,augustin,racers,7grout,foxfire,99762000,openit,nathanie,1z2x3c4v5b,seadog,gangbanged,lovehate,hondacbr,harpoon,mamochka,fisherma,bismilla,locust,wally1,spiderman1,saffron,utjhubq,123456987,20spanks,safeway,pisser,bdfyjd,kristen1,bigdick1,magenta,vfhujif,anfisa,friday13,qaz123wsx,0987654321q,tyrant,guan,meggie,kontol,nurlan,ayanami,rocket1,yaroslav,websol76,mutley,hugoboss,websolutions,elpaso,gagarin,badboys,sephirot,918273645,newuser,qian,edcrfv,booger1,852258,lockout,timoxa94,mazda323,firedog,sokolova,skydiver,jesus777,1234567890z,soulfly,canary,malinka,guillerm,hookers,dogfart,surfer1,osprey,india123,rhjkbr,stoppedby,nokia5530,123456789o,blue1,werter,divers,3000,123456f,alpina,cali,whoknows,godspeed,986532,foreskin,fuzzy1,heyyou,didier,slapnuts,fresno,rosebud1,sandman1,bears1,blade1,honeybun,queen1,baronn,pakista,philipp,9111961,topsecret,sniper1,214365,slipper,letsfuck,pippen33,godawgs,mousey,qw123456,scrotum,loveis,lighthou,bp2002,nancy123,jeffrey1,susieq,buddy2,ralphie,trout1,willi,antonov,sluttey,rehbwf,marty1,darian,losangeles,letme1n,12345d,pusssy,godiva,ender,golfnut,leonidas,a1b2c3d4e5,puffer,general1,wizzard,lehjxrf,racer1,bigbucks,cool12,buddys,zinger,esprit,vbienrf,josep,tickling,froggie,987654321a,895623,daddys,crumbs,gucci,mikkel,opiate,tracy1,christophe,came11,777555,petrovich,humbug,dirtydog,allstate,horatio,wachtwoord,creepers,squirts,rotary,bigd,georgia1,fujifilm,2sweet,dasha,yorkie,slimjim,wiccan,kenzie,system1,skunk,b12345,getit,pommes,daredevil,sugars,bucker,piston,lionheart,1bitch,515051,catfight,recon,icecold,fantom,vodafone,kontakt,boris1,vfcnth,canine,01011961,valleywa,faraon,chickenwing101,qq123456,livewire,livelife,roosters,jeepers,ilya1234,coochie,pavlik,dewalt,dfhdfhf,architec,blackops,1qaz2wsx3edc4rfv,rhfcjnf,wsxedc,teaser,sebora,25252,rhino1,ankara,swifty,decimal,redleg,shanno,nermal,candies,smirnova,dragon01,photo1,ranetki,a1s2d3f4g5,axio,wertzu,maurizio,6uldv8,zxcvasdf,punkass,flowe,graywolf,peddler,3rjs1la7qe,mpegs,seawolf,ladyboy,pianos,piggies,vixen,alexus,orpheus,gdtrfb,z123456,macgyver,hugetits,ralph1,flathead,maurici,mailru,goofball,nissan1,nikon,stopit,odin,big1,smooch,reboot,famil,bullit,anthony7,gerhard,methos,124038,morena,eagle2,jessica2,zebras,getlost,gfynthf,123581321,sarajevo,indon,comets,tatjana,rfgbnjirf,joystick,batman12,123456c,sabre,beerme,victory1,kitties,1475369,badboy1,booboo1,comcast,slava,squid,saxophon,lionhear,qaywsx,bustle,nastena,roadway,loader,hillside,starlight,24681012,niggers,access99,bazooka,molly123,blackice,bandi,cocacol,nfhfrfy,timur,muschi,horse1,quant4307s,squerting,oscars,mygirls,flashman,tangerin,goofy1,p0o9i8,housewifes,newness,monkey69,escorpio,password11,hippo,warcraft3,qazxsw123,qpalzm,ribbit,ghbdtndctv,bogota,star123,258000,lincoln1,bigjim,lacoste,firestorm,legenda,indain,ludacris,milamber,1009,evangeli,letmesee,a111111,hooters1,bigred1,shaker,husky,a4tech,cnfkrth,argyle,rjhjdf,nataha,0o9i8u7y,gibson1,sooners1,glendale,archery,hoochie,stooge,aaaaaa1,scorpions,school1,vegas1,rapier,mike23,bassoon,groupd2013,macaco,baker1,labia,freewill,santiag,silverado,butch1,vflfufcrfh,monica1,rugrat,cornhole,aerosmit,bionicle,gfgfvfvf,daniel12,virgo,fmale,favorite2,detroit1,pokey,shredder,baggies,wednesda,cosmo1,mimosa,sparhawk,firehawk,romario,911turbo,funtimes,fhntvrf,nexus6,159753456,timothy1,bajingan,terry1,frenchie,raiden,1mustang,babemagnet,74123698,nadejda,truffles,rapture,douglas1,lamborghini,motocross,rjcvjc,748596,skeeter1,dante1,angel666,telecom,carsten,pietro,bmw318,astro1,carpediem,samir,orang,helium,scirocco,fuzzball,rushmore,rebelz,hotspur,lacrimosa,chevys10,madonna1,domenico,yfnfirf,jachin,shelby1,bloke,dawgs,dunhill,atlanta1,service1,mikado,devilman,angelit,reznor,euphoria,lesbain,checkmat,browndog,phreak,blaze1,crash1,farida,mutter,luckyme,horsemen,vgirl,jediknig,asdas,cesare,allnight,rockey,starlite,truck1,passfan,close-up,samue,cazzo,wrinkles,homely,eatme1,sexpot,snapshot,dima1995,asthma,thetruth,ducky,blender,priyanka,gaucho,dutchman,sizzle,kakarot,651550,passcode,justinbieber,666333,elodie,sanjay,110442,alex01,lotus1,2300mj,lakshmi,zoomer,quake3,12349876,teapot,12345687,ramada,pennywis,striper,pilot1,chingon,optima,nudity,ethan1,euclid,beeline,loyola,biguns,zaq12345,bravo1,disney1,buffa,assmunch,vivid,6661313,wellingt,aqwzsx,madala11,9874123,sigmar,pictere,tiptop,bettyboop,dinero,tahiti,gregory1,bionic,speed1,fubar1,lexus1,denis1,hawthorn,saxman,suntzu,bernhard,dominika,camaro1,hunter12,balboa,bmw2002,seville,diablo1,vfhbyjxrf,1234abc,carling,lockerroom,punani,darth,baron1,vaness,1password,libido,picher,232425,karamba,futyn007,daydream,11001001,dragon123,friends1,bopper,rocky123,chooch,asslover,shimmer,riddler,openme,tugboat,sexy123,midori,gulnara,christo,swatch,laker,offroad,puddles,hackers,mannheim,manager1,horseman,roman1,dancer1,komputer,pictuers,nokia5130,ejaculation,lioness,123456y,evilone,nastenka,pushok,javie,lilman,3141592,mjolnir,toulouse,pussy2,bigworm,smoke420,fullback,extensa,dreamcast,belize,delboy,willie1,casablanca,csyjxtr,ricky1,bonghit,salvator,basher,pussylover,rosie1,963258741,vivitron,cobra427,meonly,armageddon,myfriend,zardoz,qwedsazxc,kraken,fzappa,starfox,333999,illmatic,capoeira,weenie,ramzes,freedom2,toasty,pupkin,shinigami,fhvfutljy,nocturne,churchil,thumbnils,tailgate,neworder,sexymama,goarmy,cerebus,michelle1,vbifyz,surfsup,earthlin,dabulls,basketbal,aligator,mojojojo,saibaba,welcome2,wifes,wdtnjr,12345w,slasher,papabear,terran,footman,hocke,153759,texans,tom123,sfgiants,billabong,aassdd,monolith,xxx777,l3tm31n,ticktock,newone,hellno,japanees,contortionist,admin123,scout1,alabama1,divx1,rochard,privat,radar1,bigdad,fhctybq,tortuga,citrus,avanti,fantasy1,woodstock,s12345,fireman1,embalmer,woodwork,bonzai,konyor,newstart,jigga,panorama,goats,smithy,rugrats,hotmama,daedalus,nonstop,fruitbat,lisenok,quaker,violator,12345123,my3sons,cajun,fraggle,gayboy,oldfart,vulva,knickerless,orgasms,undertow,binky,litle,kfcnjxrf,masturbation,bunnie,alexis1,planner,transexual,sparty,leeloo,monies,fozzie,stinger1,landrove,anakonda,scoobie,yamaha1,henti,star12,rfhlbyfk,beyonce,catfood,cjytxrf,zealots,strat,fordtruc,archangel,silvi,sativa,boogers,miles1,bigjoe,tulip,petite,greentea,shitter,jonboy,voltron,morticia,evanescence,3edc4rfv,longshot,windows1,serge,aabbcc,starbucks,sinful,drywall,prelude1,www123,camel1,homebrew,marlins,123412,letmeinn,domini,swampy,plokij,fordf350,webcam,michele1,bolivi,27731828,wingzero,qawsedrftg,shinji,sverige,jasper1,piper1,cummer,iiyama,gocats,amour,alfarome,jumanji,mike69,fantasti,1monkey,w00t88,shawn1,lorien,1a2s3d4f5g,koleso,murph,natascha,sunkist,kennwort,emine,grinder,m12345,q1q2q3q4,cheeba,money2,qazwsxedc1,diamante,prosto,pdiddy,stinky1,gabby1,luckys,franci,pornographic,moochie,gfhjdjp,samdog,empire1,comicbookdb,emili,motdepasse,iphone,braveheart,reeses,nebula,sanjose,bubba2,kickflip,arcangel,superbow,porsche911,xyzzy,nigger1,dagobert,devil1,alatam,monkey2,barbara1,12345v,vfpfafrf,alessio,babemagn,aceman,arrakis,kavkaz,987789,jasons,berserk,sublime1,rogue1,myspace,buckwhea,csyekz,pussy4me,vette1,boots1,boingo,arnaud,budlite,redstorm,paramore,becky1,imtheman,chango,marley1,milkyway,666555,giveme,mahalo,lux2000,lucian,paddy,praxis,shimano,bigpenis,creeper,newproject2004,rammstei,j3qq4h7h2v,hfljcnm,lambchop,anthony2,bugman,gfhjkm12,dreamer1,stooges,cybersex,diamant,cowboyup,maximus1,sentra,615243,goethe,manhatta,fastcar,selmer,1213141516,yfnfitymrf,denni,chewey,yankee1,elektra,123456789p,trousers,fishface,topspin,orwell,vorona,sodapop,motherfu,ibilltes,forall,kookie,ronald1,balrog,maximilian,mypasswo,sonny1,zzxxcc,tkfkdg,magoo,mdogg,heeled,gitara,lesbos,marajade,tippy,morozova,enter123,lesbean,pounded,asd456,fialka,scarab,sharpie,spanky1,gstring,sachin,12345asd,princeto,hellohel,ursitesux,billows,1234kekc,kombat,cashew,duracell,kseniya,sevenof9,kostik,arthur1,corvet07,rdfhnbhf,songoku,tiberian,needforspeed,1qwert,dropkick,kevin123,panache,libra,a123456a,kjiflm,vfhnsirf,cntgfy,iamcool,narut,buffer,sk8ordie,urlaub,fireblade,blanked,marishka,gemini1,altec,gorillaz,chief1,revival47,ironman1,space1,ramstein,doorknob,devilmaycry,nemesis1,sosiska,pennstat,monday1,pioner,shevchenko,detectiv,evildead,blessed1,aggie,coffees,tical,scotts,bullwink,marsel,krypto,adrock,rjitxrf,asmodeus,rapunzel,theboys,hotdogs,deepthro,maxpayne,veronic,fyyeirf,otter,cheste,abbey1,thanos,bedrock,bartok,google1,xxxzzz,rodent,montecarlo,hernande,mikayla,123456789l,bravehea,12locked,ltymub,pegasus1,ameteur,saltydog,faisal,milfnew,momsuck,everques,ytngfhjkz,m0nkey,businessbabe,cooki,custard,123456ab,lbvjxrf,outlaws,753357,qwerty78,udacha,insider,chees,fuckmehard,shotokan,katya,seahorse,vtldtlm,turtle1,mike12,beebop,heathe,everton1,darknes,barnie,rbcekz,alisher,toohot,theduke,555222,reddog1,breezy,bulldawg,monkeyman,baylee,losangel,mastermi,apollo1,aurelie,zxcvb12345,cayenne,bastet,wsxzaq,geibcnbr,yello,fucmy69,redwall,ladybird,bitchs,cccccc1,rktjgfnhf,ghjdthrf,quest1,oedipus,linus,impalass,fartman,12345k,fokker,159753a,optiplex,bbbbbb1,realtor,slipkno,santacru,rowdy,jelena,smeller,3984240,ddddd1,sexyme,janet1,3698741,eatme69,cazzone,today1,poobear,ignatius,master123,newpass1,heather2,snoopdogg,blondinka,pass12,honeydew,fuckthat,890098890,lovem,goldrush,gecko,biker1,llama,pendejo,avalanche,fremont,snowman1,gandolf,chowder,1a2b3c4d5e,flyguy,magadan,1fuck,pingvin,nokia5230,ab1234,lothar,lasers,bignuts,renee1,royboy,skynet,12340987,1122334,dragrace,lovely1,22334455,booter,12345612,corvett,123456qq,capital1,videoes,funtik,wyvern,flange,sammydog,hulkster,13245768,not4you,vorlon,omegared,l58jkdjp!,filippo,123mudar,samadams,petrus,chris12,charlie123,123456789123,icetea,sunderla,adrian1,123qweas,kazanova,aslan,monkey123,fktyeirf,goodsex,123ab,lbtest,banaan,bluenose,837519,asd12345,waffenss,whateve,1a2a3a4a,trailers,vfhbirf,bhbcrf,klaatu,turk182,monsoon,beachbum,sunbeam,succes,clyde1,viking1,rawhide,bubblegum,princ,mackenzi,hershey1,222555,dima55,niggaz,manatee,aquila,anechka,pamel,bugsbunn,lovel,sestra,newport1,althor,hornyman,wakeup,zzz111,phishy,cerber,torrent,thething,solnishko,babel,buckeye1,peanu,ethernet,uncencored,baraka,665544,chris2,rb26dett,willy1,choppers,texaco,biggirl,123456b,anna2614,sukebe,caralho,callofduty,rt6ytere,jesus7,angel12,1money,timelord,allblack,pavlova,romanov,tequiero,yitbos,lookup,bulls23,snowflake,dickweed,barks,lever,irisha,firestar,fred1234,ghjnjnbg,danman,gatito,betty1,milhouse,kbctyjr,masterbaiting,delsol,papit,doggys,123698741,bdfyjdf,invictus,bloods,kayla1,yourmama,apple2,angelok,bigboy1,pontiac1,verygood,yeshua,twins2,porn4me,141516,rasta69,james2,bosshog,candys,adventur,stripe,djkjlz,dokken,austin316,skins,hogwarts,vbhevbh,navigato,desperado,xxx666,cneltyn,vasiliy,hazmat,daytek,eightbal,fred1,four20,74227422,fabia,aerosmith,manue,wingchun,boohoo,hombre,sanity72,goatboy,fuckm,partizan,avrora,utahjazz,submarin,pussyeat,heinlein,control1,costaric,smarty,chuan,triplets,snowy,snafu,teacher1,vangogh,vandal,evergree,cochise,qwerty99,pyramid1,saab900,sniffer,qaz741,lebron23,mark123,wolvie,blackbelt,yoshi,feeder,janeway,nutella,fuking,asscock,deepak,poppie,bigshow,housewife,grils,tonto,cynthia1,temptress,irakli,belle1,russell1,manders,frank123,seabass,gforce,songbird,zippy1,naught,brenda1,chewy1,hotshit,topaz,43046721,girfriend,marinka,jakester,thatsme,planeta,falstaff,patrizia,reborn,riptide,cherry1,shuan,nogard,chino,oasis1,qwaszx12,goodlife,davis1,1911a1,harrys,shitfuck,12345678900,russian7,007700,bulls1,porshe,danil,dolphi,river1,sabaka,gobigred,deborah1,volkswagen,miamo,alkaline,muffdive,1letmein,fkbyrf,goodguy,hallo1,nirvan,ozzie,cannonda,cvbhyjdf,marmite,germany1,joeblow,radio1,love11,raindrop,159852,jacko,newday,fathead,elvis123,caspe,citibank,sports1,deuce,boxter,fakepass,golfman,snowdog,birthday4,nonmembe,niklas,parsifal,krasota,theshit,1235813,maganda,nikita1,omicron,cassie1,columbo,buick,sigma1,thistle,bassin,rickster,apteka,sienna,skulls,miamor,coolgirl,gravis,1qazxc,virgini,hunter2,akasha,batma,motorcyc,bambino,tenerife,fordf250,zhuan,iloveporn,markiza,hotbabes,becool,fynjybyf,wapapapa,forme,mamont,pizda,dragonz,sharon1,scrooge,mrbill,pfloyd,leeroy,natedog,ishmael,777111,tecumseh,carajo,nfy.irf,0000000000o,blackcock,fedorov,antigone,feanor,novikova,bobert,peregrin,spartan117,pumkin,rayman,manuals,tooltime,555333,bonethug,marina1,bonnie1,tonyhawk,laracroft,mahalkita,18273645,terriers,gamer,hoser,littlema,molotok,glennwei,lemon1,caboose,tater,12345654321,brians,fritz1,mistral,jigsaw,fuckshit,hornyguy,southside,edthom,antonio1,bobmarle,pitures,ilikesex,crafty,nexus,boarder,fulcrum,astonvil,yanks1,yngwie,account1,zooropa,hotlegs,sammi,gumbo,rover1,perkele,maurolarastefy,lampard,357753,barracud,dmband,abcxyz,pathfinder,335577,yuliya,micky,jayman,asdfg12345,1596321,halcyon,rerfhtre,feniks,zaxscd,gotyoass,jaycee,samson1,jamesb,vibrate,grandpri,camino,colossus,davidb,mamo4ka,nicky1,homer123,pinguin,watermelon,shadow01,lasttime,glider,823762,helen1,pyramids,tulane,osama,rostov,john12,scoote,bhbyrf,gohan,galeries,joyful,bigpussy,tonka,mowgli,astalavista,zzz123,leafs,dalejr8,unicorn1,777000,primal,bigmama,okmijn,killzone,qaz12345,snookie,zxcvvcxz,davidc,epson,rockman,ceaser,beanbag,katten,3151020,duckhunt,segreto,matros,ragnar,699669,sexsexse,123123z,fuckyeah,bigbutts,gbcmrf,element1,marketin,saratov,elbereth,blaster1,yamahar6,grime,masha,juneau,1230123,pappy,lindsay1,mooner,seattle1,katzen,lucent,polly1,lagwagon,pixie,misiaczek,666666a,smokedog,lakers24,eyeball,ironhors,ametuer,volkodav,vepsrf,kimmy,gumby1,poi098,ovation,1q2w3,drinker,penetrating,summertime,1dallas,prima,modles,takamine,hardwork,macintosh,tahoe,passthie,chiks,sundown,flowers1,boromir,music123,phaedrus,albert1,joung,malakas,gulliver,parker1,balder,sonne,jessie1,domainlock2005,express1,vfkbyf,youandme,raketa,koala,dhjnvytyjub,nhfrnjh,testibil,ybrbnjc,987654321q,axeman,pintail,pokemon123,dogggg,shandy,thesaint,11122233,x72jhhu3z,theclash,raptors,zappa1,djdjxrf,hell666,friday1,vivaldi,pluto1,lance1,guesswho,jeadmi,corgan,skillz,skippy1,mango1,gymnastic,satori,362514,theedge,cxfcnkbdfz,sparkey,deicide,bagels,lololol,lemmings,r4e3w2q1,silve,staind,schnuffi,dazzle,basebal1,leroy1,bilbo1,luckie,qwerty2,goodfell,hermione,peaceout,davidoff,yesterda,killah,flippy,chrisb,zelda1,headless,muttley,fuckof,tittys,catdaddy,photog,beeker,reaver,ram1500,yorktown,bolero,tryagain,arman,chicco,learjet,alexei,jenna1,go2hell,12s3t4p55,momsanaladventure,mustang9,protoss,rooter,ginola,dingo1,mojave,erica1,1qazse4,marvin1,redwolf,sunbird,dangerou,maciek,girsl,hawks1,packard1,excellen,dashka,soleda,toonces,acetate,nacked,jbond007,alligator,debbie1,wellhung,monkeyma,supers,rigger,larsson,vaseline,rjnzhf,maripos,123456asd,cbr600rr,doggydog,cronic,jason123,trekker,flipmode,druid,sonyvaio,dodges,mayfair,mystuff,fun4me,samanta,sofiya,magics,1ranger,arcane,sixtynin,222444,omerta,luscious,gbyudby,bobcats,envision,chance1,seaweed,holdem,tomate,mensch,slicer,acura1,goochi,qweewq,punter,repoman,tomboy,never1,cortina,gomets,147896321,369852147,dogma,bhjxrf,loglatin,eragon,strato,gazelle,growler,885522,klaudia,payton34,fuckem,butchie,scorpi,lugano,123456789k,nichola,chipper1,spide,uhbujhbq,rsalinas,vfylfhby,longhorns,bugatti,everquest,!qaz2wsx,blackass,999111,snakeman,p455w0rd,fanatic,family1,pfqxbr,777vlad,mysecret,marat,phoenix2,october1,genghis,panties1,cooker,citron,ace123,1234569,gramps,blackcoc,kodiak1,hickory,ivanhoe,blackboy,escher,sincity,beaks,meandyou,spaniel,canon1,timmy1,lancaste,polaroid,edinburg,fuckedup,hotman,cueball,golfclub,gopack,bookcase,worldcup,dkflbvbhjdbx,twostep,17171717aa,letsplay,zolushka,stella1,pfkegf,kingtut,67camaro,barracuda,wiggles,gjhjkm,prancer,patata,kjifhf,theman1,romanova,sexyass,copper1,dobber,sokolov,pomidor,algernon,cadman,amoremio,william2,silly1,bobbys,hercule,hd764nw5d7e1vb1,defcon,deutschland,robinhood,alfalfa,machoman,lesbens,pandora1,easypay,tomservo,nadezhda,goonies,saab9000,jordyn,f15eagle,dbrecz,12qwerty,greatsex,thrawn,blunted,baywatch,doggystyle,loloxx,chevy2,january1,kodak,bushel,78963214,ub6ib9,zz8807zpl,briefs,hawker,224488,first1,bonzo,brent1,erasure,69213124,sidewind,soccer13,622521,mentos,kolibri,onepiece,united1,ponyboy,keksa12,wayer,mypussy,andrej,mischa,mille,bruno123,garter,bigpun,talgat,familia,jazzy1,mustang8,newjob,747400,bobber,blackbel,hatteras,ginge,asdfjkl;,camelot1,blue44,rebbyt34,ebony1,vegas123,myboys,aleksander,ijrjkflrf,lopata,pilsner,lotus123,m0nk3y,andreev,freiheit,balls1,drjynfrnt,mazda1,waterpolo,shibumi,852963,123bbb,cezer121,blondie1,volkova,rattler,kleenex,ben123,sanane,happydog,satellit,qazplm,qazwsxedcrfvtgb,meowmix,badguy,facefuck,spice1,blondy,major1,25000,anna123,654321a,sober1,deathrow,patterso,china1,naruto1,hawkeye1,waldo1,butchy,crayon,5tgb6yhn,klopik,crocodil,mothra,imhorny,pookie1,splatter,slippy,lizard1,router,buratino,yahweh,123698,dragon11,123qwe456,peepers,trucker1,ganjaman,1hxboqg2,cheyanne,storys,sebastie,zztop,maddison,4rfv3edc,darthvader,jeffro,iloveit,victor1,hotty,delphin,lifeisgood,gooseman,shifty,insertions,dude123,abrupt,123masha,boogaloo,chronos,stamford,pimpster,kthjxrf,getmein,amidala,flubber,fettish,grapeape,dantes,oralsex,jack1,foxcg33,winchest,francis1,getin,archon,cliffy,blueman,1basebal,sport1,emmitt22,porn123,bignasty,morga,123hfjdk147,ferrar,juanito,fabiol,caseydog,steveo,peternorth,paroll,kimchi,bootleg,gaijin,secre,acacia,eatme2,amarillo,monkey11,rfhfgep,tylers,a1a2a3a4a5,sweetass,blower,rodina,babushka,camilo,cimbom,tiffan,vfnbkmlf,ohbaby,gotigers,lindsey1,dragon13,romulus,qazxsw12,zxcvbn1,dropdead,hitman47,snuggle,eleven11,bloopers,357mag,avangard,bmw320,ginscoot,dshade,masterkey,voodoo1,rootedit,caramba,leahcim,hannover,8phrowz622,tim123,cassius,000000a,angelito,zzzzz1,badkarma,star1,malaga,glenwood,footlove,golf1,summer12,helpme1,fastcars,titan1,police1,polinka,k.jdm,marusya,augusto,shiraz,pantyhose,donald1,blaise,arabella,brigada,c3por2d2,peter01,marco1,hellow,dillweed,uzumymw,geraldin,loveyou2,toyota1,088011,gophers,indy500,slainte,5hsu75kpot,teejay,renat,racoon,sabrin,angie1,shiznit,harpua,sexyred,latex,tucker1,alexandru,wahoo,teamwork,deepblue,goodison,rundmc,r2d2c3p0,puppys,samba,ayrton,boobed,999777,topsecre,blowme1,123321z,loudog,random1,pantie,drevil,mandolin,121212q,hottub,brother1,failsafe,spade1,matvey,open1234,carmen1,priscill,schatzi,kajak,gooddog,trojans1,gordon1,kayak,calamity,argent,ufhvjybz,seviyi,penfold,assface,dildos,hawkwind,crowbar,yanks,ruffles,rastus,luv2epus,open123,aquafina,dawns,jared1,teufel,12345c,vwgolf,pepsi123,amores,passwerd,01478520,boliva,smutty,headshot,password3,davidd,zydfhm,gbgbcmrf,pornpass,insertion,ceckbr,test2,car123,checkit,dbnfkbq,niggas,nyyankee,muskrat,nbuhtyjr,gunner1,ocean1,fabienne,chrissy1,wendys,loveme89,batgirl,cerveza,igorek,steel1,ragman,boris123,novifarm,sexy12,qwerty777,mike01,giveitup,123456abc,fuckall,crevice,hackerz,gspot,eight8,assassins,texass,swallows,123458,baldur,moonshine,labatt,modem,sydney1,voland,dbnfkz,hotchick,jacker,princessa,dawgs1,holiday1,booper,reliant,miranda1,jamaica1,andre1,badnaamhere,barnaby,tiger7,david12,margaux,corsica,085tzzqi,universi,thewall,nevermor,martin6,qwerty77,cipher,apples1,0102030405,seraphim,black123,imzadi,gandon,ducati99,1shadow,dkflbvbhjdyf,44magnum,bigbad,feedme,samantha1,ultraman,redneck1,jackdog,usmc0311,fresh1,monique1,tigre,alphaman,cool1,greyhoun,indycar,crunchy,55chevy,carefree,willow1,063dyjuy,xrated,assclown,federica,hilfiger,trivia,bronco1,mamita,100200300,simcity,lexingky,akatsuki,retsam,johndeere,abudfv,raster,elgato,businka,satanas,mattingl,redwing1,shamil,patate,mannn,moonstar,evil666,b123456,bowl300,tanechka,34523452,carthage,babygir,santino,bondarenko,jesuss,chico1,numlock,shyguy,sound1,kirby1,needit,mostwanted,427900,funky1,steve123,passions,anduril,kermit1,prospero,lusty,barakuda,dream1,broodwar,porky,christy1,mahal,yyyyyy1,allan1,1sexy,flintsto,capri,cumeater,heretic,robert2,hippos,blindax,marykay,collecti,kasumi,1qaz!qaz,112233q,123258,chemistr,coolboy,0o9i8u,kabuki,righton,tigress,nessie,sergej,andrew12,yfafyz,ytrhjvfyn,angel7,victo,mobbdeep,lemming,transfor,1725782,myhouse,aeynbr,muskie,leno4ka,westham1,cvbhyjd,daffodil,pussylicker,pamela1,stuffer,warehous,tinker1,2w3e4r,pluton,louise1,polarbea,253634,prime1,anatoliy,januar,wysiwyg,cobraya,ralphy,whaler,xterra,cableguy,112233a,porn69,jamesd,aqualung,jimmy123,lumpy,luckyman,kingsize,golfing1,alpha7,leeds1,marigold,lol1234,teabag,alex11,10sne1,saopaulo,shanny,roland1,basser,3216732167,carol1,year2005,morozov,saturn1,joseluis,bushed,redrock,memnoch,lalaland,indiana1,lovegod,gulnaz,buffalos,loveyou1,anteater,pattaya,jaydee,redshift,bartek,summerti,coffee1,ricochet,incest,schastie,rakkaus,h2opolo,suikoden,perro,dance1,loveme1,whoopass,vladvlad,boober,flyers1,alessia,gfcgjhn,pipers,papaya,gunsling,coolone,blackie1,gonads,gfhjkzytn,foxhound,qwert12,gangrel,ghjvtntq,bluedevi,mywife,summer01,hangman,licorice,patter,vfr750,thorsten,515253,ninguna,dakine,strange1,mexic,vergeten,12345432,8phrowz624,stampede,floyd1,sailfish,raziel,ananda,giacomo,freeme,crfprf,74185296,allstars,master01,solrac,gfnhbjn,bayliner,bmw525,3465xxx,catter,single1,michael3,pentium4,nitrox,mapet123456,halibut,killroy,xxxxx1,phillip1,poopsie,arsenalfc,buffys,kosova,all4me,32165498,arslan,opensesame,brutis,charles2,pochta,nadegda,backspac,mustang0,invis,gogeta,654321q,adam25,niceday,truckin,gfdkbr,biceps,sceptre,bigdave,lauras,user345,sandys,shabba,ratdog,cristiano,natha,march13,gumball,getsdown,wasdwasd,redhead1,dddddd1,longlegs,13572468,starsky,ducksoup,bunnys,omsairam,whoami,fred123,danmark,flapper,swanky,lakings,yfhenj,asterios,rainier,searcher,dapper,ltdjxrf,horsey,seahawk,shroom,tkfkdgo,aquaman,tashkent,number9,messi10,1asshole,milenium,illumina,vegita,jodeci,buster01,bareback,goldfinger,fire1,33rjhjds,sabian,thinkpad,smooth1,sully,bonghits,sushi1,magnavox,colombi,voiture,limpone,oldone,aruba,rooster1,zhenya,nomar5,touchdow,limpbizkit,rhfcfdxbr,baphomet,afrodita,bball1,madiso,ladles,lovefeet,matthew2,theworld,thunderbird,dolly1,123rrr,forklift,alfons,berkut,speedy1,saphire,oilman,creatine,pussylov,bastard1,456258,wicked1,filimon,skyline1,fucing,yfnfkbz,hot123,abdulla,nippon,nolimits,billiard,booty1,buttplug,westlife,coolbean,aloha1,lopas,asasin,1212121,october2,whodat,good4u,d12345,kostas,ilya1992,regal,pioneer1,volodya,focus1,bastos,nbvjif,fenix,anita1,vadimka,nickle,jesusc,123321456,teste,christ1,essendon,evgenii,celticfc,adam1,forumwp,lovesme,26exkp,chillout,burly,thelast1,marcus1,metalgear,test11,ronaldo7,socrate,world1,franki,mommie,vicecity,postov1000,charlie3,oldschool,333221,legoland,antoshka,counterstrike,buggy,mustang3,123454,qwertzui,toons,chesty,bigtoe,tigger12,limpopo,rerehepf,diddle,nokia3250,solidsnake,conan1,rockroll,963369,titanic1,qwezxc,cloggy,prashant,katharin,maxfli,takashi,cumonme,michael9,mymother,pennstate,khalid,48151623,fightclub,showboat,mateusz,elrond,teenie,arrow1,mammamia,dustydog,dominator,erasmus,zxcvb1,1a2a3a,bones1,dennis1,galaxie,pleaseme,whatever1,junkyard,galadriel,charlies,2wsxzaq1,crimson1,behemoth,teres,master11,fairway,shady1,pass99,1batman,joshua12,baraban,apelsin,mousepad,melon,twodogs,123321qwe,metalica,ryjgrf,pipiska,rerfhfxf,lugnut,cretin,iloveu2,powerade,aaaaaaa1,omanko,kovalenko,isabe,chobits,151nxjmt,shadow11,zcxfcnkbdf,gy3yt2rgls,vfhbyrf,159753123,bladerunner,goodone,wonton,doodie,333666999,fuckyou123,kitty123,chisox,orlando1,skateboa,red12345,destroye,snoogans,satan1,juancarlo,goheels,jetson,scottt,fuckup,aleksa,gfhfljrc,passfind,oscar123,derrick1,hateme,viper123,pieman,audi100,tuffy,andover,shooter1,10000,makarov,grant1,nighthaw,13576479,browneye,batigol,nfvfhf,chocolate1,7hrdnw23,petter,bantam,morlii,jediknight,brenden,argonaut,goodstuf,wisconsi,315920,abigail1,dirtbag,splurge,k123456,lucky777,valdepen,gsxr600,322223,ghjnjrjk,zaq1xsw2cde3,schwanz,walter1,letmein22,nomads,124356,codeblue,nokian70,fucke,footbal1,agyvorc,aztecs,passw0r,smuggles,femmes,ballgag,krasnodar,tamuna,schule,sixtynine,empires,erfolg,dvader,ladygaga,elite1,venezuel,nitrous,kochamcie,olivia1,trustn01,arioch,sting1,131415,tristar,555000,maroon,135799,marsik,555556,fomoco,natalka,cwoui,tartan,davecole,nosferat,hotsauce,dmitry,horus,dimasik,skazka,boss302,bluebear,vesper,ultras,tarantul,asd123asd,azteca,theflash,8ball,1footbal,titlover,lucas123,number6,sampson1,789852,party1,dragon99,adonai,carwash,metropol,psychnau,vthctltc,hounds,firework,blink18,145632,wildcat1,satchel,rice80,ghtktcnm,sailor1,cubano,anderso,rocks1,mike11,famili,dfghjc,besiktas,roygbiv,nikko,bethan,minotaur,rakesh,orange12,hfleuf,jackel,myangel,favorite7,1478520,asssss,agnieszka,haley1,raisin,htubyf,1buster,cfiekz,derevo,1a2a3a4a5a,baltika,raffles,scruffy1,clitlick,louis1,buddha1,fy.nrf,walker1,makoto,shadow2,redbeard,vfvfvskfhfve,mycock,sandydog,lineman,network1,favorite8,longdick,mustangg,mavericks,indica,1killer,cisco1,angelofwar,blue69,brianna1,bubbaa,slayer666,level42,baldrick,brutus1,lowdown,haribo,lovesexy,500000,thissuck,picker,stephy,1fuckme,characte,telecast,1bigdog,repytwjdf,thematrix,hammerhe,chucha,ganesha,gunsmoke,georgi,sheltie,1harley,knulla,sallas,westie,dragon7,conker,crappie,margosha,lisboa,3e2w1q,shrike,grifter,ghjcnjghjcnj,asdfg1,mnbvcxz1,myszka,posture,boggie,rocketman,flhtyfkby,twiztid,vostok,pi314159,force1,televizor,gtkmvtym,samhain,imcool,jadzia,dreamers,strannik,k2trix,steelhea,nikitin,commodor,brian123,chocobo,whopper,ibilljpf,megafon,ararat,thomas12,ghbrjkbcn,q1234567890,hibernia,kings1,jim123,redfive,68camaro,iawgk2,xavier1,1234567u,d123456,ndirish,airborn,halfmoon,fluffy1,ranchero,sneaker,soccer2,passion1,cowman,birthday1,johnn,razzle,glock17,wsxqaz,nubian,lucky2,jelly1,henderso,eric1,123123e,boscoe01,fuck0ff,simpson1,sassie,rjyjgkz,nascar3,watashi,loredana,janus,wilso,conman,david2,mothe,iloveher,snikers,davidj,fkmnthyfnbdf,mettss,ratfink,123456h,lostsoul,sweet16,brabus,wobble,petra1,fuckfest,otters,sable1,svetka,spartacu,bigstick,milashka,1lover,pasport,champagn,papichul,hrvatska,hondacivic,kevins,tacit,moneybag,gohogs,rasta1,246813579,ytyfdbcnm,gubber,darkmoon,vitaliy,233223,playboys,tristan1,joyce1,oriflame,mugwump,access2,autocad,thematri,qweqwe123,lolwut,ibill01,multisyn,1233211,pelikan,rob123,chacal,1234432,griffon,pooch,dagestan,geisha,satriani,anjali,rocketma,gixxer,pendrago,vincen,hellokit,killyou,ruger,doodah,bumblebe,badlands,galactic,emachines,foghorn,jackso,jerem,avgust,frontera,123369,daisymae,hornyboy,welcome123,tigger01,diabl,angel13,interex,iwantsex,rockydog,kukolka,sawdust,online1,3234412,bigpapa,jewboy,3263827,dave123,riches,333222,tony1,toggle,farter,124816,tities,balle,brasilia,southsid,micke,ghbdtn12,patit,ctdfcnjgjkm,olds442,zzzzzz1,nelso,gremlins,gypsy1,carter1,slut69,farcry,7415963,michael8,birdie1,charl,123456789abc,100001,aztec,sinjin,bigpimpi,closeup,atlas1,nvidia,doggone,classic1,manana,malcolm1,rfkbyf,hotbabe,rajesh,dimebag,ganjubas,rodion,jagr68,seren,syrinx,funnyman,karapuz,123456789n,bloomin,admin18533362,biggdogg,ocarina,poopy1,hellome,internet1,booties,blowjobs,matt1,donkey1,swede,1jennife,evgeniya,lfhbyf,coach1,444777,green12,patryk,pinewood,justin12,271828,89600506779,notredame,tuborg,lemond,sk8ter,million1,wowser,pablo1,st0n3,jeeves,funhouse,hiroshi,gobucs,angeleye,bereza,winter12,catalin,qazedc,andros,ramazan,vampyre,sweethea,imperium,murat,jamest,flossy,sandeep,morgen,salamandra,bigdogg,stroller,njdevils,nutsack,vittorio,%%passwo,playful,rjyatnrf,tookie,ubnfhf,michi,777444,shadow13,devils1,radiance,toshiba1,beluga,amormi,dandfa,trust1,killemall,smallville,polgara,billyb,landscap,steves,exploite,zamboni,damage11,dzxtckfd,trader12,pokey1,kobe08,damager,egorov,dragon88,ckfdbr,lisa69,blade2,audis4,nelson1,nibbles,23176djivanfros,mutabor,artofwar,matvei,metal666,hrfzlz,schwinn,poohbea,seven77,thinker,123456789qwerty,sobriety,jakers,karamelka,vbkfyf,volodin,iddqd,dale03,roberto1,lizaveta,qqqqqq1,cathy1,08154711,davidm,quixote,bluenote,tazdevil,katrina1,bigfoot1,bublik,marma,olechka,fatpussy,marduk,arina,nonrev67,qqqq1111,camill,wtpfhm,truffle,fairview,mashina,voltaire,qazxswedcvfr,dickface,grassy,lapdance,bosstone,crazy8,yackwin,mobil,danielit,mounta1n,player69,bluegill,mewtwo,reverb,cnthdf,pablito,a123321,elena1,warcraft1,orland,ilovemyself,rfntyjr,joyride,schoo,dthjxrf,thetachi,goodtimes,blacksun,humpty,chewbacca,guyute,123xyz,lexicon,blue45,qwe789,galatasaray,centrino,hendrix1,deimos,saturn5,craig1,vlad1996,sarah123,tupelo,ljrnjh,hotwife,bingos,1231231,nicholas1,flamer,pusher,1233210,heart1,hun999,jiggy,giddyup,oktober,123456zxc,budda,galahad,glamur,samwise,oneton,bugsbunny,dominic1,scooby2,freetime,internat,159753852,sc00ter,wantit,mazinger,inflames,laracrof,greedo,014789,godofwar,repytwjd,water123,fishnet,venus1,wallace1,tenpin,paula1,1475963,mania,novikov,qwertyasdfgh,goldmine,homies,777888999,8balls,holeinon,paper1,samael,013579,mansur,nikit,ak1234,blueline,polska1,hotcock,laredo,windstar,vbkbwbz,raider1,newworld,lfybkrf,catfish1,shorty1,piranha,treacle,royale,2234562,smurfs,minion,cadence,flapjack,123456p,sydne,135531,robinhoo,nasdaq,decatur,cyberonline,newage,gemstone,jabba,touchme,hooch,pigdog,indahous,fonzie,zebra1,juggle,patrick2,nihongo,hitomi,oldnavy,qwerfdsa,ukraina,shakti,allure,kingrich,diane1,canad,piramide,hottie1,clarion,college1,5641110,connect1,therion,clubber,velcro,dave1,astra1,13579-,astroboy,skittle,isgreat,photoes,cvzefh1gkc,001100,2cool4u,7555545,ginger12,2wsxcde3,camaro69,invader,domenow,asd1234,colgate,qwertasdfg,jack123,pass01,maxman,bronte,whkzyc,peter123,bogie,yecgaa,abc321,1qay2wsx,enfield,camaroz2,trashman,bonefish,system32,azsxdcfvgb,peterose,iwantyou,dick69,temp1234,blastoff,capa200,connie1,blazin,12233445,sexybaby,123456j,brentfor,pheasant,hommer,jerryg,thunders,august1,lager,kapusta,boobs1,nokia5300,rocco1,xytfu7,stars1,tugger,123sas,blingbling,1bubba,0wnsyo0,1george,baile,richard2,habana,1diamond,sensatio,1golfer,maverick1,1chris,clinton1,michael7,dragons1,sunrise1,pissant,fatim,mopar1,levani,rostik,pizzapie,987412365,oceans11,748159263,cum4me,palmetto,4r3e2w1q,paige1,muncher,arsehole,kratos,gaffer,banderas,billys,prakash,crabby,bungie,silver12,caddis,spawn1,xboxlive,sylvania,littlebi,524645,futura,valdemar,isacs155,prettygirl,big123,555444,slimer,chicke,newstyle,skypilot,sailormoon,fatluvr69,jetaime,sitruc,jesuschrist,sameer,bear12,hellion,yendor,country1,etnies,conejo,jedimast,darkknight,toobad,yxcvbn,snooks,porn4life,calvary,alfaromeo,ghostman,yannick,fnkfynblf,vatoloco,homebase,5550666,barret,1111111111zz,odysseus,edwardss,favre4,jerrys,crybaby,xsw21qaz,firestor,spanks,indians1,squish,kingair,babycakes,haters,sarahs,212223,teddyb,xfactor,cumload,rhapsody,death123,three3,raccoon,thomas2,slayer66,1q2q3q4q5q,thebes,mysterio,thirdeye,orkiox.,nodoubt,bugsy,schweiz,dima1996,angels1,darkwing,jeronimo,moonpie,ronaldo9,peaches2,mack10,manish,denise1,fellowes,carioca,taylor12,epaulson,makemoney,oc247ngucz,kochanie,3edcvfr4,vulture,1qw23e,1234567z,munchie,picard1,xthtgfirf,sportste,psycho1,tahoe1,creativ,perils,slurred,hermit,scoob,diesel1,cards1,wipeout,weeble,integra1,out3xf,powerpc,chrism,kalle,ariadne,kailua,phatty,dexter1,fordman,bungalow,paul123,compa,train1,thejoker,jys6wz,pussyeater,eatmee,sludge,dominus,denisa,tagheuer,yxcvbnm,bill1,ghfdlf,300zx,nikita123,carcass,semaj,ramone,muenchen,animal1,greeny,annemari,dbrf134,jeepcj7,mollys,garten,sashok,ironmaid,coyotes,astoria,george12,westcoast,primetim,123456o,panchito,rafae,japan1,framer,auralo,tooshort,egorova,qwerty22,callme,medicina,warhawk,w1w2w3w4,cristia,merli,alex22,kawaii,chatte,wargames,utvols,muaddib,trinket,andreas1,jjjjj1,cleric,scooters,cuntlick,gggggg1,slipknot1,235711,handcuff,stussy,guess1,leiceste,ppppp1,passe,lovegun,chevyman,hugecock,driver1,buttsex,psychnaut1,cyber1,black2,alpha12,melbourn,man123,metalman,yjdsqujl,blondi,bungee,freak1,stomper,caitlin1,nikitina,flyaway,prikol,begood,desperad,aurelius,john1234,whosyourdaddy,slimed123,bretagne,den123,hotwheel,king123,roodypoo,izzicam,save13tx,warpten,nokia3310,samolet,ready1,coopers,scott123,bonito,1aaaaa,yomomma,dawg1,rache,itworks,asecret,fencer,451236,polka,olivetti,sysadmin,zepplin,sanjuan,479373,lickem,hondacrx,pulamea,future1,naked1,sexyguy,w4g8at,lollol1,declan,runner1,rumple,daddy123,4snz9g,grandprix,calcio,whatthefuck,nagrom,asslick,pennst,negrit,squiggy,1223334444,police22,giovann,toronto1,tweet,yardbird,seagate,truckers,554455,scimitar,pescator,slydog,gaysex,dogfish,fuck777,12332112,qazxswed,morkovka,daniela1,imback,horny69,789123456,123456789w,jimmy2,bagger,ilove69,nikolaus,atdhfkm,rebirth,1111aaaa,pervasive,gjgeufq,dte4uw,gfhnbpfy,skeletor,whitney1,walkman,delorean,disco1,555888,as1234,ishikawa,fuck12,reaper1,dmitrii,bigshot,morrisse,purgen,qwer4321,itachi,willys,123123qwe,kisska,roma123,trafford,sk84life,326159487,pedros,idiom,plover,bebop,159875321,jailbird,arrowhea,qwaszx123,zaxscdvf,catlover,bakers,13579246,bones69,vermont1,helloyou,simeon,chevyz71,funguy,stargaze,parolparol,steph1,bubby,apathy,poppet,laxman,kelly123,goodnews,741236,boner1,gaetano,astonvilla,virtua,luckyboy,rocheste,hello2u,elohim,trigger1,cstrike,pepsicola,miroslav,96385274,fistfuck,cheval,magyar,svetlanka,lbfyjxrf,mamedov,123123123q,ronaldo1,scotty1,1nicole,pittbull,fredd,bbbbb1,dagwood,gfhkfvtyn,ghblehrb,logan5,1jordan,sexbomb,omega2,montauk,258741,dtythf,gibbon,winamp,thebomb,millerli,852654,gemin,baldy,halflife2,dragon22,mulberry,morrigan,hotel6,zorglub,surfin,951159,excell,arhangel,emachine,moses1,968574,reklama,bulldog2,cuties,barca,twingo,saber,elite11,redtruck,casablan,ashish,moneyy,pepper12,cnhtktw,rjcnbr,arschloch,phenix,cachorro,sunita,madoka,joselui,adams1,mymoney,hemicuda,fyutkjr,jake12,chicas,eeeee1,sonnyboy,smarties,birdy,kitten1,cnfcbr,island1,kurosaki,taekwond,konfetka,bennett1,omega3,jackson2,fresca,minako,octavian,kban667,feyenoord,muaythai,jakedog,fktrcfylhjdyf,1357911q,phuket,sexslave,fktrcfylhjdbx,asdfjk,89015173454,qwerty00,kindbud,eltoro,sex6969,nyknicks,12344321q,caballo,evenflow,hoddle,love22,metro1,mahalko,lawdog,tightass,manitou,buckie,whiskey1,anton123,335533,password4,primo,ramair,timbo,brayden,stewie,pedro1,yorkshir,ganster,hellothe,tippy1,direwolf,genesi,rodrig,enkeli,vaz21099,sorcerer,winky,oneshot,boggle,serebro,badger1,japanes,comicbook,kamehame,alcat,denis123,echo45,sexboy,gr8ful,hondo,voetbal,blue33,2112rush,geneviev,danni1,moosey,polkmn,matthew7,ironhead,hot2trot,ashley12,sweeper,imogen,blue21,retep,stealth1,guitarra,bernard1,tatian,frankfur,vfnhbwf,slacking,haha123,963741,asdasdas,katenok,airforce1,123456789qaz,shotgun1,12qwasz,reggie1,sharo,976431,pacifica,dhip6a,neptun,kardon,spooky1,beaut,555555a,toosweet,tiedup,11121314,startac,lover69,rediska,pirata,vfhrbp,1234qwerty,energize,hansolo1,playbo,larry123,oemdlg,cnjvfnjkju,a123123,alexan,gohawks,antonius,fcbayern,mambo,yummy1,kremlin,ellen1,tremere,vfiekz,bellevue,charlie9,izabella,malishka,fermat,rotterda,dawggy,becket,chasey,kramer1,21125150,lolit,cabrio,schlong,arisha,verity,3some,favorit,maricon,travelle,hotpants,red1234,garrett1,home123,knarf,seven777,figment,asdewq,canseco,good2go,warhol,thomas01,pionee,al9agd,panacea,chevy454,brazzers,oriole,azerty123,finalfan,patricio,northsta,rebelde,bulldo,stallone,boogie1,7uftyx,cfhfnjd,compusa,cornholi,config,deere,hoopster,sepultura,grasshop,babygurl,lesbo,diceman,proverbs,reddragon,nurbek,tigerwoo,superdup,buzzsaw,kakaroto,golgo13,edwar,123qaz123,butter1,sssss1,texas2,respekt,ou812ic,123456qaz,55555a,doctor1,mcgwire,maria123,aol999,cinders,aa1234,joness,ghbrjkmyj,makemone,sammyboy,567765,380zliki,theraven,testme,mylene,elvira26,indiglo,tiramisu,shannara,baby1,123666,gfhreh,papercut,johnmish,orange8,bogey1,mustang7,bagpipes,dimarik,vsijyjr,4637324,ravage,cogito,seven11,natashka,warzone,hr3ytm,4free,bigdee,000006,243462536,bigboi,123333,trouts,sandy123,szevasz,monica2,guderian,newlife1,ratchet,r12345,razorbac,12345i,piazza31,oddjob,beauty1,fffff1,anklet,nodrog,pepit,olivi,puravida,robert12,transam1,portman,bubbadog,steelers1,wilson1,eightball,mexico1,superboy,4rfv5tgb,mzepab,samurai1,fuckslut,colleen1,girdle,vfrcbvec,q1w2e3r4t,soldier1,19844891,alyssa1,a12345a,fidelis,skelter,nolove,mickeymouse,frehley,password69,watermel,aliska,soccer15,12345e,ladybug1,abulafia,adagio,tigerlil,takehana,hecate,bootneck,junfan,arigato,wonkette,bobby123,trustnoone,phantasm,132465798,brianjo,w12345,t34vfrc1991,deadeye,1robert,1daddy,adida,check1,grimlock,muffi,airwalk,prizrak,onclick,longbeac,ernie1,eadgbe,moore1,geniu,shadow123,bugaga,jonathan1,cjrjkjdf,orlova,buldog,talon1,westport,aenima,541233432442,barsuk,chicago2,kellys,hellbent,toughguy,iskander,skoal,whatisit,jake123,scooter2,fgjrfkbgcbc,ghandi,love13,adelphia,vjhrjdrf,adrenali,niunia,jemoeder,rainbo,all4u8,anime1,freedom7,seraph,789321,tommys,antman,firetruc,neogeo,natas,bmwm3,froggy1,paul1,mamit,bayview,gateways,kusanagi,ihateu,frederi,rock1,centurion,grizli,biggin,fish1,stalker1,3girls,ilovepor,klootzak,lollo,redsox04,kirill123,jake1,pampers,vasya,hammers1,teacup,towing,celtic1,ishtar,yingyang,4904s677075,dahc1,patriot1,patrick9,redbirds,doremi,rebecc,yoohoo,makarova,epiphone,rfgbnfy,milesd,blister,chelseafc,katana1,blackrose,1james,primrose,shock5,hard1,scooby12,c6h12o6,dustoff,boing,chisel,kamil,1william,defiant1,tyvugq,mp8o6d,aaa340,nafets,sonnet,flyhigh,242526,crewcom,love23,strike1,stairway,katusha,salamand,cupcake1,password0,007james,sunnie,multisync,harley01,tequila1,fred12,driver8,q8zo8wzq,hunter01,mozzer,temporar,eatmeraw,mrbrownxx,kailey,sycamore,flogger,tincup,rahasia,ganymede,bandera,slinger,1111122222,vander,woodys,1cowboy,khaled,jamies,london12,babyboo,tzpvaw,diogenes,budice,mavrick,135797531,cheeta,macros,squonk,blackber,topfuel,apache1,falcon16,darkjedi,cheeze,vfhvtkfl,sparco,change1,gfhfif,freestyl,kukuruza,loveme2,12345f,kozlov,sherpa,marbella,44445555,bocephus,1winner,alvar,hollydog,gonefish,iwantin,barman,godislove,amanda18,rfpfynbg,eugen,abcdef1,redhawk,thelema,spoonman,baller1,harry123,475869,tigerman,cdtnjxrf,marillio,scribble,elnino,carguy,hardhead,l2g7k3,troopers,selen,dragon76,antigua,ewtosi,ulysse,astana,paroli,cristo,carmex,marjan,bassfish,letitbe,kasparov,jay123,19933991,blue13,eyecandy,scribe,mylord,ukflbjkec,ellie1,beaver1,destro,neuken,halfpint,ameli,lilly1,satanic,xngwoj,12345trewq,asdf1,bulldogg,asakura,jesucrist,flipside,packers4,biggy,kadett,biteme69,bobdog,silverfo,saint1,bobbo,packman,knowledg,foolio,fussbal,12345g,kozerog,westcoas,minidisc,nbvcxw,martini1,alastair,rasengan,superbee,memento,porker,lena123,florenc,kakadu,bmw123,getalife,bigsky,monkee,people1,schlampe,red321,memyself,0147896325,12345678900987654321,soccer14,realdeal,gfgjxrf,bella123,juggs,doritos,celtics1,peterbilt,ghbdtnbrb,gnusmas,xcountry,ghbdtn1,batman99,deusex,gtnhjdf,blablabl,juster,marimba,love2,rerjkrf,alhambra,micros,siemens1,assmaste,moonie,dashadasha,atybrc,eeeeee1,wildrose,blue55,davidl,xrp23q,skyblue,leo123,ggggg1,bestfriend,franny,1234rmvb,fun123,rules1,sebastien,chester2,hakeem,winston2,fartripper,atlant,07831505,iluvsex,q1a2z3,larrys,009900,ghjkju,capitan,rider1,qazxsw21,belochka,andy123,hellya,chicca,maximal,juergen,password1234,howard1,quetzal,daniel123,qpwoeiruty,123555,bharat,ferrari3,numbnuts,savant,ladydog,phipsi,lovepussy,etoile,power2,mitten,britneys,chilidog,08522580,2fchbg,kinky1,bluerose,loulo,ricardo1,doqvq3,kswbdu,013cpfza,timoha,ghbdtnghbdtn,3stooges,gearhead,browns1,g00ber,super7,greenbud,kitty2,pootie,toolshed,gamers,coffe,ibill123,freelove,anasazi,sister1,jigger,natash,stacy1,weronika,luzern,soccer7,hoopla,dmoney,valerie1,canes,razdvatri,washere,greenwoo,rfhjkbyf,anselm,pkxe62,maribe,daniel2,maxim1,faceoff,carbine,xtkjdtr,buddy12,stratos,jumpman,buttocks,aqswdefr,pepsis,sonechka,steeler1,lanman,nietzsch,ballz,biscuit1,wrxsti,goodfood,juventu,federic,mattman,vika123,strelec,jledfyxbr,sideshow,4life,fredderf,bigwilly,12347890,12345671,sharik,bmw325i,fylhtqrf,dannon4,marky,mrhappy,drdoom,maddog1,pompier,cerbera,goobers,howler,jenny69,evely,letitrid,cthuttdyf,felip,shizzle,golf12,t123456,yamah,bluearmy,squishy,roxan,10inches,dollface,babygirl1,blacksta,kaneda,lexingto,canadien,222888,kukushka,sistema,224422,shadow69,ppspankp,mellons,barbie1,free4all,alfa156,lostone,2w3e4r5t,painkiller,robbie1,binger,8dihc6,jaspe,rellik,quark,sogood,hoopstar,number2,snowy1,dad2ownu,cresta,qwe123asd,hjvfyjdf,gibsonsg,qbg26i,dockers,grunge,duckling,lfiekz,cuntsoup,kasia1,1tigger,woaini,reksio,tmoney,firefighter,neuron,audia3,woogie,powerboo,powermac,fatcock,12345666,upnfmc,lustful,porn1,gotlove,amylee,kbytqrf,11924704,25251325,sarasota,sexme,ozzie1,berliner,nigga1,guatemal,seagulls,iloveyou!,chicken2,qwerty21,010203040506,1pillow,libby1,vodoley,backlash,piglets,teiubesc,019283,vonnegut,perico,thunde,buckey,gtxtymrf,manunite,iiiii1,lost4815162342,madonn,270873_,britney1,kevlar,piano1,boondock,colt1911,salamat,doma77ns,anuradha,cnhjqrf,rottweil,newmoon,topgun1,mauser,fightclu,birthday21,reviewpa,herons,aassddff,lakers32,melissa2,vredina,jiujitsu,mgoblue,shakey,moss84,12345zxcvb,funsex,benji1,garci,113322,chipie,windex,nokia5310,pwxd5x,bluemax,cosita,chalupa,trotsky,new123,g3ujwg,newguy,canabis,gnaget,happydays,felixx,1patrick,cumface,sparkie,kozlova,123234,newports,broncos7,golf18,recycle,hahah,harrypot,cachondo,open4me,miria,guessit,pepsione,knocker,usmc1775,countach,playe,wiking,landrover,cracksevi,drumline,a7777777,smile123,manzana,panty,liberta,pimp69,dolfan,quality1,schnee,superson,elaine22,webhompass,mrbrownx,deepsea,4wheel,mamasita,rockport,rollie,myhome,jordan12,kfvgjxrf,hockey12,seagrave,ford1,chelsea2,samsara,marissa1,lamesa,mobil1,piotrek,tommygun,yyyyy1,wesley1,billy123,homersim,julies,amanda12,shaka,maldini,suzenet,springst,iiiiii1,yakuza,111111aa,westwind,helpdesk,annamari,bringit,hopefull,hhhhhhh1,saywhat,mazdarx8,bulova,jennife1,baikal,gfhjkmxbr,victoria1,gizmo123,alex99,defjam,2girls,sandrock,positivo,shingo,syncmast,opensesa,silicone,fuckina,senna1,karlos,duffbeer,montagne,gehrig,thetick,pepino,hamburge,paramedic,scamp,smokeweed,fabregas,phantoms,venom121293,2583458,badone,porno69,manwhore,vfvf123,notagain,vbktyf,rfnthbyrf,wildblue,kelly001,dragon66,camell,curtis1,frolova,1212123,dothedew,tyler123,reddrago,planetx,promethe,gigolo,1001001,thisone,eugeni,blackshe,cruzazul,incognito,puller,joonas,quick1,spirit1,gazza,zealot,gordito,hotrod1,mitch1,pollito,hellcat,mythos,duluth,383pdjvl,easy123,hermos,binkie,its420,lovecraf,darien,romina,doraemon,19877891,syclone,hadoken,transpor,ichiro,intell,gargamel,dragon2,wavpzt,557744,rjw7x4,jennys,kickit,rjynfrn,likeit,555111,corvus,nec3520,133113,mookie1,bochum,samsung2,locoman0,154ugeiu,vfvfbgfgf,135792,[start],tenni,20001,vestax,hufmqw,neveragain,wizkid,kjgfnf,nokia6303,tristen,saltanat,louie1,gandalf2,sinfonia,alpha3,tolstoy,ford150,f00bar,1hello,alici,lol12,riker1,hellou,333888,1hunter,qw1234,vibrator,mets86,43211234,gonzale,cookies1,sissy1,john11,bubber,blue01,cup2006,gtkmvtyb,nazareth,heybaby,suresh,teddie,mozilla,rodeo1,madhouse,gamera,123123321,naresh,dominos,foxtrot1,taras,powerup,kipling,jasonb,fidget,galena,meatman,alpacino,bookmark,farting,humper,titsnass,gorgon,castaway,dianka,anutka,gecko1,fucklove,connery,wings1,erika1,peoria,moneymaker,ichabod,heaven1,paperboy,phaser,breakers,nurse1,westbrom,alex13,brendan1,123asd123,almera,grubber,clarkie,thisisme,welkom01,51051051051,crypto,freenet,pflybwf,black12,testme2,changeit,autobahn,attica,chaoss,denver1,tercel,gnasher23,master2,vasilii,sherman1,gomer,bigbuck,derek1,qwerzxcv,jumble,dragon23,art131313,numark,beasty,cxfcnmttcnm,updown,starion,glist,sxhq65,ranger99,monkey7,shifter,wolves1,4r5t6y,phone1,favorite5,skytommy,abracada,1martin,102030405060,gatech,giulio,blacktop,cheer1,africa1,grizzly1,inkjet,shemales,durango1,booner,11223344q,supergirl,vanyarespekt,dickless,srilanka,weaponx,6string,nashvill,spicey,boxer1,fabien,2sexy2ho,bowhunt,jerrylee,acrobat,tawnee,ulisse,nolimit8,l8g3bkde,pershing,gordo1,allover,gobrowns,123432,123444,321456987,spoon1,hhhhh1,sailing1,gardenia,teache,sexmachine,tratata,pirate1,niceone,jimbos,314159265,qsdfgh,bobbyy,ccccc1,carla1,vjkjltw,savana,biotech,frigid,123456789g,dragon10,yesiam,alpha06,oakwood,tooter,winsto,radioman,vavilon,asnaeb,google123,nariman,kellyb,dthyjcnm,password6,parol1,golf72,skate1,lthtdj,1234567890s,kennet,rossia,lindas,nataliya,perfecto,eminem1,kitana,aragorn1,rexona,arsenalf,planot,coope,testing123,timex,blackbox,bullhead,barbarian,dreamon,polaris1,cfvjktn,frdfhbev,gametime,slipknot666,nomad1,hfgcjlbz,happy69,fiddler,brazil1,joeboy,indianali,113355,obelisk,telemark,ghostrid,preston1,anonim,wellcome,verizon1,sayangku,censor,timeport,dummies,adult1,nbnfybr,donger,thales,iamgay,sexy1234,deadlift,pidaras,doroga,123qwe321,portuga,asdfgh12,happys,cadr14nu,pi3141,maksik,dribble,cortland,darken,stepanova,bommel,tropic,sochi2014,bluegras,shahid,merhaba,nacho,2580456,orange44,kongen,3cudjz,78girl,my3kids,marcopol,deadmeat,gabbie,saruman,jeepman,freddie1,katie123,master99,ronal,ballbag,centauri,killer7,xqgann,pinecone,jdeere,geirby,aceshigh,55832811,pepsimax,rayden,razor1,tallyho,ewelina,coldfire,florid,glotest,999333,sevenup,bluefin,limaperu,apostol,bobbins,charmed1,michelin,sundin,centaur,alphaone,christof,trial1,lions1,45645,just4you,starflee,vicki1,cougar1,green2,jellyfis,batman69,games1,hihje863,crazyzil,w0rm1,oklick,dogbite,yssup,sunstar,paprika,postov10,124578963,x24ik3,kanada,buckster,iloveamy,bear123,smiler,nx74205,ohiostat,spacey,bigbill,doudo,nikolaeva,hcleeb,sex666,mindy1,buster11,deacons,boness,njkcnsq,candy2,cracker1,turkey1,qwertyu1,gogreen,tazzzz,edgewise,ranger01,qwerty6,blazer1,arian,letmeinnow,cigar1,jjjjjj1,grigio,frien,tenchu,f9lmwd,imissyou,filipp,heathers,coolie,salem1,woodduck,scubadiv,123kat,raffaele,nikolaev,dapzu455,skooter,9inches,lthgfhjkm,gr8one,ffffff1,zujlrf,amanda69,gldmeo,m5wkqf,rfrltkf,televisi,bonjou,paleale,stuff1,cumalot,fuckmenow,climb7,mark1234,t26gn4,oneeye,george2,utyyflbq,hunting1,tracy71,ready2go,hotguy,accessno,charger1,rudedog,kmfdm,goober1,sweetie1,wtpmjgda,dimensio,ollie1,pickles1,hellraiser,mustdie,123zzz,99887766,stepanov,verdun,tokenbad,anatol,bartende,cidkid86,onkelz,timmie,mooseman,patch1,12345678c,marta1,dummy1,bethany1,myfamily,history1,178500,lsutiger,phydeaux,moren,dbrnjhjdbx,gnbxrf,uniden,drummers,abpbrf,godboy,daisy123,hogan1,ratpack,irland,tangerine,greddy,flore,sqrunch,billyjoe,q55555,clemson1,98745632,marios,ishot,angelin,access12,naruto12,lolly,scxakv,austin12,sallad,cool99,rockit,mongo1,mark22,ghbynth,ariadna,senha,docto,tyler2,mobius,hammarby,192168,anna12,claire1,pxx3eftp,secreto,greeneye,stjabn,baguvix,satana666,rhbcnbyjxrf,dallastx,garfiel,michaelj,1summer,montan,1234ab,filbert,squids,fastback,lyudmila,chucho,eagleone,kimberle,ar3yuk3,jake01,nokids,soccer22,1066ad,ballon,cheeto,review69,madeira,taylor2,sunny123,chubbs,lakeland,striker1,porche,qwertyu8,digiview,go1234,ferari,lovetits,aditya,minnow,green3,matman,cellphon,fortytwo,minni,pucara,69a20a,roman123,fuente,12e3e456,paul12,jacky,demian,littleman,jadakiss,vlad1997,franca,282860,midian,nunzio,xaccess2,colibri,jessica0,revilo,654456,harvey1,wolf1,macarena,corey1,husky1,arsen,milleniu,852147,crowes,redcat,combat123654,hugger,psalms,quixtar,ilovemom,toyot,ballss,ilovekim,serdar,james23,avenger1,serendip,malamute,nalgas,teflon,shagger,letmein6,vyjujnjxbt,assa1234,student1,dixiedog,gznybwf13,fuckass,aq1sw2de3,robroy,hosehead,sosa21,123345,ias100,teddy123,poppin,dgl70460,zanoza,farhan,quicksilver,1701d,tajmahal,depechemode,paulchen,angler,tommy2,recoil,megamanx,scarecro,nicole2,152535,rfvtgb,skunky,fatty1,saturno,wormwood,milwauke,udbwsk,sexlover,stefa,7bgiqk,gfnhbr,omar10,bratan,lbyfvj,slyfox,forest1,jambo,william3,tempus,solitari,lucydog,murzilka,qweasdzxc1,vehpbkrf,12312345,fixit,woobie,andre123,123456789x,lifter,zinaida,soccer17,andone,foxbat,torsten,apple12,teleport,123456i,leglover,bigcocks,vologda,dodger1,martyn,d6o8pm,naciona,eagleeye,maria6,rimshot,bentley1,octagon,barbos,masaki,gremio,siemen,s1107d,mujeres,bigtits1,cherr,saints1,mrpink,simran,ghzybr,ferrari2,secret12,tornado1,kocham,picolo,deneme,onelove1,rolan,fenster,1fuckyou,cabbie,pegaso,nastyboy,password5,aidana,mine2306,mike13,wetone,tigger69,ytreza,bondage1,myass,golova,tolik,happyboy,poilkj,nimda2k,rammer,rubies,hardcore1,jetset,hoops1,jlaudio,misskitt,1charlie,google12,theone1,phred,porsch,aalborg,luft4,charlie5,password7,gnosis,djgabbab,1daniel,vinny,borris,cumulus,member1,trogdor,darthmau,andrew2,ktjybl,relisys,kriste,rasta220,chgobndg,weener,qwerty66,fritter,followme,freeman1,ballen,blood1,peache,mariso,trevor1,biotch,gtfullam,chamonix,friendste,alligato,misha1,1soccer,18821221,venkat,superd,molotov,bongos,mpower,acun3t1x,dfcmrf,h4x3d,rfhfufylf,tigran,booyaa,plastic1,monstr,rfnhby,lookatme,anabolic,tiesto,simon123,soulman,canes1,skyking,tomcat1,madona,bassline,dasha123,tarheel1,dutch1,xsw23edc,qwerty123456789,imperator,slaveboy,bateau,paypal,house123,pentax,wolf666,drgonzo,perros,digger1,juninho,hellomoto,bladerun,zzzzzzz1,keebler,take8422,fffffff1,ginuwine,israe,caesar1,crack1,precious1,garand,magda1,zigazaga,321ewq,johnpaul,mama1234,iceman69,sanjeev,treeman,elric,rebell,1thunder,cochon,deamon,zoltan,straycat,uhbyuj,luvfur,mugsy,primer,wonder1,teetime,candycan,pfchfytw,fromage,gitler,salvatio,piggy1,23049307,zafira,chicky,sergeev,katze,bangers,andriy,jailbait,vaz2107,ghbhjlf,dbjktnnf,aqswde,zaratustra,asroma,1pepper,alyss,kkkkk1,ryan1,radish,cozumel,waterpol,pentium1,rosebowl,farmall,steinway,dbrekz,baranov,jkmuf,another1,chinacat,qqqqqqq1,hadrian,devilmaycry4,ratbag,teddy2,love21,pullings,packrat,robyn1,boobo,qw12er34,tribe1,rosey,celestia,nikkie,fortune12,olga123,danthema,gameon,vfrfhjys,dilshod,henry14,jenova,redblue,chimaera,pennywise,sokrates,danimal,qqaazz,fuaqz4,killer2,198200,tbone1,kolyan,wabbit,lewis1,maxtor,egoist,asdfas,spyglass,omegas,jack12,nikitka,esperanz,doozer,matematika,wwwww1,ssssss1,poiu0987,suchka,courtney1,gungho,alpha2,fktyjxrf,summer06,bud420,devildriver,heavyd,saracen,foucault,choclate,rjdfktyrj,goblue1,monaro,jmoney,dcpugh,efbcapa201,qqh92r,pepsicol,bbb747,ch5nmk,honeyb,beszoptad,tweeter,intheass,iseedeadpeople,123dan,89231243658s,farside1,findme,smiley1,55556666,sartre,ytcnjh,kacper,costarica,134679258,mikeys,nolimit9,vova123,withyou,5rxypn,love143,freebie,rescue1,203040,michael6,12monkey,redgreen,steff,itstime,naveen,good12345,acidrain,1dawg,miramar,playas,daddio,orion2,852741,studmuff,kobe24,senha123,stephe,mehmet,allalone,scarface1,helloworld,smith123,blueyes,vitali,memphis1,mybitch,colin1,159874,1dick,podaria,d6wnro,brahms,f3gh65,dfcbkmtd,xxxman,corran,ugejvp,qcfmtz,marusia,totem,arachnid,matrix2,antonell,fgntrf,zemfira,christos,surfing1,naruto123,plato1,56qhxs,madzia,vanille,043aaa,asq321,mutton,ohiostate,golde,cdznjckfd,rhfcysq,green5,elephan,superdog,jacqueli,bollock,lolitas,nick12,1orange,maplelea,july23,argento,waldorf,wolfer,pokemon12,zxcvbnmm,flicka,drexel,outlawz,harrie,atrain,juice2,falcons1,charlie6,19391945,tower1,dragon21,hotdamn,dirtyboy,love4ever,1ginger,thunder2,virgo1,alien1,bubblegu,4wwvte,123456789qqq,realtime,studio54,passss,vasilek,awsome,giorgia,bigbass,2002tii,sunghile,mosdef,simbas,count0,uwrl7c,summer05,lhepmz,ranger21,sugarbea,principe,5550123,tatanka,9638v,cheerios,majere,nomercy,jamesbond007,bh90210,7550055,jobber,karaganda,pongo,trickle,defamer,6chid8,1q2a3z,tuscan,nick123,.adgjm,loveyo,hobbes1,note1234,shootme,171819,loveporn,9788960,monty123,fabrice,macduff,monkey13,shadowfa,tweeker,hanna1,madball,telnet,loveu2,qwedcxzas,thatsit,vfhcbr,ptfe3xxp,gblfhfcs,ddddddd1,hakkinen,liverune,deathsta,misty123,suka123,recon1,inferno1,232629,polecat,sanibel,grouch,hitech,hamradio,rkfdbfnehf,vandam,nadin,fastlane,shlong,iddqdidkfa,ledzeppelin,sexyfeet,098123,stacey1,negras,roofing,lucifer1,ikarus,tgbyhn,melnik,barbaria,montego,twisted1,bigal1,jiggle,darkwolf,acerview,silvio,treetops,bishop1,iwanna,pornsite,happyme,gfccdjhl,114411,veritech,batterse,casey123,yhntgb,mailto,milli,guster,q12345678,coronet,sleuth,fuckmeha,armadill,kroshka,geordie,lastochka,pynchon,killall,tommy123,sasha1996,godslove,hikaru,clticic,cornbrea,vfkmdbyf,passmaster,123123123a,souris,nailer,diabolo,skipjack,martin12,hinata,mof6681,brookie,dogfight,johnso,karpov,326598,rfvbrflpt,travesti,caballer,galaxy1,wotan,antoha,art123,xakep1234,ricflair,pervert1,p00kie,ambulanc,santosh,berserker,larry33,bitch123,a987654321,dogstar,angel22,cjcbcrf,redhouse,toodles,gold123,hotspot,kennedy1,glock21,chosen1,schneide,mainman,taffy1,3ki42x,4zqauf,ranger2,4meonly,year2000,121212a,kfylsi,netzwerk,diese,picasso1,rerecz,225522,dastan,swimmer1,brooke1,blackbea,oneway,ruslana,dont4get,phidelt,chrisp,gjyxbr,xwing,kickme,shimmy,kimmy1,4815162342lost,qwerty5,fcporto,jazzbo,mierd,252627,basses,sr20det,00133,florin,howdy1,kryten,goshen,koufax,cichlid,imhotep,andyman,wrest666,saveme,dutchy,anonymou,semprini,siempre,mocha1,forest11,wildroid,aspen1,sesam,kfgekz,cbhbec,a55555,sigmanu,slash1,giggs11,vatech,marias,candy123,jericho1,kingme,123a123,drakula,cdjkjxm,mercur,oneman,hoseman,plumper,ilovehim,lancers,sergey1,takeshi,goodtogo,cranberr,ghjcnj123,harvick,qazxs,1972chev,horsesho,freedom3,letmein7,saitek,anguss,vfvfgfgfz,300000,elektro,toonporn,999111999q,mamuka,q9umoz,edelweis,subwoofer,bayside,disturbe,volition,lucky3,12345678z,3mpz4r,march1,atlantida,strekoza,seagrams,090909t,yy5rbfsc,jack1234,sammy12,sampras,mark12,eintrach,chaucer,lllll1,nochance,whitepower,197000,lbvekz,passer,torana,12345as,pallas,koolio,12qw34,nokia8800,findout,1thomas,mmmmm1,654987,mihaela,chinaman,superduper,donnas,ringo1,jeroen,gfdkjdf,professo,cdtnrf,tranmere,tanstaaf,himera,ukflbfnjh,667788,alex32,joschi,w123456,okidoki,flatline,papercli,super8,doris1,2good4u,4z34l0ts,pedigree,freeride,gsxr1100,wulfgar,benjie,ferdinan,king1,charlie7,djdxbr,fhntvbq,ripcurl,2wsx1qaz,kingsx,desade,sn00py,loveboat,rottie,evgesha,4money,dolittle,adgjmpt,buzzers,brett1,makita,123123qweqwe,rusalka,sluts1,123456e,jameson1,bigbaby,1z2z3z,ckjybr,love4u,fucker69,erhfbyf,jeanluc,farhad,fishfood,merkin,giant1,golf69,rfnfcnhjaf,camera1,stromb,smoothy,774411,nylon,juice1,rfn.irf,newyor,123456789t,marmot,star11,jennyff,jester1,hisashi,kumquat,alex777,helicopt,merkur,dehpye,cummin,zsmj2v,kristjan,april12,englan,honeypot,badgirls,uzumaki,keines,p12345,guita,quake1,duncan1,juicer,milkbone,hurtme,123456789b,qq123456789,schwein,p3wqaw,54132442,qwertyytrewq,andreeva,ruffryde,punkie,abfkrf,kristinka,anna1987,ooooo1,335533aa,umberto,amber123,456123789,456789123,beelch,manta,peeker,1112131415,3141592654,gipper,wrinkle5,katies,asd123456,james11,78n3s5af,michael0,daboss,jimmyb,hotdog1,david69,852123,blazed,sickan,eljefe,2n6wvq,gobills,rfhfcm,squeaker,cabowabo,luebri,karups,test01,melkor,angel777,smallvil,modano,olorin,4rkpkt,leslie1,koffie,shadows1,littleon,amiga1,topeka,summer20,asterix1,pitstop,aloysius,k12345,magazin,joker69,panocha,pass1word,1233214,ironpony,368ejhih,88keys,pizza123,sonali,57np39,quake2,1234567890qw,1020304,sword1,fynjif,abcde123,dfktyjr,rockys,grendel1,harley12,kokakola,super2,azathoth,lisa123,shelley1,girlss,ibragim,seven1,jeff24,1bigdick,dragan,autobot,t4nvp7,omega123,900000,hecnfv,889988,nitro1,doggie1,fatjoe,811pahc,tommyt,savage1,pallino,smitty1,jg3h4hfn,jamielee,1qazwsx,zx123456,machine1,asdfgh123,guinnes,789520,sharkman,jochen,legend1,sonic2,extreme1,dima12,photoman,123459876,nokian95,775533,vaz2109,april10,becks,repmvf,pooker,qwer12345,themaster,nabeel,monkey10,gogetit,hockey99,bbbbbbb1,zinedine,dolphin2,anelka,1superma,winter01,muggsy,horny2,669966,kuleshov,jesusis,calavera,bullet1,87t5hdf,sleepers,winkie,vespa,lightsab,carine,magister,1spider,shitbird,salavat,becca1,wc18c2,shirak,galactus,zaskar,barkley1,reshma,dogbreat,fullsail,asasa,boeder,12345ta,zxcvbnm12,lepton,elfquest,tony123,vkaxcs,savatage,sevilia1,badkitty,munkey,pebbles1,diciembr,qapmoc,gabriel2,1qa2ws3e,cbcmrb,welldone,nfyufh,kaizen,jack11,manisha,grommit,g12345,maverik,chessman,heythere,mixail,jjjjjjj1,sylvia1,fairmont,harve,skully,global1,youwish,pikachu1,badcat,zombie1,49527843,ultra1,redrider,offsprin,lovebird,153426,stymie,aq1sw2,sorrento,0000001,r3ady41t,webster1,95175,adam123,coonass,159487,slut1,gerasim,monkey99,slutwife,159963,1pass1page,hobiecat,bigtymer,all4you,maggie2,olamide,comcast1,infinit,bailee,vasileva,.ktxrf,asdfghjkl1,12345678912,setter,fuckyou7,nnagqx,lifesuck,draken,austi,feb2000,cable1,1234qwerasdf,hax0red,zxcv12,vlad7788,nosaj,lenovo,underpar,huskies1,lovegirl,feynman,suerte,babaloo,alskdjfhg,oldsmobi,bomber1,redrover,pupuce,methodman,phenom,cutegirl,countyli,gretsch,godisgood,bysunsu,hardhat,mironova,123qwe456rty,rusty123,salut,187211,555666777,11111z,mahesh,rjntyjxtr,br00klyn,dunce1,timebomb,bovine,makelove,littlee,shaven,rizwan,patrick7,42042042,bobbijo,rustem,buttmunc,dongle,tiger69,bluecat,blackhol,shirin,peaces,cherub,cubase,longwood,lotus7,gwju3g,bruin,pzaiu8,green11,uyxnyd,seventee,dragon5,tinkerbel,bluess,bomba,fedorova,joshua2,bodyshop,peluche,gbpacker,shelly1,d1i2m3a4,ghtpbltyn,talons,sergeevna,misato,chrisc,sexmeup,brend,olddog,davros,hazelnut,bridget1,hzze929b,readme,brethart,wild1,ghbdtnbr1,nortel,kinger,royal1,bucky1,allah1,drakkar,emyeuanh,gallaghe,hardtime,jocker,tanman,flavio,abcdef123,leviatha,squid1,skeet,sexse,123456x,mom4u4mm,lilred,djljktq,ocean11,cadaver,baxter1,808state,fighton,primavera,1andrew,moogle,limabean,goddess1,vitalya,blue56,258025,bullride,cicci,1234567d,connor1,gsxr11,oliveoil,leonard1,legsex,gavrik,rjnjgtc,mexicano,2bad4u,goodfellas,ornw6d,mancheste,hawkmoon,zlzfrh,schorsch,g9zns4,bashful,rossi46,stephie,rfhfntkm,sellout,123fuck,stewar1,solnze,00007,thor5200,compaq12,didit,bigdeal,hjlbyf,zebulon,wpf8eu,kamran,emanuele,197500,carvin,ozlq6qwm,3syqo15hil,pennys,epvjb6,asdfghjkl123,198000,nfbcbz,jazzer,asfnhg66,zoloft,albundy,aeiou,getlaid,planet1,gjkbyjxrf,alex2000,brianb,moveon,maggie11,eieio,vcradq,shaggy1,novartis,cocoloco,dunamis,554uzpad,sundrop,1qwertyu,alfie,feliks,briand,123www,red456,addams,fhntv1998,goodhead,theway,javaman,angel01,stratoca,lonsdale,15987532,bigpimpin,skater1,issue43,muffie,yasmina,slowride,crm114,sanity729,himmel,carolcox,bustanut,parabola,masterlo,computador,crackhea,dynastar,rockbott,doggysty,wantsome,bigten,gaelle,juicy1,alaska1,etower,sixnine,suntan,froggies,nokia7610,hunter11,njnets,alicante,buttons1,diosesamo,elizabeth1,chiron,trustnoo,amatuers,tinytim,mechta,sammy2,cthulu,trs8f7,poonam,m6cjy69u35,cookie12,blue25,jordans,santa1,kalinka,mikey123,lebedeva,12345689,kissss,queenbee,vjybnjh,ghostdog,cuckold,bearshare,rjcntyrj,alinochka,ghjcnjrdfibyj,aggie1,teens1,3qvqod,dauren,tonino,hpk2qc,iqzzt580,bears85,nascar88,theboy,njqcw4,masyanya,pn5jvw,intranet,lollone,shadow99,00096462,techie,cvtifhbrb,redeemed,gocanes,62717315,topman,intj3a,cobrajet,antivirus,whyme,berserke,ikilz083,airedale,brandon2,hopkig,johanna1,danil8098,gojira,arthu,vision1,pendragon,milen,chrissie,vampiro,mudder,chris22,blowme69,omega7,surfers,goterps,italy1,baseba11,diego1,gnatsum,birdies,semenov,joker123,zenit2011,wojtek,cab4ma99,watchmen,damia,forgotte,fdm7ed,strummer,freelanc,cingular,orange77,mcdonalds,vjhjpjdf,kariya,tombston,starlet,hawaii1,dantheman,megabyte,nbvjirf,anjing,ybrjkftdbx,hotmom,kazbek,pacific1,sashimi,asd12,coorslig,yvtte545,kitte,elysium,klimenko,cobblers,kamehameha,only4me,redriver,triforce,sidorov,vittoria,fredi,dank420,m1234567,fallout2,989244342a,crazy123,crapola,servus,volvos,1scooter,griffin1,autopass,ownzyou,deviant,george01,2kgwai,boeing74,simhrq,hermosa,hardcor,griffy,rolex1,hackme,cuddles1,master3,bujhtr,aaron123,popolo,blader,1sexyred,gerry1,cronos,ffvdj474,yeehaw,bob1234,carlos2,mike77,buckwheat,ramesh,acls2h,monster2,montess,11qq22ww,lazer,zx123456789,chimpy,masterch,sargon,lochness,archana,1234qwert,hbxfhl,sarahb,altoid,zxcvbn12,dakot,caterham,dolomite,chazz,r29hqq,longone,pericles,grand1,sherbert,eagle3,pudge,irontree,synapse,boome,nogood,summer2,pooki,gangsta1,mahalkit,elenka,lbhtrnjh,dukedog,19922991,hopkins1,evgenia,domino1,x123456,manny1,tabbycat,drake1,jerico,drahcir,kelly2,708090a,facesit,11c645df,mac123,boodog,kalani,hiphop1,critters,hellothere,tbirds,valerka,551scasi,love777,paloalto,mrbrown,duke3d,killa1,arcturus,spider12,dizzy1,smudger,goddog,75395,spammy,1357997531,78678,datalife,zxcvbn123,1122112211,london22,23dp4x,rxmtkp,biggirls,ownsu,lzbs2twz,sharps,geryfe,237081a,golakers,nemesi,sasha1995,pretty1,mittens1,d1lakiss,speedrac,gfhjkmm,sabbat,hellrais,159753258,qwertyuiop123,playgirl,crippler,salma,strat1,celest,hello5,omega5,cheese12,ndeyl5,edward12,soccer3,cheerio,davido,vfrcbr,gjhjctyjr,boscoe,inessa,shithole,ibill,qwepoi,201jedlz,asdlkj,davidk,spawn2,ariel1,michael4,jamie123,romantik,micro1,pittsbur,canibus,katja,muhtar,thomas123,studboy,masahiro,rebrov,patrick8,hotboys,sarge1,1hammer,nnnnn1,eistee,datalore,jackdani,sasha2010,mwq6qlzo,cmfnpu,klausi,cnhjbntkm,andrzej,ilovejen,lindaa,hunter123,vvvvv1,novembe,hamster1,x35v8l,lacey1,1silver,iluvporn,valter,herson,alexsandr,cojones,backhoe,womens,777angel,beatit,klingon1,ta8g4w,luisito,benedikt,maxwel,inspecto,zaq12ws,wladimir,bobbyd,peterj,asdfg12,hellspawn,bitch69,nick1234,golfer23,sony123,jello1,killie,chubby1,kodaira52,yanochka,buckfast,morris1,roaddogg,snakeeye,sex1234,mike22,mmouse,fucker11,dantist,brittan,vfrfhjdf,doc123,plokijuh,emerald1,batman01,serafim,elementa,soccer9,footlong,cthuttdbx,hapkido,eagle123,getsmart,getiton,batman2,masons,mastiff,098890,cfvfhf,james7,azalea,sherif,saun24865709,123red,cnhtrjpf,martina1,pupper,michael5,alan12,shakir,devin1,ha8fyp,palom,mamulya,trippy,deerhunter,happyone,monkey77,3mta3,123456789f,crownvic,teodor,natusik,0137485,vovchik,strutter,triumph1,cvetok,moremone,sonnen,screwbal,akira1,sexnow,pernille,independ,poopies,samapi,kbcbxrf,master22,swetlana,urchin,viper2,magica,slurpee,postit,gilgames,kissarmy,clubpenguin,limpbizk,timber1,celin,lilkim,fuckhard,lonely1,mom123,goodwood,extasy,sdsadee23,foxglove,malibog,clark1,casey2,shell1,odense,balefire,dcunited,cubbie,pierr,solei,161718,bowling1,areyukesc,batboy,r123456,1pionee,marmelad,maynard1,cn42qj,cfvehfq,heathrow,qazxcvbn,connecti,secret123,newfie,xzsawq21,tubitzen,nikusha,enigma1,yfcnz123,1austin,michaelc,splunge,wanger,phantom2,jason2,pain4me,primetime21,babes1,liberte,sugarray,undergro,zonker,labatts,djhjyf,watch1,eagle5,madison2,cntgfirf,sasha2,masterca,fiction7,slick50,bruins1,sagitari,12481632,peniss,insuranc,2b8riedt,12346789,mrclean,ssptx452,tissot,q1w2e3r4t5y6u7,avatar1,comet1,spacer,vbrjkf,pass11,wanker1,14vbqk9p,noshit,money4me,sayana,fish1234,seaways,pipper,romeo123,karens,wardog,ab123456,gorilla1,andrey123,lifesucks,jamesr,4wcqjn,bearman,glock22,matt11,dflbvrf,barbi,maine1,dima1997,sunnyboy,6bjvpe,bangkok1,666666q,rafiki,letmein0,0raziel0,dalla,london99,wildthin,patrycja,skydog,qcactw,tmjxn151,yqlgr667,jimmyd,stripclub,deadwood,863abgsg,horses1,qn632o,scatman,sonia1,subrosa,woland,kolya,charlie4,moleman,j12345,summer11,angel11,blasen,sandal,mynewpas,retlaw,cambria,mustang4,nohack04,kimber45,fatdog,maiden1,bigload,necron,dupont24,ghost123,turbo2,.ktymrf,radagast,balzac,vsevolod,pankaj,argentum,2bigtits,mamabear,bumblebee,mercury7,maddie1,chomper,jq24nc,snooky,pussylic,1lovers,taltos,warchild,diablo66,jojo12,sumerki,aventura,gagger,annelies,drumset,cumshots,azimut,123580,clambake,bmw540,birthday54,psswrd,paganini,wildwest,filibert,teaseme,1test,scampi,thunder5,antosha,purple12,supersex,hhhhhh1,brujah,111222333a,13579a,bvgthfnjh,4506802a,killians,choco,qqqwwweee,raygun,1grand,koetsu13,sharp1,mimi92139,fastfood,idontcare,bluered,chochoz,4z3al0ts,target1,sheffiel,labrat,stalingrad,147123,cubfan,corvett1,holden1,snapper1,4071505,amadeo,pollo,desperados,lovestory,marcopolo,mumbles,familyguy,kimchee,marcio,support1,tekila,shygirl1,trekkie,submissi,ilaria,salam,loveu,wildstar,master69,sales1,netware,homer2,arseniy,gerrity1,raspberr,atreyu,stick1,aldric,tennis12,matahari,alohomora,dicanio,michae1,michaeld,666111,luvbug,boyscout,esmerald,mjordan,admiral1,steamboa,616913,ybhdfyf,557711,555999,sunray,apokalipsis,theroc,bmw330,buzzy,chicos,lenusik,shadowma,eagles05,444222,peartree,qqq123,sandmann,spring1,430799,phatass,andi03,binky1,arsch,bamba,kenny123,fabolous,loser123,poop12,maman,phobos,tecate,myxworld4,metros,cocorico,nokia6120,johnny69,hater,spanked,313233,markos,love2011,mozart1,viktoriy,reccos,331234,hornyone,vitesse,1um83z,55555q,proline,v12345,skaven,alizee,bimini,fenerbahce,543216,zaqqaz,poi123,stabilo,brownie1,1qwerty1,dinesh,baggins1,1234567t,davidkin,friend1,lietuva,octopuss,spooks,12345qq,myshit,buttface,paradoxx,pop123,golfin,sweet69,rfghbp,sambuca,kayak1,bogus1,girlz,dallas12,millers,123456zx,operatio,pravda,eternal1,chase123,moroni,proust,blueduck,harris1,redbarch,996699,1010101,mouche,millenni,1123456,score1,1234565,1234576,eae21157,dave12,pussyy,gfif1991,1598741,hoppy,darrian,snoogins,fartface,ichbins,vfkbyrf,rusrap,2741001,fyfrjylf,aprils,favre,thisis,bannana,serval,wiggum,satsuma,matt123,ivan123,gulmira,123zxc123,oscar2,acces,annie2,dragon0,emiliano,allthat,pajaro,amandine,rawiswar,sinead,tassie,karma1,piggys,nokias,orions,origami,type40,mondo,ferrets,monker,biteme2,gauntlet,arkham,ascona,ingram01,klem1,quicksil,bingo123,blue66,plazma,onfire,shortie,spjfet,123963,thered,fire777,lobito,vball,1chicken,moosehea,elefante,babe23,jesus12,parallax,elfstone,number5,shrooms,freya,hacker1,roxette,snoops,number7,fellini,dtlmvf,chigger,mission1,mitsubis,kannan,whitedog,james01,ghjgecr,rfnfgekmnf,everythi,getnaked,prettybo,sylvan,chiller,carrera4,cowbo,biochem,azbuka,qwertyuiop1,midnight1,informat,audio1,alfred1,0range,sucker1,scott2,russland,1eagle,torben,djkrjlfd,rocky6,maddy1,bonobo,portos,chrissi,xjznq5,dexte,vdlxuc,teardrop,pktmxr,iamtheone,danijela,eyphed,suzuki1,etvww4,redtail,ranger11,mowerman,asshole2,coolkid,adriana1,bootcamp,longcut,evets,npyxr5,bighurt,bassman1,stryder,giblet,nastja,blackadd,topflite,wizar,cumnow,technolo,bassboat,bullitt,kugm7b,maksimus,wankers,mine12,sunfish,pimpin1,shearer9,user1,vjzgjxnf,tycobb,80070633pc,stanly,vitaly,shirley1,cinzia,carolyn1,angeliqu,teamo,qdarcv,aa123321,ragdoll,bonit,ladyluck,wiggly,vitara,jetbalance,12345600,ozzman,dima12345,mybuddy,shilo,satan66,erebus,warrio,090808qwe,stupi,bigdan,paul1234,chiapet,brooks1,philly1,dually,gowest,farmer1,1qa2ws3ed4rf,alberto1,beachboy,barne,aa12345,aliyah,radman,benson1,dfkthbq,highball,bonou2,i81u812,workit,darter,redhook,csfbr5yy,buttlove,episode1,ewyuza,porthos,lalal,abcd12,papero,toosexy,keeper1,silver7,jujitsu,corset,pilot123,simonsay,pinggolf,katerinka,kender,drunk1,fylhjvtlf,rashmi,nighthawk,maggy,juggernaut,larryb,cabibble,fyabcf,247365,gangstar,jaybee,verycool,123456789qw,forbidde,prufrock,12345zxc,malaika,blackbur,docker,filipe,koshechka,gemma1,djamaal,dfcbkmtdf,gangst,9988aa,ducks1,pthrfkj,puertorico,muppets,griffins,whippet,sauber,timofey,larinso,123456789zxc,quicken,qsefth,liteon,headcase,bigdadd,zxc321,maniak,jamesc,bassmast,bigdogs,1girls,123xxx,trajan,lerochka,noggin,mtndew,04975756,domin,wer123,fumanchu,lambada,thankgod,june22,kayaking,patchy,summer10,timepass,poiu1234,kondor,kakka,lament,zidane10,686xqxfg,l8v53x,caveman1,nfvthkfy,holymoly,pepita,alex1996,mifune,fighter1,asslicker,jack22,abc123abc,zaxxon,midnigh,winni,psalm23,punky,monkey22,password13,mymusic,justyna,annushka,lucky5,briann,495rus19,withlove,almaz,supergir,miata,bingbong,bradpitt,kamasutr,yfgjktjy,vanman,pegleg,amsterdam1,123a321,letmein9,shivan,korona,bmw520,annette1,scotsman,gandal,welcome12,sc00by,qpwoei,fred69,m1sf1t,hamburg1,1access,dfkmrbhbz,excalibe,boobies1,fuckhole,karamel,starfuck,star99,breakfas,georgiy,ywvxpz,smasher,fatcat1,allanon,12345n,coondog,whacko,avalon1,scythe,saab93,timon,khorne,atlast,nemisis,brady12,blenheim,52678677,mick7278,9skw5g,fleetwoo,ruger1,kissass,pussy7,scruff,12345l,bigfun,vpmfsz,yxkck878,evgeny,55667788,lickher,foothill,alesis,poppies,77777778,californi,mannie,bartjek,qhxbij,thehulk,xirt2k,angelo4ek,rfkmrekznjh,tinhorse,1david,sparky12,night1,luojianhua,bobble,nederland,rosemari,travi,minou,ciscokid,beehive,565hlgqo,alpine1,samsung123,trainman,xpress,logistic,vw198m2n,hanter,zaqwsx123,qwasz,mariachi,paska,kmg365,kaulitz,sasha12,north1,polarbear,mighty1,makeksa11,123456781,one4all,gladston,notoriou,polniypizdec110211,gosia,grandad,xholes,timofei,invalidp,speaker1,zaharov,maggiema,loislane,gonoles,br5499,discgolf,kaskad,snooper,newman1,belial,demigod,vicky1,pridurok,alex1990,tardis1,cruzer,hornie,sacramen,babycat,burunduk,mark69,oakland1,me1234,gmctruck,extacy,sexdog,putang,poppen,billyd,1qaz2w,loveable,gimlet,azwebitalia,ragtop,198500,qweas,mirela,rock123,11bravo,sprewell,tigrenok,jaredleto,vfhbif,blue2,rimjob,catwalk,sigsauer,loqse,doromich,jack01,lasombra,jonny5,newpassword,profesor,garcia1,123as123,croucher,demeter,4_life,rfhfvtkm,superman2,rogues,assword1,russia1,jeff1,mydream,z123456789,rascal1,darre,kimberl,pickle1,ztmfcq,ponchik,lovesporn,hikari,gsgba368,pornoman,chbjun,choppy,diggity,nightwolf,viktori,camar,vfhecmrf,alisa1,minstrel,wishmaster,mulder1,aleks,gogirl,gracelan,8womys,highwind,solstice,dbrnjhjdyf,nightman,pimmel,beertje,ms6nud,wwfwcw,fx3tuo,poopface,asshat,dirtyd,jiminy,luv2fuck,ptybnxtvgbjy,dragnet,pornogra,10inch,scarlet1,guido1,raintree,v123456,1aaaaaaa,maxim1935,hotwater,gadzooks,playaz,harri,brando1,defcon1,ivanna,123654a,arsenal2,candela,nt5d27,jaime1,duke1,burton1,allstar1,dragos,newpoint,albacore,1236987z,verygoodbot,1wildcat,fishy1,ptktysq,chris11,puschel,itdxtyrj,7kbe9d,serpico,jazzie,1zzzzz,kindbuds,wenef45313,1compute,tatung,sardor,gfyfcjybr,test99,toucan,meteora,lysander,asscrack,jowgnx,hevnm4,suckthis,masha123,karinka,marit,oqglh565,dragon00,vvvbbb,cheburashka,vfrfrf,downlow,unforgiven,p3e85tr,kim123,sillyboy,gold1,golfvr6,quicksan,irochka,froglegs,shortsto,caleb1,tishka,bigtitts,smurfy,bosto,dropzone,nocode,jazzbass,digdug,green7,saltlake,therat,dmitriev,lunita,deaddog,summer0,1212qq,bobbyg,mty3rh,isaac1,gusher,helloman,sugarbear,corvair,extrem,teatime,tujazopi,titanik,efyreg,jo9k2jw2,counchac,tivoli,utjvtnhbz,bebit,jacob6,clayton1,incubus1,flash123,squirter,dima2010,cock1,rawks,komatsu,forty2,98741236,cajun1,madelein,mudhoney,magomed,q111111,qaswed,consense,12345b,bakayaro,silencer,zoinks,bigdic,werwolf,pinkpuss,96321478,alfie1,ali123,sarit,minette,musics,chato,iaapptfcor,cobaka,strumpf,datnigga,sonic123,yfnecbr,vjzctvmz,pasta1,tribbles,crasher,htlbcrf,1tiger,shock123,bearshar,syphon,a654321,cubbies1,jlhanes,eyespy,fucktheworld,carrie1,bmw325is,suzuk,mander,dorina,mithril,hondo1,vfhnbyb,sachem,newton1,12345x,7777755102q,230857z,xxxsex,scubapro,hayastan,spankit,delasoul,searock6,fallout3,nilrem,24681357,pashka,voluntee,pharoh,willo,india1,badboy69,roflmao,gunslinger,lovergir,mama12,melange,640xwfkv,chaton,darkknig,bigman1,aabbccdd,harleyd,birdhouse,giggsy,hiawatha,tiberium,joker7,hello1234,sloopy,tm371855,greendog,solar1,bignose,djohn11,espanol,oswego,iridium,kavitha,pavell,mirjam,cyjdsvujljv,alpha5,deluge,hamme,luntik,turismo,stasya,kjkbnf,caeser,schnecke,tweety1,tralfaz,lambrett,prodigy1,trstno1,pimpshit,werty1,karman,bigboob,pastel,blackmen,matthew8,moomin,q1w2e,gilly,primaver,jimmyg,house2,elviss,15975321,1jessica,monaliza,salt55,vfylfhbyrf,harley11,tickleme,murder1,nurgle,kickass1,theresa1,fordtruck,pargolf,managua,inkognito,sherry1,gotit,friedric,metro2033,slk230,freeport,cigarett,492529,vfhctkm,thebeach,twocats,bakugan,yzerman1,charlieb,motoko,skiman,1234567w,pussy3,love77,asenna,buffie,260zntpc,kinkos,access20,mallard1,fuckyou69,monami,rrrrr1,bigdog69,mikola,1boomer,godzila,ginger2,dima2000,skorpion39,dima1234,hawkdog79,warrior2,ltleirf,supra1,jerusale,monkey01,333z333,666888,kelsey1,w8gkz2x1,fdfnfh,msnxbi,qwe123rty,mach1,monkey3,123456789qq,c123456,nezabudka,barclays,nisse,dasha1,12345678987654321,dima1993,oldspice,frank2,rabbitt,prettyboy,ov3ajy,iamthema,kawasak,banjo1,gtivr6,collants,gondor,hibees,cowboys2,codfish,buster2,purzel,rubyred,kayaker,bikerboy,qguvyt,masher,sseexx,kenshiro,moonglow,semenova,rosari,eduard1,deltaforce,grouper,bongo1,tempgod,1taylor,goldsink,qazxsw1,1jesus,m69fg2w,maximili,marysia,husker1,kokanee,sideout,googl,south1,plumber1,trillian,00001,1357900,farkle,1xxxxx,pascha,emanuela,bagheera,hound1,mylov,newjersey,swampfox,sakic19,torey,geforce,wu4etd,conrail,pigman,martin2,ber02,nascar2,angel69,barty,kitsune,cornet,yes90125,goomba,daking,anthea,sivart,weather1,ndaswf,scoubidou,masterchief,rectum,3364068,oranges1,copter,1samanth,eddies,mimoza,ahfywbz,celtic88,86mets,applemac,amanda11,taliesin,1angel,imhere,london11,bandit12,killer666,beer1,06225930,psylocke,james69,schumach,24pnz6kc,endymion,wookie1,poiu123,birdland,smoochie,lastone,rclaki,olive1,pirat,thunder7,chris69,rocko,151617,djg4bb4b,lapper,ajcuivd289,colole57,shadow7,dallas21,ajtdmw,executiv,dickies,omegaman,jason12,newhaven,aaaaaas,pmdmscts,s456123789,beatri,applesauce,levelone,strapon,benladen,creaven,ttttt1,saab95,f123456,pitbul,54321a,sex12345,robert3,atilla,mevefalkcakk,1johnny,veedub,lilleke,nitsuj,5t6y7u8i,teddys,bluefox,nascar20,vwjetta,buffy123,playstation3,loverr,qweasd12,lover2,telekom,benjamin1,alemania,neutrino,rockz,valjean,testicle,trinity3,realty,firestarter,794613852,ardvark,guadalup,philmont,arnold1,holas,zw6syj,birthday299,dover1,sexxy1,gojets,741236985,cance,blue77,xzibit,qwerty88,komarova,qweszxc,footer,rainger,silverst,ghjcnb,catmando,tatooine,31217221027711,amalgam,69dude,qwerty321,roscoe1,74185,cubby,alfa147,perry1,darock,katmandu,darknight,knicks1,freestuff,45454,kidman,4tlved,axlrose,cutie1,quantum1,joseph10,ichigo,pentium3,rfhectkm,rowdy1,woodsink,justforfun,sveta123,pornografia,mrbean,bigpig,tujheirf,delta9,portsmou,hotbod,kartal,10111213,fkbyf001,pavel1,pistons1,necromancer,verga,c7lrwu,doober,thegame1,hatesyou,sexisfun,1melissa,tuczno18,bowhunte,gobama,scorch,campeon,bruce2,fudge1,herpderp,bacon1,redsky,blackeye,19966991,19992000,ripken8,masturba,34524815,primax,paulina1,vp6y38,427cobra,4dwvjj,dracon,fkg7h4f3v6,longview,arakis,panama1,honda2,lkjhgfdsaz,razors,steels,fqkw5m,dionysus,mariajos,soroka,enriqu,nissa,barolo,king1234,hshfd4n279,holland1,flyer1,tbones,343104ky,modems,tk421,ybrbnrf,pikapp,sureshot,wooddoor,florida2,mrbungle,vecmrf,catsdogs,axolotl,nowayout,francoi,chris21,toenail,hartland,asdjkl,nikkii,onlyyou,buckskin,fnord,flutie,holen1,rincewind,lefty1,ducky1,199000,fvthbrf,redskin1,ryno23,lostlove,19mtpgam19,abercrom,benhur,jordan11,roflcopter,ranma,phillesh,avondale,igromania,p4ssword,jenny123,tttttt1,spycams,cardigan,2112yyz,sleepy1,paris123,mopars,lakers34,hustler1,james99,matrix3,popimp,12pack,eggbert,medvedev,testit,performa,logitec,marija,sexybeast,supermanboy,iwantit,rjktcj,jeffer,svarog,halo123,whdbtp,nokia3230,heyjoe,marilyn1,speeder,ibxnsm,prostock,bennyboy,charmin,codydog,parol999,ford9402,jimmer,crayola,159357258,alex77,joey1,cayuga,phish420,poligon,specops,tarasova,caramelo,draconis,dimon,cyzkhw,june29,getbent,1guitar,jimjam,dictiona,shammy,flotsam,0okm9ijn,crapper,technic,fwsadn,rhfdxtyrj,zaq11qaz,anfield1,159753q,curious1,hip-hop,1iiiii,gfhjkm2,cocteau,liveevil,friskie,crackhead,b1afra,elektrik,lancer1,b0ll0cks,jasond,z1234567,tempest1,alakazam,asdfasd,duffy1,oneday,dinkle,qazedctgb,kasimir,happy7,salama,hondaciv,nadezda,andretti,cannondale,sparticu,znbvjd,blueice,money01,finster,eldar,moosie,pappa,delta123,neruda,bmw330ci,jeanpaul,malibu1,alevtina,sobeit,travolta,fullmetal,enamorad,mausi,boston12,greggy,smurf1,ratrace,ichiban,ilovepus,davidg,wolf69,villa1,cocopuff,football12,starfury,zxc12345,forfree,fairfiel,dreams1,tayson,mike2,dogday,hej123,oldtimer,sanpedro,clicker,mollycat,roadstar,golfe,lvbnhbq1,topdevice,a1b2c,sevastopol,calli,milosc,fire911,pink123,team3x,nolimit5,snickers1,annies,09877890,jewel1,steve69,justin11,autechre,killerbe,browncow,slava1,christer,fantomen,redcloud,elenberg,beautiful1,passw0rd1,nazira,advantag,cockring,chaka,rjpzdrf,99941,az123456,biohazar,energie,bubble1,bmw323,tellme,printer1,glavine,1starwar,coolbeans,april17,carly1,quagmire,admin2,djkujuhfl,pontoon,texmex,carlos12,thermo,vaz2106,nougat,bob666,1hockey,1john,cricke,qwerty10,twinz,totalwar,underwoo,tijger,lildevil,123q321,germania,freddd,1scott,beefy,5t4r3e2w1q,fishbait,nobby,hogger,dnstuff,jimmyc,redknapp,flame1,tinfloor,balla,nfnfhby,yukon1,vixens,batata,danny123,1zxcvbnm,gaetan,homewood,greats,tester1,green99,1fucker,sc0tland,starss,glori,arnhem,goatman,1234asd,supertra,bill123,elguapo,sexylegs,jackryan,usmc69,innow,roaddog,alukard,winter11,crawler,gogiants,rvd420,alessandr,homegrow,gobbler,esteba,valeriy,happy12,1joshua,hawking,sicnarf,waynes,iamhappy,bayadera,august2,sashas,gotti,dragonfire,pencil1,halogen,borisov,bassingw,15975346,zachar,sweetp,soccer99,sky123,flipyou,spots3,xakepy,cyclops1,dragon77,rattolo58,motorhea,piligrim,helloween,dmb2010,supermen,shad0w,eatcum,sandokan,pinga,ufkfrnbrf,roksana,amista,pusser,sony1234,azerty1,1qasw2,ghbdt,q1w2e3r4t5y6u7i8,ktutylf,brehznev,zaebali,shitass,creosote,gjrtvjy,14938685,naughtyboy,pedro123,21crack,maurice1,joesakic,nicolas1,matthew9,lbyfhf,elocin,hfcgbplzq,pepper123,tiktak,mycroft,ryan11,firefly1,arriva,cyecvevhbr,loreal,peedee,jessica8,lisa01,anamari,pionex,ipanema,airbag,frfltvbz,123456789aa,epwr49,casper12,sweethear,sanandreas,wuschel,cocodog,france1,119911,redroses,erevan,xtvgbjy,bigfella,geneve,volvo850,evermore,amy123,moxie,celebs,geeman,underwor,haslo1,joy123,hallow,chelsea0,12435687,abarth,12332145,tazman1,roshan,yummie,genius1,chrisd,ilovelife,seventy7,qaz1wsx2,rocket88,gaurav,bobbyboy,tauchen,roberts1,locksmit,masterof,www111,d9ungl,volvos40,asdasd1,golfers,jillian1,7xm5rq,arwpls4u,gbhcf2,elloco,football2,muerte,bob101,sabbath1,strider1,killer66,notyou,lawnboy,de7mdf,johnnyb,voodoo2,sashaa,homedepo,bravos,nihao123,braindea,weedhead,rajeev,artem1,camille1,rockss,bobbyb,aniston,frnhbcf,oakridge,biscayne,cxfcnm,dressage,jesus3,kellyann,king69,juillet,holliste,h00ters,ripoff,123645,1999ar,eric12,123777,tommi,dick12,bilder,chris99,rulezz,getpaid,chicubs,ender1,byajhvfnbrf,milkshak,sk8board,freakshow,antonella,monolit,shelb,hannah01,masters1,pitbull1,1matthew,luvpussy,agbdlcid,panther2,alphas,euskadi,8318131,ronnie1,7558795,sweetgirl,cookie59,sequoia,5552555,ktyxbr,4500455,money7,severus,shinobu,dbityrf,phisig,rogue2,fractal,redfred,sebastian1,nelli,b00mer,cyberman,zqjphsyf6ctifgu,oldsmobile,redeemer,pimpi,lovehurts,1slayer,black13,rtynfdh,airmax,g00gle,1panther,artemon,nopasswo,fuck1234,luke1,trinit,666000,ziadma,oscardog,davex,hazel1,isgood,demond,james5,construc,555551,january2,m1911a1,flameboy,merda,nathan12,nicklaus,dukester,hello99,scorpio7,leviathan,dfcbktr,pourquoi,vfrcbv123,shlomo,rfcgth,rocky3,ignatz,ajhneyf,roger123,squeek,4815162342a,biskit,mossimo,soccer21,gridlock,lunker,popstar,ghhh47hj764,chutney,nitehawk,vortec,gamma1,codeman,dragula,kappasig,rainbow2,milehigh,blueballs,ou8124me,rulesyou,collingw,mystere,aster,astrovan,firetruck,fische,crawfish,hornydog,morebeer,tigerpaw,radost,144000,1chance,1234567890qwe,gracie1,myopia,oxnard,seminoles,evgeni,edvard,partytim,domani,tuffy1,jaimatadi,blackmag,kzueirf,peternor,mathew1,maggie12,henrys,k1234567,fasted,pozitiv,cfdtkbq,jessica7,goleafs,bandito,girl78,sharingan,skyhigh,bigrob,zorros,poopers,oldschoo,pentium2,gripper,norcal,kimba,artiller,moneymak,00197400,272829,shadow1212,thebull,handbags,all4u2c,bigman2,civics,godisgoo,section8,bandaid,suzanne1,zorba,159123,racecars,i62gbq,rambo123,ironroad,johnson2,knobby,twinboys,sausage1,kelly69,enter2,rhjirf,yessss,james12,anguilla,boutit,iggypop,vovochka,06060,budwiser,romuald,meditate,good1,sandrin,herkules,lakers8,honeybea,11111111a,miche,rangers9,lobster1,seiko,belova,midcon,mackdadd,bigdaddy1,daddie,sepultur,freddy12,damon1,stormy1,hockey2,bailey12,hedimaptfcor,dcowboys,sadiedog,thuggin,horny123,josie1,nikki2,beaver69,peewee1,mateus,viktorija,barrys,cubswin1,matt1234,timoxa,rileydog,sicilia,luckycat,candybar,julian1,abc456,pussylip,phase1,acadia,catty,246800,evertonf,bojangle,qzwxec,nikolaj,fabrizi,kagome,noncapa0,marle,popol,hahaha1,cossie,carla10,diggers,spankey,sangeeta,cucciolo,breezer,starwar1,cornholio,rastafari,spring99,yyyyyyy1,webstar,72d5tn,sasha1234,inhouse,gobuffs,civic1,redstone,234523,minnie1,rivaldo,angel5,sti2000,xenocide,11qq11,1phoenix,herman1,holly123,tallguy,sharks1,madri,superbad,ronin,jalal123,hardbody,1234567r,assman1,vivahate,buddylee,38972091,bonds25,40028922,qrhmis,wp2005,ceejay,pepper01,51842543,redrum1,renton,varadero,tvxtjk7r,vetteman,djhvbrc,curly1,fruitcak,jessicas,maduro,popmart,acuari,dirkpitt,buick1,bergerac,golfcart,pdtpljxrf,hooch1,dudelove,d9ebk7,123452000,afdjhbn,greener,123455432,parachut,mookie12,123456780,jeepcj5,potatoe,sanya,qwerty2010,waqw3p,gotika,freaky1,chihuahu,buccanee,ecstacy,crazyboy,slickric,blue88,fktdnbyf,2004rj,delta4,333222111,calient,ptbdhw,1bailey,blitz1,sheila1,master23,hoagie,pyf8ah,orbita,daveyboy,prono1,delta2,heman,1horny,tyrik123,ostrov,md2020,herve,rockfish,el546218,rfhbyjxrf,chessmaster,redmoon,lenny1,215487,tomat,guppy,amekpass,amoeba,my3girls,nottingh,kavita,natalia1,puccini,fabiana,8letters,romeos,netgear,casper2,taters,gowings,iforgot1,pokesmot,pollit,lawrun,petey1,rosebuds,007jr,gthtcnhjqrf,k9dls02a,neener,azertyu,duke11,manyak,tiger01,petros,supermar,mangas,twisty,spotter,takagi,dlanod,qcmfd454,tusymo,zz123456,chach,navyblue,gilbert1,2kash6zq,avemaria,1hxboqg2s,viviane,lhbjkjubz2957704,nowwowtg,1a2b3c4,m0rn3,kqigb7,superpuper,juehtw,gethigh,theclown,makeme,pradeep,sergik,deion21,nurik,devo2706,nbvibt,roman222,kalima,nevaeh,martin7,anathema,florian1,tamwsn3sja,dinmamma,133159,123654q,slicks,pnp0c08,yojimbo,skipp,kiran,pussyfuck,teengirl,apples12,myballs,angeli,1234a,125678,opelastra,blind1,armagedd,fish123,pitufo,chelseaf,thedevil,nugget1,cunt69,beetle1,carter15,apolon,collant,password00,fishboy,djkrjdf,deftone,celti,three11,cyrus1,lefthand,skoal1,ferndale,aries1,fred01,roberta1,chucks,cornbread,lloyd1,icecrea,cisco123,newjerse,vfhrbpf,passio,volcom1,rikimaru,yeah11,djembe,facile,a1l2e3x4,batman7,nurbol,lorenzo1,monica69,blowjob1,998899,spank1,233391,n123456,1bear,bellsout,999998,celtic67,sabre1,putas,y9enkj,alfabeta,heatwave,honey123,hard4u,insane1,xthysq,magnum1,lightsaber,123qweqwe,fisher1,pixie1,precios,benfic,thegirls,bootsman,4321rewq,nabokov,hightime,djghjc,1chelsea,junglist,august16,t3fkvkmj,1232123,lsdlsd12,chuckie1,pescado,granit,toogood,cathouse,natedawg,bmw530,123kid,hajime,198400,engine1,wessonnn,kingdom1,novembre,1rocks,kingfisher,qwerty89,jordan22,zasranec,megat,sucess,installutil,fetish01,yanshi1982,1313666,1314520,clemence,wargod,time1,newzealand,snaker,13324124,cfrehf,hepcat,mazahaka,bigjay,denisov,eastwest,1yellow,mistydog,cheetos,1596357,ginger11,mavrik,bubby1,bhbyf,pyramide,giusepp,luthien,honda250,andrewjackie,kentavr,lampoon,zaq123wsx,sonicx,davidh,1ccccc,gorodok,windsong,programm,blunt420,vlad1995,zxcvfdsa,tarasov,mrskin,sachas,mercedes1,koteczek,rawdog,honeybear,stuart1,kaktys,richard7,55555n,azalia,hockey10,scouter,francy,1xxxxxx,julie456,tequilla,penis123,schmoe,tigerwoods,1ferrari,popov,snowdrop,matthieu,smolensk,cornflak,jordan01,love2000,23wesdxc,kswiss,anna2000,geniusnet,baby2000,33ds5x,waverly,onlyone4,networkingpe,raven123,blesse,gocards,wow123,pjflkork,juicey,poorboy,freeee,billybo,shaheen,zxcvbnm.,berlit,truth1,gepard,ludovic,gunther1,bobby2,bob12345,sunmoon,septembr,bigmac1,bcnjhbz,seaking,all4u,12qw34er56ty,bassie,nokia5228,7355608,sylwia,charvel,billgate,davion,chablis,catsmeow,kjiflrf,amylynn,rfvbkkf,mizredhe,handjob,jasper12,erbol,solara,bagpipe,biffer,notime,erlan,8543852,sugaree,oshkosh,fedora,bangbus,5lyedn,longball,teresa1,bootyman,aleksand,qazwsxedc12,nujbhc,tifosi,zpxvwy,lights1,slowpoke,tiger12,kstate,password10,alex69,collins1,9632147,doglover,baseball2,security1,grunts,orange2,godloves,213qwe879,julieb,1qazxsw23edcvfr4,noidea,8uiazp,betsy1,junior2,parol123,123456zz,piehonkii,kanker,bunky,hingis,reese1,qaz123456,sidewinder,tonedup,footsie,blackpoo,jalapeno,mummy1,always1,josh1,rockyboy,plucky,chicag,nadroj,blarney,blood123,wheaties,packer1,ravens1,mrjones,gfhjkm007,anna2010,awatar,guitar12,hashish,scale1,tomwaits,amrita,fantasma,rfpfym,pass2,tigris,bigair,slicker,sylvi,shilpa,cindylou,archie1,bitches1,poppys,ontime,horney1,camaroz28,alladin,bujhm,cq2kph,alina1,wvj5np,1211123a,tetons,scorelan,concordi,morgan2,awacs,shanty,tomcat14,andrew123,bear69,vitae,fred99,chingy,octane,belgario,fatdaddy,rhodan,password23,sexxes,boomtown,joshua01,war3demo,my2kids,buck1,hot4you,monamour,12345aa,yumiko,parool,carlton1,neverland,rose12,right1,sociald,grouse,brandon0,cat222,alex00,civicex,bintang,malkav,arschloc,dodgeviper,qwerty666,goduke,dante123,boss1,ontheroc,corpsman,love14,uiegu451,hardtail,irondoor,ghjrehfnehf,36460341,konijn,h2slca,kondom25,123456ss,cfytxrf,btnjey,nando,freemail,comander,natas666,siouxsie,hummer1,biomed,dimsum,yankees0,diablo666,lesbian1,pot420,jasonm,glock23,jennyb,itsmine,lena2010,whattheh,beandip,abaddon,kishore,signup,apogee,biteme12,suzieq,vgfun4,iseeyou,rifleman,qwerta,4pussy,hawkman,guest1,june17,dicksuck,bootay,cash12,bassale,ktybyuhfl,leetch,nescafe,7ovtgimc,clapton1,auror,boonie,tracker1,john69,bellas,cabinboy,yonkers,silky1,ladyffesta,drache,kamil1,davidp,bad123,snoopy12,sanche,werthvfy,achille,nefertiti,gerald1,slage33,warszawa,macsan26,mason123,kotopes,welcome8,nascar99,kiril,77778888,hairy1,monito,comicsans,81726354,killabee,arclight,yuo67,feelme,86753099,nnssnn,monday12,88351132,88889999,websters,subito,asdf12345,vaz2108,zvbxrpl,159753456852,rezeda,multimed,noaccess,henrique,tascam,captiva,zadrot,hateyou,sophie12,123123456,snoop1,charlie8,birmingh,hardline,libert,azsxdcf,89172735872,rjpthju,bondar,philips1,olegnaruto,myword,yakman,stardog,banana12,1234567890w,farout,annick,duke01,rfj422,billard,glock19,shaolin1,master10,cinderel,deltaone,manning1,biggreen,sidney1,patty1,goforit1,766rglqy,sevendus,aristotl,armagedo,blumen,gfhfyjz,kazakov,lekbyxxx,accord1,idiota,soccer16,texas123,victoire,ololo,chris01,bobbbb,299792458,eeeeeee1,confiden,07070,clarks,techno1,kayley,stang1,wwwwww1,uuuuu1,neverdie,jasonr,cavscout,481516234,mylove1,shaitan,1qazxcvb,barbaros,123456782000,123wer,thissucks,7seven,227722,faerie,hayduke,dbacks,snorkel,zmxncbv,tiger99,unknown1,melmac,polo1234,sssssss1,1fire,369147,bandung,bluejean,nivram,stanle,ctcnhf,soccer20,blingbli,dirtball,alex2112,183461,skylin,boobman,geronto,brittany1,yyz2112,gizmo69,ktrcec,dakota12,chiken,sexy11,vg08k714,bernadet,1bulldog,beachs,hollyb,maryjoy,margo1,danielle1,chakra,alexand,hullcity,matrix12,sarenna,pablos,antler,supercar,chomsky,german1,airjordan,545ettvy,camaron,flight1,netvideo,tootall,valheru,481516,1234as,skimmer,redcross,inuyash,uthvfy,1012nw,edoardo,bjhgfi,golf11,9379992a,lagarto,socball,boopie,krazy,.adgjmptw,gaydar,kovalev,geddylee,firstone,turbodog,loveee,135711,badbo,trapdoor,opopop11,danny2,max2000,526452,kerry1,leapfrog,daisy2,134kzbip,1andrea,playa1,peekab00,heskey,pirrello,gsewfmck,dimon4ik,puppie,chelios,554433,hypnodanny,fantik,yhwnqc,ghbdtngjrf,anchorag,buffett1,fanta,sappho,024680,vialli,chiva,lucylu,hashem,exbntkm,thema,23jordan,jake11,wildside,smartie,emerica,2wj2k9oj,ventrue,timoth,lamers,baerchen,suspende,boobis,denman85,1adam12,otello,king12,dzakuni,qsawbbs,isgay,porno123,jam123,daytona1,tazzie,bunny123,amaterasu,jeffre,crocus,mastercard,bitchedup,chicago7,aynrand,intel1,tamila,alianza,mulch,merlin12,rose123,alcapone,mircea,loveher,joseph12,chelsea6,dorothy1,wolfgar,unlimite,arturik,qwerty3,paddy1,piramid,linda123,cooool,millie1,warlock1,forgotit,tort02,ilikeyou,avensis,loveislife,dumbass1,clint1,2110se,drlove,olesia,kalinina,sergey123,123423,alicia1,markova,tri5a3,media1,willia1,xxxxxxx1,beercan,smk7366,jesusislord,motherfuck,smacker,birthday5,jbaby,harley2,hyper1,a9387670a,honey2,corvet,gjmptw,rjhjkmbien,apollon,madhuri,3a5irt,cessna17,saluki,digweed,tamia1,yja3vo,cfvlehfr,1111111q,martyna,stimpy1,anjana,yankeemp,jupiler,idkfa,1blue,fromv,afric,3xbobobo,liverp00l,nikon1,amadeus1,acer123,napoleo,david7,vbhjckfdf,mojo69,percy1,pirates1,grunt1,alenushka,finbar,zsxdcf,mandy123,1fred,timewarp,747bbb,druids,julia123,123321qq,spacebar,dreads,fcbarcelona,angela12,anima,christopher1,stargazer,123123s,hockey11,brewski,marlbor,blinker,motorhead,damngood,werthrf,letmein3,moremoney,killer99,anneke,eatit,pilatus,andrew01,fiona1,maitai,blucher,zxgdqn,e5pftu,nagual,panic1,andron,openwide,alphabeta,alison1,chelsea8,fende,mmm666,1shot2,a19l1980,123456@,1black,m1chael,vagner,realgood,maxxx,vekmnbr,stifler,2509mmh,tarkan,sherzod,1234567b,gunners1,artem2010,shooby,sammie1,p123456,piggie,abcde12345,nokia6230,moldir,piter,1qaz3edc,frequenc,acuransx,1star,nikeair,alex21,dapimp,ranjan,ilovegirls,anastasiy,berbatov,manso,21436587,leafs1,106666,angelochek,ingodwetrust,123456aaa,deano,korsar,pipetka,thunder9,minka,himura,installdevic,1qqqqq,digitalprodu,suckmeoff,plonker,headers,vlasov,ktr1996,windsor1,mishanya,garfield1,korvin,littlebit,azaz09,vandamme,scripto,s4114d,passward,britt1,r1chard,ferrari5,running1,7xswzaq,falcon2,pepper76,trademan,ea53g5,graham1,volvos80,reanimator,micasa,1234554321q,kairat,escorpion,sanek94,karolina1,kolovrat,karen2,1qaz@wsx,racing1,splooge,sarah2,deadman1,creed1,nooner,minicoop,oceane,room112,charme,12345ab,summer00,wetcunt,drewman,nastyman,redfire,appels,merlin69,dolfin,bornfree,diskette,ohwell,12345678qwe,jasont,madcap,cobra2,dolemit1,whatthehell,juanit,voldemar,rocke,bianc,elendil,vtufgjkbc,hotwheels,spanis,sukram,pokerface,k1ller,freakout,dontae,realmadri,drumss,gorams,258789,snakey,jasonn,whitewolf,befree,johnny99,pooka,theghost,kennys,vfvektxrf,toby1,jumpman23,deadlock,barbwire,stellina,alexa1,dalamar,mustanggt,northwes,tesoro,chameleo,sigtau,satoshi,george11,hotcum,cornell1,golfer12,geek01d,trololo,kellym,megapolis,pepsi2,hea666,monkfish,blue52,sarajane,bowler1,skeets,ddgirls,hfccbz,bailey01,isabella1,dreday,moose123,baobab,crushme,000009,veryhot,roadie,meanone,mike18,henriett,dohcvtec,moulin,gulnur,adastra,angel9,western1,natura,sweetpe,dtnfkm,marsbar,daisys,frogger1,virus1,redwood1,streetball,fridolin,d78unhxq,midas,michelob,cantik,sk2000,kikker,macanudo,rambone,fizzle,20000,peanuts1,cowpie,stone32,astaroth,dakota01,redso,mustard1,sexylove,giantess,teaparty,bobbin,beerbong,monet1,charles3,anniedog,anna1988,cameleon,longbeach,tamere,qpful542,mesquite,waldemar,12345zx,iamhere,lowboy,canard,granp,daisymay,love33,moosejaw,nivek,ninjaman,shrike01,aaa777,88002000600,vodolei,bambush,falcor,harley69,alphaomega,severine,grappler,bosox,twogirls,gatorman,vettes,buttmunch,chyna,excelsio,crayfish,birillo,megumi,lsia9dnb9y,littlebo,stevek,hiroyuki,firehous,master5,briley2,gangste,chrisk,camaleon,bulle,troyboy,froinlaven,mybutt,sandhya,rapala,jagged,crazycat,lucky12,jetman,wavmanuk,1heather,beegee,negril,mario123,funtime1,conehead,abigai,mhorgan,patagoni,travel1,backspace,frenchfr,mudcat,dashenka,baseball3,rustys,741852kk,dickme,baller23,griffey1,suckmycock,fuhrfzgc,jenny2,spuds,berlin1,justfun,icewind,bumerang,pavlusha,minecraft123,shasta1,ranger12,123400,twisters,buthead,miked,finance1,dignity7,hello9,lvjdp383,jgthfnjh,dalmatio,paparoach,miller31,2bornot2b,fathe,monterre,theblues,satans,schaap,jasmine2,sibelius,manon,heslo,jcnhjd,shane123,natasha2,pierrot,bluecar,iloveass,harriso,red12,london20,job314,beholder,reddawg,fuckyou!,pussylick,bologna1,austintx,ole4ka,blotto,onering,jearly,balbes,lightbul,bighorn,crossfir,lee123,prapor,1ashley,gfhjkm22,wwe123,09090,sexsite,marina123,jagua,witch1,schmoo,parkview,dragon3,chilango,ultimo,abramova,nautique,2bornot2,duende,1arthur,nightwing,surfboar,quant4307,15s9pu03,karina1,shitball,walleye1,wildman1,whytesha,1morgan,my2girls,polic,baranova,berezuckiy,kkkkkk1,forzima,fornow,qwerty02,gokart,suckit69,davidlee,whatnow,edgard,tits1,bayshore,36987412,ghbphfr,daddyy,explore1,zoidberg,5qnzjx,morgane,danilov,blacksex,mickey12,balsam,83y6pv,sarahc,slaye,all4u2,slayer69,nadia1,rlzwp503,4cranker,kaylie,numberon,teremok,wolf12,deeppurple,goodbeer,aaa555,66669999,whatif,harmony1,ue8fpw,3tmnej,254xtpss,dusty197,wcksdypk,zerkalo,dfnheirf,motorol,digita,whoareyou,darksoul,manics,rounders,killer11,d2000lb,cegthgfhjkm,catdog1,beograd,pepsico,julius1,123654987,softbal,killer23,weasel1,lifeson,q123456q,444555666,bunches,andy1,darby1,service01,bear11,jordan123,amega,duncan21,yensid,lerxst,rassvet,bronco2,fortis,pornlove,paiste,198900,asdflkjh,1236547890,futur,eugene1,winnipeg261,fk8bhydb,seanjohn,brimston,matthe1,bitchedu,crisco,302731,roxydog,woodlawn,volgograd,ace1210,boy4u2ownnyc,laura123,pronger,parker12,z123456z,andrew13,longlife,sarang,drogba,gobruins,soccer4,holida,espace,almira,murmansk,green22,safina,wm00022,1chevy,schlumpf,doroth,ulises,golf99,hellyes,detlef,mydog,erkina,bastardo,mashenka,sucram,wehttam,generic1,195000,spaceboy,lopas123,scammer,skynyrd,daddy2,titani,ficker,cr250r,kbnthfnehf,takedown,sticky1,davidruiz,desant,nremtp,painter1,bogies,agamemno,kansas1,smallfry,archi,2b4dnvsx,1player,saddie,peapod,6458zn7a,qvw6n2,gfxqx686,twice2,sh4d0w3d,mayfly,375125,phitau,yqmbevgk,89211375759,kumar1,pfhfpf,toyboy,way2go,7pvn4t,pass69,chipster,spoony,buddycat,diamond3,rincewin,hobie,david01,billbo,hxp4life,matild,pokemon2,dimochka,clown1,148888,jenmt3,cuxldv,cqnwhy,cde34rfv,simone1,verynice,toobig,pasha123,mike00,maria2,lolpop,firewire,dragon9,martesana,a1234567890,birthday3,providen,kiska,pitbulls,556655,misawa,damned69,martin11,goldorak,gunship,glory1,winxclub,sixgun,splodge,agent1,splitter,dome69,ifghjb,eliza1,snaiper,wutang36,phoenix7,666425,arshavin,paulaner,namron,m69fg1w,qwert1234,terrys,zesyrmvu,joeman,scoots,dwml9f,625vrobg,sally123,gostoso,symow8,pelota,c43qpul5rz,majinbuu,lithium1,bigstuff,horndog1,kipelov,kringle,1beavis,loshara,octobe,jmzacf,12342000,qw12qw,runescape1,chargers1,krokus,piknik,jessy,778811,gjvbljh,474jdvff,pleaser,misskitty,breaker1,7f4df451,dayan,twinky,yakumo,chippers,matia,tanith,len2ski1,manni,nichol1,f00b4r,nokia3110,standart,123456789i,shami,steffie,larrywn,chucker,john99,chamois,jjjkkk,penmouse,ktnj2010,gooners,hemmelig,rodney1,merlin01,bearcat1,1yyyyy,159753z,1fffff,1ddddd,thomas11,gjkbyrf,ivanka,f1f2f3,petrovna,phunky,conair,brian2,creative1,klipsch,vbitymrf,freek,breitlin,cecili,westwing,gohabsgo,tippmann,1steve,quattro6,fatbob,sp00ky,rastas,1123581,redsea,rfnmrf,jerky1,1aaaaaa,spk666,simba123,qwert54321,123abcd,beavis69,fyfyfc,starr1,1236547,peanutbutter,sintra,12345abcde,1357246,abcde1,climbon,755dfx,mermaids,monte1,serkan,geilesau,777win,jasonc,parkside,imagine1,rockhead,producti,playhard,principa,spammer,gagher,escada,tsv1860,dbyjuhfl,cruiser1,kennyg,montgome,2481632,pompano,cum123,angel6,sooty,bear01,april6,bodyhamm,pugsly,getrich,mikes,pelusa,fosgate,jasonp,rostislav,kimberly1,128mo,dallas11,gooner1,manuel1,cocacola1,imesh,5782790,password8,daboys,1jones,intheend,e3w2q1,whisper1,madone,pjcgujrat,1p2o3i,jamesp,felicida,nemrac,phikap,firecat,jrcfyjxrf,matt12,bigfan,doedel,005500,jasonx,1234567k,badfish,goosey,utjuhfabz,wilco,artem123,igor123,spike123,jor23dan,dga9la,v2jmsz,morgan12,avery1,dogstyle,natasa,221195ws,twopac,oktober7,karthik,poop1,mightymo,davidr,zermatt,jehova,aezakmi1,dimwit,monkey5,serega123,qwerty111,blabl,casey22,boy123,1clutch,asdfjkl1,hariom,bruce10,jeep95,1smith,sm9934,karishma,bazzzz,aristo,669e53e1,nesterov,kill666,fihdfv,1abc2,anna1,silver11,mojoman,telefono,goeagles,sd3lpgdr,rfhfynby,melinda1,llcoolj,idteul,bigchief,rocky13,timberwo,ballers,gatekeep,kashif,hardass,anastasija,max777,vfuyjkbz,riesling,agent99,kappas,dalglish,tincan,orange3,turtoise,abkbvjy,mike24,hugedick,alabala,geolog,aziza,devilboy,habanero,waheguru,funboy,freedom5,natwest,seashore,impaler,qwaszx1,pastas,bmw535,tecktonik,mika00,jobsearc,pinche,puntang,aw96b6,1corvett,skorpio,foundati,zzr1100,gembird,vfnhjcrby,soccer18,vaz2110,peterp,archer1,cross1,samedi,dima1992,hunter99,lipper,hotbody,zhjckfdf,ducati1,trailer1,04325956,cheryl1,benetton,kononenko,sloneczko,rfgtkmrf,nashua,balalaika,ampere,eliston,dorsai,digge,flyrod,oxymoron,minolta,ironmike,majortom,karimov,fortun,putaria,an83546921an13,blade123,franchis,mxaigtg5,dynxyu,devlt4,brasi,terces,wqmfuh,nqdgxz,dale88,minchia,seeyou,housepen,1apple,1buddy,mariusz,bighouse,tango2,flimflam,nicola1,qwertyasd,tomek1,shumaher,kartoshka,bassss,canaries,redman1,123456789as,preciosa,allblacks,navidad,tommaso,beaudog,forrest1,green23,ryjgjxrf,go4it,ironman2,badnews,butterba,1grizzly,isaeva,rembrand,toront,1richard,bigjon,yfltymrf,1kitty,4ng62t,littlejo,wolfdog,ctvtyjd,spain1,megryan,tatertot,raven69,4809594q,tapout,stuntman,a131313,lagers,hotstuf,lfdbl11,stanley2,advokat,boloto,7894561,dooker,adxel187,cleodog,4play,0p9o8i,masterb,bimota,charlee,toystory,6820055,6666667,crevette,6031769,corsa,bingoo,dima1990,tennis11,samuri,avocado,melissa6,unicor,habari,metart,needsex,cockman,hernan,3891576,3334444,amigo1,gobuffs2,mike21,allianz,2835493,179355,midgard,joey123,oneluv,ellis1,towncar,shonuff,scouse,tool69,thomas19,chorizo,jblaze,lisa1,dima1999,sophia1,anna1989,vfvekbxrf,krasavica,redlegs,jason25,tbontb,katrine,eumesmo,vfhufhbnrf,1654321,asdfghj1,motdepas,booga,doogle,1453145,byron1,158272,kardinal,tanne,fallen1,abcd12345,ufyljy,n12345,kucing,burberry,bodger,1234578,februar,1234512,nekkid,prober,harrison1,idlewild,rfnz90,foiegras,pussy21,bigstud,denzel,tiffany2,bigwill,1234567890zzz,hello69,compute1,viper9,hellspaw,trythis,gococks,dogballs,delfi,lupine,millenia,newdelhi,charlest,basspro,1mike,joeblack,975310,1rosebud,batman11,misterio,fucknut,charlie0,august11,juancho,ilonka,jigei743ks,adam1234,889900,goonie,alicat,ggggggg1,1zzzzzzz,sexywife,northstar,chris23,888111,containe,trojan1,jason5,graikos,1ggggg,1eeeee,tigers01,indigo1,hotmale,jacob123,mishima,richard3,cjxb2014,coco123,meagain,thaman,wallst,edgewood,bundas,1power,matilda1,maradon,hookedup,jemima,r3vi3wpass,2004-10-,mudman,taz123,xswzaq,emerson1,anna21,warlord1,toering,pelle,tgwdvu,masterb8,wallstre,moppel,priora,ghjcnjrdfif,yoland,12332100,1j9e7f6f,jazzzz,yesman,brianm,42qwerty42,12345698,darkmanx,nirmal,john31,bb123456,neuspeed,billgates,moguls,fj1200,hbhlair,shaun1,ghbdfn,305pwzlr,nbu3cd,susanb,pimpdad,mangust6403,joedog,dawidek,gigante,708090,703751,700007,ikalcr,tbivbn,697769,marvi,iyaayas,karen123,jimmyboy,dozer1,e6z8jh,bigtime1,getdown,kevin12,brookly,zjduc3,nolan1,cobber,yr8wdxcq,liebe,m1garand,blah123,616879,action1,600000,sumitomo,albcaz,asian1,557799,dave69,556699,sasa123,streaker,michel1,karate1,buddy7,daulet,koks888,roadtrip,wapiti,oldguy,illini1,1234qq,mrspock,kwiatek,buterfly,august31,jibxhq,jackin,taxicab,tristram,talisker,446655,444666,chrisa,freespace,vfhbfyyf,chevell,444333,notyours,442244,christian1,seemore,sniper12,marlin1,joker666,multik,devilish,crf450,cdfoli,eastern1,asshead,duhast,voyager2,cyberia,1wizard,cybernet,iloveme1,veterok,karandash,392781,looksee,diddy,diabolic,foofight,missey,herbert1,bmw318i,premier1,zsfmpv,eric1234,dun6sm,fuck11,345543,spudman,lurker,bitem,lizzy1,ironsink,minami,339311,s7fhs127,sterne,332233,plankton,galax,azuywe,changepa,august25,mouse123,sikici,killer69,xswqaz,quovadis,gnomik,033028pw,777777a,barrakuda,spawn666,goodgod,slurp,morbius,yelnats,cujo31,norman1,fastone,earwig,aureli,wordlife,bnfkbz,yasmi,austin123,timberla,missy2,legalize,netcom,liljon,takeit,georgin,987654321z,warbird,vitalina,all4u3,mmmmmm1,bichon,ellobo,wahoos,fcazmj,aksarben,lodoss,satnam,vasili,197800,maarten,sam138989,0u812,ankita,walte,prince12,anvils,bestia,hoschi,198300,univer,jack10,ktyecbr,gr00vy,hokie,wolfman1,fuckwit,geyser,emmanue,ybrjkftd,qwerty33,karat,dblock,avocat,bobbym,womersle,1please,nostra,dayana,billyray,alternat,iloveu1,qwerty69,rammstein1,mystikal,winne,drawde,executor,craxxxs,ghjcnjnf,999888777,welshman,access123,963214785,951753852,babe69,fvcnthlfv,****me,666999666,testing2,199200,nintendo64,oscarr,guido8,zhanna,gumshoe,jbird,159357456,pasca,123452345,satan6,mithrand,fhbirf,aa1111aa,viggen,ficktjuv,radial9,davids1,rainbow7,futuro,hipho,platin,poppy123,rhenjq,fulle,rosit,chicano,scrumpy,lumpy1,seifer,uvmrysez,autumn1,xenon,susie1,7u8i9o0p,gamer1,sirene,muffy1,monkeys1,kalinin,olcrackmaster,hotmove,uconn,gshock,merson,lthtdyz,pizzaboy,peggy1,pistache,pinto1,fishka,ladydi,pandor,baileys,hungwell,redboy,rookie1,amanda01,passwrd,clean1,matty1,tarkus,jabba1,bobster,beer30,solomon1,moneymon,sesamo,fred11,sunnysid,jasmine5,thebears,putamadre,workhard,flashbac,counter1,liefde,magnat,corky1,green6,abramov,lordik,univers,shortys,david3,vip123,gnarly,1234567s,billy2,honkey,deathstar,grimmy,govinda,direktor,12345678s,linus1,shoppin,rekbrjdf,santeria,prett,berty75,mohican,daftpunk,uekmyfhf,chupa,strats,ironbird,giants56,salisbur,koldun,summer04,pondscum,jimmyj,miata1,george3,redshoes,weezie,bartman1,0p9o8i7u,s1lver,dorkus,125478,omega9,sexisgood,mancow,patric1,jetta1,074401,ghjuhtcc,gfhjk,bibble,terry2,123213,medicin,rebel2,hen3ry,4freedom,aldrin,lovesyou,browny,renwod,winnie1,belladon,1house,tyghbn,blessme,rfhfrfnbwf,haylee,deepdive,booya,phantasy,gansta,cock69,4mnveh,gazza1,redapple,structur,anakin1,manolito,steve01,poolman,chloe123,vlad1998,qazwsxe,pushit,random123,ontherocks,o236nq,brain1,dimedrol,agape,rovnogod,1balls,knigh,alliso,love01,wolf01,flintstone,beernuts,tuffguy,isengard,highfive,alex23,casper99,rubina,getreal,chinita,italian1,airsoft,qwerty23,muffdiver,willi1,grace123,orioles1,redbull1,chino1,ziggy123,breadman,estefan,ljcneg,gotoit,logan123,wideglid,mancity1,treess,qwe123456,kazumi,qweasdqwe,oddworld,naveed,protos,towson,a801016,godislov,at_asp,bambam1,soccer5,dark123,67vette,carlos123,hoser1,scouser,wesdxc,pelus,dragon25,pflhjn,abdula,1freedom,policema,tarkin,eduardo1,mackdad,gfhjkm11,lfplhfgthvf,adilet,zzzzxxxx,childre,samarkand,cegthgegth,shama,fresher,silvestr,greaser,allout,plmokn,sexdrive,nintendo1,fantasy7,oleander,fe126fd,crumpet,pingzing,dionis,hipster,yfcnz,requin,calliope,jerome1,housecat,abc123456789,doghot,snake123,augus,brillig,chronic1,gfhjkbot,expediti,noisette,master7,caliban,whitetai,favorite3,lisamari,educatio,ghjhjr,saber1,zcegth,1958proman,vtkrbq,milkdud,imajica,thehip,bailey10,hockey19,dkflbdjcnjr,j123456,bernar,aeiouy,gamlet,deltachi,endzone,conni,bcgfybz,brandi1,auckland2010,7653ajl1,mardigra,testuser,bunko18,camaro67,36936,greenie,454dfmcq,6xe8j2z4,mrgreen,ranger5,headhunt,banshee1,moonunit,zyltrc,hello3,pussyboy,stoopid,tigger11,yellow12,drums1,blue02,kils123,junkman,banyan,jimmyjam,tbbucs,sportster,badass1,joshie,braves10,lajolla,1amanda,antani,78787,antero,19216801,chich,rhett32,sarahm,beloit,sucker69,corkey,nicosnn,rccola,caracol,daffyduc,bunny2,mantas,monkies,hedonist,cacapipi,ashton1,sid123,19899891,patche,greekgod,cbr1000,leader1,19977991,ettore,chongo,113311,picass,cfif123,rhtfnbd,frances1,andy12,minnette,bigboy12,green69,alices,babcia,partyboy,javabean,freehand,qawsed123,xxx111,harold1,passwo,jonny1,kappa1,w2dlww3v5p,1merlin,222999,tomjones,jakeman,franken,markhegarty,john01,carole1,daveman,caseys,apeman,mookey,moon123,claret,titans1,residentevil,campari,curitiba,dovetail,aerostar,jackdaniels,basenji,zaq12w,glencoe,biglove,goober12,ncc170,far7766,monkey21,eclipse9,1234567v,vanechka,aristote,grumble,belgorod,abhishek,neworleans,pazzword,dummie,sashadog,diablo11,mst3000,koala1,maureen1,jake99,isaiah1,funkster,gillian1,ekaterina20,chibears,astra123,4me2no,winte,skippe,necro,windows9,vinograd,demolay,vika2010,quiksilver,19371ayj,dollar1,shecky,qzwxecrv,butterfly1,merrill1,scoreland,1crazy,megastar,mandragora,track1,dedhed,jacob2,newhope,qawsedrftgyh,shack1,samvel,gatita,shyster,clara1,telstar,office1,crickett,truls,nirmala,joselito,chrisl,lesnik,aaaabbbb,austin01,leto2010,bubbie,aaa12345,widder,234432,salinger,mrsmith,qazsedcft,newshoes,skunks,yt1300,bmw316,arbeit,smoove,123321qweewq,123qazwsx,22221111,seesaw,0987654321a,peach1,1029384756q,sereda,gerrard8,shit123,batcave,energy1,peterb,mytruck,peter12,alesya,tomato1,spirou,laputaxx,magoo1,omgkremidia,knight12,norton1,vladislava,shaddy,austin11,jlbyjxrf,kbdthgekm,punheta,fetish69,exploiter,roger2,manstein,gtnhjd,32615948worms,dogbreath,ujkjdjkjvrf,vodka1,ripcord,fatrat,kotek1,tiziana,larrybir,thunder3,nbvfnb,9kyq6fge,remembe,likemike,gavin1,shinigam,yfcnfcmz,13245678,jabbar,vampyr,ane4ka,lollipo,ashwin,scuderia,limpdick,deagle,3247562,vishenka,fdhjhf,alex02,volvov70,mandys,bioshock,caraca,tombraider,matrix69,jeff123,13579135,parazit,black3,noway1,diablos,hitmen,garden1,aminor,decembe,august12,b00ger,006900,452073t,schach,hitman1,mariner1,vbnmrf,paint1,742617000027,bitchboy,pfqxjyjr,5681392,marryher,sinnet,malik1,muffin12,aninha,piolin,lady12,traffic1,cbvjyf,6345789,june21,ivan2010,ryan123,honda99,gunny,coorslight,asd321,hunter69,7224763,sonofgod,dolphins1,1dolphin,pavlenko,woodwind,lovelov,pinkpant,gblfhfcbyf,hotel1,justinbiebe,vinter,jeff1234,mydogs,1pizza,boats1,parrothe,shawshan,brooklyn1,cbrown,1rocky,hemi426,dragon64,redwings1,porsches,ghostly,hubbahub,buttnut,b929ezzh,sorokina,flashg,fritos,b7mguk,metatron,treehous,vorpal,8902792,marcu,free123,labamba,chiefs1,zxc123zxc,keli_14,hotti,1steeler,money4,rakker,foxwoods,free1,ahjkjd,sidorova,snowwhit,neptune1,mrlover,trader1,nudelamb,baloo,power7,deltasig,bills1,trevo,7gorwell,nokia6630,nokia5320,madhatte,1cowboys,manga1,namtab,sanjar,fanny1,birdman1,adv12775,carlo1,dude1998,babyhuey,nicole11,madmike,ubvyfpbz,qawsedr,lifetec,skyhook,stalker123,toolong,robertso,ripazha,zippy123,1111111a,manol,dirtyman,analslut,jason3,dutches,minhasenha,cerise,fenrir,jayjay1,flatbush,franka,bhbyjxrf,26429vadim,lawntrax,198700,fritzy,nikhil,ripper1,harami,truckman,nemvxyheqdd5oqxyxyzi,gkfytnf,bugaboo,cableman,hairpie,xplorer,movado,hotsex69,mordred,ohyeah1,patrick3,frolov,katieh,4311111q,mochaj,presari,bigdo,753951852,freedom4,kapitan,tomas1,135795,sweet123,pokers,shagme,tane4ka,sentinal,ufgyndmv,jonnyb,skate123,123456798,123456788,very1,gerrit,damocles,dollarbi,caroline1,lloyds,pizdets,flatland,92702689,dave13,meoff,ajnjuhfabz,achmed,madison9,744744z,amonte,avrillavigne,elaine1,norma1,asseater,everlong,buddy23,cmgang1,trash1,mitsu,flyman,ulugbek,june27,magistr,fittan,sebora64,dingos,sleipnir,caterpil,cindys,212121qaz,partys,dialer,gjytltkmybr,qweqaz,janvier,rocawear,lostboy,aileron,sweety1,everest1,pornman,boombox,potter1,blackdic,44448888,eric123,112233aa,2502557i,novass,nanotech,yourname,x12345,indian1,15975300,1234567l,carla51,chicago0,coleta,cxzdsaewq,qqwweerr,marwan,deltic,hollys,qwerasd,pon32029,rainmake,nathan0,matveeva,legioner,kevink,riven,tombraid,blitzen,a54321,jackyl,chinese1,shalimar,oleg1995,beaches1,tommylee,eknock,berli,monkey23,badbob,pugwash,likewhoa,jesus2,yujyd360,belmar,shadow22,utfp5e,angelo1,minimax,pooder,cocoa1,moresex,tortue,lesbia,panthe,snoopy2,drumnbass,alway,gmcz71,6jhwmqku,leppard,dinsdale,blair1,boriqua,money111,virtuagirl,267605,rattlesn,1sunshin,monica12,veritas1,newmexic,millertime,turandot,rfvxfnrf,jaydog,kakawka,bowhunter,booboo12,deerpark,erreway,taylorma,rfkbybyf,wooglin,weegee,rexdog,iamhorny,cazzo1,vhou812,bacardi1,dctktyyfz,godpasi,peanut12,bertha1,fuckyoubitch,ghosty,altavista,jertoot,smokeit,ghjcnbvtyz,fhnehxbr,rolsen,qazxcdews,maddmaxx,redrocke,qazokm,spencer2,thekiller,asdf11,123sex,tupac1,p1234567,dbrown,1biteme,tgo4466,316769,sunghi,shakespe,frosty1,gucci1,arcana,bandit01,lyubov,poochy,dartmout,magpies1,sunnyd,mouseman,summer07,chester7,shalini,danbury,pigboy,dave99,deniss,harryb,ashley11,pppppp1,01081988m,balloon1,tkachenko,bucks1,master77,pussyca,tricky1,zzxxccvv,zoulou,doomer,mukesh,iluv69,supermax,todays,thefox,don123,dontask,diplom,piglett,shiney,fahbrf,qaz12wsx,temitope,reggin,project1,buffy2,inside1,lbpfqyth,vanilla1,lovecock,u4slpwra,fylh.irf,123211,7ertu3ds,necroman,chalky,artist1,simpso,4x7wjr,chaos666,lazyacres,harley99,ch33s3,marusa,eagle7,dilligas,computadora,lucky69,denwer,nissan350z,unforgiv,oddball,schalke0,aztec1,borisova,branden1,parkave,marie123,germa,lafayett,878kckxy,405060,cheeseca,bigwave,fred22,andreea,poulet,mercutio,psycholo,andrew88,o4izdmxu,sanctuar,newhome,milion,suckmydi,rjvgm.nth,warior,goodgame,1qwertyuiop,6339cndh,scorpio2,macker,southbay,crabcake,toadie,paperclip,fatkid,maddo,cliff1,rastafar,maries,twins1,geujdrf,anjela,wc4fun,dolina,mpetroff,rollout,zydeco,shadow3,pumpki,steeda,volvo240,terras,blowjo,blue2000,incognit,badmojo,gambit1,zhukov,station1,aaronb,graci,duke123,clipper1,qazxsw2,ledzeppe,kukareku,sexkitte,cinco,007008,lakers12,a1234b,acmilan1,afhfjy,starrr,slutty3,phoneman,kostyan,bonzo1,sintesi07,ersatz,cloud1,nephilim,nascar03,rey619,kairos,123456789e,hardon1,boeing1,juliya,hfccdtn,vgfun8,polizei,456838,keithb,minouche,ariston,savag,213141,clarkken,microwav,london2,santacla,campeo,qr5mx7,464811,mynuts,bombo,1mickey,lucky8,danger1,ironside,carter12,wyatt1,borntorun,iloveyou123,jose1,pancake1,tadmichaels,monsta,jugger,hunnie,triste,heat7777,ilovejesus,queeny,luckycharm,lieben,gordolee85,jtkirk,forever21,jetlag,skylane,taucher,neworlea,holera,000005,anhnhoem,melissa7,mumdad,massimiliano,dima1994,nigel1,madison3,slicky,shokolad,serenit,jmh1978,soccer123,chris3,drwho,rfpzdrf,1qasw23ed,free4me,wonka,sasquatc,sanan,maytag,verochka,bankone,molly12,monopoli,xfqybr,lamborgini,gondolin,candycane,needsome,jb007,scottie1,brigit,0147258369,kalamazo,lololyo123,bill1234,ilovejes,lol123123,popkorn,april13,567rntvm,downunde,charle1,angelbab,guildwars,homeworld,qazxcvbnm,superma1,dupa123,kryptoni,happyy,artyom,stormie,cool11,calvin69,saphir,konovalov,jansport,october8,liebling,druuna,susans,megans,tujhjdf,wmegrfux,jumbo1,ljb4dt7n,012345678910,kolesnik,speculum,at4gftlw,kurgan,93pn75,cahek0980,dallas01,godswill,fhifdby,chelsea4,jump23,barsoom,catinhat,urlacher,angel99,vidadi1,678910,lickme69,topaz1,westend,loveone,c12345,gold12,alex1959,mamon,barney12,1maggie,alex12345,lp2568cskt,s1234567,gjikbdctyf,anthony0,browns99,chips1,sunking,widespre,lalala1,tdutif,fucklife,master00,alino4ka,stakan,blonde1,phoebus,tenore,bvgthbz,brunos,suzjv8,uvdwgt,revenant,1banana,veroniqu,sexfun,sp1der,4g3izhox,isakov,shiva1,scooba,bluefire,wizard12,dimitris,funbags,perseus,hoodoo,keving,malboro,157953,a32tv8ls,latics,animate,mossad,yejntb,karting,qmpq39zr,busdrive,jtuac3my,jkne9y,sr20dett,4gxrzemq,keylargo,741147,rfktylfhm,toast1,skins1,xcalibur,gattone,seether,kameron,glock9mm,julio1,delenn,gameday,tommyd,str8edge,bulls123,66699,carlsberg,woodbird,adnama,45auto,codyman,truck2,1w2w3w4w,pvjegu,method1,luetdi,41d8cd98f00b,bankai,5432112345,94rwpe,reneee,chrisx,melvins,775577,sam2000,scrappy1,rachid,grizzley,margare,morgan01,winstons,gevorg,gonzal,crawdad,gfhfdjp,babilon,noneya,pussy11,barbell,easyride,c00li0,777771,311music,karla1,golions,19866891,peejay,leadfoot,hfvbkm,kr9z40sy,cobra123,isotwe,grizz,sallys,****you,aaa123a,dembel,foxs14,hillcres,webman,mudshark,alfredo1,weeded,lester1,hovepark,ratface,000777fffa,huskie,wildthing,elbarto,waikiki,masami,call911,goose2,regin,dovajb,agricola,cjytxrj,andy11,penny123,family01,a121212,1braves,upupa68,happy100,824655,cjlove,firsttim,kalel,redhair,dfhtymt,sliders,bananna,loverbo,fifa2008,crouton,chevy350,panties2,kolya1,alyona,hagrid,spagetti,q2w3e4r,867530,narkoman,nhfdvfnjkju123,1ccccccc,napolean,0072563,allay,w8sted,wigwam,jamesk,state1,parovoz,beach69,kevinb,rossella,logitech1,celula,gnocca,canucks1,loginova,marlboro1,aaaa1,kalleanka,mester,mishutka,milenko,alibek,jersey1,peterc,1mouse,nedved,blackone,ghfplybr,682regkh,beejay,newburgh,ruffian,clarets,noreaga,xenophon,hummerh2,tenshi,smeagol,soloyo,vfhnby,ereiamjh,ewq321,goomie,sportin,cellphone,sonnie,jetblack,saudan,gblfhfc,matheus,uhfvjnf,alicja,jayman1,devon1,hexagon,bailey2,vtufajy,yankees7,salty1,908070,killemal,gammas,eurocard,sydney12,tuesday1,antietam,wayfarer,beast666,19952009sa,aq12ws,eveli,hockey21,haloreach,dontcare,xxxx1,andrea11,karlmarx,jelszo,tylerb,protools,timberwolf,ruffneck,pololo,1bbbbb,waleed,sasami,twinss,fairlady,illuminati,alex007,sucks1,homerjay,scooter7,tarbaby,barmaley,amistad,vanes,randers,tigers12,dreamer2,goleafsg,googie,bernie1,as12345,godeep,james3,phanto,gwbush,cumlover,2196dc,studioworks,995511,golf56,titova,kaleka,itali,socks1,kurwamac,daisuke,hevonen,woody123,daisie,wouter,henry123,gostosa,guppie,porpoise,iamsexy,276115,paula123,1020315,38gjgeuftd,rjrfrjkf,knotty,idiot1,sasha12345,matrix13,securit,radical1,ag764ks,jsmith,coolguy1,secretar,juanas,sasha1988,itout,00000001,tiger11,1butthea,putain,cavalo,basia1,kobebryant,1232323,12345asdfg,sunsh1ne,cyfqgth,tomkat,dorota,dashit,pelmen,5t6y7u,whipit,smokeone,helloall,bonjour1,snowshoe,nilknarf,x1x2x3,lammas,1234599,lol123456,atombomb,ironchef,noclue,alekseev,gwbush1,silver2,12345678m,yesican,fahjlbnf,chapstic,alex95,open1,tiger200,lisichka,pogiako,cbr929,searchin,tanya123,alex1973,phil413,alex1991,dominati,geckos,freddi,silenthill,egroeg,vorobey,antoxa,dark666,shkola,apple22,rebellio,shamanking,7f8srt,cumsucker,partagas,bill99,22223333,arnster55,fucknuts,proxima,silversi,goblues,parcells,vfrcbvjdf,piloto,avocet,emily2,1597530,miniskir,himitsu,pepper2,juiceman,venom1,bogdana,jujube,quatro,botafogo,mama2010,junior12,derrickh,asdfrewq,miller2,chitarra,silverfox,napol,prestigio,devil123,mm111qm,ara123,max33484,sex2000,primo1,sephan,anyuta,alena2010,viborg,verysexy,hibiscus,terps,josefin,oxcart,spooker,speciali,raffaello,partyon,vfhvtkflrf,strela,a123456z,worksuck,glasss,lomonosov,dusty123,dukeblue,1winter,sergeeva,lala123,john22,cmc09,sobolev,bettylou,dannyb,gjkrjdybr,hagakure,iecnhbr,awsedr,pmdmsctsk,costco,alekseeva,fktrcttd,bazuka,flyingv,garuda,buffy16,gutierre,beer12,stomatolog,ernies,palmeiras,golf123,love269,n.kmgfy,gjkysqgbpltw,youare,joeboo,baksik,lifeguar,111a111,nascar8,mindgame,dude1,neopets,frdfkfyu,june24,phoenix8,penelopa,merlin99,mercenar,badluck,mishel,bookert,deadsexy,power9,chinchil,1234567m,alex10,skunk1,rfhkcjy,sammycat,wright1,randy2,marakesh,temppassword,elmer251,mooki,patrick0,bonoedge,1tits,chiar,kylie1,graffix,milkman1,cornel,mrkitty,nicole12,ticketmaster,beatles4,number20,ffff1,terps1,superfre,yfdbufnjh,jake1234,flblfc,1111qq,zanuda,jmol01,wpoolejr,polopol,nicolett,omega13,cannonba,123456789.,sandy69,ribeye,bo243ns,marilena,bogdan123,milla,redskins1,19733791,alias1,movie1,ducat,marzena,shadowru,56565,coolman1,pornlover,teepee,spiff,nafanya,gateway3,fuckyou0,hasher,34778,booboo69,staticx,hang10,qq12345,garnier,bosco123,1234567qw,carson1,samso,1xrg4kcq,cbr929rr,allan123,motorbik,andrew22,pussy101,miroslava,cytujdbr,camp0017,cobweb,snusmumrik,salmon1,cindy2,aliya,serendipity,co437at,tincouch,timmy123,hunter22,st1100,vvvvvv1,blanka,krondor,sweeti,nenit,kuzmich,gustavo1,bmw320i,alex2010,trees1,kyliem,essayons,april26,kumari,sprin,fajita,appletre,fghbjhb,1green,katieb,steven2,corrado1,satelite,1michell,123456789c,cfkfvfylhf,acurarsx,slut543,inhere,bob2000,pouncer,k123456789,fishie,aliso,audia8,bluetick,soccer69,jordan99,fromhell,mammoth1,fighting54,mike25,pepper11,extra1,worldwid,chaise,vfr800,sordfish,almat,nofate,listopad,hellgate,dctvghbdf,jeremia,qantas,lokiju,honker,sprint1,maral,triniti,compaq3,sixsix6,married1,loveman,juggalo1,repvtyrj,zxcasdqw,123445,whore1,123678,monkey6,west123,warcraf,pwnage,mystery1,creamyou,ant123,rehjgfnrf,corona1,coleman1,steve121,alderaan,barnaul,celeste1,junebug1,bombshel,gretzky9,tankist,targa,cachou,vaz2101,playgolf,boneyard,strateg,romawka,iforgotit,pullup,garbage1,irock,archmage,shaft1,oceano,sadies,alvin1,135135ab,psalm69,lmfao,ranger02,zaharova,33334444,perkman,realman,salguod,cmoney,astonmartin,glock1,greyfox,viper99,helpm,blackdick,46775575,family5,shazbot,dewey1,qwertyas,shivani,black22,mailman1,greenday1,57392632,red007,stanky,sanchez1,tysons,daruma,altosax,krayzie,85852008,1forever,98798798,irock.,123456654,142536789,ford22,brick1,michela,preciou,crazy4u,01telemike01,nolife,concac,safety1,annie123,brunswic,destini,123456qwer,madison0,snowball1,137946,1133557799,jarule,scout2,songohan,thedead,00009999,murphy01,spycam,hirsute,aurinko,associat,1miller,baklan,hermes1,2183rm,martie,kangoo,shweta,yvonne1,westsid,jackpot1,rotciv,maratik,fabrika,claude1,nursultan,noentry,ytnhjufnm,electra1,ghjcnjnfr1,puneet,smokey01,integrit,bugeye,trouble2,14071789,paul01,omgwtf,dmh415,ekilpool,yourmom1,moimeme,sparky11,boludo,ruslan123,kissme1,demetrio,appelsin,asshole3,raiders2,bunns,fynjybj,billygoa,p030710p$e4o,macdonal,248ujnfk,acorns,schmidt1,sparrow1,vinbylrj,weasle,jerom,ycwvrxxh,skywalk,gerlinde,solidus,postal1,poochie1,1charles,rhianna,terorist,rehnrf,omgwtfbbq,assfucke,deadend,zidan,jimboy,vengence,maroon5,7452tr,dalejr88,sombra,anatole,elodi,amazonas,147789,q12345q,gawker1,juanma,kassidy,greek1,bruces,bilbob,mike44,0o9i8u7y6t,kaligula,agentx,familie,anders1,pimpjuice,0128um,birthday10,lawncare,hownow,grandorgue,juggerna,scarfac,kensai,swatteam,123four,motorbike,repytxbr,other1,celicagt,pleomax,gen0303,godisgreat,icepick,lucifer666,heavy1,tea4two,forsure,02020,shortdog,webhead,chris13,palenque,3techsrl,knights1,orenburg,prong,nomarg,wutang1,80637852730,laika,iamfree,12345670,pillow1,12343412,bigears,peterg,stunna,rocky5,12123434,damir,feuerwehr,7418529630,danone,yanina,valenci,andy69,111222q,silvia1,1jjjjj,loveforever,passwo1,stratocaster,8928190a,motorolla,lateralu,ujujkm,chubba,ujkjdf,signon,123456789zx,serdce,stevo,wifey200,ololo123,popeye1,1pass,central1,melena,luxor,nemezida,poker123,ilovemusic,qaz1234,noodles1,lakeshow,amarill,ginseng,billiam,trento,321cba,fatback,soccer33,master13,marie2,newcar,bigtop,dark1,camron,nosgoth,155555,biglou,redbud,jordan7,159789,diversio,actros,dazed,drizzit,hjcnjd,wiktoria,justic,gooses,luzifer,darren1,chynna,tanuki,11335577,icculus,boobss,biggi,firstson,ceisi123,gatewa,hrothgar,jarhead1,happyjoy,felipe1,bebop1,medman,athena1,boneman,keiths,djljgfl,dicklick,russ120,mylady,zxcdsa,rock12,bluesea,kayaks,provista,luckies,smile4me,bootycal,enduro,123123f,heartbre,ern3sto,apple13,bigpappa,fy.njxrf,bigtom,cool69,perrito,quiet1,puszek,cious,cruella,temp1,david26,alemap,aa123123,teddies,tricolor,smokey12,kikiriki,mickey01,robert01,super5,ranman,stevenso,deliciou,money777,degauss,mozar,susanne1,asdasd12,shitbag,mommy123,wrestle1,imfree,fuckyou12,barbaris,florent,ujhijr,f8yruxoj,tefjps,anemone,toltec,2gether,left4dead2,ximen,gfkmvf,dunca,emilys,diana123,16473a,mark01,bigbro,annarbor,nikita2000,11aa11,tigres,llllll1,loser2,fbi11213,jupite,qwaszxqw,macabre,123ert,rev2000,mooooo,klapaucius,bagel1,chiquit,iyaoyas,bear101,irocz28,vfktymrfz,smokey2,love99,rfhnbyf,dracul,keith123,slicko,peacock1,orgasmic,thesnake,solder,wetass,doofer,david5,rhfcyjlfh,swanny,tammys,turkiye,tubaman,estefani,firehose,funnyguy,servo,grace17,pippa1,arbiter,jimmy69,nfymrf,asdf67nm,rjcnzy,demon123,thicknes,sexysex,kristall,michail,encarta,banderos,minty,marchenko,de1987ma,mo5kva,aircav,naomi1,bonni,tatoo,cronaldo,49ers1,mama1963,1truck,telecaster,punksnotdead,erotik,1eagles,1fender,luv269,acdeehan,tanner1,freema,1q3e5t7u,linksys,tiger6,megaman1,neophyte,australia1,mydaddy,1jeffrey,fgdfgdfg,gfgekz,1986irachka,keyman,m0b1l3,dfcz123,mikeyg,playstation2,abc125,slacker1,110491g,lordsoth,bhavani,ssecca,dctvghbdtn,niblick,hondacar,baby01,worldcom,4034407,51094didi,3657549,3630000,3578951,sweetpussy,majick,supercoo,robert11,abacabb,panda123,gfhjkm13,ford4x4,zippo1,lapin,1726354,lovesong,dude11,moebius,paravoz,1357642,matkhau,solnyshko,daniel4,multiplelog,starik,martusia,iamtheman,greentre,jetblue,motorrad,vfrcbvev,redoak,dogma1,gnorman,komlos,tonka1,1010220,666satan,losenord,lateralus,absinthe,command1,jigga1,iiiiiii1,pants1,jungfrau,926337,ufhhbgjnnth,yamakasi,888555,sunny7,gemini69,alone1,zxcvbnmz,cabezon,skyblues,zxc1234,456123a,zero00,caseih,azzurra,legolas1,menudo,murcielago,785612,779977,benidorm,viperman,dima1985,piglet1,hemligt,hotfeet,7elephants,hardup,gamess,a000000,267ksyjf,kaitlynn,sharkie,sisyphus,yellow22,667766,redvette,666420,mets69,ac2zxdty,hxxrvwcy,cdavis,alan1,noddy,579300,druss,eatshit1,555123,appleseed,simpleplan,kazak,526282,fynfyfyfhbde,birthday6,dragon6,1pookie,bluedevils,omg123,hj8z6e,x5dxwp,455445,batman23,termin,chrisbrown,animals1,lucky9,443322,kzktxrf,takayuki,fermer,assembler,zomu9q,sissyboy,sergant,felina,nokia6230i,eminem12,croco,hunt4red,festina,darknigh,cptnz062,ndshnx4s,twizzler,wnmaz7sd,aamaax,gfhfcjkmrf,alabama123,barrynov,happy5,punt0it,durandal,8xuuobe4,cmu9ggzh,bruno12,316497,crazyfrog,vfvfktyf,apple3,kasey1,mackdaddy,anthon1,sunnys,angel3,cribbage,moon1,donal,bryce1,pandabear,mwss474,whitesta,freaker,197100,bitche,p2ssw0rd,turnb,tiktonik,moonlite,ferret1,jackas,ferrum,bearclaw,liberty2,1diablo,caribe,snakeeyes,janbam,azonic,rainmaker,vetalik,bigeasy,baby1234,sureno13,blink1,kluivert,calbears,lavanda,198600,dhtlbyf,medvedeva,fox123,whirling,bonscott,freedom9,october3,manoman,segredo,cerulean,robinso,bsmith,flatus,dannon,password21,rrrrrr1,callista,romai,rainman1,trantor,mickeymo,bulldog7,g123456,pavlin,pass22,snowie,hookah,7ofnine,bubba22,cabible,nicerack,moomoo1,summer98,yoyo123,milan1,lieve27,mustang69,jackster,exocet,nadege,qaz12,bahama,watson1,libras,eclipse2,bahram,bapezm,up9x8rww,ghjcnjz,themaste,deflep27,ghost16,gattaca,fotograf,junior123,gilber,gbjyth,8vjzus,rosco1,begonia,aldebara,flower12,novastar,buzzman,manchild,lopez1,mama11,william7,yfcnz1,blackstar,spurs123,moom4242,1amber,iownyou,tightend,07931505,paquito,1johnson,smokepot,pi31415,snowmass,ayacdc,jessicam,giuliana,5tgbnhy6,harlee,giuli,bigwig,tentacle,scoubidou2,benelli,vasilina,nimda,284655,jaihind,lero4ka,1tommy,reggi,ididit,jlbyjxtcndj,mike26,qbert,wweraw,lukasz,loosee123,palantir,flint1,mapper,baldie,saturne,virgin1,meeeee,elkcit,iloveme2,blue15,themoon,radmir,number3,shyanne,missle,hannelor,jasmina,karin1,lewie622,ghjcnjqgfhjkm,blasters,oiseau,sheela,grinders,panget,rapido,positiv,twink,fltkbyf,kzsfj874,daniel01,enjoyit,nofags,doodad,rustler,squealer,fortunat,peace123,khushi,devils2,7inches,candlebo,topdawg,armen,soundman,zxcqweasd,april7,gazeta,netman,hoppers,bear99,ghbjhbntn,mantle7,bigbo,harpo,jgordon,bullshi,vinny1,krishn,star22,thunderc,galinka,phish123,tintable,nightcrawler,tigerboy,rbhgbx,messi,basilisk,masha1998,nina123,yomamma,kayla123,geemoney,0000000000d,motoman,a3jtni,ser123,owen10,italien,vintelok,12345rewq,nightime,jeepin,ch1tt1ck,mxyzptlk,bandido,ohboy,doctorj,hussar,superted,parfilev,grundle,1jack,livestrong,chrisj,matthew3,access22,moikka,fatone,miguelit,trivium,glenn1,smooches,heiko,dezember,spaghett,stason,molokai,bossdog,guitarma,waderh,boriska,photosho,path13,hfrtnf,audre,junior24,monkey24,silke,vaz21093,bigblue1,trident1,candide,arcanum,klinker,orange99,bengals1,rosebu,mjujuj,nallepuh,mtwapa1a,ranger69,level1,bissjop,leica,1tiffany,rutabega,elvis77,kellie1,sameas,barada,karabas,frank12,queenb,toutoune,surfcity,samanth1,monitor1,littledo,kazakova,fodase,mistral1,april22,carlit,shakal,batman123,fuckoff2,alpha01,5544332211,buddy3,towtruck,kenwood1,vfiekmrf,jkl123,pypsik,ranger75,sitges,toyman,bartek1,ladygirl,booman,boeing77,installsqlst,222666,gosling,bigmack,223311,bogos,kevin2,gomez1,xohzi3g4,kfnju842,klubnika,cubalibr,123456789101,kenpo,0147852369,raptor1,tallulah,boobys,jjones,1q2s3c,moogie,vid2600,almas,wombat1,extra300,xfiles1,green77,sexsex1,heyjude,sammyy,missy123,maiyeuem,nccpl25282,thicluv,sissie,raven3,fldjrfn,buster22,broncos2,laurab,letmein4,harrydog,solovey,fishlips,asdf4321,ford123,superjet,norwegen,movieman,psw333333,intoit,postbank,deepwate,ola123,geolog323,murphys,eshort,a3eilm2s2y,kimota,belous,saurus,123321qaz,i81b4u,aaa12,monkey20,buckwild,byabybnb,mapleleafs,yfcnzyfcnz,baby69,summer03,twista,246890,246824,ltcnhjth,z1z2z3,monika1,sad123,uto29321,bathory,villan,funkey,poptarts,spam967888,705499fh,sebast,porn1234,earn381,1porsche,whatthef,123456789y,polo12,brillo,soreilly,waters1,eudora,allochka,is_a_bot,winter00,bassplay,531879fiz,onemore,bjarne,red911,kot123,artur1,qazxdr,c0rvette,diamond7,matematica,klesko,beaver12,2enter,seashell,panam,chaching,edward2,browni,xenogear,cornfed,aniram,chicco22,darwin1,ancella2,sophie2,vika1998,anneli,shawn41,babie,resolute,pandora2,william8,twoone,coors1,jesusis1,teh012,cheerlea,renfield,tessa1,anna1986,madness1,bkmlfh,19719870,liebherr,ck6znp42,gary123,123654z,alsscan,eyedoc,matrix7,metalgea,chinito,4iter,falcon11,7jokx7b9du,bigfeet,tassadar,retnuh,muscle1,klimova,darion,batistuta,bigsur,1herbier,noonie,ghjrehjh,karimova,faustus,snowwhite,1manager,dasboot,michael12,analfuck,inbed,dwdrums,jaysoncj,maranell,bsheep75,164379,rolodex,166666,rrrrrrr1,almaz666,167943,russel1,negrito,alianz,goodpussy,veronik,1w2q3r4e,efremov,emb377,sdpass,william6,alanfahy,nastya1995,panther5,automag,123qwe12,vfvf2011,fishe,1peanut,speedie,qazwsx1234,pass999,171204j,ketamine,sheena1,energizer,usethis1,123abc123,buster21,thechamp,flvbhfk,frank69,chane,hopeful1,claybird,pander,anusha,bigmaxxx,faktor,housebed,dimidrol,bigball,shashi,derby1,fredy,dervish,bootycall,80988218126,killerb,cheese2,pariss,mymail,dell123,catbert,christa1,chevytru,gjgjdf,00998877,overdriv,ratten,golf01,nyyanks,dinamite,bloembol,gismo,magnus1,march2,twinkles,ryan22,duckey,118a105b,kitcat,brielle,poussin,lanzarot,youngone,ssvegeta,hero63,battle1,kiler,fktrcfylh1,newera,vika1996,dynomite,oooppp,beer4me,foodie,ljhjuf,sonshine,godess,doug1,constanc,thinkbig,steve2,damnyou,autogod,www333,kyle1,ranger7,roller1,harry2,dustin1,hopalong,tkachuk,b00bies,bill2,deep111,stuffit,fire69,redfish1,andrei123,graphix,1fishing,kimbo1,mlesp31,ifufkbyf,gurkan,44556,emily123,busman,and123,8546404,paladine,1world,bulgakov,4294967296,bball23,1wwwww,mycats,elain,delta6,36363,emilyb,color1,6060842,cdtnkfyrf,hedonism,gfgfrfhkj,5551298,scubad,gostate,sillyme,hdbiker,beardown,fishers,sektor,00000007,newbaby,rapid1,braves95,gator2,nigge,anthony3,sammmy,oou812,heffer,phishin,roxanne1,yourass,hornet1,albator,2521659,underwat,tanusha,dianas,3f3fpht7op,dragon20,bilbobag,cheroke,radiatio,dwarf1,majik,33st33,dochka,garibald,robinh,sham69,temp01,wakeboar,violet1,1w2w3w,registr,tonite,maranello,1593570,parolamea,galatasara,loranthos,1472583,asmodean,1362840,scylla,doneit,jokerr,porkypig,kungen,mercator,koolhaas,come2me,debbie69,calbear,liverpoolfc,yankees4,12344321a,kennyb,madma,85200258,dustin23,thomas13,tooling,mikasa,mistic,crfnbyf,112233445,sofia1,heinz57,colts1,price1,snowey,joakim,mark11,963147,cnhfcnm,kzinti,1bbbbbbb,rubberdu,donthate,rupert1,sasha1992,regis1,nbuhbwf,fanboy,sundial,sooner1,wayout,vjnjhjkf,deskpro,arkangel,willie12,mikeyb,celtic1888,luis1,buddy01,duane1,grandma1,aolcom,weeman,172839456,basshead,hornball,magnu,pagedown,molly2,131517,rfvtgbyhn,astonmar,mistery,madalina,cash1,1happy,shenlong,matrix01,nazarova,369874125,800500,webguy,rse2540,ashley2,briank,789551,786110,chunli,j0nathan,greshnik,courtne,suckmyco,mjollnir,789632147,asdfg1234,754321,odelay,ranma12,zebedee,artem777,bmw318is,butt1,rambler1,yankees9,alabam,5w76rnqp,rosies,mafioso,studio1,babyruth,tranzit,magical123,gfhjkm135,12345$,soboleva,709394,ubique,drizzt1,elmers,teamster,pokemons,1472583690,1597532486,shockers,merckx,melanie2,ttocs,clarisse,earth1,dennys,slobber,flagman,farfalla,troika,4fa82hyx,hakan,x4ww5qdr,cumsuck,leather1,forum1,july20,barbel,zodiak,samuel12,ford01,rushfan,bugsy1,invest1,tumadre,screwme,a666666,money5,henry8,tiddles,sailaway,starburs,100years,killer01,comando,hiromi,ranetka,thordog,blackhole,palmeira,verboten,solidsna,q1w1e1,humme,kevinc,gbrfxe,gevaudan,hannah11,peter2,vangar,sharky7,talktome,jesse123,chuchi,pammy,!qazxsw2,siesta,twenty1,wetwilly,477041,natural1,sun123,daniel3,intersta,shithead1,hellyea,bonethugs,solitair,bubbles2,father1,nick01,444000,adidas12,dripik,cameron2,442200,a7nz8546,respublika,fkojn6gb,428054,snoppy,rulez1,haslo,rachael1,purple01,zldej102,ab12cd34,cytuehjxrf,madhu,astroman,preteen,handsoff,mrblonde,biggio,testin,vfdhif,twolves,unclesam,asmara,kpydskcw,lg2wmgvr,grolsch,biarritz,feather1,williamm,s62i93,bone1,penske,337733,336633,taurus1,334433,billet,diamondd,333000,nukem,fishhook,godogs,thehun,lena1982,blue00,smelly1,unb4g9ty,65pjv22,applegat,mikehunt,giancarlo,krillin,felix123,december1,soapy,46doris,nicole23,bigsexy1,justin10,pingu,bambou,falcon12,dgthtl,1surfer,qwerty01,estrellit,nfqcjy,easygo,konica,qazqwe,1234567890m,stingers,nonrev,3e4r5t,champio,bbbbbb99,196400,allen123,seppel,simba2,rockme,zebra3,tekken3,endgame,sandy2,197300,fitte,monkey00,eldritch,littleone,rfyfgkz,1member,66chevy,oohrah,cormac,hpmrbm41,197600,grayfox,elvis69,celebrit,maxwell7,rodders,krist,1camaro,broken1,kendall1,silkcut,katenka,angrick,maruni,17071994a,tktyf,kruemel,snuffles,iro4ka,baby12,alexis01,marryme,vlad1994,forward1,culero,badaboom,malvin,hardtoon,hatelove,molley,knopo4ka,duchess1,mensuck,cba321,kickbutt,zastava,wayner,fuckyou6,eddie123,cjkysir,john33,dragonfi,cody1,jabell,cjhjrf,badseed,sweden1,marihuana,brownlov,elland,nike1234,kwiettie,jonnyboy,togepi,billyk,robert123,bb334,florenci,ssgoku,198910,bristol1,bob007,allister,yjdujhjl,gauloise,198920,bellaboo,9lives,aguilas,wltfg4ta,foxyroxy,rocket69,fifty50,babalu,master21,malinois,kaluga,gogosox,obsessio,yeahrigh,panthers1,capstan,liza2000,leigh1,paintball1,blueskie,cbr600f3,bagdad,jose98,mandreki,shark01,wonderbo,muledeer,xsvnd4b2,hangten,200001,grenden,anaell,apa195,model1,245lufpq,zip100,ghjcgtrn,wert1234,misty2,charro,juanjose,fkbcrf,frostbit,badminto,buddyy,1doctor,vanya,archibal,parviz,spunky1,footboy,dm6tzsgp,legola,samadhi,poopee,ytdxz2ca,hallowboy,dposton,gautie,theworm,guilherme,dopehead,iluvtits,bobbob1,ranger6,worldwar,lowkey,chewbaca,oooooo99,ducttape,dedalus,celular,8i9o0p,borisenko,taylor01,111111z,arlingto,p3nnywiz,rdgpl3ds,boobless,kcmfwesg,blacksab,mother2,markus1,leachim,secret2,s123456789,1derful,espero,russell2,tazzer,marykate,freakme,mollyb,lindros8,james00,gofaster,stokrotka,kilbosik,aquamann,pawel1,shedevil,mousie,slot2009,october6,146969,mm259up,brewcrew,choucho,uliana,sexfiend,fktirf,pantss,vladimi,starz,sheeps,12341234q,bigun,tiggers,crjhjcnm,libtech,pudge1,home12,zircon,klaus1,jerry2,pink1,lingus,monkey66,dumass,polopolo09,feuerweh,rjyatnf,chessy,beefer,shamen,poohbear1,4jjcho,bennevis,fatgirls,ujnbrf,cdexswzaq,9noize9,rich123,nomoney,racecar1,hacke,clahay,acuario,getsum,hondacrv,william0,cheyenn,techdeck,atljhjdf,wtcacq,suger,fallenangel,bammer,tranquil,carla123,relayer,lespaul1,portvale,idontno,bycnbnen,trooper2,gennadiy,pompon,billbob,amazonka,akitas,chinatow,atkbrc,busters,fitness1,cateye,selfok2013,1murphy,fullhous,mucker,bajskorv,nectarin,littlebitch,love24,feyenoor,bigal37,lambo1,pussybitch,icecube1,biged,kyocera,ltybcjdf,boodle,theking1,gotrice,sunset1,abm1224,fromme,sexsells,inheat,kenya1,swinger1,aphrodit,kurtcobain,rhind101,poidog,poiulkjh,kuzmina,beantown,tony88,stuttgar,drumer,joaqui,messenge,motorman,amber2,nicegirl,rachel69,andreia,faith123,studmuffin,jaiden,red111,vtkmybr,gamecocks,gumper,bosshogg,4me2know,tokyo1,kleaner,roadhog,fuckmeno,phoenix3,seeme,buttnutt,boner69,andreyka,myheart,katerin,rugburn,jvtuepip,dc3ubn,chile1,ashley69,happy99,swissair,balls2,fylhttdf,jimboo,55555d,mickey11,voronin,m7hsqstm,stufff,merete,weihnachte,dowjones,baloo1,freeones,bears34,auburn1,beverl,timberland,1elvis,guinness1,bombadil,flatron1,logging7,telefoon,merl1n,masha1,andrei1,cowabung,yousuck1,1matrix,peopl,asd123qwe,sweett,mirror1,torrente,joker12,diamond6,jackaroo,00000a,millerlite,ironhorse,2twins,stryke,gggg1,zzzxxxccc,roosevel,8363eddy,angel21,depeche1,d0ct0r,blue14,areyou,veloce,grendal,frederiksberg,cbcntvf,cb207sl,sasha2000,was.here,fritzz,rosedale,spinoza,cokeisit,gandalf3,skidmark,ashley01,12345j,1234567890qaz,sexxxxxx,beagles,lennart,12345789,pass10,politic,max007,gcheckou,12345611,tiffy,lightman,mushin,velosiped,brucewayne,gauthie,elena123,greenegg,h2oski,clocker,nitemare,123321s,megiddo,cassidy1,david13,boywonde,flori,peggy12,pgszt6md,batterie,redlands,scooter6,bckhere,trueno,bailey11,maxwell2,bandana,timoth1,startnow,ducati74,tiern,maxine1,blackmetal,suzyq,balla007,phatfarm,kirsten1,titmouse,benhogan,culito,forbin,chess1,warren1,panman,mickey7,24lover,dascha,speed2,redlion,andrew10,johnwayn,nike23,chacha1,bendog,bullyboy,goldtree,spookie,tigger99,1cookie,poutine,cyclone1,woodpony,camaleun,bluesky1,dfadan,eagles20,lovergirl,peepshow,mine1,dima1989,rjdfkmxer,11111aaaaa,machina,august17,1hhhhh,0773417k,1monster,freaksho,jazzmin,davidw,kurupt,chumly,huggies,sashenka,ccccccc1,bridge1,giggalo,cincinna,pistol1,hello22,david77,lightfoo,lucky6,jimmy12,261397,lisa12,tabaluga,mysite,belo4ka,greenn,eagle99,punkrawk,salvado,slick123,wichsen,knight99,dummys,fefolico,contrera,kalle1,anna1984,delray,robert99,garena,pretende,racefan,alons,serenada,ludmilla,cnhtkjr,l0swf9gx,hankster,dfktynbyrf,sheep1,john23,cv141ab,kalyani,944turbo,crystal2,blackfly,zrjdktdf,eus1sue1,mario5,riverplate,harddriv,melissa3,elliott1,sexybitc,cnhfyybr,jimdavis,bollix,beta1,amberlee,skywalk1,natala,1blood,brattax,shitty1,gb15kv99,ronjon,rothmans,thedoc,joey21,hotboi,firedawg,bimbo38,jibber,aftermat,nomar,01478963,phishing,domodo,anna13,materia,martha1,budman1,gunblade,exclusiv,sasha1997,anastas,rebecca2,fackyou,kallisti,fuckmyass,norseman,ipswich1,151500,1edward,intelinside,darcy1,bcrich,yjdjcnbf,failte,buzzzz,cream1,tatiana1,7eleven,green8,153351,1a2s3d4f5g6h,154263,milano1,bambi1,bruins77,rugby2,jamal1,bolita,sundaypunch,bubba12,realmadr,vfyxtcnth,iwojima,notlob,black666,valkiria,nexus1,millerti,birthday100,swiss1,appollo,gefest,greeneyes,celebrat,tigerr,slava123,izumrud,bubbabub,legoman,joesmith,katya123,sweetdream,john44,wwwwwww1,oooooo1,socal,lovespor,s5r8ed67s,258147,heidis,cowboy22,wachovia,michaelb,qwe1234567,i12345,255225,goldie1,alfa155,45colt,safeu851,antonova,longtong,1sparky,gfvznm,busen,hjlbjy,whateva,rocky4,cokeman,joshua3,kekskek1,sirocco,jagman,123456qwert,phinupi,thomas10,loller,sakur,vika2011,fullred,mariska,azucar,ncstate,glenn74,halima,aleshka,ilovemylife,verlaat,baggie,scoubidou6,phatboy,jbruton,scoop1,barney11,blindman,def456,maximus2,master55,nestea,11223355,diego123,sexpistols,sniffy,philip1,f12345,prisonbreak,nokia2700,ajnjuhfa,yankees3,colfax,ak470000,mtnman,bdfyeirf,fotball,ichbin,trebla,ilusha,riobravo,beaner1,thoradin,polkaudi,kurosawa,honda123,ladybu,valerik,poltava,saviola,fuckyouguys,754740g0,anallove,microlab1,juris01,ncc1864,garfild,shania1,qagsud,makarenko,cindy69,lebedev,andrew11,johnnybo,groovy1,booster1,sanders1,tommyb,johnson4,kd189nlcih,hondaman,vlasova,chick1,sokada,sevisgur,bear2327,chacho,sexmania,roma1993,hjcnbckfd,valley1,howdie,tuppence,jimandanne,strike3,y4kuz4,nhfnfnf,tsubasa,19955991,scabby,quincunx,dima1998,uuuuuu1,logica,skinner1,pinguino,lisa1234,xpressmusic,getfucked,qqqq1,bbbb1,matulino,ulyana,upsman,johnsmith,123579,co2000,spanner1,todiefor,mangoes,isabel1,123852,negra,snowdon,nikki123,bronx1,booom,ram2500,chuck123,fireboy,creek1,batman13,princesse,az12345,maksat,1knight,28infern,241455,r7112s,muselman,mets1986,katydid,vlad777,playme,kmfdm1,asssex,1prince,iop890,bigbroth,mollymoo,waitron,lizottes,125412,juggler,quinta,0sister0,zanardi,nata123,heckfyxbr,22q04w90e,engine2,nikita95,zamira,hammer22,lutscher,carolina1,zz6319,sanman,vfuflfy,buster99,rossco,kourniko,aggarwal,tattoo1,janice1,finger1,125521,19911992,shdwlnds,rudenko,vfvfgfgf123,galatea,monkeybu,juhani,premiumcash,classact,devilmay,helpme2,knuddel,hardpack,ramil,perrit,basil1,zombie13,stockcar,tos8217,honeypie,nowayman,alphadog,melon1,talula,125689,tiribon12,tornike,haribol,telefone,tiger22,sucka,lfytxrf,chicken123,muggins,a23456,b1234567,lytdybr,otter1,pippa,vasilisk,cooking1,helter,78978,bestboy,viper7,ahmed1,whitewol,mommys,apple5,shazam1,chelsea7,kumiko,masterma,rallye,bushmast,jkz123,entrar,andrew6,nathan01,alaric,tavasz,heimdall,gravy1,jimmy99,cthlwt,powerr,gthtrhtcnjr,canesfan,sasha11,ybrbnf_25,august9,brucie,artichok,arnie1,superdude,tarelka,mickey22,dooper,luners,holeshot,good123,gettysbu,bicho,hammer99,divine5,1zxcvbn,stronzo,q22222,disne,bmw750il,godhead,hallodu,aerith,nastik,differen,cestmoi,amber69,5string,pornosta,dirtygirl,ginger123,formel1,scott12,honda200,hotspurs,johnatha,firstone123,lexmark1,msconfig,karlmasc,l123456,123qweasdzx,baldman,sungod,furka,retsub,9811020,ryder1,tcglyued,astron,lbvfcbr,minddoc,dirt49,baseball12,tbear,simpl,schuey,artimus,bikman,plat1num,quantex,gotyou,hailey1,justin01,ellada,8481068,000002,manimal,dthjybxrf,buck123,dick123,6969696,nospam,strong1,kodeord,bama12,123321w,superman123,gladiolus,nintend,5792076,dreamgirl,spankme1,gautam,arianna1,titti,tetas,cool1234,belladog,importan,4206969,87e5nclizry,teufelo7,doller,yfl.irf,quaresma,3440172,melis,bradle,nnmaster,fast1,iverso,blargh,lucas12,chrisg,iamsam,123321az,tomjerry,kawika,2597174,standrew,billyg,muskan,gizmodo2,rz93qpmq,870621345,sathya,qmezrxg4,januari,marthe,moom4261,cum2me,hkger286,lou1988,suckit1,croaker,klaudia1,753951456,aidan1,fsunoles,romanenko,abbydog,isthebes,akshay,corgi,fuck666,walkman555,ranger98,scorpian,hardwareid,bluedragon,fastman,2305822q,iddqdiddqd,1597532,gopokes,zvfrfcb,w1234567,sputnik1,tr1993,pa$$w0rd,2i5fdruv,havvoc,1357913,1313131,bnm123,cowd00d,flexscan,thesims2,boogiema,bigsexxy,powerstr,ngc4565,joshman,babyboy1,123jlb,funfunfu,qwe456,honor1,puttana,bobbyj,daniel21,pussy12,shmuck,1232580,123578951,maxthedo,hithere1,bond0007,gehenna,nomames,blueone,r1234567,bwana,gatinho,1011111,torrents,cinta,123451234,tiger25,money69,edibey,pointman,mmcm19,wales1,caffreys,phaedra,bloodlus,321ret32,rufuss,tarbit,joanna1,102030405,stickboy,lotrfotr34,jamshid,mclarenf1,ataman,99ford,yarrak,logan2,ironlung,pushistik,dragoon1,unclebob,tigereye,pinokio,tylerj,mermaid1,stevie1,jaylen,888777,ramana,roman777,brandon7,17711771s,thiago,luigi1,edgar1,brucey,videogam,classi,birder,faramir,twiddle,cubalibre,grizzy,fucky,jjvwd4,august15,idinahui,ranita,nikita1998,123342,w1w2w3,78621323,4cancel,789963,(null,vassago,jaydog472,123452,timt42,canada99,123589,rebenok,htyfnf,785001,osipov,maks123,neverwinter,love2010,777222,67390436,eleanor1,bykemo,aquemini,frogg,roboto,thorny,shipmate,logcabin,66005918,nokian,gonzos,louisian,1abcdefg,triathlo,ilovemar,couger,letmeino,supera,runvs,fibonacci,muttly,58565254,5thgbqi,vfnehsv,electr,jose12,artemis1,newlove,thd1shr,hawkey,grigoryan,saisha,tosca,redder,lifesux,temple1,bunnyman,thekids,sabbeth,tarzan1,182838,158uefas,dell50,1super,666222,47ds8x,jackhamm,mineonly,rfnfhbyf,048ro,665259,kristina1,bombero,52545856,secure1,bigloser,peterk,alex2,51525354,anarchy1,superx,teenslut,money23,sigmapi,sanfrancisco,acme34,private5,eclips,qwerttrewq,axelle,kokain,hardguy,peter69,jesuschr,dyanna,dude69,sarah69,toyota91,amberr,45645645,bugmenot,bigted,44556677,556644,wwr8x9pu,alphaome,harley13,kolia123,wejrpfpu,revelati,nairda,sodoff,cityboy,pinkpussy,dkalis,miami305,wow12345,triplet,tannenbau,asdfasdf1,darkhors,527952,retired1,soxfan,nfyz123,37583867,goddes,515069,gxlmxbewym,1warrior,36925814,dmb2011,topten,karpova,89876065093rax,naturals,gateway9,cepseoun,turbot,493949,cock22,italia1,sasafras,gopnik,stalke,1qazxdr5,wm2006,ace1062,alieva,blue28,aracel,sandia,motoguzz,terri1,emmajane,conej,recoba,alex1995,jerkyboy,cowboy12,arenrone,precisio,31415927,scsa316,panzer1,studly1,powerhou,bensam,mashoutq,billee,eeyore1,reape,thebeatl,rul3z,montesa,doodle1,cvzefh1gk,424365,a159753,zimmerma,gumdrop,ashaman,grimreap,icandoit,borodina,branca,dima2009,keywest1,vaders,bubluk,diavolo,assss,goleta,eatass,napster1,382436,369741,5411pimo,lenchik,pikach,gilgamesh,kalimera,singer1,gordon2,rjycnbnewbz,maulwurf,joker13,2much4u,bond00,alice123,robotec,fuckgirl,zgjybz,redhorse,margaret1,brady1,pumpkin2,chinky,fourplay,1booger,roisin,1brandon,sandan,blackheart,cheez,blackfin,cntgfyjdf,mymoney1,09080706,goodboss,sebring1,rose1,kensingt,bigboner,marcus12,ym3cautj,struppi,thestone,lovebugs,stater,silver99,forest99,qazwsx12345,vasile,longboar,mkonji,huligan,rhfcbdfz,airmail,porn11,1ooooo,sofun,snake2,msouthwa,dougla,1iceman,shahrukh,sharona,dragon666,france98,196800,196820,ps253535,zjses9evpa,sniper01,design1,konfeta,jack99,drum66,good4you,station2,brucew,regedit,school12,mvtnr765,pub113,fantas,tiburon1,king99,ghjcnjgbpltw,checkito,308win,1ladybug,corneliu,svetasveta,197430,icicle,imaccess,ou81269,jjjdsl,brandon6,bimbo1,smokee,piccolo1,3611jcmg,children2,cookie2,conor1,darth1,margera,aoi856,paully,ou812345,sklave,eklhigcz,30624700,amazing1,wahooo,seau55,1beer,apples2,chulo,dolphin9,heather6,198206,198207,hergood,miracle1,njhyflj,4real,milka,silverfi,fabfive,spring12,ermine,mammy,jumpjet,adilbek,toscana,caustic,hotlove,sammy69,lolita1,byoung,whipme,barney01,mistys,tree1,buster3,kaylin,gfccgjhn,132333,aishiteru,pangaea,fathead1,smurph,198701,ryslan,gasto,xexeylhf,anisimov,chevyss,saskatoo,brandy12,tweaker,irish123,music2,denny1,palpatin,outlaw1,lovesuck,woman1,mrpibb,diadora,hfnfneq,poulette,harlock,mclaren1,cooper12,newpass3,bobby12,rfgecnfcerf,alskdjfh,mini14,dukers,raffael,199103,cleo123,1234567qwertyu,mossberg,scoopy,dctulf,starline,hjvjxrf,misfits1,rangers2,bilbos,blackhea,pappnase,atwork,purple2,daywalker,summoner,1jjjjjjj,swansong,chris10,laluna,12345qqq,charly1,lionsden,money99,silver33,hoghead,bdaddy,199430,saisg002,nosaints,tirpitz,1gggggg,jason13,kingss,ernest1,0cdh0v99ue,pkunzip,arowana,spiri,deskjet1,armine,lances,magic2,thetaxi,14159265,cacique,14142135,orange10,richard0,backdraf,255ooo,humtum,kohsamui,c43dae874d,wrestling1,cbhtym,sorento,megha,pepsiman,qweqwe12,bliss7,mario64,korolev,balls123,schlange,gordit,optiquest,fatdick,fish99,richy,nottoday,dianne1,armyof1,1234qwerasdfzxcv,bbonds,aekara,lidiya,baddog1,yellow5,funkie,ryan01,greentree,gcheckout,marshal1,liliput,000000z,rfhbyrf,gtogto43,rumpole,tarado,marcelit,aqwzsxedc,kenshin1,sassydog,system12,belly1,zilla,kissfan,tools1,desember,donsdad,nick11,scorpio6,poopoo1,toto99,steph123,dogfuck,rocket21,thx113,dude12,sanek,sommar,smacky,pimpsta,letmego,k1200rs,lytghjgtnhjdcr,abigale,buddog,deles,baseball9,roofus,carlsbad,hamzah,hereiam,genial,schoolgirlie,yfz450,breads,piesek,washear,chimay,apocalyp,nicole18,gfgf1234,gobulls,dnevnik,wonderwall,beer1234,1moose,beer69,maryann1,adpass,mike34,birdcage,hottuna,gigant,penquin,praveen,donna123,123lol123,thesame,fregat,adidas11,selrahc,pandoras,test3,chasmo,111222333000,pecos,daniel11,ingersol,shana1,mama12345,cessna15,myhero,1simpson,nazarenko,cognit,seattle2,irina1,azfpc310,rfycthdf,hardy1,jazmyn,sl1200,hotlanta,jason22,kumar123,sujatha,fsd9shtyu,highjump,changer,entertai,kolding,mrbig,sayuri,eagle21,qwertzu,jorge1,0101dd,bigdong,ou812a,sinatra1,htcnjhfy,oleg123,videoman,pbyfblf,tv612se,bigbird1,kenaidog,gunite,silverma,ardmore,123123qq,hotbot,cascada,cbr600f4,harakiri,chico123,boscos,aaron12,glasgow1,kmn5hc,lanfear,1light,liveoak,fizika,ybrjkftdyf,surfside,intermilan,multipas,redcard,72chevy,balata,coolio1,schroede,kanat,testerer,camion,kierra,hejmeddig,antonio2,tornados,isidor,pinkey,n8skfswa,ginny1,houndog,1bill,chris25,hastur,1marine,greatdan,french1,hatman,123qqq,z1z2z3z4,kicker1,katiedog,usopen,smith22,mrmagoo,1234512i,assa123,7seven7,monster7,june12,bpvtyf,149521,guenter,alex1985,voronina,mbkugegs,zaqwsxcderfv,rusty5,mystic1,master0,abcdef12,jndfkb,r4zpm3,cheesey,skripka,blackwhite,sharon69,dro8smwq,lektor,techman,boognish,deidara,heckfyf,quietkey,authcode,monkey4,jayboy,pinkerto,merengue,chulita,bushwick,turambar,kittykit,joseph2,dad123,kristo,pepote,scheiss,hambone1,bigballa,restaura,tequil,111luzer,euro2000,motox,denhaag,chelsi,flaco1,preeti,lillo,1001sin,passw,august24,beatoff,555555d,willis1,kissthis,qwertyz,rvgmw2gl,iloveboobies,timati,kimbo,msinfo,dewdrop,sdbaker,fcc5nky2,messiah1,catboy,small1,chode,beastie1,star77,hvidovre,short1,xavie,dagobah,alex1987,papageno,dakota2,toonami,fuerte,jesus33,lawina,souppp,dirtybir,chrish,naturist,channel1,peyote,flibble,gutentag,lactate,killem,zucchero,robinho,ditka,grumpy1,avr7000,boxxer,topcop,berry1,mypass1,beverly1,deuce1,9638527410,cthuttdf,kzkmrf,lovethem,band1t,cantona1,purple11,apples123,wonderwo,123a456,fuzzie,lucky99,dancer2,hoddling,rockcity,winner12,spooty,mansfiel,aimee1,287hf71h,rudiger,culebra,god123,agent86,daniel0,bunky1,notmine,9ball,goofus,puffy1,xyh28af4,kulikov,bankshot,vurdf5i2,kevinm,ercole,sexygirls,razvan,october7,goater,lollie,raissa,thefrog,mdmaiwa3,mascha,jesussaves,union1,anthony9,crossroa,brother2,areyuke,rodman91,toonsex,dopeman,gericom,vaz2115,cockgobbler,12356789,12345699,signatur,alexandra1,coolwhip,erwin1,awdrgyjilp,pens66,ghjrjgtyrj,linkinpark,emergenc,psych0,blood666,bootmort,wetworks,piroca,johnd,iamthe1,supermario,homer69,flameon,image1,bebert,fylhtq1,annapoli,apple11,hockey22,10048,indahouse,mykiss,1penguin,markp,misha123,foghat,march11,hank1,santorin,defcon4,tampico,vbnhjafy,robert22,bunkie,athlon64,sex777,nextdoor,koskesh,lolnoob,seemnemaailm,black23,march15,yeehaa,chiqui,teagan,siegheil,monday2,cornhusk,mamusia,chilis,sthgrtst,feldspar,scottm,pugdog,rfghjy,micmac,gtnhjdyf,terminato,1jackson,kakosja,bogomol,123321aa,rkbvtyrj,tresor,tigertig,fuckitall,vbkkbjy,caramon,zxc12,balin,dildo1,soccer09,avata,abby123,cheetah1,marquise,jennyc,hondavfr,tinti,anna1985,dennis2,jorel,mayflowe,icema,hal2000,nikkis,bigmouth,greenery,nurjan,leonov,liberty7,fafnir,larionov,sat321321,byteme1,nausicaa,hjvfynbrf,everto,zebra123,sergio1,titone,wisdom1,kahala,104328q,marcin1,salima,pcitra,1nnnnn,nalini,galvesto,neeraj,rick1,squeeky,agnes1,jitterbu,agshar,maria12,0112358,traxxas,stivone,prophet1,bananza,sommer1,canoneos,hotfun,redsox11,1bigmac,dctdjkjl,legion1,everclea,valenok,black9,danny001,roxie1,1theman,mudslide,july16,lechef,chula,glamis,emilka,canbeef,ioanna,cactus1,rockshox,im2cool,ninja9,thvfrjdf,june28,milo17,missyou,micky1,nbibyf,nokiaa,goldi,mattias,fuckthem,asdzxc123,ironfist,junior01,nesta,crazzy,killswit,hygge,zantac,kazama,melvin1,allston,maandag,hiccup,prototyp,specboot,dwl610,hello6,159456,baldhead,redwhite,calpoly,whitetail,agile1,cousteau,matt01,aust1n,malcolmx,gjlfhjr,semperf1,ferarri,a1b2c3d,vangelis,mkvdari,bettis36,andzia,comand,tazzman,morgaine,pepluv,anna1990,inandout,anetka,anna1997,wallpape,moonrake,huntress,hogtie,cameron7,sammy7,singe11,clownboy,newzeala,wilmar,safrane,rebeld,poopi,granat,hammertime,nermin,11251422,xyzzy1,bogeys,jkmxbr,fktrcfyl,11223311,nfyrbcn,11223300,powerpla,zoedog,ybrbnbyf,zaphod42,tarawa,jxfhjdfirf,dude1234,g5wks9,goobe,czekolada,blackros,amaranth,medical1,thereds,julija,nhecsyfujkjdt,promopas,buddy4,marmalad,weihnachten,tronic,letici,passthief,67mustan,ds7zamnw,morri,w8woord,cheops,pinarell,sonofsam,av473dv,sf161pn,5c92v5h6,purple13,tango123,plant1,1baby,xufrgemw,fitta,1rangers,spawns,kenned,taratata,19944991,11111118,coronas,4ebouux8,roadrash,corvette1,dfyjdf846,marley12,qwaszxerdfcv,68stang,67stang,racin,ellehcim,sofiko,nicetry,seabass1,jazzman1,zaqwsx1,laz2937,uuuuuuu1,vlad123,rafale,j1234567,223366,nnnnnn1,226622,junkfood,asilas,cer980,daddymac,persepho,neelam,00700,shithappens,255555,qwertyy,xbox36,19755791,qweasd1,bearcub,jerryb,a1b1c1,polkaudio,basketball1,456rty,1loveyou,marcus2,mama1961,palace1,transcend,shuriken,sudhakar,teenlove,anabelle,matrix99,pogoda,notme,bartend,jordana,nihaoma,ataris,littlegi,ferraris,redarmy,giallo,fastdraw,accountbloc,peludo,pornostar,pinoyako,cindee,glassjaw,dameon,johnnyd,finnland,saudade,losbravo,slonko,toplay,smalltit,nicksfun,stockhol,penpal,caraj,divedeep,cannibus,poppydog,pass88,viktory,walhalla,arisia,lucozade,goldenbo,tigers11,caball,ownage123,tonna,handy1,johny,capital5,faith2,stillher,brandan,pooky1,antananarivu,hotdick,1justin,lacrimos,goathead,bobrik,cgtwbfkbcn,maywood,kamilek,gbplf123,gulnar,beanhead,vfvjyn,shash,viper69,ttttttt1,hondacr,kanako,muffer,dukies,justin123,agapov58,mushka,bad11bad,muleman,jojo123,andreika,makeit,vanill,boomers,bigals,merlin11,quacker,aurelien,spartak1922,ligeti,diana2,lawnmowe,fortune1,awesom,rockyy,anna1994,oinker,love88,eastbay,ab55484,poker0,ozzy666,papasmurf,antihero,photogra,ktm250,painkill,jegr2d2,p3orion,canman,dextur,qwest123,samboy,yomismo,sierra01,herber,vfrcbvvfrcbv,gloria1,llama1,pie123,bobbyjoe,buzzkill,skidrow,grabber,phili,javier1,9379992q,geroin,oleg1994,sovereig,rollover,zaq12qaz,battery1,killer13,alina123,groucho1,mario12,peter22,butterbean,elise1,lucycat,neo123,ferdi,golfer01,randie,gfhfyjbr,ventura1,chelsea3,pinoy,mtgox,yrrim7,shoeman,mirko,ffggyyo,65mustan,ufdibyjd,john55,suckfuck,greatgoo,fvfnjhb,mmmnnn,love20,1bullshi,sucesso,easy1234,robin123,rockets1,diamondb,wolfee,nothing0,joker777,glasnost,richar1,guille,sayan,koresh,goshawk,alexx,batman21,a123456b,hball,243122,rockandr,coolfool,isaia,mary1,yjdbrjdf,lolopc,cleocat,cimbo,lovehina,8vfhnf,passking,bonapart,diamond2,bigboys,kreator,ctvtyjdf,sassy123,shellac,table54781,nedkelly,philbert,sux2bu,nomis,sparky99,python1,littlebear,numpty,silmaril,sweeet,jamesw,cbufhtnf,peggysue,wodahs,luvsex,wizardry,venom123,love4you,bama1,samat,reviewpass,ned467,cjkjdtq,mamula,gijoe,amersham,devochka,redhill,gisel,preggo,polock,cando,rewster,greenlantern,panasonik,dave1234,mikeee,1carlos,miledi,darkness1,p0o9i8u7y6,kathryn1,happyguy,dcp500,assmaster,sambuka,sailormo,antonio3,logans,18254288,nokiax2,qwertzuiop,zavilov,totti,xenon1,edward11,targa1,something1,tony_t,q1w2e3r4t5y6u7i8o9p0,02551670,vladimir1,monkeybutt,greenda,neel21,craiger,saveliy,dei008,honda450,fylhtq95,spike2,fjnq8915,passwordstandard,vova12345,talonesi,richi,gigemags,pierre1,westin,trevoga,dorothee,bastogne,25563o,brandon3,truegrit,krimml,iamgreat,servis,a112233,paulinka,azimuth,corperfmonsy,358hkyp,homerun1,dogbert1,eatmyass,cottage1,savina,baseball7,bigtex,gimmesum,asdcxz,lennon1,a159357,1bastard,413276191q,pngfilt,pchealth,netsnip,bodiroga,1matt,webtvs,ravers,adapters,siddis,mashamasha,coffee2,myhoney,anna1982,marcia1,fairchil,maniek,iloveluc,batmonh,wildon,bowie1,netnwlnk,fancy1,tom204,olga1976,vfif123,queens1,ajax01,lovess,mockba,icam4usb,triada,odinthor,rstlne,exciter,sundog,anchorat,girls69,nfnmzyrf,soloma,gti16v,shadowman,ottom,rataros,tonchin,vishal,chicken0,pornlo,christiaan,volante,likesit,mariupol,runfast,gbpltw123,missys,villevalo,kbpjxrf,ghibli,calla,cessna172,kinglear,dell11,swift1,walera,1cricket,pussy5,turbo911,tucke,maprchem56458,rosehill,thekiwi1,ygfxbkgt,mandarinka,98xa29,magnit,cjfrf,paswoord,grandam1,shenmue,leedsuni,hatrick,zagadka,angeldog,michaell,dance123,koichi,bballs,29palms,xanth,228822,ppppppp1,1kkkkk,1lllll,mynewbots,spurss,madmax1,224455,city1,mmmmmmm1,nnnnnnn1,biedronka,thebeatles,elessar,f14tomcat,jordan18,bobo123,ayi000,tedbear,86chevyx,user123,bobolink,maktub,elmer1,flyfishi,franco1,gandalf0,traxdata,david21,enlighte,dmitrij,beckys,1giants,flippe,12345678w,jossie,rugbyman,snowcat,rapeme,peanut11,gemeni,udders,techn9ne,armani1,chappie,war123,vakantie,maddawg,sewanee,jake5253,tautt1,anthony5,letterma,jimbo2,kmdtyjr,hextall,jessica6,amiga500,hotcunt,phoenix9,veronda,saqartvelo,scubas,sixer3,williamj,nightfal,shihan,melnikova,kosssss,handily,killer77,jhrl0821,march17,rushman,6gcf636i,metoyou,irina123,mine11,primus1,formatters,matthew5,infotech,gangster1,jordan45,moose69,kompas,motoxxx,greatwhi,cobra12,kirpich,weezer1,hello23,montse,tracy123,connecte,cjymrf,hemingwa,azreal,gundam00,mobila,boxman,slayers1,ravshan,june26,fktrcfylhjd,bermuda1,tylerd,maersk,qazwsx11,eybdthcbntn,ash123,camelo,kat123,backd00r,cheyenne1,1king,jerkin,tnt123,trabant,warhammer40k,rambos,punto,home77,pedrito,1frank,brille,guitarman,george13,rakas,tgbxtcrbq,flute1,bananas1,lovezp1314,thespot,postie,buster69,sexytime,twistys,zacharia,sportage,toccata,denver7,terry123,bogdanova,devil69,higgins1,whatluck,pele10,kkk666,jeffery1,1qayxsw2,riptide1,chevy11,munchy,lazer1,hooker1,ghfgjh,vergesse,playgrou,4077mash,gusev,humpin,oneputt,hydepark,monster9,tiger8,tangsoo,guy123,hesoyam1,uhtqneyu,thanku,lomond,ortezza,kronik,geetha,rabbit66,killas,qazxswe,alabaste,1234567890qwerty,capone1,andrea12,geral,beatbox,slutfuck,booyaka,jasmine7,ostsee,maestro1,beatme,tracey1,buster123,donaldduck,ironfish,happy6,konnichi,gintonic,momoney1,dugan1,today2,enkidu,destiny2,trim7gun,katuha,fractals,morganstanley,polkadot,gotime,prince11,204060,fifa2010,bobbyt,seemee,amanda10,airbrush,bigtitty,heidie,layla1,cotton1,5speed,fyfnjkmtdyf,flynavy,joxury8f,meeko,akuma,dudley1,flyboy1,moondog1,trotters,mariami,signin,chinna,legs11,pussy4,1s1h1e1f1,felici,optimus1,iluvu,marlins1,gavaec,balance1,glock40,london01,kokot,southwes,comfort1,sammy11,rockbottom,brianc,litebeer,homero,chopsuey,greenlan,charit,freecell,hampster,smalldog,viper12,blofeld,1234567890987654321,realsex,romann,cartman2,cjdthitycndj,nelly1,bmw528,zwezda,masterba,jeep99,turtl,america2,sunburst,sanyco,auntjudy,125wm,blue10,qwsazx,cartma,toby12,robbob,red222,ilovecock,losfix16,1explore,helge,vaz2114,whynotme,baba123,mugen,1qazwsxedc,albertjr,0101198,sextime,supras,nicolas2,wantsex,pussy6,checkm8,winam,24gordon,misterme,curlew,gbljhfcs,medtech,franzi,butthea,voivod,blackhat,egoiste,pjkeirf,maddog69,pakalolo,hockey4,igor1234,rouges,snowhite,homefree,sexfreak,acer12,dsmith,blessyou,199410,vfrcbvjd,falco02,belinda1,yaglasph,april21,groundho,jasmin1,nevergiveup,elvir,gborv526,c00kie,emma01,awesome2,larina,mike12345,maximu,anupam,bltynbabrfwbz,tanushka,sukkel,raptor22,josh12,schalke04,cosmodog,fuckyou8,busybee,198800,bijoux,frame1,blackmor,giveit,issmall,bear13,123-123,bladez,littlegirl,ultra123,fletch1,flashnet,loploprock,rkelly,12step,lukas1,littlewhore,cuntfinger,stinkyfinger,laurenc,198020,n7td4bjl,jackie69,camel123,ben1234,1gateway,adelheid,fatmike,thuglove,zzaaqq,chivas1,4815162342q,mamadou,nadano,james22,benwin,andrea99,rjirf,michou,abkbgg,d50gnn,aaazzz,a123654,blankman,booboo11,medicus,bigbone,197200,justine1,bendix,morphius,njhvjp,44mag,zsecyus56,goodbye1,nokiadermo,a333444,waratsea,4rzp8ab7,fevral,brillian,kirbys,minim,erathia,grazia,zxcvb1234,dukey,snaggle,poppi,hymen,1video,dune2000,jpthjdf,cvbn123,zcxfcnkbdfz,astonv,ginnie,316271,engine3,pr1ncess,64chevy,glass1,laotzu,hollyy,comicbooks,assasins,nuaddn9561,scottsda,hfcnfvfy,accobra,7777777z,werty123,metalhead,romanson,redsand,365214,shalo,arsenii,1989cc,sissi,duramax,382563,petera,414243,mamapap,jollymon,field1,fatgirl,janets,trompete,matchbox20,rambo2,nepenthe,441232,qwertyuiop10,bozo123,phezc419hv,romantika,lifestyl,pengui,decembre,demon6,panther6,444888,scanman,ghjcnjabkz,pachanga,buzzword,indianer,spiderman3,tony12,startre,frog1,fyutk,483422,tupacshakur,albert12,1drummer,bmw328i,green17,aerdna,invisibl,summer13,calimer,mustaine,lgnu9d,morefun,hesoyam123,escort1,scrapland,stargat,barabbas,dead13,545645,mexicali,sierr,gfhfpbn,gonchar,moonstafa,searock,counte,foster1,jayhawk1,floren,maremma,nastya2010,softball1,adaptec,halloo,barrabas,zxcasd123,hunny,mariana1,kafedra,freedom0,green420,vlad1234,method7,665566,tooting,hallo12,davinchi,conducto,medias,666444,invernes,madhatter,456asd,12345678i,687887,le33px,spring00,help123,bellybut,billy5,vitalik1,river123,gorila,bendis,power666,747200,footslav,acehigh,qazxswedc123,q1a1z1,richard9,peterburg,tabletop,gavrilov,123qwe1,kolosov,fredrau,run4fun,789056,jkbvgbflf,chitra,87654321q,steve22,wideopen,access88,surfe,tdfyutkbjy,impossib,kevin69,880888,cantina,887766,wxcvb,dontforg,qwer1209,asslicke,mamma123,indig,arkasha,scrapp,morelia,vehxbr,jones2,scratch1,cody11,cassie12,gerbera,dontgotm,underhil,maks2010,hollywood1,hanibal,elena2010,jason11,1010321,stewar,elaman,fireplug,goodby,sacrific,babyphat,bobcat12,bruce123,1233215,tony45,tiburo,love15,bmw750,wallstreet,2h0t4me,1346795,lamerz,munkee,134679q,granvill,1512198,armastus,aiden1,pipeutvj,g1234567,angeleyes,usmc1,102030q,putangina,brandnew,shadowfax,eagles12,1falcon,brianw,lokomoti,2022958,scooper,pegas,jabroni1,2121212,buffal,siffredi,wewiz,twotone,rosebudd,nightwis,carpet1,mickey2,2525252,sleddog,red333,jamesm,2797349,jeff12,onizuka,felixxxx,rf6666,fine1,ohlala,forplay,chicago5,muncho,scooby11,ptichka,johnnn,19851985p,dogphil3650,totenkopf,monitor2,macross7,3816778,dudder,semaj1,bounder,racerx1,5556633,7085506,ofclr278,brody1,7506751,nantucke,hedj2n4q,drew1,aessedai,trekbike,pussykat,samatron,imani,9124852,wiley1,dukenukem,iampurehaha2,9556035,obvious1,mccool24,apache64,kravchenko,justforf,basura,jamese,s0ccer,safado,darksta,surfer69,damian1,gjpbnbd,gunny1,wolley,sananton,zxcvbn123456,odt4p6sv8,sergei1,modem1,mansikka,zzzz1,rifraf,dima777,mary69,looking4,donttell,red100,ninjutsu,uaeuaeman,bigbri,brasco,queenas8151,demetri,angel007,bubbl,kolort,conny,antonia1,avtoritet,kaka22,kailayu,sassy2,wrongway,chevy3,1nascar,patriots1,chrisrey,mike99,sexy22,chkdsk,sd3utre7,padawan,a6pihd,doming,mesohorny,tamada,donatello,emma22,eather,susan69,pinky123,stud69,fatbitch,pilsbury,thc420,lovepuss,1creativ,golf1234,hurryup,1honda,huskerdu,marino1,gowron,girl1,fucktoy,gtnhjpfdjlcr,dkjfghdk,pinkfl,loreli,7777777s,donkeykong,rockytop,staples1,sone4ka,xxxjay,flywheel,toppdogg,bigbubba,aaa123456,2letmein,shavkat,paule,dlanor,adamas,0147852,aassaa,dixon1,bmw328,mother12,ilikepussy,holly2,tsmith,excaliber,fhutynbyf,nicole3,tulipan,emanue,flyvholm,currahee,godsgift,antonioj,torito,dinky1,sanna,yfcnzvjz,june14,anime123,123321456654,hanswurst,bandman,hello101,xxxyyy,chevy69,technica,tagada,arnol,v00d00,lilone,filles,drumandbass,dinamit,a1234a,eatmeat,elway07,inout,james6,dawid1,thewolf,diapason,yodaddy,qscwdv,fuckit1,liljoe,sloeber,simbacat,sascha1,qwe1234,1badger,prisca,angel17,gravedig,jakeyboy,longboard,truskawka,golfer11,pyramid7,highspee,pistola,theriver,hammer69,1packers,dannyd,alfonse,qwertgfdsa,11119999,basket1,ghjtrn,saralee,12inches,paolo1,zse4xdr5,taproot,sophieh6,grizzlie,hockey69,danang,biggums,hotbitch,5alive,beloved1,bluewave,dimon95,koketka,multiscan,littleb,leghorn,poker2,delite,skyfir,bigjake,persona1,amberdog,hannah12,derren,ziffle,1sarah,1assword,sparky01,seymur,tomtom1,123321qw,goskins,soccer19,luvbekki,bumhole,2balls,1muffin,borodin,monkey9,yfeiybrb,1alex,betmen,freder,nigger123,azizbek,gjkzrjdf,lilmike,1bigdadd,1rock,taganrog,snappy1,andrey1,kolonka,bunyan,gomango,vivia,clarkkent,satur,gaudeamus,mantaray,1month,whitehea,fargus,andrew99,ray123,redhawks,liza2009,qw12345,den12345,vfhnsyjdf,147258369a,mazepa,newyorke,1arsenal,hondas2000,demona,fordgt,steve12,birthday2,12457896,dickster,edcwsxqaz,sahalin,pantyman,skinny1,hubertus,cumshot1,chiro,kappaman,mark3434,canada12,lichking,bonkers1,ivan1985,sybase,valmet,doors1,deedlit,kyjelly,bdfysx,ford11,throatfuck,backwood,fylhsq,lalit,boss429,kotova,bricky,steveh,joshua19,kissa,imladris,star1234,lubimka,partyman,crazyd,tobias1,ilike69,imhome,whome,fourstar,scanner1,ujhjl312,anatoli,85bears,jimbo69,5678ytr,potapova,nokia7070,sunday1,kalleank,1996gta,refinnej,july1,molodec,nothanks,enigm,12play,sugardog,nhfkbdfkb,larousse,cannon1,144444,qazxcdew,stimorol,jhereg,spawn7,143000,fearme,hambur,merlin21,dobie,is3yeusc,partner1,dekal,varsha,478jfszk,flavi,hippo1,9hmlpyjd,july21,7imjfstw,lexxus,truelov,nokia5200,carlos6,anais,mudbone,anahit,taylorc,tashas,larkspur,animal2000,nibiru,jan123,miyvarxar,deflep,dolore,communit,ifoptfcor,laura2,anadrol,mamaliga,mitzi1,blue92,april15,matveev,kajlas,wowlook1,1flowers,shadow14,alucard1,1golf,bantha,scotlan,singapur,mark13,manchester1,telus01,superdav,jackoff1,madnes,bullnuts,world123,clitty,palmer1,david10,spider10,sargsyan,rattlers,david4,windows2,sony12,visigoth,qqqaaa,penfloor,cabledog,camilla1,natasha123,eagleman,softcore,bobrov,dietmar,divad,sss123,d1234567,tlbyjhju,1q1q1q1,paraiso,dav123,lfiekmrf,drachen,lzhan16889,tplate,gfghbrf,casio1,123boots1,123test,sys64738,heavymetal,andiamo,meduza,soarer,coco12,negrita,amigas,heavymet,bespin,1asdfghj,wharfrat,wetsex,tight1,janus1,sword123,ladeda,dragon98,austin2,atep1,jungle1,12345abcd,lexus300,pheonix1,alex1974,123qw123,137955,bigtim,shadow88,igor1994,goodjob,arzen,champ123,121ebay,changeme1,brooksie,frogman1,buldozer,morrowin,achim,trish1,lasse,festiva,bubbaman,scottb,kramit,august22,tyson123,passsword,oompah,al123456,fucking1,green45,noodle1,looking1,ashlynn,al1716,stang50,coco11,greese,bob111,brennan1,jasonj,1cherry,1q2345,1xxxxxxx,fifa2011,brondby,zachar1,satyam,easy1,magic7,1rainbow,cheezit,1eeeeeee,ashley123,assass1,amanda123,jerbear,1bbbbbb,azerty12,15975391,654321z,twinturb,onlyone1,denis1988,6846kg3r,jumbos,pennydog,dandelion,haileris,epervier,snoopy69,afrodite,oldpussy,green55,poopypan,verymuch,katyusha,recon7,mine69,tangos,contro,blowme2,jade1,skydive1,fiveiron,dimo4ka,bokser,stargirl,fordfocus,tigers2,platina,baseball11,raque,pimper,jawbreak,buster88,walter34,chucko,penchair,horizon1,thecure1,scc1975,adrianna1,kareta,duke12,krille,dumbfuck,cunt1,aldebaran,laverda,harumi,knopfler,pongo1,pfhbyf,dogman1,rossigno,1hardon,scarlets,nuggets1,ibelieve,akinfeev,xfhkbr,athene,falcon69,happie,billly,nitsua,fiocco,qwerty09,gizmo2,slava2,125690,doggy123,craigs,vader123,silkeborg,124365,peterm,123978,krakatoa,123699,123592,kgvebmqy,pensacol,d1d2d3,snowstor,goldenboy,gfg65h7,ev700,church1,orange11,g0dz1ll4,chester3,acheron,cynthi,hotshot1,jesuschris,motdepass,zymurgy,one2one,fietsbel,harryp,wisper,pookster,nn527hp,dolla,milkmaid,rustyboy,terrell1,epsilon1,lillian1,dale3,crhbgrf,maxsim,selecta,mamada,fatman1,ufkjxrf,shinchan,fuckuall,women1,000008,bossss,greta1,rbhjxrf,mamasboy,purple69,felicidade,sexy21,cathay,hunglow,splatt,kahless,shopping1,1gandalf,themis,delta7,moon69,blue24,parliame,mamma1,miyuki,2500hd,jackmeof,razer,rocker1,juvis123,noremac,boing747,9z5ve9rrcz,icewater,titania,alley1,moparman,christo1,oliver2,vinicius,tigerfan,chevyy,joshua99,doda99,matrixx,ekbnrf,jackfrost,viper01,kasia,cnfhsq,triton1,ssbt8ae2,rugby8,ramman,1lucky,barabash,ghtlfntkm,junaid,apeshit,enfant,kenpo1,shit12,007000,marge1,shadow10,qwerty789,richard8,vbitkm,lostboys,jesus4me,richard4,hifive,kolawole,damilola,prisma,paranoya,prince2,lisaann,happyness,cardss,methodma,supercop,a8kd47v5,gamgee,polly123,irene1,number8,hoyasaxa,1digital,matthew0,dclxvi,lisica,roy123,2468013579,sparda,queball,vaffanculo,pass1wor,repmvbx,999666333,freedom8,botanik,777555333,marcos1,lubimaya,flash2,einstei,08080,123456789j,159951159,159357123,carrot1,alina1995,sanjos,dilara,mustang67,wisteria,jhnjgtl12,98766789,darksun,arxangel,87062134,creativ1,malyshka,fuckthemall,barsic,rocksta,2big4u,5nizza,genesis2,romance1,ofcourse,1horse,latenite,cubana,sactown,789456123a,milliona,61808861,57699434,imperia,bubba11,yellow3,change12,55495746,flappy,jimbo123,19372846,19380018,cutlass1,craig123,klepto,beagle1,solus,51502112,pasha1,19822891,46466452,19855891,petshop,nikolaevna,119966,nokia6131,evenpar,hoosier1,contrasena,jawa350,gonzo123,mouse2,115511,eetfuk,gfhfvgfvgfv,1crystal,sofaking,coyote1,kwiatuszek,fhrflbq,valeria1,anthro,0123654789,alltheway,zoltar,maasikas,wildchil,fredonia,earlgrey,gtnhjczy,matrix123,solid1,slavko,12monkeys,fjdksl,inter1,nokia6500,59382113kevinp,spuddy,cachero,coorslit,password!,kiba1z,karizma,vova1994,chicony,english1,bondra12,1rocket,hunden,jimbob1,zpflhjn1,th0mas,deuce22,meatwad,fatfree,congas,sambora,cooper2,janne,clancy1,stonie,busta,kamaz,speedy2,jasmine3,fahayek,arsenal0,beerss,trixie1,boobs69,luansantana,toadman,control2,ewing33,maxcat,mama1964,diamond4,tabaco,joshua0,piper2,music101,guybrush,reynald,pincher,katiebug,starrs,pimphard,frontosa,alex97,cootie,clockwor,belluno,skyeseth,booty69,chaparra,boochie,green4,bobcat1,havok,saraann,pipeman,aekdb,jumpshot,wintermu,chaika,1chester,rjnjatq,emokid,reset1,regal1,j0shua,134679a,asmodey,sarahh,zapidoo,ciccione,sosexy,beckham23,hornets1,alex1971,delerium,manageme,connor11,1rabbit,sane4ek,caseyboy,cbljhjdf,redsox20,tttttt99,haustool,ander,pantera6,passwd1,journey1,9988776655,blue135,writerspace,xiaoyua123,justice2,niagra,cassis,scorpius,bpgjldsgjldthnf,gamemaster,bloody1,retrac,stabbin,toybox,fight1,ytpyf.,glasha,va2001,taylor11,shameles,ladylove,10078,karmann,rodeos,eintritt,lanesra,tobasco,jnrhjqcz,navyman,pablit,leshka,jessica3,123vika,alena1,platinu,ilford,storm7,undernet,sasha777,1legend,anna2002,kanmax1994,porkpie,thunder0,gundog,pallina,easypass,duck1,supermom,roach1,twincam,14028,tiziano,qwerty32,123654789a,evropa,shampoo1,yfxfkmybr,cubby1,tsunami1,fktrcttdf,yasacrac,17098,happyhap,bullrun,rodder,oaktown,holde,isbest,taylor9,reeper,hammer11,julias,rolltide1,compaq123,fourx4,subzero1,hockey9,7mary3,busines,ybrbnjcbr,wagoneer,danniash,portishead,digitex,alex1981,david11,infidel,1snoopy,free30,jaden,tonto1,redcar27,footie,moskwa,thomas21,hammer12,burzum,cosmo123,50000,burltree,54343,54354,vwpassat,jack5225,cougars1,burlpony,blackhorse,alegna,petert,katemoss,ram123,nels0n,ferrina,angel77,cstock,1christi,dave55,abc123a,alex1975,av626ss,flipoff,folgore,max1998,science1,si711ne,yams7,wifey1,sveiks,cabin1,volodia,ox3ford,cartagen,platini,picture1,sparkle1,tiedomi,service321,wooody,christi1,gnasher,brunob,hammie,iraffert,bot2010,dtcyeirf,1234567890p,cooper11,alcoholi,savchenko,adam01,chelsea5,niewiem,icebear,lllooottt,ilovedick,sweetpus,money8,cookie13,rfnthbyf1988,booboo2,angus123,blockbus,david9,chica1,nazaret,samsung9,smile4u,daystar,skinnass,john10,thegirl,sexybeas,wasdwasd1,sigge1,1qa2ws3ed4rf5tg,czarny,ripley1,chris5,ashley19,anitha,pokerman,prevert,trfnthby,tony69,georgia2,stoppedb,qwertyuiop12345,miniclip,franky1,durdom,cabbages,1234567890o,delta5,liudmila,nhfycajhvths,court1,josiew,abcd1,doghead,diman,masiania,songline,boogle,triston,deepika,sexy4me,grapple,spacebal,ebonee,winter0,smokewee,nargiza,dragonla,sassys,andy2000,menards,yoshio,massive1,suckmy1k,passat99,sexybo,nastya1996,isdead,stratcat,hokuto,infix,pidoras,daffyduck,cumhard,baldeagl,kerberos,yardman,shibainu,guitare,cqub6553,tommyy,bk.irf,bigfoo,hecto,july27,james4,biggus,esbjerg,isgod,1irish,phenmarr,jamaic,roma1990,diamond0,yjdbrjd,girls4me,tampa1,kabuto,vaduz,hanse,spieng,dianochka,csm101,lorna1,ogoshi,plhy6hql,2wsx4rfv,cameron0,adebayo,oleg1996,sharipov,bouboule,hollister1,frogss,yeababy,kablam,adelante,memem,howies,thering,cecilia1,onetwo12,ojp123456,jordan9,msorcloledbr,neveraga,evh5150,redwin,1august,canno,1mercede,moody1,mudbug,chessmas,tiikeri,stickdaddy77,alex15,kvartira,7654321a,lollol123,qwaszxedc,algore,solana,vfhbyfvfhbyf,blue72,misha1111,smoke20,junior13,mogli,threee,shannon2,fuckmylife,kevinh,saransk,karenw,isolde,sekirarr,orion123,thomas0,debra1,laketaho,alondra,curiva,jazz1234,1tigers,jambos,lickme2,suomi,gandalf7,028526,zygote,brett123,br1ttany,supafly,159000,kingrat,luton1,cool-ca,bocman,thomasd,skiller,katter,mama777,chanc,tomass,1rachel,oldno7,rfpfyjdf,bigkev,yelrah,primas,osito,kipper1,msvcr71,bigboy11,thesun,noskcaj,chicc,sonja1,lozinka,mobile1,1vader,ummagumma,waves1,punter12,tubgtn,server1,irina1991,magic69,dak001,pandemonium,dead1,berlingo,cherrypi,1montana,lohotron,chicklet,asdfgh123456,stepside,ikmvw103,icebaby,trillium,1sucks,ukrnet,glock9,ab12345,thepower,robert8,thugstools,hockey13,buffon,livefree,sexpics,dessar,ja0000,rosenrot,james10,1fish,svoloch,mykitty,muffin11,evbukb,shwing,artem1992,andrey1992,sheldon1,passpage,nikita99,fubar123,vannasx,eight888,marial,max2010,express2,violentj,2ykn5ccf,spartan11,brenda69,jackiech,abagail,robin2,grass1,andy76,bell1,taison,superme,vika1995,xtr451,fred20,89032073168,denis1984,2000jeep,weetabix,199020,daxter,tevion,panther8,h9iymxmc,bigrig,kalambur,tsalagi,12213443,racecar02,jeffrey4,nataxa,bigsam,purgator,acuracl,troutbum,potsmoke,jimmyz,manutd1,nytimes,pureevil,bearss,cool22,dragonage,nodnarb,dbrbyu,4seasons,freude,elric1,werule,hockey14,12758698,corkie,yeahright,blademan,tafkap,clave,liziko,hofner,jeffhardy,nurich,runne,stanisla,lucy1,monk3y,forzaroma,eric99,bonaire,blackwoo,fengshui,1qaz0okm,newmoney,pimpin69,07078,anonymer,laptop1,cherry12,ace111,salsa1,wilbur1,doom12,diablo23,jgtxzbhr,under1,honda01,breadfan,megan2,juancarlos,stratus1,ackbar,love5683,happytim,lambert1,cbljhtyrj,komarov,spam69,nfhtkrf,brownn,sarmat,ifiksr,spike69,hoangen,angelz,economia,tanzen,avogadro,1vampire,spanners,mazdarx,queequeg,oriana,hershil,sulaco,joseph11,8seconds,aquariu,cumberla,heather9,anthony8,burton12,crystal0,maria3,qazwsxc,snow123,notgood,198520,raindog,heehaw,consulta,dasein,miller01,cthulhu1,dukenuke,iubire,baytown,hatebree,198505,sistem,lena12,welcome01,maraca,middleto,sindhu,mitsou,phoenix5,vovan,donaldo,dylandog,domovoy,lauren12,byrjuybnj,123llll,stillers,sanchin,tulpan,smallvill,1mmmmm,patti1,folgers,mike31,colts18,123456rrr,njkmrjz,phoenix0,biene,ironcity,kasperok,password22,fitnes,matthew6,spotligh,bujhm123,tommycat,hazel5,guitar11,145678,vfcmrf,compass1,willee,1barney,jack2000,littleminge,shemp,derrek,xxx12345,littlefuck,spuds1,karolinka,camneely,qwertyu123,142500,brandon00,munson15,falcon3,passssap,z3cn2erv,goahead,baggio10,141592,denali1,37kazoo,copernic,123456789asd,orange88,bravada,rush211,197700,pablo123,uptheass,samsam1,demoman,mattylad10,heydude,mister2,werken,13467985,marantz,a22222,f1f2f3f4,fm12mn12,gerasimova,burrito1,sony1,glenny,baldeagle,rmfidd,fenomen,verbati,forgetme,5element,wer138,chanel1,ooicu812,10293847qp,minicooper,chispa,myturn,deisel,vthrehbq,boredboi4u,filatova,anabe,poiuyt1,barmalei,yyyy1,fourkids,naumenko,bangbros,pornclub,okaykk,euclid90,warrior3,kornet,palevo,patatina,gocart,antanta,jed1054,clock1,111111w,dewars,mankind1,peugeot406,liten,tahira,howlin,naumov,rmracing,corone,cunthole,passit,rock69,jaguarxj,bumsen,197101,sweet2,197010,whitecat,sawadee,money100,yfhrjnbrb,andyboy,9085603566,trace1,fagget,robot1,angel20,6yhn7ujm,specialinsta,kareena,newblood,chingada,boobies2,bugger1,squad51,133andre,call06,ashes1,ilovelucy,success2,kotton,cavalla,philou,deebee,theband,nine09,artefact,196100,kkkkkkk1,nikolay9,onelov,basia,emilyann,sadman,fkrjujkbr,teamomuch,david777,padrino,money21,firdaus,orion3,chevy01,albatro,erdfcv,2legit,sarah7,torock,kevinn,holio,soloy,enron714,starfleet,qwer11,neverman,doctorwh,lucy11,dino12,trinity7,seatleon,o123456,pimpman,1asdfgh,snakebit,chancho,prorok,bleacher,ramire,darkseed,warhorse,michael123,1spanky,1hotdog,34erdfcv,n0th1ng,dimanche,repmvbyf,michaeljackson,login1,icequeen,toshiro,sperme,racer2,veget,birthday26,daniel9,lbvekmrf,charlus,bryan123,wspanic,schreibe,1andonly,dgoins,kewell,apollo12,egypt1,fernie,tiger21,aa123456789,blowj,spandau,bisquit,12345678d,deadmau5,fredie,311420,happyface,samant,gruppa,filmstar,andrew17,bakesale,sexy01,justlook,cbarkley,paul11,bloodred,rideme,birdbath,nfkbcvfy,jaxson,sirius1,kristof,virgos,nimrod1,hardc0re,killerbee,1abcdef,pitcher1,justonce,vlada,dakota99,vespucci,wpass,outside1,puertori,rfvbkf,teamlosi,vgfun2,porol777,empire11,20091989q,jasong,webuivalidat,escrima,lakers08,trigger2,addpass,342500,mongini,dfhtybr,horndogg,palermo1,136900,babyblu,alla98,dasha2010,jkelly,kernow,yfnecz,rockhopper,toeman,tlaloc,silver77,dave01,kevinr,1234567887654321,135642,me2you,8096468644q,remmus,spider7,jamesa,jilly,samba1,drongo,770129ji,supercat,juntas,tema1234,esthe,1234567892000,drew11,qazqaz123,beegees,blome,rattrace,howhigh,tallboy,rufus2,sunny2,sou812,miller12,indiana7,irnbru,patch123,letmeon,welcome5,nabisco,9hotpoin,hpvteb,lovinit,stormin,assmonke,trill,atlanti,money1234,cubsfan,mello1,stars2,ueptkm,agate,dannym88,lover123,wordz,worldnet,julemand,chaser1,s12345678,pissword,cinemax,woodchuc,point1,hotchkis,packers2,bananana,kalender,420666,penguin8,awo8rx3wa8t,hoppie,metlife,ilovemyfamily,weihnachtsbau,pudding1,luckystr,scully1,fatboy1,amizade,dedham,jahbless,blaat,surrende,****er,1panties,bigasses,ghjuhfvbcn,asshole123,dfktyrb,likeme,nickers,plastik,hektor,deeman,muchacha,cerebro,santana5,testdrive,dracula1,canalc,l1750sq,savannah1,murena,1inside,pokemon00,1iiiiiii,jordan20,sexual1,mailliw,calipso,014702580369,1zzzzzz,1jjjjjj,break1,15253545,yomama1,katinka,kevin11,1ffffff,martijn,sslazio,daniel5,porno2,nosmas,leolion,jscript,15975312,pundai,kelli1,kkkddd,obafgkm,marmaris,lilmama,london123,rfhfnt,elgordo,talk87,daniel7,thesims3,444111,bishkek,afrika2002,toby22,1speedy,daishi,2children,afroman,qqqqwwww,oldskool,hawai,v55555,syndicat,pukimak,fanatik,tiger5,parker01,bri5kev6,timexx,wartburg,love55,ecosse,yelena03,madinina,highway1,uhfdbwfgf,karuna,buhjvfybz,wallie,46and2,khalif,europ,qaz123wsx456,bobbybob,wolfone,falloutboy,manning18,scuba10,schnuff,ihateyou1,lindam,sara123,popcor,fallengun,divine1,montblanc,qwerty8,rooney10,roadrage,bertie1,latinus,lexusis,rhfvfnjhcr,opelgt,hitme,agatka,1yamaha,dmfxhkju,imaloser,michell1,sb211st,silver22,lockedup,andrew9,monica01,sassycat,dsobwick,tinroof,ctrhtnyj,bultaco,rhfcyjzhcr,aaaassss,14ss88,joanne1,momanddad,ahjkjdf,yelhsa,zipdrive,telescop,500600,1sexsex,facial1,motaro,511647,stoner1,temujin,elephant1,greatman,honey69,kociak,ukqmwhj6,altezza,cumquat,zippos,kontiki,123max,altec1,bibigon,tontos,qazsew,nopasaran,militar,supratt,oglala,kobayash,agathe,yawetag,dogs1,cfiekmrf,megan123,jamesdea,porosenok,tiger23,berger1,hello11,seemann,stunner1,walker2,imissu,jabari,minfd,lollol12,hjvfy,1-oct,stjohns,2278124q,123456789qwer,alex1983,glowworm,chicho,mallards,bluedevil,explorer1,543211,casita,1time,lachesis,alex1982,airborn1,dubesor,changa,lizzie1,captaink,socool,bidule,march23,1861brr,k.ljxrf,watchout,fotze,1brian,keksa2,aaaa1122,matrim,providian,privado,dreame,merry1,aregdone,davidt,nounour,twenty2,play2win,artcast2,zontik,552255,shit1,sluggy,552861,dr8350,brooze,alpha69,thunder6,kamelia2011,caleb123,mmxxmm,jamesh,lfybkjd,125267,125000,124536,bliss1,dddsss,indonesi,bob69,123888,tgkbxfgy,gerar,themack,hijodeputa,good4now,ddd123,clk430,kalash,tolkien1,132forever,blackb,whatis,s1s2s3s4,lolkin09,yamahar,48n25rcc,djtiesto,111222333444555,bigbull,blade55,coolbree,kelse,ichwill,yamaha12,sakic,bebeto,katoom,donke,sahar,wahine,645202,god666,berni,starwood,june15,sonoio,time123,llbean,deadsoul,lazarev,cdtnf,ksyusha,madarchod,technik,jamesy,4speed,tenorsax,legshow,yoshi1,chrisbl,44e3ebda,trafalga,heather7,serafima,favorite4,havefun1,wolve,55555r,james13,nosredna,bodean,jlettier,borracho,mickael,marinus,brutu,sweet666,kiborg,rollrock,jackson6,macross1,ousooner,9085084232,takeme,123qwaszx,firedept,vfrfhjd,jackfros,123456789000,briane,cookie11,baby22,bobby18,gromova,systemofadown,martin01,silver01,pimaou,darthmaul,hijinx,commo,chech,skyman,sunse,2vrd6,vladimirovna,uthvfybz,nicole01,kreker,bobo1,v123456789,erxtgb,meetoo,drakcap,vfvf12,misiek1,butane,network2,flyers99,riogrand,jennyk,e12345,spinne,avalon11,lovejone,studen,maint,porsche2,qwerty100,chamberl,bluedog1,sungam,just4u,andrew23,summer22,ludic,musiclover,aguil,beardog1,libertin,pippo1,joselit,patito,bigberth,digler,sydnee,jockstra,poopo,jas4an,nastya123,profil,fuesse,default1,titan2,mendoz,kpcofgs,anamika,brillo021,bomberman,guitar69,latching,69pussy,blues2,phelge,ninja123,m7n56xo,qwertasd,alex1976,cunningh,estrela,gladbach,marillion,mike2000,258046,bypop,muffinman,kd5396b,zeratul,djkxbwf,john77,sigma2,1linda,selur,reppep,quartz1,teen1,freeclus,spook1,kudos4ever,clitring,sexiness,blumpkin,macbook,tileman,centra,escaflowne,pentable,shant,grappa,zverev,1albert,lommerse,coffee11,777123,polkilo,muppet1,alex74,lkjhgfdsazx,olesica,april14,ba25547,souths,jasmi,arashi,smile2,2401pedro,mybabe,alex111,quintain,pimp1,tdeir8b2,makenna,122333444455555,%e2%82%ac,tootsie1,pass111,zaqxsw123,gkfdfybt,cnfnbcnbrf,usermane,iloveyou12,hard69,osasuna,firegod,arvind,babochka,kiss123,cookie123,julie123,kamakazi,dylan2,223355,tanguy,nbhtqa,tigger13,tubby1,makavel,asdflkj,sambo1,mononoke,mickeys,gayguy,win123,green33,wcrfxtvgbjy,bigsmall,1newlife,clove,babyfac,bigwaves,mama1970,shockwav,1friday,bassey,yarddog,codered1,victory7,bigrick,kracker,gulfstre,chris200,sunbanna,bertuzzi,begemotik,kuolema,pondus,destinee,123456789zz,abiodun,flopsy,amadeusptfcor,geronim,yggdrasi,contex,daniel6,suck1,adonis1,moorea,el345612,f22raptor,moviebuf,raunchy,6043dkf,zxcvbnm123456789,eric11,deadmoin,ratiug,nosliw,fannies,danno,888889,blank1,mikey2,gullit,thor99,mamiya,ollieb,thoth,dagger1,websolutionssu,bonker,prive,1346798520,03038,q1234q,mommy2,contax,zhipo,gwendoli,gothic1,1234562000,lovedick,gibso,digital2,space199,b26354,987654123,golive,serious1,pivkoo,better1,824358553,794613258,nata1980,logout,fishpond,buttss,squidly,good4me,redsox19,jhonny,zse45rdx,matrixxx,honey12,ramina,213546879,motzart,fall99,newspape,killit,gimpy,photowiz,olesja,thebus,marco123,147852963,bedbug,147369258,hellbound,gjgjxrf,123987456,lovehurt,five55,hammer01,1234554321a,alina2011,peppino,ang238,questor,112358132,alina1994,alina1998,money77,bobjones,aigerim,cressida,madalena,420smoke,tinchair,raven13,mooser,mauric,lovebu,adidas69,krypton1,1111112,loveline,divin,voshod,michaelm,cocotte,gbkbuhbv,76689295,kellyj,rhonda1,sweetu70,steamforums,geeque,nothere,124c41,quixotic,steam181,1169900,rfcgthcrbq,rfvbkm,sexstuff,1231230,djctvm,rockstar1,fulhamfc,bhecbr,rfntyf,quiksilv,56836803,jedimaster,pangit,gfhjkm777,tocool,1237654,stella12,55378008,19216811,potte,fender12,mortalkombat,ball1,nudegirl,palace22,rattrap,debeers,lickpussy,jimmy6,not4u2c,wert12,bigjuggs,sadomaso,1357924,312mas,laser123,arminia,branford,coastie,mrmojo,19801982,scott11,banaan123,ingres,300zxtt,hooters6,sweeties,19821983,19831985,19833891,sinnfein,welcome4,winner69,killerman,tachyon,tigre1,nymets1,kangol,martinet,sooty1,19921993,789qwe,harsingh,1597535,thecount,phantom3,36985214,lukas123,117711,pakistan1,madmax11,willow01,19932916,fucker12,flhrci,opelagila,theword,ashley24,tigger3,crazyj,rapide,deadfish,allana,31359092,sasha1993,sanders2,discman,zaq!2wsx,boilerma,mickey69,jamesg,babybo,jackson9,orion7,alina2010,indien,breeze1,atease,warspite,bazongaz,1celtic,asguard,mygal,fitzgera,1secret,duke33,cyklone,dipascuc,potapov,1escobar2,c0l0rad0,kki177hk,1little,macondo,victoriya,peter7,red666,winston6,kl?benhavn,muneca,jackme,jennan,happylife,am4h39d8nh,bodybuil,201980,dutchie,biggame,lapo4ka,rauchen,black10,flaquit,water12,31021364,command2,lainth88,mazdamx5,typhon,colin123,rcfhlfc,qwaszx11,g0away,ramir,diesirae,hacked1,cessna1,woodfish,enigma2,pqnr67w5,odgez8j3,grisou,hiheels,5gtgiaxm,2580258,ohotnik,transits,quackers,serjik,makenzie,mdmgatew,bryana,superman12,melly,lokit,thegod,slickone,fun4all,netpass,penhorse,1cooper,nsync,asdasd22,otherside,honeydog,herbie1,chiphi,proghouse,l0nd0n,shagg,select1,frost1996,casper123,countr,magichat,greatzyo,jyothi,3bears,thefly,nikkita,fgjcnjk,nitros,hornys,san123,lightspe,maslova,kimber1,newyork2,spammm,mikejone,pumpk1n,bruiser1,bacons,prelude9,boodie,dragon4,kenneth2,love98,power5,yodude,pumba,thinline,blue30,sexxybj,2dumb2live,matt21,forsale,1carolin,innova,ilikeporn,rbgtkjd,a1s2d3f,wu9942,ruffus,blackboo,qwerty999,draco1,marcelin,hideki,gendalf,trevon,saraha,cartmen,yjhbkmcr,time2go,fanclub,ladder1,chinni,6942987,united99,lindac,quadra,paolit,mainstre,beano002,lincoln7,bellend,anomie,8520456,bangalor,goodstuff,chernov,stepashka,gulla,mike007,frasse,harley03,omnislash,8538622,maryjan,sasha2011,gineok,8807031,hornier,gopinath,princesit,bdr529,godown,bosslady,hakaone,1qwe2,madman1,joshua11,lovegame,bayamon,jedi01,stupid12,sport123,aaa666,tony44,collect1,charliem,chimaira,cx18ka,trrim777,chuckd,thedream,redsox99,goodmorning,delta88,iloveyou11,newlife2,figvam,chicago3,jasonk,12qwer,9875321,lestat1,satcom,conditio,capri50,sayaka,9933162,trunks1,chinga,snooch,alexand1,findus,poekie,cfdbyf,kevind,mike1969,fire13,leftie,bigtuna,chinnu,silence1,celos1,blackdra,alex24,gfgfif,2boobs,happy8,enolagay,sataniv1993,turner1,dylans,peugeo,sasha1994,hoppel,conno,moonshot,santa234,meister1,008800,hanako,tree123,qweras,gfitymrf,reggie31,august29,supert,joshua10,akademia,gbljhfc,zorro123,nathalia,redsox12,hfpdjl,mishmash,nokiae51,nyyankees,tu190022,strongbo,none1,not4u2no,katie2,popart,harlequi,santan,michal1,1therock,screwu,csyekmrf,olemiss1,tyrese,hoople,sunshin1,cucina,starbase,topshelf,fostex,california1,castle1,symantec,pippolo,babare,turntabl,1angela,moo123,ipvteb,gogolf,alex88,cycle1,maxie1,phase2,selhurst,furnitur,samfox,fromvermine,shaq34,gators96,captain2,delonge,tomatoe,bisous,zxcvbnma,glacius,pineapple1,cannelle,ganibal,mko09ijn,paraklast1974,hobbes12,petty43,artema,junior8,mylover,1234567890d,fatal1ty,prostreet,peruan,10020,nadya,caution1,marocas,chanel5,summer08,metal123,111lox,scrapy,thatguy,eddie666,washingto,yannis,minnesota_hp,lucky4,playboy6,naumova,azzurro,patat,dale33,pa55wd,speedster,zemanova,saraht,newto,tony22,qscesz,arkady,1oliver,death6,vkfwx046,antiflag,stangs,jzf7qf2e,brianp,fozzy,cody123,startrek1,yoda123,murciela,trabajo,lvbnhbtdf,canario,fliper,adroit,henry5,goducks,papirus,alskdj,soccer6,88mike,gogetter,tanelorn,donking,marky1,leedsu,badmofo,al1916,wetdog,akmaral,pallet,april24,killer00,nesterova,rugby123,coffee12,browseui,ralliart,paigow,calgary1,armyman,vtldtltd,frodo2,frxtgb,iambigal,benno,jaytee,2hot4you,askar,bigtee,brentwoo,palladin,eddie2,al1916w,horosho,entrada,ilovetits,venture1,dragon19,jayde,chuvak,jamesl,fzr600,brandon8,vjqvbh,snowbal,snatch1,bg6njokf,pudder,karolin,candoo,pfuflrf,satchel1,manteca,khongbiet,critter1,partridg,skyclad,bigdon,ginger69,brave1,anthony4,spinnake,chinadol,passout,cochino,nipples1,15058,lopesk,sixflags,lloo999,parkhead,breakdance,cia123,fidodido,yuitre12,fooey,artem1995,gayathri,medin,nondriversig,l12345,bravo7,happy13,kazuya,camster,alex1998,luckyy,zipcode,dizzle,boating1,opusone,newpassw,movies23,kamikazi,zapato,bart316,cowboys0,corsair1,kingshit,hotdog12,rolyat,h200svrm,qwerty4,boofer,rhtyltkm,chris999,vaz21074,simferopol,pitboss,love3,britania,tanyshka,brause,123qwerty123,abeille,moscow1,ilkaev,manut,process1,inetcfg,dragon05,fortknox,castill,rynner,mrmike,koalas,jeebus,stockpor,longman,juanpabl,caiman,roleplay,jeremi,26058,prodojo,002200,magical1,black5,bvlgari,doogie1,cbhtqa,mahina,a1s2d3f4g5h6,jblpro,usmc01,bismilah,guitar01,april9,santana1,1234aa,monkey14,sorokin,evan1,doohan,animalsex,pfqxtyjr,dimitry,catchme,chello,silverch,glock45,dogleg,litespee,nirvana9,peyton18,alydar,warhamer,iluvme,sig229,minotavr,lobzik,jack23,bushwack,onlin,football123,joshua5,federov,winter2,bigmax,fufnfrhbcnb,hfpldfnhb,1dakota,f56307,chipmonk,4nick8,praline,vbhjh123,king11,22tango,gemini12,street1,77879,doodlebu,homyak,165432,chuluthu,trixi,karlito,salom,reisen,cdtnkzxjr,pookie11,tremendo,shazaam,welcome0,00000ty,peewee51,pizzle,gilead,bydand,sarvar,upskirt,legends1,freeway1,teenfuck,ranger9,darkfire,dfymrf,hunt0802,justme1,buffy1ma,1harry,671fsa75yt,burrfoot,budster,pa437tu,jimmyp,alina2006,malacon,charlize,elway1,free12,summer02,gadina,manara,gomer1,1cassie,sanja,kisulya,money3,pujols,ford50,midiland,turga,orange6,demetriu,freakboy,orosie1,radio123,open12,vfufpby,mustek,chris33,animes,meiling,nthtvjr,jasmine9,gfdkjd,oligarh,marimar,chicago9,.kzirf,bugssgub,samuraix,jackie01,pimpjuic,macdad,cagiva,vernost,willyboy,fynjyjdf,tabby1,privet123,torres9,retype,blueroom,raven11,q12we3,alex1989,bringiton,ridered,kareltje,ow8jtcs8t,ciccia,goniners,countryb,24688642,covingto,24861793,beyblade,vikin,badboyz,wlafiga,walstib,mirand,needajob,chloes,balaton,kbpfdtnf,freyja,bond9007,gabriel12,stormbri,hollage,love4eve,fenomeno,darknite,dragstar,kyle123,milfhunter,ma123123123,samia,ghislain,enrique1,ferien12,xjy6721,natalie2,reglisse,wilson2,wesker,rosebud7,amazon1,robertr,roykeane,xtcnth,mamatata,crazyc,mikie,savanah,blowjob69,jackie2,forty1,1coffee,fhbyjxrf,bubbah,goteam,hackedit,risky1,logoff,h397pnvr,buck13,robert23,bronc,st123st,godflesh,pornog,iamking,cisco69,septiembr,dale38,zhongguo,tibbar,panther9,buffa1,bigjohn1,mypuppy,vehvfycr,april16,shippo,fire1234,green15,q123123,gungadin,steveg,olivier1,chinaski,magnoli,faithy,storm12,toadfrog,paul99,78791,august20,automati,squirtle,cheezy,positano,burbon,nunya,llebpmac,kimmi,turtle2,alan123,prokuror,violin1,durex,pussygal,visionar,trick1,chicken6,29024,plowboy,rfybreks,imbue,sasha13,wagner1,vitalogy,cfymrf,thepro,26028,gorbunov,dvdcom,letmein5,duder,fastfun,pronin,libra1,conner1,harley20,stinker1,20068,20038,amitech,syoung,dugway,18068,welcome7,jimmypag,anastaci,kafka1,pfhfnecnhf,catsss,campus100,shamal,nacho1,fire12,vikings2,brasil1,rangerover,mohamma,peresvet,14058,cocomo,aliona,14038,qwaser,vikes,cbkmdf,skyblue1,ou81234,goodlove,dfkmltvfh,108888,roamer,pinky2,static1,zxcv4321,barmen,rock22,shelby2,morgans,1junior,pasword1,logjam,fifty5,nhfrnjhbcn,chaddy,philli,nemesis2,ingenier,djkrjd,ranger3,aikman8,knothead,daddy69,love007,vsythb,ford350,tiger00,renrut,owen11,energy12,march14,alena123,robert19,carisma,orange22,murphy11,podarok,prozak,kfgeirf,wolf13,lydia1,shazza,parasha,akimov,tobbie,pilote,heather4,baster,leones,gznfxjr,megama,987654321g,bullgod,boxster1,minkey,wombats,vergil,colegiata,lincol,smoothe,pride1,carwash1,latrell,bowling3,fylhtq123,pickwick,eider,bubblebox,bunnies1,loquit,slipper1,nutsac,purina,xtutdfhf,plokiju,1qazxs,uhjpysq,zxcvbasdfg,enjoy1,1pumpkin,phantom7,mama22,swordsma,wonderbr,dogdays,milker,u23456,silvan,dfkthbr,slagelse,yeahman,twothree,boston11,wolf100,dannyg,troll1,fynjy123,ghbcnfd,bftest,ballsdeep,bobbyorr,alphasig,cccdemo,fire123,norwest,claire2,august10,lth1108,problemas,sapito,alex06,1rusty,maccom,goirish1,ohyes,bxdumb,nabila,boobear1,rabbit69,princip,alexsander,travail,chantal1,dogggy,greenpea,diablo69,alex2009,bergen09,petticoa,classe,ceilidh,vlad2011,kamakiri,lucidity,qaz321,chileno,cexfhf,99ranger,mcitra,estoppel,volvos60,carter80,webpass,temp12,touareg,fcgbhby,bubba8,sunitha,200190ru,bitch2,shadow23,iluvit,nicole0,ruben1,nikki69,butttt,shocker1,souschef,lopotok01,kantot,corsano,cfnfyf,riverat,makalu,swapna,all4u9,cdtnkfy,ntktgepbr,ronaldo99,thomasj,bmw540i,chrisw,boomba,open321,z1x2c3v4b5n6m7,gaviota,iceman44,frosya,chris100,chris24,cosette,clearwat,micael,boogyman,pussy9,camus1,chumpy,heccrbq,konoplya,chester8,scooter5,ghjgfufylf,giotto,koolkat,zero000,bonita1,ckflrbq,j1964,mandog,18n28n24a,renob,head1,shergar,ringo123,tanita,sex4free,johnny12,halberd,reddevils,biolog,dillinge,fatb0y,c00per,hyperlit,wallace2,spears1,vitamine,buheirf,sloboda,alkash,mooman,marion1,arsenal7,sunder,nokia5610,edifier,pippone,fyfnjkmtdbx,fujimo,pepsi12,kulikova,bolat,duetto,daimon,maddog01,timoshka,ezmoney,desdemon,chesters,aiden,hugues,patrick5,aikman08,robert4,roenick,nyranger,writer1,36169544,foxmulder,118801,kutter,shashank,jamjar,118811,119955,aspirina,dinkus,1sailor,nalgene,19891959,snarf,allie1,cracky,resipsa,45678912,kemerovo,19841989,netware1,alhimik,19801984,nicole123,19761977,51501984,malaka1,montella,peachfuz,jethro1,cypress1,henkie,holdon,esmith,55443322,1friend,quique,bandicoot,statistika,great123,death13,ucht36,master4,67899876,bobsmith,nikko1,jr1234,hillary1,78978978,rsturbo,lzlzdfcz,bloodlust,shadow00,skagen,bambina,yummies,88887777,91328378,matthew4,itdoes,98256518,102938475,alina2002,123123789,fubared,dannys,123456321,nikifor,suck69,newmexico,scubaman,rhbcnb,fifnfy,puffdadd,159357852,dtheyxbr,theman22,212009164,prohor,shirle,nji90okm,newmedia,goose5,roma1995,letssee,iceman11,aksana,wirenut,pimpdady,1212312121,tamplier,pelican1,domodedovo,1928374655,fiction6,duckpond,ybrecz,thwack,onetwo34,gunsmith,murphydo,fallout1,spectre1,jabberwo,jgjesq,turbo6,bobo12,redryder,blackpus,elena1971,danilova,antoin,bobo1234,bobob,bobbobbo,dean1,222222a,jesusgod,matt23,musical1,darkmage,loppol,werrew,josepha,rebel12,toshka,gadfly,hawkwood,alina12,dnomyar,sexaddict,dangit,cool23,yocrack,archimed,farouk,nhfkzkz,lindalou,111zzzzz,ghjatccjh,wethepeople,m123456789,wowsers,kbkbxrf,bulldog5,m_roesel,sissinit,yamoon6,123ewqasd,dangel,miruvor79,kaytee,falcon7,bandit11,dotnet,dannii,arsenal9,miatamx5,1trouble,strip4me,dogpile,sexyred1,rjdfktdf,google10,shortman,crystal7,awesome123,cowdog,haruka,birthday28,jitter,diabolik,boomer12,dknight,bluewate,hockey123,crm0624,blueboys,willy123,jumpup,google2,cobra777,llabesab,vicelord,hopper1,gerryber,remmah,j10e5d4,qqqqqqw,agusti,fre_ak8yj,nahlik,redrobin,scott3,epson1,dumpy,bundao,aniolek,hola123,jergens,itsasecret,maxsam,bluelight,mountai1,bongwater,1london,pepper14,freeuse,dereks,qweqw,fordgt40,rfhfdfy,raider12,hunnybun,compac,splicer,megamon,tuffgong,gymnast1,butter11,modaddy,wapbbs_1,dandelio,soccer77,ghjnbdjcnjzybt,123xyi2,fishead,x002tp00,whodaman,555aaa,oussama,brunodog,technici,pmtgjnbl,qcxdw8ry,schweden,redsox3,throbber,collecto,japan10,dbm123dm,hellhoun,tech1,deadzone,kahlan,wolf123,dethklok,xzsawq,bigguy1,cybrthc,chandle,buck01,qq123123,secreta,williams1,c32649135,delta12,flash33,123joker,spacejam,polopo,holycrap,daman1,tummybed,financia,nusrat,euroline,magicone,jimkirk,ameritec,daniel26,sevenn,topazz,kingpins,dima1991,macdog,spencer5,oi812,geoffre,music11,baffle,123569,usagi,cassiope,polla,lilcrowe,thecakeisalie,vbhjndjhtw,vthokies,oldmans,sophie01,ghoster,penny2,129834,locutus1,meesha,magik,jerry69,daddysgirl,irondesk,andrey12,jasmine123,vepsrfyn,likesdick,1accord,jetboat,grafix,tomuch,showit,protozoa,mosias98,taburetka,blaze420,esenin,anal69,zhv84kv,puissant,charles0,aishwarya,babylon6,bitter1,lenina,raleigh1,lechat,access01,kamilka,fynjy,sparkplu,daisy3112,choppe,zootsuit,1234567j,rubyrose,gorilla9,nightshade,alternativa,cghfdjxybr,snuggles1,10121v,vova1992,leonardo1,dave2,matthewd,vfhfnbr,1986mets,nobull,bacall,mexican1,juanjo,mafia1,boomer22,soylent,edwards1,jordan10,blackwid,alex86,gemini13,lunar2,dctvcjcfnm,malaki,plugger,eagles11,snafu2,1shelly,cintaku,hannah22,tbird1,maks5843,irish88,homer22,amarok,fktrcfylhjdf,lincoln2,acess,gre69kik,need4speed,hightech,core2duo,blunt1,ublhjgjybrf,dragon33,1autopas,autopas1,wwww1,15935746,daniel20,2500aa,massim,1ggggggg,96ford,hardcor1,cobra5,blackdragon,vovan_lt,orochimaru,hjlbntkb,qwertyuiop12,tallen,paradoks,frozenfish,ghjuhfvvbcn,gerri1,nuggett,camilit,doright,trans1,serena1,catch2,bkmyeh,fireston,afhvfwtdn,purple3,figure8,fuckya,scamp1,laranja,ontheoutside,louis123,yellow7,moonwalk,mercury2,tolkein,raide,amenra,a13579,dranreb,5150vh,harish,tracksta,sexking,ozzmosis,katiee,alomar,matrix19,headroom,jahlove,ringding,apollo8,132546,132613,12345672000,saretta,135798,136666,thomas7,136913,onetwothree,hockey33,calida,nefertit,bitwise,tailhook,boop4,kfgecbr,bujhmbujhm,metal69,thedark,meteoro,felicia1,house12,tinuviel,istina,vaz2105,pimp13,toolfan,nina1,tuesday2,maxmotives,lgkp500,locksley,treech,darling1,kurama,aminka,ramin,redhed,dazzler,jager1,stpiliot,cardman,rfvtym,cheeser,14314314,paramoun,samcat,plumpy,stiffie,vsajyjr,panatha,qqq777,car12345,098poi,asdzx,keegan1,furelise,kalifornia,vbhjckfd,beast123,zcfvfzkexifz,harry5,1birdie,96328i,escola,extra330,henry12,gfhfyjqz,14u2nv,max1234,templar1,1dave,02588520,catrin,pangolin,marhaba,latin1,amorcito,dave22,escape1,advance1,yasuhiro,grepw,meetme,orange01,ernes,erdna,zsergn,nautica1,justinb,soundwav,miasma,greg78,nadine1,sexmad,lovebaby,promo1,excel1,babys,dragonma,camry1,sonnenschein,farooq,wazzkaprivet,magal,katinas,elvis99,redsox24,rooney1,chiefy,peggys,aliev,pilsung,mudhen,dontdoit,dennis12,supercal,energia,ballsout,funone,claudiu,brown2,amoco,dabl1125,philos,gjdtkbntkm,servette,13571113,whizzer,nollie,13467982,upiter,12string,bluejay1,silkie,william4,kosta1,143333,connor12,sustanon,06068,corporat,ssnake,laurita,king10,tahoes,arsenal123,sapato,charless,jeanmarc,levent,algerie,marine21,jettas,winsome,dctvgbplf,1701ab,xxxp455w0rd5,lllllll1,ooooooo1,monalis,koufax32,anastasya,debugger,sarita2,jason69,ufkxjyjr,gjlcnfdf,1jerry,daniel10,balinor,sexkitten,death2,qwertasdfgzxcvb,s9te949f,vegeta1,sysman,maxxam,dimabilan,mooose,ilovetit,june23,illest,doesit,mamou,abby12,longjump,transalp,moderato,littleguy,magritte,dilnoza,hawaiiguy,winbig,nemiroff,kokaine,admira,myemail,dream2,browneyes,destiny7,dragonss,suckme1,asa123,andranik,suckem,fleshbot,dandie,timmys,scitra,timdog,hasbeen,guesss,smellyfe,arachne,deutschl,harley88,birthday27,nobody1,papasmur,home1,jonass,bunia3,epatb1,embalm,vfvekmrf,apacer,12345656,estreet,weihnachtsbaum,mrwhite,admin12,kristie1,kelebek,yoda69,socken,tima123,bayern1,fktrcfylth,tamiya,99strenght,andy01,denis2011,19delta,stokecit,aotearoa,stalker2,nicnac,conrad1,popey,agusta,bowl36,1bigfish,mossyoak,1stunner,getinnow,jessejames,gkfnjy,drako,1nissan,egor123,hotness,1hawaii,zxc123456,cantstop,1peaches,madlen,west1234,jeter1,markis,judit,attack1,artemi,silver69,153246,crazy2,green9,yoshimi,1vette,chief123,jasper2,1sierra,twentyon,drstrang,aspirant,yannic,jenna123,bongtoke,slurpy,1sugar,civic97,rusty21,shineon,james19,anna12345,wonderwoman,1kevin,karol1,kanabis,wert21,fktif6115,evil1,kakaha,54gv768,826248s,tyrone1,1winston,sugar2,falcon01,adelya,mopar440,zasxcd,leecher,kinkysex,mercede1,travka,11234567,rebon,geekboy".split(","), +english_wikipedia:"the,of,and,in,was,is,for,as,on,with,by,he,at,from,his,an,were,are,which,doc,https,also,or,has,had,first,one,their,its,after,new,who,they,two,her,she,been,other,when,time,during,there,into,school,more,may,years,over,only,year,most,would,world,city,some,where,between,later,three,state,such,then,national,used,made,known,under,many,university,united,while,part,season,team,these,american,than,film,second,born,south,became,states,war,through,being,including,both,before,north,high,however,people,family,early,history,album,area,them,series,against,until,since,district,county,name,work,life,group,music,following,number,company,several,four,called,played,released,career,league,game,government,house,each,based,day,same,won,use,station,club,international,town,located,population,general,college,east,found,age,march,end,september,began,home,public,church,line,june,river,member,system,place,century,band,july,york,january,october,song,august,best,former,british,party,named,held,village,show,local,november,took,service,december,built,another,major,within,along,members,five,single,due,although,small,old,left,final,large,include,building,served,president,received,games,death,february,main,third,set,children,own,order,species,park,law,air,published,road,died,book,men,women,army,often,according,education,central,country,division,english,top,included,development,french,community,among,water,play,side,list,times,near,late,form,original,different,center,power,led,students,german,moved,court,six,land,council,island,u.s.,record,million,research,art,established,award,street,military,television,given,region,support,western,production,non,political,point,cup,period,business,title,started,various,election,using,england,role,produced,become,program,works,field,total,office,class,written,association,radio,union,level,championship,director,few,force,created,department,founded,services,married,though,per,n't,site,open,act,short,society,version,royal,present,northern,worked,professional,full,returned,joined,story,france,european,currently,language,social,california,india,days,design,st.,further,round,australia,wrote,san,project,control,southern,railway,board,popular,continued,free,battle,considered,video,common,position,living,half,playing,recorded,red,post,described,average,records,special,modern,appeared,announced,areas,rock,release,elected,others,example,term,opened,similar,formed,route,census,current,schools,originally,lake,developed,race,himself,forces,addition,information,upon,province,match,event,songs,result,events,win,eastern,track,lead,teams,science,human,construction,minister,germany,awards,available,throughout,training,style,body,museum,australian,health,seven,signed,chief,eventually,appointed,sea,centre,debut,tour,points,media,light,range,character,across,features,families,largest,indian,network,less,performance,players,refer,europe,sold,festival,usually,taken,despite,designed,committee,process,return,official,episode,institute,stage,followed,performed,japanese,personal,thus,arts,space,low,months,includes,china,study,middle,magazine,leading,japan,groups,aircraft,featured,federal,civil,rights,model,coach,canadian,books,remained,eight,type,independent,completed,capital,academy,instead,kingdom,organization,countries,studies,competition,sports,size,above,section,finished,gold,involved,reported,management,systems,industry,directed,market,fourth,movement,technology,bank,ground,campaign,base,lower,sent,rather,added,provided,coast,grand,historic,valley,conference,bridge,winning,approximately,films,chinese,awarded,degree,russian,shows,native,female,replaced,municipality,square,studio,medical,data,african,successful,mid,bay,attack,previous,operations,spanish,theatre,student,republic,beginning,provide,ship,primary,owned,writing,tournament,culture,introduced,texas,related,natural,parts,governor,reached,ireland,units,senior,decided,italian,whose,higher,africa,standard,income,professor,placed,regional,los,buildings,championships,active,novel,energy,generally,interest,via,economic,previously,stated,itself,channel,below,operation,leader,traditional,trade,structure,limited,runs,prior,regular,famous,saint,navy,foreign,listed,artist,catholic,airport,results,parliament,collection,unit,officer,goal,attended,command,staff,commission,lived,location,plays,commercial,places,foundation,significant,older,medal,self,scored,companies,highway,activities,programs,wide,musical,notable,library,numerous,paris,towards,individual,allowed,plant,property,annual,contract,whom,highest,initially,required,earlier,assembly,artists,rural,seat,practice,defeated,ended,soviet,length,spent,manager,press,associated,author,issues,additional,characters,lord,zealand,policy,engine,township,noted,historical,complete,financial,religious,mission,contains,nine,recent,represented,pennsylvania,administration,opening,secretary,lines,report,executive,youth,closed,theory,writer,italy,angeles,appearance,feature,queen,launched,legal,terms,entered,issue,edition,singer,greek,majority,background,source,anti,cultural,complex,changes,recording,stadium,islands,operated,particularly,basketball,month,uses,port,castle,mostly,names,fort,selected,increased,status,earth,subsequently,pacific,cover,variety,certain,goals,remains,upper,congress,becoming,studied,irish,nature,particular,loss,caused,chart,dr.,forced,create,era,retired,material,review,rate,singles,referred,larger,individuals,shown,provides,products,speed,democratic,poland,parish,olympics,cities,themselves,temple,wing,genus,households,serving,cost,wales,stations,passed,supported,view,cases,forms,actor,male,matches,males,stars,tracks,females,administrative,median,effect,biography,train,engineering,camp,offered,chairman,houses,mainly,19th,surface,therefore,nearly,score,ancient,subject,prime,seasons,claimed,experience,specific,jewish,failed,overall,believed,plot,troops,greater,spain,consists,broadcast,heavy,increase,raised,separate,campus,1980s,appears,presented,lies,composed,recently,influence,fifth,nations,creek,references,elections,britain,double,cast,meaning,earned,carried,producer,latter,housing,brothers,attempt,article,response,border,remaining,nearby,direct,ships,value,workers,politician,academic,label,1970s,commander,rule,fellow,residents,authority,editor,transport,dutch,projects,responsible,covered,territory,flight,races,defense,tower,emperor,albums,facilities,daily,stories,assistant,managed,primarily,quality,function,proposed,distribution,conditions,prize,journal,code,vice,newspaper,corps,highly,constructed,mayor,critical,secondary,corporation,rugby,regiment,ohio,appearances,serve,allow,nation,multiple,discovered,directly,scene,levels,growth,elements,acquired,1990s,officers,physical,20th,latin,host,jersey,graduated,arrived,issued,literature,metal,estate,vote,immediately,quickly,asian,competed,extended,produce,urban,1960s,promoted,contemporary,global,formerly,appear,industrial,types,opera,ministry,soldiers,commonly,mass,formation,smaller,typically,drama,shortly,density,senate,effects,iran,polish,prominent,naval,settlement,divided,basis,republican,languages,distance,treatment,continue,product,mile,sources,footballer,format,clubs,leadership,initial,offers,operating,avenue,officially,columbia,grade,squadron,fleet,percent,farm,leaders,agreement,likely,equipment,website,mount,grew,method,transferred,intended,renamed,iron,asia,reserve,capacity,politics,widely,activity,advanced,relations,scottish,dedicated,crew,founder,episodes,lack,amount,build,efforts,concept,follows,ordered,leaves,positive,economy,entertainment,affairs,memorial,ability,illinois,communities,color,text,railroad,scientific,focus,comedy,serves,exchange,environment,cars,direction,organized,firm,description,agency,analysis,purpose,destroyed,reception,planned,revealed,infantry,architecture,growing,featuring,household,candidate,removed,situated,models,knowledge,solo,technical,organizations,assigned,conducted,participated,largely,purchased,register,gained,combined,headquarters,adopted,potential,protection,scale,approach,spread,independence,mountains,titled,geography,applied,safety,mixed,accepted,continues,captured,rail,defeat,principal,recognized,lieutenant,mentioned,semi,owner,joint,liberal,actress,traffic,creation,basic,notes,unique,supreme,declared,simply,plants,sales,massachusetts,designated,parties,jazz,compared,becomes,resources,titles,concert,learning,remain,teaching,versions,content,alongside,revolution,sons,block,premier,impact,champions,districts,generation,estimated,volume,image,sites,account,roles,sport,quarter,providing,zone,yard,scoring,classes,presence,performances,representatives,hosted,split,taught,origin,olympic,claims,critics,facility,occurred,suffered,municipal,damage,defined,resulted,respectively,expanded,platform,draft,opposition,expected,educational,ontario,climate,reports,atlantic,surrounding,performing,reduced,ranked,allows,birth,nominated,younger,newly,kong,positions,theater,philadelphia,heritage,finals,disease,sixth,laws,reviews,constitution,tradition,swedish,theme,fiction,rome,medicine,trains,resulting,existing,deputy,environmental,labour,classical,develop,fans,granted,receive,alternative,begins,nuclear,fame,buried,connected,identified,palace,falls,letters,combat,sciences,effort,villages,inspired,regions,towns,conservative,chosen,animals,labor,attacks,materials,yards,steel,representative,orchestra,peak,entitled,officials,returning,reference,northwest,imperial,convention,examples,ocean,publication,painting,subsequent,frequently,religion,brigade,fully,sides,acts,cemetery,relatively,oldest,suggested,succeeded,achieved,application,programme,cells,votes,promotion,graduate,armed,supply,flying,communist,figures,literary,netherlands,korea,worldwide,citizens,1950s,faculty,draw,stock,seats,occupied,methods,unknown,articles,claim,holds,authorities,audience,sweden,interview,obtained,covers,settled,transfer,marked,allowing,funding,challenge,southeast,unlike,crown,rise,portion,transportation,sector,phase,properties,edge,tropical,standards,institutions,philosophy,legislative,hills,brand,fund,conflict,unable,founding,refused,attempts,metres,permanent,starring,applications,creating,effective,aired,extensive,employed,enemy,expansion,billboard,rank,battalion,multi,vehicle,fought,alliance,category,perform,federation,poetry,bronze,bands,entry,vehicles,bureau,maximum,billion,trees,intelligence,greatest,screen,refers,commissioned,gallery,injury,confirmed,setting,treaty,adult,americans,broadcasting,supporting,pilot,mobile,writers,programming,existence,squad,minnesota,copies,korean,provincial,sets,defence,offices,agricultural,internal,core,northeast,retirement,factory,actions,prevent,communications,ending,weekly,containing,functions,attempted,interior,weight,bowl,recognition,incorporated,increasing,ultimately,documentary,derived,attacked,lyrics,mexican,external,churches,centuries,metropolitan,selling,opposed,personnel,mill,visited,presidential,roads,pieces,norwegian,controlled,18th,rear,influenced,wrestling,weapons,launch,composer,locations,developing,circuit,specifically,studios,shared,canal,wisconsin,publishing,approved,domestic,consisted,determined,comic,establishment,exhibition,southwest,fuel,electronic,cape,converted,educated,melbourne,hits,wins,producing,norway,slightly,occur,surname,identity,represent,constituency,funds,proved,links,structures,athletic,birds,contest,users,poet,institution,display,receiving,rare,contained,guns,motion,piano,temperature,publications,passenger,contributed,toward,cathedral,inhabitants,architect,exist,athletics,muslim,courses,abandoned,signal,successfully,disambiguation,tennessee,dynasty,heavily,maryland,jews,representing,budget,weather,missouri,introduction,faced,pair,chapel,reform,height,vietnam,occurs,motor,cambridge,lands,focused,sought,patients,shape,invasion,chemical,importance,communication,selection,regarding,homes,voivodeship,maintained,borough,failure,aged,passing,agriculture,oregon,teachers,flow,philippines,trail,seventh,portuguese,resistance,reaching,negative,fashion,scheduled,downtown,universities,trained,skills,scenes,views,notably,typical,incident,candidates,engines,decades,composition,commune,chain,inc.,austria,sale,values,employees,chamber,regarded,winners,registered,task,investment,colonial,swiss,user,entirely,flag,stores,closely,entrance,laid,journalist,coal,equal,causes,turkish,quebec,techniques,promote,junction,easily,dates,kentucky,singapore,residence,violence,advance,survey,humans,expressed,passes,streets,distinguished,qualified,folk,establish,egypt,artillery,visual,improved,actual,finishing,medium,protein,switzerland,productions,operate,poverty,neighborhood,organisation,consisting,consecutive,sections,partnership,extension,reaction,factor,costs,bodies,device,ethnic,racial,flat,objects,chapter,improve,musicians,courts,controversy,membership,merged,wars,expedition,interests,arab,comics,gain,describes,mining,bachelor,crisis,joining,decade,1930s,distributed,habitat,routes,arena,cycle,divisions,briefly,vocals,directors,degrees,object,recordings,installed,adjacent,demand,voted,causing,businesses,ruled,grounds,starred,drawn,opposite,stands,formal,operates,persons,counties,compete,wave,israeli,ncaa,resigned,brief,greece,combination,demographics,historian,contain,commonwealth,musician,collected,argued,louisiana,session,cabinet,parliamentary,electoral,loan,profit,regularly,conservation,islamic,purchase,17th,charts,residential,earliest,designs,paintings,survived,moth,items,goods,grey,anniversary,criticism,images,discovery,observed,underground,progress,additionally,participate,thousands,reduce,elementary,owners,stating,iraq,resolution,capture,tank,rooms,hollywood,finance,queensland,reign,maintain,iowa,landing,broad,outstanding,circle,path,manufacturing,assistance,sequence,gmina,crossing,leads,universal,shaped,kings,attached,medieval,ages,metro,colony,affected,scholars,oklahoma,coastal,soundtrack,painted,attend,definition,meanwhile,purposes,trophy,require,marketing,popularity,cable,mathematics,mississippi,represents,scheme,appeal,distinct,factors,acid,subjects,roughly,terminal,economics,senator,diocese,prix,contrast,argentina,czech,wings,relief,stages,duties,16th,novels,accused,whilst,equivalent,charged,measure,documents,couples,request,danish,defensive,guide,devices,statistics,credited,tries,passengers,allied,frame,puerto,peninsula,concluded,instruments,wounded,differences,associate,forests,afterwards,replace,requirements,aviation,solution,offensive,ownership,inner,legislation,hungarian,contributions,actors,translated,denmark,steam,depending,aspects,assumed,injured,severe,admitted,determine,shore,technique,arrival,measures,translation,debuted,delivered,returns,rejected,separated,visitors,damaged,storage,accompanied,markets,industries,losses,gulf,charter,strategy,corporate,socialist,somewhat,significantly,physics,mounted,satellite,experienced,constant,relative,pattern,restored,belgium,connecticut,partners,harvard,retained,networks,protected,mode,artistic,parallel,collaboration,debate,involving,journey,linked,salt,authors,components,context,occupation,requires,occasionally,policies,tamil,ottoman,revolutionary,hungary,poem,versus,gardens,amongst,audio,makeup,frequency,meters,orthodox,continuing,suggests,legislature,coalition,guitarist,eighth,classification,practices,soil,tokyo,instance,limit,coverage,considerable,ranking,colleges,cavalry,centers,daughters,twin,equipped,broadway,narrow,hosts,rates,domain,boundary,arranged,12th,whereas,brazilian,forming,rating,strategic,competitions,trading,covering,baltimore,commissioner,infrastructure,origins,replacement,praised,disc,collections,expression,ukraine,driven,edited,austrian,solar,ensure,premiered,successor,wooden,operational,hispanic,concerns,rapid,prisoners,childhood,meets,influential,tunnel,employment,tribe,qualifying,adapted,temporary,celebrated,appearing,increasingly,depression,adults,cinema,entering,laboratory,script,flows,romania,accounts,fictional,pittsburgh,achieve,monastery,franchise,formally,tools,newspapers,revival,sponsored,processes,vienna,springs,missions,classified,13th,annually,branches,lakes,gender,manner,advertising,normally,maintenance,adding,characteristics,integrated,decline,modified,strongly,critic,victims,malaysia,arkansas,nazi,restoration,powered,monument,hundreds,depth,15th,controversial,admiral,criticized,brick,honorary,initiative,output,visiting,birmingham,progressive,existed,carbon,1920s,credits,colour,rising,hence,defeating,superior,filmed,listing,column,surrounded,orleans,principles,territories,struck,participation,indonesia,movements,index,commerce,conduct,constitutional,spiritual,ambassador,vocal,completion,edinburgh,residing,tourism,finland,bears,medals,resident,themes,visible,indigenous,involvement,basin,electrical,ukrainian,concerts,boats,styles,processing,rival,drawing,vessels,experimental,declined,touring,supporters,compilation,coaching,cited,dated,roots,string,explained,transit,traditionally,poems,minimum,representation,14th,releases,effectively,architectural,triple,indicated,greatly,elevation,clinical,printed,10th,proposal,peaked,producers,romanized,rapidly,stream,innings,meetings,counter,householder,honour,lasted,agencies,document,exists,surviving,experiences,honors,landscape,hurricane,harbor,panel,competing,profile,vessel,farmers,lists,revenue,exception,customers,11th,participants,wildlife,utah,bible,gradually,preserved,replacing,symphony,begun,longest,siege,provinces,mechanical,genre,transmission,agents,executed,videos,benefits,funded,rated,instrumental,ninth,similarly,dominated,destruction,passage,technologies,thereafter,outer,facing,affiliated,opportunities,instrument,governments,scholar,evolution,channels,shares,sessions,widespread,occasions,engineers,scientists,signing,battery,competitive,alleged,eliminated,supplies,judges,hampshire,regime,portrayed,penalty,taiwan,denied,submarine,scholarship,substantial,transition,victorian,http,nevertheless,filed,supports,continental,tribes,ratio,doubles,useful,honours,blocks,principle,retail,departure,ranks,patrol,yorkshire,vancouver,inter,extent,afghanistan,strip,railways,component,organ,symbol,categories,encouraged,abroad,civilian,periods,traveled,writes,struggle,immediate,recommended,adaptation,egyptian,graduating,assault,drums,nomination,historically,voting,allies,detailed,achievement,percentage,arabic,assist,frequent,toured,apply,and/or,intersection,maine,touchdown,throne,produces,contribution,emerged,obtain,archbishop,seek,researchers,remainder,populations,clan,finnish,overseas,fifa,licensed,chemistry,festivals,mediterranean,injuries,animated,seeking,publisher,volumes,limits,venue,jerusalem,generated,trials,islam,youngest,ruling,glasgow,germans,songwriter,persian,municipalities,donated,viewed,belgian,cooperation,posted,tech,dual,volunteer,settlers,commanded,claiming,approval,delhi,usage,terminus,partly,electricity,locally,editions,premiere,absence,belief,traditions,statue,indicate,manor,stable,attributed,possession,managing,viewers,chile,overview,seed,regulations,essential,minority,cargo,segment,endemic,forum,deaths,monthly,playoffs,erected,practical,machines,suburb,relation,mrs.,descent,indoor,continuous,characterized,solutions,caribbean,rebuilt,serbian,summary,contested,psychology,pitch,attending,muhammad,tenure,drivers,diameter,assets,venture,punk,airlines,concentration,athletes,volunteers,pages,mines,influences,sculpture,protest,ferry,behalf,drafted,apparent,furthermore,ranging,romanian,democracy,lanka,significance,linear,d.c.,certified,voters,recovered,tours,demolished,boundaries,assisted,identify,grades,elsewhere,mechanism,1940s,reportedly,aimed,conversion,suspended,photography,departments,beijing,locomotives,publicly,dispute,magazines,resort,conventional,platforms,internationally,capita,settlements,dramatic,derby,establishing,involves,statistical,implementation,immigrants,exposed,diverse,layer,vast,ceased,connections,belonged,interstate,uefa,organised,abuse,deployed,cattle,partially,filming,mainstream,reduction,automatic,rarely,subsidiary,decides,merger,comprehensive,displayed,amendment,guinea,exclusively,manhattan,concerning,commons,radical,serbia,baptist,buses,initiated,portrait,harbour,choir,citizen,sole,unsuccessful,manufactured,enforcement,connecting,increases,patterns,sacred,muslims,clothing,hindu,unincorporated,sentenced,advisory,tanks,campaigns,fled,repeated,remote,rebellion,implemented,texts,fitted,tribute,writings,sufficient,ministers,21st,devoted,jurisdiction,coaches,interpretation,pole,businessman,peru,sporting,prices,cuba,relocated,opponent,arrangement,elite,manufacturer,responded,suitable,distinction,calendar,dominant,tourist,earning,prefecture,ties,preparation,anglo,pursue,worship,archaeological,chancellor,bangladesh,scores,traded,lowest,horror,outdoor,biology,commented,specialized,loop,arriving,farming,housed,historians,'the,patent,pupils,christianity,opponents,athens,northwestern,maps,promoting,reveals,flights,exclusive,lions,norfolk,hebrew,extensively,eldest,shops,acquisition,virtual,renowned,margin,ongoing,essentially,iranian,alternate,sailed,reporting,conclusion,originated,temperatures,exposure,secured,landed,rifle,framework,identical,martial,focuses,topics,ballet,fighters,belonging,wealthy,negotiations,evolved,bases,oriented,acres,democrat,heights,restricted,vary,graduation,aftermath,chess,illness,participating,vertical,collective,immigration,demonstrated,leaf,completing,organic,missile,leeds,eligible,grammar,confederate,improvement,congressional,wealth,cincinnati,spaces,indicates,corresponding,reaches,repair,isolated,taxes,congregation,ratings,leagues,diplomatic,submitted,winds,awareness,photographs,maritime,nigeria,accessible,animation,restaurants,philippine,inaugural,dismissed,armenian,illustrated,reservoir,speakers,programmes,resource,genetic,interviews,camps,regulation,computers,preferred,travelled,comparison,distinctive,recreation,requested,southeastern,dependent,brisbane,breeding,playoff,expand,bonus,gauge,departed,qualification,inspiration,shipping,slaves,variations,shield,theories,munich,recognised,emphasis,favour,variable,seeds,undergraduate,territorial,intellectual,qualify,mini,banned,pointed,democrats,assessment,judicial,examination,attempting,objective,partial,characteristic,hardware,pradesh,execution,ottawa,metre,drum,exhibitions,withdrew,attendance,phrase,journalism,logo,measured,error,christians,trio,protestant,theology,respective,atmosphere,buddhist,substitute,curriculum,fundamental,outbreak,rabbi,intermediate,designation,globe,liberation,simultaneously,diseases,experiments,locomotive,difficulties,mainland,nepal,relegated,contributing,database,developments,veteran,carries,ranges,instruction,lodge,protests,obama,newcastle,experiment,physician,describing,challenges,corruption,delaware,adventures,ensemble,succession,renaissance,tenth,altitude,receives,approached,crosses,syria,croatia,warsaw,professionals,improvements,worn,airline,compound,permitted,preservation,reducing,printing,scientist,activist,comprises,sized,societies,enters,ruler,gospel,earthquake,extend,autonomous,croatian,serial,decorated,relevant,ideal,grows,grass,tier,towers,wider,welfare,columns,alumni,descendants,interface,reserves,banking,colonies,manufacturers,magnetic,closure,pitched,vocalist,preserve,enrolled,cancelled,equation,2000s,nickname,bulgaria,heroes,exile,mathematical,demands,input,structural,tube,stem,approaches,argentine,axis,manuscript,inherited,depicted,targets,visits,veterans,regard,removal,efficiency,organisations,concepts,lebanon,manga,petersburg,rally,supplied,amounts,yale,tournaments,broadcasts,signals,pilots,azerbaijan,architects,enzyme,literacy,declaration,placing,batting,incumbent,bulgarian,consistent,poll,defended,landmark,southwestern,raid,resignation,travels,casualties,prestigious,namely,aims,recipient,warfare,readers,collapse,coached,controls,volleyball,coup,lesser,verse,pairs,exhibited,proteins,molecular,abilities,integration,consist,aspect,advocate,administered,governing,hospitals,commenced,coins,lords,variation,resumed,canton,artificial,elevated,palm,difficulty,civic,efficient,northeastern,inducted,radiation,affiliate,boards,stakes,byzantine,consumption,freight,interaction,oblast,numbered,seminary,contracts,extinct,predecessor,bearing,cultures,functional,neighboring,revised,cylinder,grants,narrative,reforms,athlete,tales,reflect,presidency,compositions,specialist,cricketer,founders,sequel,widow,disbanded,associations,backed,thereby,pitcher,commanding,boulevard,singers,crops,militia,reviewed,centres,waves,consequently,fortress,tributary,portions,bombing,excellence,nest,payment,mars,plaza,unity,victories,scotia,farms,nominations,variant,attacking,suspension,installation,graphics,estates,comments,acoustic,destination,venues,surrender,retreat,libraries,quarterback,customs,berkeley,collaborated,gathered,syndrome,dialogue,recruited,shanghai,neighbouring,psychological,saudi,moderate,exhibit,innovation,depot,binding,brunswick,situations,certificate,actively,shakespeare,editorial,presentation,ports,relay,nationalist,methodist,archives,experts,maintains,collegiate,bishops,maintaining,temporarily,embassy,essex,wellington,connects,reformed,bengal,recalled,inches,doctrine,deemed,legendary,reconstruction,statements,palestinian,meter,achievements,riders,interchange,spots,auto,accurate,chorus,dissolved,missionary,thai,operators,e.g.,generations,failing,delayed,cork,nashville,perceived,venezuela,cult,emerging,tomb,abolished,documented,gaining,canyon,episcopal,stored,assists,compiled,kerala,kilometers,mosque,grammy,theorem,unions,segments,glacier,arrives,theatrical,circulation,conferences,chapters,displays,circular,authored,conductor,fewer,dimensional,nationwide,liga,yugoslavia,peer,vietnamese,fellowship,armies,regardless,relating,dynamic,politicians,mixture,serie,somerset,imprisoned,posts,beliefs,beta,layout,independently,electronics,provisions,fastest,logic,headquartered,creates,challenged,beaten,appeals,plains,protocol,graphic,accommodate,iraqi,midfielder,span,commentary,freestyle,reflected,palestine,lighting,burial,virtually,backing,prague,tribal,heir,identification,prototype,criteria,dame,arch,tissue,footage,extending,procedures,predominantly,updated,rhythm,preliminary,cafe,disorder,prevented,suburbs,discontinued,retiring,oral,followers,extends,massacre,journalists,conquest,larvae,pronounced,behaviour,diversity,sustained,addressed,geographic,restrictions,voiced,milwaukee,dialect,quoted,grid,nationally,nearest,roster,twentieth,separation,indies,manages,citing,intervention,guidance,severely,migration,artwork,focusing,rivals,trustees,varied,enabled,committees,centered,skating,slavery,cardinals,forcing,tasks,auckland,youtube,argues,colored,advisor,mumbai,requiring,theological,registration,refugees,nineteenth,survivors,runners,colleagues,priests,contribute,variants,workshop,concentrated,creator,lectures,temples,exploration,requirement,interactive,navigation,companion,perth,allegedly,releasing,citizenship,observation,stationed,ph.d.,sheep,breed,discovers,encourage,kilometres,journals,performers,isle,saskatchewan,hybrid,hotels,lancashire,dubbed,airfield,anchor,suburban,theoretical,sussex,anglican,stockholm,permanently,upcoming,privately,receiver,optical,highways,congo,colours,aggregate,authorized,repeatedly,varies,fluid,innovative,transformed,praise,convoy,demanded,discography,attraction,export,audiences,ordained,enlisted,occasional,westminster,syrian,heavyweight,bosnia,consultant,eventual,improving,aires,wickets,epic,reactions,scandal,i.e.,discrimination,buenos,patron,investors,conjunction,testament,construct,encountered,celebrity,expanding,georgian,brands,retain,underwent,algorithm,foods,provision,orbit,transformation,associates,tactical,compact,varieties,stability,refuge,gathering,moreover,manila,configuration,gameplay,discipline,entity,comprising,composers,skill,monitoring,ruins,museums,sustainable,aerial,altered,codes,voyage,friedrich,conflicts,storyline,travelling,conducting,merit,indicating,referendum,currency,encounter,particles,automobile,workshops,acclaimed,inhabited,doctorate,cuban,phenomenon,dome,enrollment,tobacco,governance,trend,equally,manufacture,hydrogen,grande,compensation,download,pianist,grain,shifted,neutral,evaluation,define,cycling,seized,array,relatives,motors,firms,varying,automatically,restore,nicknamed,findings,governed,investigate,manitoba,administrator,vital,integral,indonesian,confusion,publishers,enable,geographical,inland,naming,civilians,reconnaissance,indianapolis,lecturer,deer,tourists,exterior,rhode,bassist,symbols,scope,ammunition,yuan,poets,punjab,nursing,cent,developers,estimates,presbyterian,nasa,holdings,generate,renewed,computing,cyprus,arabia,duration,compounds,gastropod,permit,valid,touchdowns,facade,interactions,mineral,practiced,allegations,consequence,goalkeeper,baronet,copyright,uprising,carved,targeted,competitors,mentions,sanctuary,fees,pursued,tampa,chronicle,capabilities,specified,specimens,toll,accounting,limestone,staged,upgraded,philosophical,streams,guild,revolt,rainfall,supporter,princeton,terrain,hometown,probability,assembled,paulo,surrey,voltage,developer,destroyer,floors,lineup,curve,prevention,potentially,onwards,trips,imposed,hosting,striking,strict,admission,apartments,solely,utility,proceeded,observations,euro,incidents,vinyl,profession,haven,distant,expelled,rivalry,runway,torpedo,zones,shrine,dimensions,investigations,lithuania,idaho,pursuit,copenhagen,considerably,locality,wireless,decrease,genes,thermal,deposits,hindi,habitats,withdrawn,biblical,monuments,casting,plateau,thesis,managers,flooding,assassination,acknowledged,interim,inscription,guided,pastor,finale,insects,transported,activists,marshal,intensity,airing,cardiff,proposals,lifestyle,prey,herald,capitol,aboriginal,measuring,lasting,interpreted,occurring,desired,drawings,healthcare,panels,elimination,oslo,ghana,blog,sabha,intent,superintendent,governors,bankruptcy,p.m.,equity,disk,layers,slovenia,prussia,quartet,mechanics,graduates,politically,monks,screenplay,nato,absorbed,topped,petition,bold,morocco,exhibits,canterbury,publish,rankings,crater,dominican,enhanced,planes,lutheran,governmental,joins,collecting,brussels,unified,streak,strategies,flagship,surfaces,oval,archive,etymology,imprisonment,instructor,noting,remix,opposing,servant,rotation,width,trans,maker,synthesis,excess,tactics,snail,ltd.,lighthouse,sequences,cornwall,plantation,mythology,performs,foundations,populated,horizontal,speedway,activated,performer,diving,conceived,edmonton,subtropical,environments,prompted,semifinals,caps,bulk,treasury,recreational,telegraph,continent,portraits,relegation,catholics,graph,velocity,rulers,endangered,secular,observer,learns,inquiry,idol,dictionary,certification,estimate,cluster,armenia,observatory,revived,nadu,consumers,hypothesis,manuscripts,contents,arguments,editing,trails,arctic,essays,belfast,acquire,promotional,undertaken,corridor,proceedings,antarctic,millennium,labels,delegates,vegetation,acclaim,directing,substance,outcome,diploma,philosopher,malta,albanian,vicinity,degc,legends,regiments,consent,terrorist,scattered,presidents,gravity,orientation,deployment,duchy,refuses,estonia,crowned,separately,renovation,rises,wilderness,objectives,agreements,empress,slopes,inclusion,equality,decree,ballot,criticised,rochester,recurring,struggled,disabled,henri,poles,prussian,convert,bacteria,poorly,sudan,geological,wyoming,consistently,minimal,withdrawal,interviewed,proximity,repairs,initiatives,pakistani,republicans,propaganda,viii,abstract,commercially,availability,mechanisms,naples,discussions,underlying,lens,proclaimed,advised,spelling,auxiliary,attract,lithuanian,editors,o'brien,accordance,measurement,novelist,ussr,formats,councils,contestants,indie,facebook,parishes,barrier,battalions,sponsor,consulting,terrorism,implement,uganda,crucial,unclear,notion,distinguish,collector,attractions,filipino,ecology,investments,capability,renovated,iceland,albania,accredited,scouts,armor,sculptor,cognitive,errors,gaming,condemned,successive,consolidated,baroque,entries,regulatory,reserved,treasurer,variables,arose,technological,rounded,provider,rhine,agrees,accuracy,genera,decreased,frankfurt,ecuador,edges,particle,rendered,calculated,careers,faction,rifles,americas,gaelic,portsmouth,resides,merchants,fiscal,premises,coin,draws,presenter,acceptance,ceremonies,pollution,consensus,membrane,brigadier,nonetheless,genres,supervision,predicted,magnitude,finite,differ,ancestry,vale,delegation,removing,proceeds,placement,emigrated,siblings,molecules,payments,considers,demonstration,proportion,newer,valve,achieving,confederation,continuously,luxury,notre,introducing,coordinates,charitable,squadrons,disorders,geometry,winnipeg,ulster,loans,longtime,receptor,preceding,belgrade,mandate,wrestler,neighbourhood,factories,buddhism,imported,sectors,protagonist,steep,elaborate,prohibited,artifacts,prizes,pupil,cooperative,sovereign,subspecies,carriers,allmusic,nationals,settings,autobiography,neighborhoods,analog,facilitate,voluntary,jointly,newfoundland,organizing,raids,exercises,nobel,machinery,baltic,crop,granite,dense,websites,mandatory,seeks,surrendered,anthology,comedian,bombs,slot,synopsis,critically,arcade,marking,equations,halls,indo,inaugurated,embarked,speeds,clause,invention,premiership,likewise,presenting,demonstrate,designers,organize,examined,km/h,bavaria,troop,referee,detection,zurich,prairie,rapper,wingspan,eurovision,luxembourg,slovakia,inception,disputed,mammals,entrepreneur,makers,evangelical,yield,clergy,trademark,defunct,allocated,depicting,volcanic,batted,conquered,sculptures,providers,reflects,armoured,locals,walt,herzegovina,contracted,entities,sponsorship,prominence,flowing,ethiopia,marketed,corporations,withdraw,carnegie,induced,investigated,portfolio,flowering,opinions,viewing,classroom,donations,bounded,perception,leicester,fruits,charleston,academics,statute,complaints,smallest,deceased,petroleum,resolved,commanders,algebra,southampton,modes,cultivation,transmitter,spelled,obtaining,sizes,acre,pageant,bats,abbreviated,correspondence,barracks,feast,tackles,raja,derives,geology,disputes,translations,counted,constantinople,seating,macedonia,preventing,accommodation,homeland,explored,invaded,provisional,transform,sphere,unsuccessfully,missionaries,conservatives,highlights,traces,organisms,openly,dancers,fossils,absent,monarchy,combining,lanes,stint,dynamics,chains,missiles,screening,module,tribune,generating,miners,nottingham,seoul,unofficial,owing,linking,rehabilitation,citation,louisville,mollusk,depicts,differential,zimbabwe,kosovo,recommendations,responses,pottery,scorer,aided,exceptions,dialects,telecommunications,defines,elderly,lunar,coupled,flown,25th,espn,formula_1,bordered,fragments,guidelines,gymnasium,valued,complexity,papal,presumably,maternal,challenging,reunited,advancing,comprised,uncertain,favorable,twelfth,correspondent,nobility,livestock,expressway,chilean,tide,researcher,emissions,profits,lengths,accompanying,witnessed,itunes,drainage,slope,reinforced,feminist,sanskrit,develops,physicians,outlets,isbn,coordinator,averaged,termed,occupy,diagnosed,yearly,humanitarian,prospect,spacecraft,stems,enacted,linux,ancestors,karnataka,constitute,immigrant,thriller,ecclesiastical,generals,celebrations,enhance,heating,advocated,evident,advances,bombardment,watershed,shuttle,wicket,twitter,adds,branded,teaches,schemes,pension,advocacy,conservatory,cairo,varsity,freshwater,providence,seemingly,shells,cuisine,specially,peaks,intensive,publishes,trilogy,skilled,nacional,unemployment,destinations,parameters,verses,trafficking,determination,infinite,savings,alignment,linguistic,countryside,dissolution,measurements,advantages,licence,subfamily,highlands,modest,regent,algeria,crest,teachings,knockout,brewery,combine,conventions,descended,chassis,primitive,fiji,explicitly,cumberland,uruguay,laboratories,bypass,elect,informal,preceded,holocaust,tackle,minneapolis,quantity,securities,console,doctoral,religions,commissioners,expertise,unveiled,precise,diplomat,standings,infant,disciplines,sicily,endorsed,systematic,charted,armored,mild,lateral,townships,hurling,prolific,invested,wartime,compatible,galleries,moist,battlefield,decoration,convent,tubes,terrestrial,nominee,requests,delegate,leased,dubai,polar,applying,addresses,munster,sings,commercials,teamed,dances,eleventh,midland,cedar,flee,sandstone,snails,inspection,divide,asset,themed,comparable,paramount,dairy,archaeology,intact,institutes,rectangular,instances,phases,reflecting,substantially,applies,vacant,lacked,copa,coloured,encounters,sponsors,encoded,possess,revenues,ucla,chaired,a.m.,enabling,playwright,stoke,sociology,tibetan,frames,motto,financing,illustrations,gibraltar,chateau,bolivia,transmitted,enclosed,persuaded,urged,folded,suffolk,regulated,bros.,submarines,myth,oriental,malaysian,effectiveness,narrowly,acute,sunk,replied,utilized,tasmania,consortium,quantities,gains,parkway,enlarged,sided,employers,adequate,accordingly,assumption,ballad,mascot,distances,peaking,saxony,projected,affiliation,limitations,metals,guatemala,scots,theaters,kindergarten,verb,employer,differs,discharge,controller,seasonal,marching,guru,campuses,avoided,vatican,maori,excessive,chartered,modifications,caves,monetary,sacramento,mixing,institutional,celebrities,irrigation,shapes,broadcaster,anthem,attributes,demolition,offshore,specification,surveys,yugoslav,contributor,auditorium,lebanese,capturing,airports,classrooms,chennai,paths,tendency,determining,lacking,upgrade,sailors,detected,kingdoms,sovereignty,freely,decorative,momentum,scholarly,georges,gandhi,speculation,transactions,undertook,interact,similarities,cove,teammate,constituted,painters,tends,madagascar,partnerships,afghan,personalities,attained,rebounds,masses,synagogue,reopened,asylum,embedded,imaging,catalogue,defenders,taxonomy,fiber,afterward,appealed,communists,lisbon,rica,judaism,adviser,batsman,ecological,commands,lgbt,cooling,accessed,wards,shiva,employs,thirds,scenic,worcester,tallest,contestant,humanities,economist,textile,constituencies,motorway,tram,percussion,cloth,leisure,1880s,baden,flags,resemble,riots,coined,sitcom,composite,implies,daytime,tanzania,penalties,optional,competitor,excluded,steering,reversed,autonomy,reviewer,breakthrough,professionally,damages,pomeranian,deputies,valleys,ventures,highlighted,electorate,mapping,shortened,executives,tertiary,specimen,launching,bibliography,sank,pursuing,binary,descendant,marched,natives,ideology,turks,adolf,archdiocese,tribunal,exceptional,nigerian,preference,fails,loading,comeback,vacuum,favored,alter,remnants,consecrated,spectators,trends,patriarch,feedback,paved,sentences,councillor,astronomy,advocates,broader,commentator,commissions,identifying,revealing,theatres,incomplete,enables,constituent,reformation,tract,haiti,atmospheric,screened,explosive,czechoslovakia,acids,symbolic,subdivision,liberals,incorporate,challenger,erie,filmmaker,laps,kazakhstan,organizational,evolutionary,chemicals,dedication,riverside,fauna,moths,maharashtra,annexed,gen.,resembles,underwater,garnered,timeline,remake,suited,educator,hectares,automotive,feared,latvia,finalist,narrator,portable,airways,plaque,designing,villagers,licensing,flank,statues,struggles,deutsche,migrated,cellular,jacksonville,wimbledon,defining,highlight,preparatory,planets,cologne,employ,frequencies,detachment,readily,libya,resign,halt,helicopters,reef,landmarks,collaborative,irregular,retaining,helsinki,folklore,weakened,viscount,interred,professors,memorable,mega,repertoire,rowing,dorsal,albeit,progressed,operative,coronation,liner,telugu,domains,philharmonic,detect,bengali,synthetic,tensions,atlas,dramatically,paralympics,xbox,shire,kiev,lengthy,sued,notorious,seas,screenwriter,transfers,aquatic,pioneers,unesco,radius,abundant,tunnels,syndicated,inventor,accreditation,janeiro,exeter,ceremonial,omaha,cadet,predators,resided,prose,slavic,precision,abbot,deity,engaging,cambodia,estonian,compliance,demonstrations,protesters,reactor,commodore,successes,chronicles,mare,extant,listings,minerals,tonnes,parody,cultivated,traders,pioneering,supplement,slovak,preparations,collision,partnered,vocational,atoms,malayalam,welcomed,documentation,curved,functioning,presently,formations,incorporates,nazis,botanical,nucleus,ethical,greeks,metric,automated,whereby,stance,europeans,duet,disability,purchasing,email,telescope,displaced,sodium,comparative,processor,inning,precipitation,aesthetic,import,coordination,feud,alternatively,mobility,tibet,regained,succeeding,hierarchy,apostolic,catalog,reproduction,inscriptions,vicar,clusters,posthumously,rican,loosely,additions,photographic,nowadays,selective,derivative,keyboards,guides,collectively,affecting,combines,operas,networking,decisive,terminated,continuity,finishes,ancestor,consul,heated,simulation,leipzig,incorporating,georgetown,formula_2,circa,forestry,portrayal,councillors,advancement,complained,forewings,confined,transaction,definitions,reduces,televised,1890s,rapids,phenomena,belarus,alps,landscapes,quarterly,specifications,commemorate,continuation,isolation,antenna,downstream,patents,ensuing,tended,saga,lifelong,columnist,labeled,gymnastics,papua,anticipated,demise,encompasses,madras,antarctica,interval,icon,rams,midlands,ingredients,priory,strengthen,rouge,explicit,gaza,aging,securing,anthropology,listeners,adaptations,underway,vista,malay,fortified,lightweight,violations,concerto,financed,jesuit,observers,trustee,descriptions,nordic,resistant,opted,accepts,prohibition,andhra,inflation,negro,wholly,imagery,spur,instructed,gloucester,cycles,middlesex,destroyers,statewide,evacuated,hyderabad,peasants,mice,shipyard,coordinate,pitching,colombian,exploring,numbering,compression,countess,hiatus,exceed,raced,archipelago,traits,soils,o'connor,vowel,android,facto,angola,amino,holders,logistics,circuits,emergence,kuwait,partition,emeritus,outcomes,submission,promotes,barack,negotiated,loaned,stripped,50th,excavations,treatments,fierce,participant,exports,decommissioned,cameo,remarked,residences,fuselage,mound,undergo,quarry,node,midwest,specializing,occupies,etc.,showcase,molecule,offs,modules,salon,exposition,revision,peers,positioned,hunters,competes,algorithms,reside,zagreb,calcium,uranium,silicon,airs,counterpart,outlet,collectors,sufficiently,canberra,inmates,anatomy,ensuring,curves,aviv,firearms,basque,volcano,thrust,sheikh,extensions,installations,aluminum,darker,sacked,emphasized,aligned,asserted,pseudonym,spanning,decorations,eighteenth,orbital,spatial,subdivided,notation,decay,macedonian,amended,declining,cyclist,feat,unusually,commuter,birthplace,latitude,activation,overhead,30th,finalists,whites,encyclopedia,tenor,qatar,survives,complement,concentrations,uncommon,astronomical,bangalore,pius,genome,memoir,recruit,prosecutor,modification,paired,container,basilica,arlington,displacement,germanic,mongolia,proportional,debates,matched,calcutta,rows,tehran,aerospace,prevalent,arise,lowland,24th,spokesman,supervised,advertisements,clash,tunes,revelation,wanderers,quarterfinals,fisheries,steadily,memoirs,pastoral,renewable,confluence,acquiring,strips,slogan,upstream,scouting,analyst,practitioners,turbine,strengthened,heavier,prehistoric,plural,excluding,isles,persecution,turin,rotating,villain,hemisphere,unaware,arabs,corpus,relied,singular,unanimous,schooling,passive,angles,dominance,instituted,aria,outskirts,balanced,beginnings,financially,structured,parachute,viewer,attitudes,subjected,escapes,derbyshire,erosion,addressing,styled,declaring,originating,colts,adjusted,stained,occurrence,fortifications,baghdad,nitrogen,localities,yemen,galway,debris,lodz,victorious,pharmaceutical,substances,unnamed,dwelling,atop,developmental,activism,voter,refugee,forested,relates,overlooking,genocide,kannada,insufficient,oversaw,partisan,dioxide,recipients,factions,mortality,capped,expeditions,receptors,reorganized,prominently,atom,flooded,flute,orchestral,scripts,mathematician,airplay,detached,rebuilding,dwarf,brotherhood,salvation,expressions,arabian,cameroon,poetic,recruiting,bundesliga,inserted,scrapped,disabilities,evacuation,pasha,undefeated,crafts,rituals,aluminium,norm,pools,submerged,occupying,pathway,exams,prosperity,wrestlers,promotions,basal,permits,nationalism,trim,merge,gazette,tributaries,transcription,caste,porto,emerge,modeled,adjoining,counterparts,paraguay,redevelopment,renewal,unreleased,equilibrium,similarity,minorities,soviets,comprise,nodes,tasked,unrelated,expired,johan,precursor,examinations,electrons,socialism,exiled,admiralty,floods,wigan,nonprofit,lacks,brigades,screens,repaired,hanover,fascist,labs,osaka,delays,judged,statutory,colt,col.,offspring,solving,bred,assisting,retains,somalia,grouped,corresponds,tunisia,chaplain,eminent,chord,22nd,spans,viral,innovations,possessions,mikhail,kolkata,icelandic,implications,introduces,racism,workforce,alto,compulsory,admits,censorship,onset,reluctant,inferior,iconic,progression,liability,turnout,satellites,behavioral,coordinated,exploitation,posterior,averaging,fringe,krakow,mountainous,greenwich,para,plantations,reinforcements,offerings,famed,intervals,constraints,individually,nutrition,1870s,taxation,threshold,tomatoes,fungi,contractor,ethiopian,apprentice,diabetes,wool,gujarat,honduras,norse,bucharest,23rd,arguably,accompany,prone,teammates,perennial,vacancy,polytechnic,deficit,okinawa,functionality,reminiscent,tolerance,transferring,myanmar,concludes,neighbours,hydraulic,economically,slower,plots,charities,synod,investor,catholicism,identifies,bronx,interpretations,adverse,judiciary,hereditary,nominal,sensor,symmetry,cubic,triangular,tenants,divisional,outreach,representations,passages,undergoing,cartridge,testified,exceeded,impacts,limiting,railroads,defeats,regain,rendering,humid,retreated,reliability,governorate,antwerp,infamous,implied,packaging,lahore,trades,billed,extinction,ecole,rejoined,recognizes,projection,qualifications,stripes,forts,socially,lexington,accurately,sexuality,westward,wikipedia,pilgrimage,abolition,choral,stuttgart,nests,expressing,strikeouts,assessed,monasteries,reconstructed,humorous,marxist,fertile,consort,urdu,patronage,peruvian,devised,lyric,baba,nassau,communism,extraction,popularly,markings,inability,litigation,accounted,processed,emirates,tempo,cadets,eponymous,contests,broadly,oxide,courtyard,frigate,directory,apex,outline,regency,chiefly,patrols,secretariat,cliffs,residency,privy,armament,australians,dorset,geometric,genetics,scholarships,fundraising,flats,demographic,multimedia,captained,documentaries,updates,canvas,blockade,guerrilla,songwriting,administrators,intake,drought,implementing,fraction,cannes,refusal,inscribed,meditation,announcing,exported,ballots,formula_3,curator,basel,arches,flour,subordinate,confrontation,gravel,simplified,berkshire,patriotic,tuition,employing,servers,castile,posting,combinations,discharged,miniature,mutations,constellation,incarnation,ideals,necessity,granting,ancestral,crowds,pioneered,mormon,methodology,rama,indirect,complexes,bavarian,patrons,uttar,skeleton,bollywood,flemish,viable,bloc,breeds,triggered,sustainability,tailed,referenced,comply,takeover,latvian,homestead,platoon,communal,nationality,excavated,targeting,sundays,posed,physicist,turret,endowment,marginal,dispatched,commentators,renovations,attachment,collaborations,ridges,barriers,obligations,shareholders,prof.,defenses,presided,rite,backgrounds,arbitrary,affordable,gloucestershire,thirteenth,inlet,miniseries,possesses,detained,pressures,subscription,realism,solidarity,proto,postgraduate,noun,burmese,abundance,homage,reasoning,anterior,robust,fencing,shifting,vowels,garde,profitable,loch,anchored,coastline,samoa,terminology,prostitution,magistrate,venezuelan,speculated,regulate,fixture,colonists,digit,induction,manned,expeditionary,computational,centennial,principally,vein,preserving,engineered,numerical,cancellation,conferred,continually,borne,seeded,advertisement,unanimously,treaties,infections,ions,sensors,lowered,amphibious,lava,fourteenth,bahrain,niagara,nicaragua,squares,congregations,26th,periodic,proprietary,1860s,contributors,seller,overs,emission,procession,presumed,illustrator,zinc,gases,tens,applicable,stretches,reproductive,sixteenth,apparatus,accomplishments,canoe,guam,oppose,recruitment,accumulated,limerick,namibia,staging,remixes,ordnance,uncertainty,pedestrian,temperate,treason,deposited,registry,cerambycidae,attracting,lankan,reprinted,shipbuilding,homosexuality,neurons,eliminating,1900s,resume,ministries,beneficial,blackpool,surplus,northampton,licenses,constructing,announcer,standardized,alternatives,taipei,inadequate,failures,yields,medalist,titular,obsolete,torah,burlington,predecessors,lublin,retailers,castles,depiction,issuing,gubernatorial,propulsion,tiles,damascus,discs,alternating,pomerania,peasant,tavern,redesignated,27th,illustration,focal,mans,codex,specialists,productivity,antiquity,controversies,promoter,pits,companions,behaviors,lyrical,prestige,creativity,swansea,dramas,approximate,feudal,tissues,crude,campaigned,unprecedented,chancel,amendments,surroundings,allegiance,exchanges,align,firmly,optimal,commenting,reigning,landings,obscure,1850s,contemporaries,paternal,devi,endurance,communes,incorporation,denominations,exchanged,routing,resorts,amnesty,slender,explores,suppression,heats,pronunciation,centred,coupe,stirling,freelance,treatise,linguistics,laos,informs,discovering,pillars,encourages,halted,robots,definitive,maturity,tuberculosis,venetian,silesian,unchanged,originates,mali,lincolnshire,quotes,seniors,premise,contingent,distribute,danube,gorge,logging,dams,curling,seventeenth,specializes,wetlands,deities,assess,thickness,rigid,culminated,utilities,substrate,insignia,nile,assam,shri,currents,suffrage,canadians,mortar,asteroid,bosnian,discoveries,enzymes,sanctioned,replica,hymn,investigators,tidal,dominate,derivatives,converting,leinster,verbs,honoured,criticisms,dismissal,discrete,masculine,reorganization,unlimited,wurttemberg,sacks,allocation,bahn,jurisdictions,participates,lagoon,famine,communion,culminating,surveyed,shortage,cables,intersects,cassette,foremost,adopting,solicitor,outright,bihar,reissued,farmland,dissertation,turnpike,baton,photographed,christchurch,kyoto,finances,rails,histories,linebacker,kilkenny,accelerated,dispersed,handicap,absorption,rancho,ceramic,captivity,cites,font,weighed,mater,utilize,bravery,extract,validity,slovenian,seminars,discourse,ranged,duel,ironically,warships,sega,temporal,surpassed,prolonged,recruits,northumberland,greenland,contributes,patented,eligibility,unification,discusses,reply,translates,beirut,relies,torque,northward,reviewers,monastic,accession,neural,tramway,heirs,sikh,subscribers,amenities,taliban,audit,rotterdam,wagons,kurdish,favoured,combustion,meanings,persia,browser,diagnostic,niger,formula_4,denomination,dividing,parameter,branding,badminton,leningrad,sparked,hurricanes,beetles,propeller,mozambique,refined,diagram,exhaust,vacated,readings,markers,reconciliation,determines,concurrent,imprint,primera,organism,demonstrating,filmmakers,vanderbilt,affiliates,traction,evaluated,defendants,megachile,investigative,zambia,assassinated,rewarded,probable,staffordshire,foreigners,directorate,nominees,consolidation,commandant,reddish,differing,unrest,drilling,bohemia,resembling,instrumentation,considerations,haute,promptly,variously,dwellings,clans,tablet,enforced,cockpit,semifinal,hussein,prisons,ceylon,emblem,monumental,phrases,correspond,crossover,outlined,characterised,acceleration,caucus,crusade,protested,composing,rajasthan,habsburg,rhythmic,interception,inherent,cooled,ponds,spokesperson,gradual,consultation,kuala,globally,suppressed,builders,avengers,suffix,integer,enforce,fibers,unionist,proclamation,uncovered,infrared,adapt,eisenhower,utilizing,captains,stretched,observing,assumes,prevents,analyses,saxophone,caucasus,notices,villains,dartmouth,mongol,hostilities,stretching,veterinary,lenses,texture,prompting,overthrow,excavation,islanders,masovian,battleship,biographer,replay,degradation,departing,luftwaffe,fleeing,oversight,immigrated,serbs,fishermen,strengthening,respiratory,italians,denotes,radial,escorted,motif,wiltshire,expresses,accessories,reverted,establishments,inequality,protocols,charting,famously,satirical,entirety,trench,friction,atletico,sampling,subset,weekday,upheld,sharply,correlation,incorrect,mughal,travelers,hasan,earnings,offset,evaluate,specialised,recognizing,flexibility,nagar,postseason,algebraic,capitalism,crystals,melodies,polynomial,racecourse,defences,austro,wembley,attracts,anarchist,resurrection,reviewing,decreasing,prefix,ratified,mutation,displaying,separating,restoring,assemblies,ordinance,priesthood,cruisers,appoint,moldova,imports,directive,epidemic,militant,senegal,signaling,restriction,critique,retrospective,nationalists,undertake,sioux,canals,algerian,redesigned,philanthropist,depict,conceptual,turbines,intellectuals,eastward,applicants,contractors,vendors,undergone,namesake,ensured,tones,substituted,hindwings,arrests,tombs,transitional,principality,reelection,taiwanese,cavity,manifesto,broadcasters,spawned,thoroughbred,identities,generators,proposes,hydroelectric,johannesburg,cortex,scandinavian,killings,aggression,boycott,catalyst,physiology,fifteenth,waterfront,chromosome,organist,costly,calculation,cemeteries,flourished,recognise,juniors,merging,disciples,ashore,workplace,enlightenment,diminished,debated,hailed,podium,educate,mandated,distributor,litre,electromagnetic,flotilla,estuary,peterborough,staircase,selections,melodic,confronts,wholesale,integrate,intercepted,catalonia,unite,immense,palatinate,switches,earthquakes,occupational,successors,praising,concluding,faculties,firstly,overhaul,empirical,metacritic,inauguration,evergreen,laden,winged,philosophers,amalgamated,geoff,centimeters,napoleonic,upright,planting,brewing,fined,sensory,migrants,wherein,inactive,headmaster,warwickshire,siberia,terminals,denounced,academia,divinity,bilateral,clive,omitted,peerage,relics,apartheid,syndicate,fearing,fixtures,desirable,dismantled,ethnicity,valves,biodiversity,aquarium,ideological,visibility,creators,analyzed,tenant,balkan,postwar,supplier,smithsonian,risen,morphology,digits,bohemian,wilmington,vishnu,demonstrates,aforementioned,biographical,mapped,khorasan,phosphate,presentations,ecosystem,processors,calculations,mosaic,clashes,penned,recalls,coding,angular,lattice,macau,accountability,extracted,pollen,therapeutic,overlap,violinist,deposed,candidacy,infants,covenant,bacterial,restructuring,dungeons,ordination,conducts,builds,invasive,customary,concurrently,relocation,cello,statutes,borneo,entrepreneurs,sanctions,packet,rockefeller,piedmont,comparisons,waterfall,receptions,glacial,surge,signatures,alterations,advertised,enduring,somali,botanist,100th,canonical,motifs,longitude,circulated,alloy,indirectly,margins,preserves,internally,besieged,shale,peripheral,drained,baseman,reassigned,tobago,soloist,socio,grazing,contexts,roofs,portraying,ottomans,shrewsbury,noteworthy,lamps,supplying,beams,qualifier,portray,greenhouse,stronghold,hitter,rites,cretaceous,urging,derive,nautical,aiming,fortunes,verde,donors,reliance,exceeding,exclusion,exercised,simultaneous,continents,guiding,pillar,gradient,poznan,eruption,clinics,moroccan,indicator,trams,piers,parallels,fragment,teatro,potassium,satire,compressed,businessmen,influx,seine,perspectives,shelters,decreases,mounting,formula_5,confederacy,equestrian,expulsion,mayors,liberia,resisted,affinity,shrub,unexpectedly,stimulus,amtrak,deported,perpendicular,statesman,wharf,storylines,romanesque,weights,surfaced,interceptions,dhaka,crambidae,orchestras,rwanda,conclude,constitutes,subsidiaries,admissions,prospective,shear,bilingual,campaigning,presiding,domination,commemorative,trailing,confiscated,petrol,acquisitions,polymer,onlyinclude,chloride,elevations,resolutions,hurdles,pledged,likelihood,objected,erect,encoding,databases,aristotle,hindus,marshes,bowled,ministerial,grange,acronym,annexation,squads,ambient,pilgrims,botany,sofla,astronomer,planetary,descending,bestowed,ceramics,diplomacy,metabolism,colonization,potomac,africans,engraved,recycling,commitments,resonance,disciplinary,jamaican,narrated,spectral,tipperary,waterford,stationary,arbitration,transparency,threatens,crossroads,slalom,oversee,centenary,incidence,economies,livery,moisture,newsletter,autobiographical,bhutan,propelled,dependence,moderately,adobe,barrels,subdivisions,outlook,labelled,stratford,arising,diaspora,barony,automobiles,ornamental,slated,norms,primetime,generalized,analysts,vectors,libyan,yielded,certificates,rooted,vernacular,belarusian,marketplace,prediction,fairfax,malawi,viruses,wooded,demos,mauritius,prosperous,coincided,liberties,huddersfield,ascent,warnings,hinduism,glucose,pulitzer,unused,filters,illegitimate,acquitted,protestants,canopy,staple,psychedelic,winding,abbas,pathways,cheltenham,lagos,niche,invaders,proponents,barred,conversely,doncaster,recession,embraced,rematch,concession,emigration,upgrades,bowls,tablets,remixed,loops,kensington,shootout,monarchs,organizers,harmful,punjabi,broadband,exempt,neolithic,profiles,portrays,parma,cyrillic,quasi,attested,regimental,revive,torpedoes,heidelberg,rhythms,spherical,denote,hymns,icons,theologian,qaeda,exceptionally,reinstated,comune,playhouse,lobbying,grossing,viceroy,delivers,visually,armistice,utrecht,syllable,vertices,analogous,annex,refurbished,entrants,knighted,disciple,rhetoric,detailing,inactivated,ballads,algae,intensified,favourable,sanitation,receivers,pornography,commemorated,cannons,entrusted,manifold,photographers,pueblo,textiles,steamer,myths,marquess,onward,liturgical,romney,uzbekistan,consistency,denoted,hertfordshire,convex,hearings,sulfur,universidad,podcast,selecting,emperors,arises,justices,1840s,mongolian,exploited,termination,digitally,infectious,sedan,symmetric,penal,illustrate,formulation,attribute,problematic,modular,inverse,berth,searches,rutgers,leicestershire,enthusiasts,lockheed,upwards,transverse,accolades,backward,archaeologists,crusaders,nuremberg,defects,ferries,vogue,containers,openings,transporting,separates,lumpur,purchases,attain,wichita,topology,woodlands,deleted,periodically,syntax,overturned,musicals,corp.,strasbourg,instability,nationale,prevailing,cache,marathi,versailles,unmarried,grains,straits,antagonist,segregation,assistants,d'etat,contention,dictatorship,unpopular,motorcycles,criterion,analytical,salzburg,militants,hanged,worcestershire,emphasize,paralympic,erupted,convinces,offences,oxidation,nouns,populace,atari,spanned,hazardous,educators,playable,births,baha'i,preseason,generates,invites,meteorological,handbook,foothills,enclosure,diffusion,mirza,convergence,geelong,coefficient,connector,formula_6,cylindrical,disasters,pleaded,knoxville,contamination,compose,libertarian,arrondissement,franciscan,intercontinental,susceptible,initiation,malaria,unbeaten,consonants,waived,saloon,popularized,estadio,pseudo,interdisciplinary,transports,transformers,carriages,bombings,revolves,ceded,collaborator,celestial,exemption,colchester,maltese,oceanic,ligue,crete,shareholder,routed,depictions,ridden,advisors,calculate,lending,guangzhou,simplicity,newscast,scheduling,snout,eliot,undertaking,armenians,nottinghamshire,whitish,consulted,deficiency,salle,cinemas,superseded,rigorous,kerman,convened,landowners,modernization,evenings,pitches,conditional,scandinavia,differed,formulated,cyclists,swami,guyana,dunes,electrified,appalachian,abdomen,scenarios,prototypes,sindh,consonant,adaptive,boroughs,wolverhampton,modelling,cylinders,amounted,minimize,ambassadors,lenin,settler,coincide,approximation,grouping,murals,bullying,registers,rumours,engagements,energetic,vertex,annals,bordering,geologic,yellowish,runoff,converts,allegheny,facilitated,saturdays,colliery,monitored,rainforest,interfaces,geographically,impaired,prevalence,joachim,paperback,slowed,shankar,distinguishing,seminal,categorized,authorised,auspices,bandwidth,asserts,rebranded,balkans,supplemented,seldom,weaving,capsule,apostles,populous,monmouth,payload,symphonic,densely,shoreline,managerial,masonry,antioch,averages,textbooks,royalist,coliseum,tandem,brewers,diocesan,posthumous,walled,incorrectly,distributions,ensued,reasonably,graffiti,propagation,automation,harmonic,augmented,middleweight,limbs,elongated,landfall,comparatively,literal,grossed,koppen,wavelength,1830s,cerebral,boasts,congestion,physiological,practitioner,coasts,cartoonist,undisclosed,frontal,launches,burgundy,qualifiers,imposing,stade,flanked,assyrian,raided,multiplayer,montane,chesapeake,pathology,drains,vineyards,intercollegiate,semiconductor,grassland,convey,citations,predominant,rejects,benefited,yahoo,graphs,busiest,encompassing,hamlets,explorers,suppress,minors,graphical,calculus,sediment,intends,diverted,mainline,unopposed,cottages,initiate,alumnus,towed,autism,forums,darlington,modernist,oxfordshire,lectured,capitalist,suppliers,panchayat,actresses,foundry,southbound,commodity,wesleyan,divides,palestinians,luton,caretaker,nobleman,mutiny,organizer,preferences,nomenclature,splits,unwilling,offenders,timor,relying,halftime,semitic,arithmetic,milestone,jesuits,arctiidae,retrieved,consuming,contender,edged,plagued,inclusive,transforming,khmer,federally,insurgents,distributing,amherst,rendition,prosecutors,viaduct,disqualified,kabul,liturgy,prevailed,reelected,instructors,swimmers,aperture,churchyard,interventions,totals,darts,metropolis,fuels,fluent,northbound,correctional,inflicted,barrister,realms,culturally,aristocratic,collaborating,emphasizes,choreographer,inputs,ensembles,humboldt,practised,endowed,strains,infringement,archaeologist,congregational,magna,relativity,efficiently,proliferation,mixtape,abruptly,regeneration,commissioning,yukon,archaic,reluctantly,retailer,northamptonshire,universally,crossings,boilers,nickelodeon,revue,abbreviation,retaliation,scripture,routinely,medicinal,benedictine,kenyan,retention,deteriorated,glaciers,apprenticeship,coupling,researched,topography,entrances,anaheim,pivotal,compensate,arched,modify,reinforce,dusseldorf,journeys,motorsport,conceded,sumatra,spaniards,quantitative,loire,cinematography,discarded,botswana,morale,engined,zionist,philanthropy,sainte,fatalities,cypriot,motorsports,indicators,pricing,institut,bethlehem,implicated,gravitational,differentiation,rotor,thriving,precedent,ambiguous,concessions,forecast,conserved,fremantle,asphalt,landslide,middlesbrough,formula_7,humidity,overseeing,chronological,diaries,multinational,crimean,turnover,improvised,youths,declares,tasmanian,canadiens,fumble,refinery,weekdays,unconstitutional,upward,guardians,brownish,imminent,hamas,endorsement,naturalist,martyrs,caledonia,chords,yeshiva,reptiles,severity,mitsubishi,fairs,installment,substitution,repertory,keyboardist,interpreter,silesia,noticeable,rhineland,transmit,inconsistent,booklet,academies,epithet,pertaining,progressively,aquatics,scrutiny,prefect,toxicity,rugged,consume,o'donnell,evolve,uniquely,cabaret,mediated,landowner,transgender,palazzo,compilations,albuquerque,induce,sinai,remastered,efficacy,underside,analogue,specify,possessing,advocating,compatibility,liberated,greenville,mecklenburg,header,memorials,sewage,rhodesia,1800s,salaries,atoll,coordinating,partisans,repealed,amidst,subjective,optimization,nectar,evolving,exploits,madhya,styling,accumulation,raion,postage,responds,buccaneers,frontman,brunei,choreography,coated,kinetic,sampled,inflammatory,complementary,eclectic,norte,vijay,a.k.a,mainz,casualty,connectivity,laureate,franchises,yiddish,reputed,unpublished,economical,periodicals,vertically,bicycles,brethren,capacities,unitary,archeological,tehsil,domesday,wehrmacht,justification,angered,mysore,fielded,abuses,nutrients,ambitions,taluk,battleships,symbolism,superiority,neglect,attendees,commentaries,collaborators,predictions,yorker,breeders,investing,libretto,informally,coefficients,memorandum,pounder,collingwood,tightly,envisioned,arbor,mistakenly,captures,nesting,conflicting,enhancing,streetcar,manufactures,buckinghamshire,rewards,commemorating,stony,expenditure,tornadoes,semantic,relocate,weimar,iberian,sighted,intending,ensign,beverages,expectation,differentiate,centro,utilizes,saxophonist,catchment,transylvania,ecosystems,shortest,sediments,socialists,ineffective,kapoor,formidable,heroine,guantanamo,prepares,scattering,pamphlet,verified,elector,barons,totaling,shrubs,pyrenees,amalgamation,mutually,longitudinal,comte,negatively,masonic,envoy,sexes,akbar,mythical,tonga,bishopric,assessments,malaya,warns,interiors,reefs,reflections,neutrality,musically,nomadic,waterways,provence,collaborate,scaled,adulthood,emerges,euros,optics,incentives,overland,periodical,liege,awarding,realization,slang,affirmed,schooner,hokkaido,czechoslovak,protectorate,undrafted,disagreed,commencement,electors,spruce,swindon,fueled,equatorial,inventions,suites,slovene,backdrop,adjunct,energies,remnant,inhabit,alliances,simulcast,reactors,mosques,travellers,outfielder,plumage,migratory,benin,experimented,fibre,projecting,drafting,laude,evidenced,northernmost,indicted,directional,replication,croydon,comedies,jailed,organizes,devotees,reservoirs,turrets,originate,economists,songwriters,junta,trenches,mounds,proportions,comedic,apostle,azerbaijani,farmhouse,resembled,disrupted,playback,mixes,diagonal,relevance,govern,programmer,gdansk,maize,soundtracks,tendencies,mastered,impacted,believers,kilometre,intervene,chairperson,aerodrome,sails,subsidies,ensures,aesthetics,congresses,ratios,sardinia,southernmost,functioned,controllers,downward,randomly,distortion,regents,palatine,disruption,spirituality,vidhan,tracts,compiler,ventilation,anchorage,symposium,assert,pistols,excelled,avenues,convoys,moniker,constructions,proponent,phased,spines,organising,schleswig,policing,campeonato,mined,hourly,croix,lucrative,authenticity,haitian,stimulation,burkina,espionage,midfield,manually,staffed,awakening,metabolic,biographies,entrepreneurship,conspicuous,guangdong,preface,subgroup,mythological,adjutant,feminism,vilnius,oversees,honourable,tripoli,stylized,kinase,societe,notoriety,altitudes,configurations,outward,transmissions,announces,auditor,ethanol,clube,nanjing,mecca,haifa,blogs,postmaster,paramilitary,depart,positioning,potent,recognizable,spire,brackets,remembrance,overlapping,turkic,articulated,scientology,operatic,deploy,readiness,biotechnology,restrict,cinematographer,inverted,synonymous,administratively,westphalia,commodities,replaces,downloads,centralized,munitions,preached,sichuan,fashionable,implementations,matrices,hiv/aids,loyalist,luzon,celebrates,hazards,heiress,mercenaries,synonym,creole,ljubljana,technician,auditioned,technicians,viewpoint,wetland,mongols,princely,sharif,coating,dynasties,southward,doubling,formula_8,mayoral,harvesting,conjecture,goaltender,oceania,spokane,welterweight,bracket,gatherings,weighted,newscasts,mussolini,affiliations,disadvantage,vibrant,spheres,sultanate,distributors,disliked,establishes,marches,drastically,yielding,jewellery,yokohama,vascular,airlift,canons,subcommittee,repression,strengths,graded,outspoken,fused,pembroke,filmography,redundant,fatigue,repeal,threads,reissue,pennant,edible,vapor,corrections,stimuli,commemoration,dictator,anand,secession,amassed,orchards,pontifical,experimentation,greeted,bangor,forwards,decomposition,quran,trolley,chesterfield,traverse,sermons,burials,skier,climbs,consultants,petitioned,reproduce,parted,illuminated,kurdistan,reigned,occupants,packaged,geometridae,woven,regulating,protagonists,crafted,affluent,clergyman,consoles,migrant,supremacy,attackers,caliph,defect,convection,rallies,huron,resin,segunda,quota,warship,overseen,criticizing,shrines,glamorgan,lowering,beaux,hampered,invasions,conductors,collects,bluegrass,surrounds,substrates,perpetual,chronology,pulmonary,executions,crimea,compiling,noctuidae,battled,tumors,minsk,novgorod,serviced,yeast,computation,swamps,theodor,baronetcy,salford,uruguayan,shortages,odisha,siberian,novelty,cinematic,invitational,decks,dowager,oppression,bandits,appellate,state-of-the-art,clade,palaces,signalling,galaxies,industrialist,tensor,learnt,incurred,magistrates,binds,orbits,ciudad,willingness,peninsular,basins,biomedical,shafts,marlborough,bournemouth,withstand,fitzroy,dunedin,variance,steamship,integrating,muscular,fines,akron,bulbophyllum,malmo,disclosed,cornerstone,runways,medicines,twenty20,gettysburg,progresses,frigates,bodied,transformations,transforms,helens,modelled,versatile,regulator,pursuits,legitimacy,amplifier,scriptures,voyages,examines,presenters,octagonal,poultry,formula_9,anatolia,computed,migrate,directorial,hybrids,localized,preferring,guggenheim,persisted,grassroots,inflammation,fishery,otago,vigorous,professions,instructional,inexpensive,insurgency,legislators,sequels,surnames,agrarian,stainless,nairobi,minas,forerunner,aristocracy,transitions,sicilian,showcased,doses,hiroshima,summarized,gearbox,emancipation,limitation,nuclei,seismic,abandonment,dominating,appropriations,occupations,electrification,hilly,contracting,exaggerated,entertainer,kazan,oricon,cartridges,characterization,parcel,maharaja,exceeds,aspiring,obituary,flattened,contrasted,narration,replies,oblique,outpost,fronts,arranger,talmud,keynes,doctrines,endured,confesses,fortification,supervisors,kilometer,academie,jammu,bathurst,piracy,prostitutes,navarre,cumulative,cruises,lifeboat,twinned,radicals,interacting,expenditures,wexford,libre,futsal,curated,clockwise,colloquially,procurement,immaculate,lyricist,enhancement,porcelain,alzheimer,highlighting,judah,disagreements,storytelling,sheltered,wroclaw,vaudeville,contrasts,neoclassical,compares,contrasting,deciduous,francaise,descriptive,cyclic,reactive,antiquities,meiji,repeats,creditors,forcibly,newmarket,picturesque,impending,uneven,bison,raceway,solvent,ecumenical,optic,professorship,harvested,waterway,banjo,pharaoh,geologist,scanning,dissent,recycled,unmanned,retreating,gospels,aqueduct,branched,tallinn,groundbreaking,syllables,hangar,designations,procedural,craters,cabins,encryption,anthropologist,montevideo,outgoing,inverness,chattanooga,fascism,calais,chapels,groundwater,downfall,misleading,robotic,tortricidae,pixel,handel,prohibit,crewe,renaming,reprised,kickoff,leftist,spaced,integers,causeway,pines,authorship,organise,ptolemy,accessibility,virtues,lesions,iroquois,qur'an,atheist,synthesized,biennial,confederates,dietary,skaters,stresses,tariff,koreans,intercity,republics,quintet,baroness,naive,amplitude,insistence,tbilisi,residues,grammatical,diversified,egyptians,accompaniment,vibration,repository,mandal,topological,distinctions,coherent,invariant,batters,nuevo,internationals,implements,follower,bahia,widened,independents,cantonese,totaled,guadalajara,wolverines,befriended,muzzle,surveying,hungarians,medici,deportation,rayon,approx,recounts,attends,clerical,hellenic,furnished,alleging,soluble,systemic,gallantry,bolshevik,intervened,hostel,gunpowder,specialising,stimulate,leiden,removes,thematic,floral,bafta,printers,conglomerate,eroded,analytic,successively,lehigh,thessaloniki,kilda,clauses,ascended,nehru,scripted,tokugawa,competence,diplomats,exclude,consecration,freedoms,assaults,revisions,blacksmith,textual,sparse,concacaf,slain,uploaded,enraged,whaling,guise,stadiums,debuting,dormitory,cardiovascular,yunnan,dioceses,consultancy,notions,lordship,archdeacon,collided,medial,airfields,garment,wrestled,adriatic,reversal,refueling,verification,jakob,horseshoe,intricate,veracruz,sarawak,syndication,synthesizer,anthologies,stature,feasibility,guillaume,narratives,publicized,antrim,intermittent,constituents,grimsby,filmmaking,doping,unlawful,nominally,transmitting,documenting,seater,internationale,ejected,steamboat,alsace,boise,ineligible,geared,vassal,mustered,ville,inline,pairing,eurasian,kyrgyzstan,barnsley,reprise,stereotypes,rushes,conform,firefighters,deportivo,revolutionaries,rabbis,concurrency,charters,sustaining,aspirations,algiers,chichester,falkland,morphological,systematically,volcanoes,designate,artworks,reclaimed,jurist,anglia,resurrected,chaotic,feasible,circulating,simulated,environmentally,confinement,adventist,harrisburg,laborers,ostensibly,universiade,pensions,influenza,bratislava,octave,refurbishment,gothenburg,putin,barangay,annapolis,breaststroke,illustrates,distorted,choreographed,promo,emphasizing,stakeholders,descends,exhibiting,intrinsic,invertebrates,evenly,roundabout,salts,formula_10,strata,inhibition,branching,stylistic,rumored,realises,mitochondrial,commuted,adherents,logos,bloomberg,telenovela,guineas,charcoal,engages,winery,reflective,siena,cambridgeshire,ventral,flashback,installing,engraving,grasses,traveller,rotated,proprietor,nationalities,precedence,sourced,trainers,cambodian,reductions,depleted,saharan,classifications,biochemistry,plaintiffs,arboretum,humanist,fictitious,aleppo,climates,bazaar,his/her,homogeneous,multiplication,moines,indexed,linguist,skeletal,foliage,societal,differentiated,informing,mammal,infancy,archival,cafes,malls,graeme,musee,schizophrenia,fargo,pronouns,derivation,descend,ascending,terminating,deviation,recaptured,confessions,weakening,tajikistan,bahadur,pasture,b/hip,donegal,supervising,sikhs,thinkers,euclidean,reinforcement,friars,portage,fuscous,lucknow,synchronized,assertion,choirs,privatization,corrosion,multitude,skyscraper,royalties,ligament,usable,spores,directs,clashed,stockport,fronted,dependency,contiguous,biologist,backstroke,powerhouse,frescoes,phylogenetic,welding,kildare,gabon,conveyed,augsburg,severn,continuum,sahib,lille,injuring,passeriformesfamily,succeeds,translating,unitarian,startup,turbulent,outlying,philanthropic,stanislaw,idols,claremont,conical,haryana,armagh,blended,implicit,conditioned,modulation,rochdale,labourers,coinage,shortstop,potsdam,gears,obesity,bestseller,advisers,bouts,comedians,jozef,lausanne,taxonomic,correlated,columbian,marne,indications,psychologists,libel,edict,beaufort,disadvantages,renal,finalized,racehorse,unconventional,disturbances,falsely,zoology,adorned,redesign,executing,narrower,commended,appliances,stalls,resurgence,saskatoon,miscellaneous,permitting,epoch,formula_11,cumbria,forefront,vedic,eastenders,disposed,supermarkets,rower,inhibitor,magnesium,colourful,yusuf,harrow,formulas,centrally,balancing,ionic,nocturnal,consolidate,ornate,raiding,charismatic,accelerate,nominate,residual,dhabi,commemorates,attribution,uninhabited,mindanao,atrocities,genealogical,romani,applicant,enactment,abstraction,trough,pulpit,minuscule,misconduct,grenades,timely,supplements,messaging,curvature,ceasefire,telangana,susquehanna,braking,redistribution,shreveport,neighbourhoods,gregorian,widowed,khuzestan,empowerment,scholastic,evangelist,peptide,topical,theorist,historia,thence,sudanese,museo,jurisprudence,masurian,frankish,headlined,recounted,netball,petitions,tolerant,hectare,truncated,southend,methane,captives,reigns,massif,subunit,acidic,weightlifting,footballers,sabah,britannia,tunisian,segregated,sawmill,withdrawing,unpaid,weaponry,somme,perceptions,unicode,alcoholism,durban,wrought,waterfalls,jihad,auschwitz,upland,eastbound,adjective,anhalt,evaluating,regimes,guildford,reproduced,pamphlets,hierarchical,maneuvers,hanoi,fabricated,repetition,enriched,arterial,replacements,tides,globalization,adequately,westbound,satisfactory,fleets,phosphorus,lastly,neuroscience,anchors,xinjiang,membranes,improvisation,shipments,orthodoxy,submissions,bolivian,mahmud,ramps,leyte,pastures,outlines,flees,transmitters,fares,sequential,stimulated,novice,alternately,symmetrical,breakaway,layered,baronets,lizards,blackish,edouard,horsepower,penang,principals,mercantile,maldives,overwhelmingly,hawke,rallied,prostate,conscription,juveniles,maccabi,carvings,strikers,sudbury,spurred,improves,lombardy,macquarie,parisian,elastic,distillery,shetland,humane,brentford,wrexham,warehouses,routines,encompassed,introductory,isfahan,instituto,palais,revolutions,sporadic,impoverished,portico,fellowships,speculative,enroll,dormant,adhere,fundamentally,sculpted,meritorious,template,upgrading,reformer,rectory,uncredited,indicative,creeks,galveston,radically,hezbollah,firearm,educating,prohibits,trondheim,locus,refit,headwaters,screenings,lowlands,wasps,coarse,attaining,sedimentary,perished,pitchfork,interned,cerro,stagecoach,aeronautical,liter,transitioned,haydn,inaccurate,legislatures,bromwich,knesset,spectroscopy,butte,asiatic,degraded,concordia,catastrophic,lobes,wellness,pensacola,periphery,hapoel,theta,horizontally,freiburg,liberalism,pleas,durable,warmian,offenses,mesopotamia,shandong,unsuitable,hospitalized,appropriately,phonetic,encompass,conversions,observes,illnesses,breakout,assigns,crowns,inhibitors,nightly,manifestation,fountains,maximize,alphabetical,sloop,expands,newtown,widening,gaddafi,commencing,camouflage,footprint,tyrol,barangays,universite,highlanders,budgets,query,lobbied,westchester,equator,stipulated,pointe,distinguishes,allotted,embankment,advises,storing,loyalists,fourier,rehearsals,starvation,gland,rihanna,tubular,expressive,baccalaureate,intersections,revered,carbonate,eritrea,craftsmen,cosmopolitan,sequencing,corridors,shortlisted,bangladeshi,persians,mimic,parades,repetitive,recommends,flanks,promoters,incompatible,teaming,ammonia,greyhound,solos,improper,legislator,newsweek,recurrent,vitro,cavendish,eireann,crises,prophets,mandir,strategically,guerrillas,formula_12,ghent,contenders,equivalence,drone,sociological,hamid,castes,statehood,aland,clinched,relaunched,tariffs,simulations,williamsburg,rotate,mediation,smallpox,harmonica,lodges,lavish,restrictive,o'sullivan,detainees,polynomials,echoes,intersecting,learners,elects,charlemagne,defiance,epsom,liszt,facilitating,absorbing,revelations,padua,pieter,pious,penultimate,mammalian,montenegrin,supplementary,widows,aromatic,croats,roanoke,trieste,legions,subdistrict,babylonian,grasslands,volga,violently,sparsely,oldies,telecommunication,respondents,quarries,downloadable,commandos,taxpayer,catalytic,malabar,afforded,copying,declines,nawab,junctions,assessing,filtering,classed,disused,compliant,christoph,gottingen,civilizations,hermitage,caledonian,whereupon,ethnically,springsteen,mobilization,terraces,indus,excel,zoological,enrichment,simulate,guitarists,registrar,cappella,invoked,reused,manchu,configured,uppsala,genealogy,mergers,casts,curricular,rebelled,subcontinent,horticultural,parramatta,orchestrated,dockyard,claudius,decca,prohibiting,turkmenistan,brahmin,clandestine,obligatory,elaborated,parasitic,helix,constraint,spearheaded,rotherham,eviction,adapting,albans,rescues,sociologist,guiana,convicts,occurrences,kamen,antennas,asturias,wheeled,sanitary,deterioration,trier,theorists,baseline,announcements,valea,planners,factual,serialized,serials,bilbao,demoted,fission,jamestown,cholera,alleviate,alteration,indefinite,sulfate,paced,climatic,valuation,artisans,proficiency,aegean,regulators,fledgling,sealing,influencing,servicemen,frequented,cancers,tambon,narayan,bankers,clarified,embodied,engraver,reorganisation,dissatisfied,dictated,supplemental,temperance,ratification,puget,nutrient,pretoria,papyrus,uniting,ascribed,cores,coptic,schoolhouse,barrio,1910s,armory,defected,transatlantic,regulates,ported,artefacts,specifies,boasted,scorers,mollusks,emitted,navigable,quakers,projective,dialogues,reunification,exponential,vastly,banners,unsigned,dissipated,halves,coincidentally,leasing,purported,escorting,estimation,foxes,lifespan,inflorescence,assimilation,showdown,staunch,prologue,ligand,superliga,telescopes,northwards,keynote,heaviest,taunton,redeveloped,vocalists,podlaskie,soyuz,rodents,azores,moravian,outset,parentheses,apparel,domestically,authoritative,polymers,monterrey,inhibit,launcher,jordanian,folds,taxis,mandates,singled,liechtenstein,subsistence,marxism,ousted,governorship,servicing,offseason,modernism,prism,devout,translators,islamist,chromosomes,pitted,bedfordshire,fabrication,authoritarian,javanese,leaflets,transient,substantive,predatory,sigismund,assassinate,diagrams,arrays,rediscovered,reclamation,spawning,fjord,peacekeeping,strands,fabrics,highs,regulars,tirana,ultraviolet,athenian,filly,barnet,naacp,nueva,favourites,terminates,showcases,clones,inherently,interpreting,bjorn,finely,lauded,unspecified,chola,pleistocene,insulation,antilles,donetsk,funnel,nutritional,biennale,reactivated,southport,primate,cavaliers,austrians,interspersed,restarted,suriname,amplifiers,wladyslaw,blockbuster,sportsman,minogue,brightness,benches,bridgeport,initiating,israelis,orbiting,newcomers,externally,scaling,transcribed,impairment,luxurious,longevity,impetus,temperament,ceilings,tchaikovsky,spreads,pantheon,bureaucracy,1820s,heraldic,villas,formula_13,galician,meath,avoidance,corresponded,headlining,connacht,seekers,rappers,solids,monograph,scoreless,opole,isotopes,himalayas,parodies,garments,microscopic,republished,havilland,orkney,demonstrators,pathogen,saturated,hellenistic,facilitates,aerodynamic,relocating,indochina,laval,astronomers,bequeathed,administrations,extracts,nagoya,torquay,demography,medicare,ambiguity,renumbered,pursuant,concave,syriac,electrode,dispersal,henan,bialystok,walsall,crystalline,puebla,janata,illumination,tianjin,enslaved,coloration,championed,defamation,grille,johor,rejoin,caspian,fatally,planck,workings,appointing,institutionalized,wessex,modernized,exemplified,regatta,jacobite,parochial,programmers,blending,eruptions,insurrection,regression,indices,sited,dentistry,mobilized,furnishings,levant,primaries,ardent,nagasaki,conqueror,dorchester,opined,heartland,amman,mortally,wellesley,bowlers,outputs,coveted,orthography,immersion,disrepair,disadvantaged,curate,childless,condensed,codice_1,remodeled,resultant,bolsheviks,superfamily,saxons,2010s,contractual,rivalries,malacca,oaxaca,magnate,vertebrae,quezon,olympiad,yucatan,tyres,macro,specialization,commendation,caliphate,gunnery,exiles,excerpts,fraudulent,adjustable,aramaic,interceptor,drumming,standardization,reciprocal,adolescents,federalist,aeronautics,favorably,enforcing,reintroduced,zhejiang,refining,biplane,banknotes,accordion,intersect,illustrating,summits,classmate,militias,biomass,massacres,epidemiology,reworked,wrestlemania,nantes,auditory,taxon,elliptical,chemotherapy,asserting,avoids,proficient,airmen,yellowstone,multicultural,alloys,utilization,seniority,kuyavian,huntsville,orthogonal,bloomington,cultivars,casimir,internment,repulsed,impedance,revolving,fermentation,parana,shutout,partnering,empowered,islamabad,polled,classify,amphibians,greyish,obedience,4x100,projectile,khyber,halfback,relational,d'ivoire,synonyms,endeavour,padma,customized,mastery,defenceman,berber,purge,interestingly,covent,promulgated,restricting,condemnation,hillsborough,walkers,privateer,intra,captaincy,naturalized,huffington,detecting,hinted,migrating,bayou,counterattack,anatomical,foraging,unsafe,swiftly,outdated,paraguayan,attire,masjid,endeavors,jerseys,triassic,quechua,growers,axial,accumulate,wastewater,cognition,fungal,animator,pagoda,kochi,uniformly,antibody,yerevan,hypotheses,combatants,italianate,draining,fragmentation,snowfall,formative,inversion,kitchener,identifier,additive,lucha,selects,ashland,cambrian,racetrack,trapping,congenital,primates,wavelengths,expansions,yeomanry,harcourt,wealthiest,awaited,punta,intervening,aggressively,vichy,piloted,midtown,tailored,heyday,metadata,guadalcanal,inorganic,hadith,pulses,francais,tangent,scandals,erroneously,tractors,pigment,constabulary,jiangsu,landfill,merton,basalt,astor,forbade,debuts,collisions,exchequer,stadion,roofed,flavour,sculptors,conservancy,dissemination,electrically,undeveloped,existent,surpassing,pentecostal,manifested,amend,formula_14,superhuman,barges,tunis,analytics,argyll,liquids,mechanized,domes,mansions,himalayan,indexing,reuters,nonlinear,purification,exiting,timbers,triangles,decommissioning,departmental,causal,fonts,americana,sept.,seasonally,incomes,razavi,sheds,memorabilia,rotational,terre,sutra,protege,yarmouth,grandmaster,annum,looted,imperialism,variability,liquidation,baptised,isotope,showcasing,milling,rationale,hammersmith,austen,streamlined,acknowledging,contentious,qaleh,breadth,turing,referees,feral,toulon,unofficially,identifiable,standout,labeling,dissatisfaction,jurgen,angrily,featherweight,cantons,constrained,dominates,standalone,relinquished,theologians,markedly,italics,downed,nitrate,likened,gules,craftsman,singaporean,pixels,mandela,moray,parity,departement,antigen,academically,burgh,brahma,arranges,wounding,triathlon,nouveau,vanuatu,banded,acknowledges,unearthed,stemming,authentication,byzantines,converge,nepali,commonplace,deteriorating,recalling,palette,mathematicians,greenish,pictorial,ahmedabad,rouen,validation,u.s.a.,'best,malvern,archers,converter,undergoes,fluorescent,logistical,notification,transvaal,illicit,symphonies,stabilization,worsened,fukuoka,decrees,enthusiast,seychelles,blogger,louvre,dignitaries,burundi,wreckage,signage,pinyin,bursts,federer,polarization,urbana,lazio,schism,nietzsche,venerable,administers,seton,kilograms,invariably,kathmandu,farmed,disqualification,earldom,appropriated,fluctuations,kermanshah,deployments,deformation,wheelbase,maratha,psalm,bytes,methyl,engravings,skirmish,fayette,vaccines,ideally,astrology,breweries,botanic,opposes,harmonies,irregularities,contended,gaulle,prowess,constants,aground,filipinos,fresco,ochreous,jaipur,willamette,quercus,eastwards,mortars,champaign,braille,reforming,horned,hunan,spacious,agitation,draught,specialties,flourishing,greensboro,necessitated,swedes,elemental,whorls,hugely,structurally,plurality,synthesizers,embassies,assad,contradictory,inference,discontent,recreated,inspectors,unicef,commuters,embryo,modifying,stints,numerals,communicated,boosted,trumpeter,brightly,adherence,remade,leases,restrained,eucalyptus,dwellers,planar,grooves,gainesville,daimler,anzac,szczecin,cornerback,prized,peking,mauritania,khalifa,motorized,lodging,instrumentalist,fortresses,cervical,formula_15,passerine,sectarian,researches,apprenticed,reliefs,disclose,gliding,repairing,queue,kyushu,literate,canoeing,sacrament,separatist,calabria,parkland,flowed,investigates,statistically,visionary,commits,dragoons,scrolls,premieres,revisited,subdued,censored,patterned,elective,outlawed,orphaned,leyland,richly,fujian,miniatures,heresy,plaques,countered,nonfiction,exponent,moravia,dispersion,marylebone,midwestern,enclave,ithaca,federated,electronically,handheld,microscopy,tolls,arrivals,climbers,continual,cossacks,moselle,deserts,ubiquitous,gables,forecasts,deforestation,vertebrates,flanking,drilled,superstructure,inspected,consultative,bypassed,ballast,subsidy,socioeconomic,relic,grenada,journalistic,administering,accommodated,collapses,appropriation,reclassified,foreword,porte,assimilated,observance,fragmented,arundel,thuringia,gonzaga,shenzhen,shipyards,sectional,ayrshire,sloping,dependencies,promenade,ecuadorian,mangrove,constructs,goalscorer,heroism,iteration,transistor,omnibus,hampstead,cochin,overshadowed,chieftain,scalar,finishers,ghanaian,abnormalities,monoplane,encyclopaedia,characterize,travancore,baronetage,bearers,biking,distributes,paving,christened,inspections,banco,humber,corinth,quadratic,albanians,lineages,majored,roadside,inaccessible,inclination,darmstadt,fianna,epilepsy,propellers,papacy,montagu,bhutto,sugarcane,optimized,pilasters,contend,batsmen,brabant,housemates,sligo,ascot,aquinas,supervisory,accorded,gerais,echoed,nunavut,conservatoire,carniola,quartermaster,gminas,impeachment,aquitaine,reformers,quarterfinal,karlsruhe,accelerator,coeducational,archduke,gelechiidae,seaplane,dissident,frenchman,palau,depots,hardcover,aachen,darreh,denominational,groningen,parcels,reluctance,drafts,elliptic,counters,decreed,airship,devotional,contradiction,formula_16,undergraduates,qualitative,guatemalan,slavs,southland,blackhawks,detrimental,abolish,chechen,manifestations,arthritis,perch,fated,hebei,peshawar,palin,immensely,havre,totalling,rampant,ferns,concourse,triples,elites,olympian,larva,herds,lipid,karabakh,distal,monotypic,vojvodina,batavia,multiplied,spacing,spellings,pedestrians,parchment,glossy,industrialization,dehydrogenase,patriotism,abolitionist,mentoring,elizabethan,figurative,dysfunction,abyss,constantin,middletown,stigma,mondays,gambia,gaius,israelites,renounced,nepalese,overcoming,buren,sulphur,divergence,predation,looting,iberia,futuristic,shelved,anthropological,innsbruck,escalated,clermont,entrepreneurial,benchmark,mechanically,detachments,populist,apocalyptic,exited,embryonic,stanza,readership,chiba,landlords,expansive,boniface,therapies,perpetrators,whitehall,kassel,masts,carriageway,clinch,pathogens,mazandaran,undesirable,teutonic,miocene,nagpur,juris,cantata,compile,diffuse,dynastic,reopening,comptroller,o'neal,flourish,electing,scientifically,departs,welded,modal,cosmology,fukushima,libertadores,chang'an,asean,generalization,localization,afrikaans,cricketers,accompanies,emigrants,esoteric,southwards,shutdown,prequel,fittings,innate,wrongly,equitable,dictionaries,senatorial,bipolar,flashbacks,semitism,walkway,lyrically,legality,sorbonne,vigorously,durga,samoan,karel,interchanges,patna,decider,registering,electrodes,anarchists,excursion,overthrown,gilan,recited,michelangelo,advertiser,kinship,taboo,cessation,formula_17,premiers,traversed,madurai,poorest,torneo,exerted,replicate,spelt,sporadically,horde,landscaping,razed,hindered,esperanto,manchuria,propellant,jalan,baha'is,sikkim,linguists,pandit,racially,ligands,dowry,francophone,escarpment,behest,magdeburg,mainstay,villiers,yangtze,grupo,conspirators,martyrdom,noticeably,lexical,kazakh,unrestricted,utilised,sired,inhabits,proofs,joseon,pliny,minted,buddhists,cultivate,interconnected,reuse,viability,australasian,derelict,resolving,overlooks,menon,stewardship,playwrights,thwarted,filmfare,disarmament,protections,bundles,sidelined,hypothesized,singer/songwriter,forage,netted,chancery,townshend,restructured,quotation,hyperbolic,succumbed,parliaments,shenandoah,apical,kibbutz,storeys,pastors,lettering,ukrainians,hardships,chihuahua,avail,aisles,taluka,antisemitism,assent,ventured,banksia,seamen,hospice,faroe,fearful,woreda,outfield,chlorine,transformer,tatar,panoramic,pendulum,haarlem,styria,cornice,importing,catalyzes,subunits,enamel,bakersfield,realignment,sorties,subordinates,deanery,townland,gunmen,tutelage,evaluations,allahabad,thrace,veneto,mennonite,sharia,subgenus,satisfies,puritan,unequal,gastrointestinal,ordinances,bacterium,horticulture,argonauts,adjectives,arable,duets,visualization,woolwich,revamped,euroleague,thorax,completes,originality,vasco,freighter,sardar,oratory,sects,extremes,signatories,exporting,arisen,exacerbated,departures,saipan,furlongs,d'italia,goring,dakar,conquests,docked,offshoot,okrug,referencing,disperse,netting,summed,rewritten,articulation,humanoid,spindle,competitiveness,preventive,facades,westinghouse,wycombe,synthase,emulate,fostering,abdel,hexagonal,myriad,caters,arjun,dismay,axiom,psychotherapy,colloquial,complemented,martinique,fractures,culmination,erstwhile,atrium,electronica,anarchism,nadal,montpellier,algebras,submitting,adopts,stemmed,overcame,internacional,asymmetric,gallipoli,gliders,flushing,extermination,hartlepool,tesla,interwar,patriarchal,hitherto,ganges,combatant,marred,philology,glastonbury,reversible,isthmus,undermined,southwark,gateshead,andalusia,remedies,hastily,optimum,smartphone,evade,patrolled,beheaded,dopamine,waivers,ugandan,gujarati,densities,predicting,intestinal,tentative,interstellar,kolonia,soloists,penetrated,rebellions,qeshlaq,prospered,colegio,deficits,konigsberg,deficient,accessing,relays,kurds,politburo,codified,incarnations,occupancy,cossack,metaphysical,deprivation,chopra,piccadilly,formula_18,makeshift,protestantism,alaskan,frontiers,faiths,tendon,dunkirk,durability,autobots,bonuses,coinciding,emails,gunboat,stucco,magma,neutrons,vizier,subscriptions,visuals,envisaged,carpets,smoky,schema,parliamentarian,immersed,domesticated,parishioners,flinders,diminutive,mahabharata,ballarat,falmouth,vacancies,gilded,twigs,mastering,clerics,dalmatia,islington,slogans,compressor,iconography,congolese,sanction,blends,bulgarians,moderator,outflow,textures,safeguard,trafalgar,tramways,skopje,colonialism,chimneys,jazeera,organisers,denoting,motivations,ganga,longstanding,deficiencies,gwynedd,palladium,holistic,fascia,preachers,embargo,sidings,busan,ignited,artificially,clearwater,cemented,northerly,salim,equivalents,crustaceans,oberliga,quadrangle,historiography,romanians,vaults,fiercely,incidental,peacetime,tonal,bhopal,oskar,radha,pesticides,timeslot,westerly,cathedrals,roadways,aldershot,connectors,brahmins,paler,aqueous,gustave,chromatic,linkage,lothian,specialises,aggregation,tributes,insurgent,enact,hampden,ghulam,federations,instigated,lyceum,fredrik,chairmanship,floated,consequent,antagonists,intimidation,patriarchate,warbler,heraldry,entrenched,expectancy,habitation,partitions,widest,launchers,nascent,ethos,wurzburg,lycee,chittagong,mahatma,merseyside,asteroids,yokosuka,cooperatives,quorum,redistricting,bureaucratic,yachts,deploying,rustic,phonology,chorale,cellist,stochastic,crucifixion,surmounted,confucian,portfolios,geothermal,crested,calibre,tropics,deferred,nasir,iqbal,persistence,essayist,chengdu,aborigines,fayetteville,bastion,interchangeable,burlesque,kilmarnock,specificity,tankers,colonels,fijian,quotations,enquiry,quito,palmerston,delle,multidisciplinary,polynesian,iodine,antennae,emphasised,manganese,baptists,galilee,jutland,latent,excursions,skepticism,tectonic,precursors,negligible,musique,misuse,vitoria,expressly,veneration,sulawesi,footed,mubarak,chongqing,chemically,midday,ravaged,facets,varma,yeovil,ethnographic,discounted,physicists,attache,disbanding,essen,shogunate,cooperated,waikato,realising,motherwell,pharmacology,sulfide,inward,expatriate,devoid,cultivar,monde,andean,groupings,goran,unaffected,moldovan,postdoctoral,coleophora,delegated,pronoun,conductivity,coleridge,disapproval,reappeared,microbial,campground,olsztyn,fostered,vaccination,rabbinical,champlain,milestones,viewership,caterpillar,effected,eupithecia,financier,inferred,uzbek,bundled,bandar,balochistan,mysticism,biosphere,holotype,symbolizes,lovecraft,photons,abkhazia,swaziland,subgroups,measurable,falkirk,valparaiso,ashok,discriminatory,rarity,tabernacle,flyweight,jalisco,westernmost,antiquarian,extracellular,margrave,colspan=9,midsummer,digestive,reversing,burgeoning,substitutes,medallist,khrushchev,guerre,folio,detonated,partido,plentiful,aggregator,medallion,infiltration,shaded,santander,fared,auctioned,permian,ramakrishna,andorra,mentors,diffraction,bukit,potentials,translucent,feminists,tiers,protracted,coburg,wreath,guelph,adventurer,he/she,vertebrate,pipelines,celsius,outbreaks,australasia,deccan,garibaldi,unionists,buildup,biochemical,reconstruct,boulders,stringent,barbed,wording,furnaces,pests,befriends,organises,popes,rizal,tentacles,cadre,tallahassee,punishments,occidental,formatted,mitigation,rulings,rubens,cascades,inducing,choctaw,volta,synagogues,movable,altarpiece,mitigate,practise,intermittently,encountering,memberships,earns,signify,retractable,amounting,pragmatic,wilfrid,dissenting,divergent,kanji,reconstituted,devonian,constitutions,levied,hendrik,starch,costal,honduran,ditches,polygon,eindhoven,superstars,salient,argus,punitive,purana,alluvial,flaps,inefficient,retracted,advantageous,quang,andersson,danville,binghamton,symbolize,conclave,shaanxi,silica,interpersonal,adept,frans,pavilions,lubbock,equip,sunken,limburg,activates,prosecutions,corinthian,venerated,shootings,retreats,parapet,orissa,riviere,animations,parodied,offline,metaphysics,bluffs,plume,piety,fruition,subsidized,steeplechase,shanxi,eurasia,angled,forecasting,suffragan,ashram,larval,labyrinth,chronicler,summaries,trailed,merges,thunderstorms,filtered,formula_19,advertisers,alpes,informatics,parti,constituting,undisputed,certifications,javascript,molten,sclerosis,rumoured,boulogne,hmong,lewes,breslau,notts,bantu,ducal,messengers,radars,nightclubs,bantamweight,carnatic,kaunas,fraternal,triggering,controversially,londonderry,visas,scarcity,offaly,uprisings,repelled,corinthians,pretext,kuomintang,kielce,empties,matriculated,pneumatic,expos,agile,treatises,midpoint,prehistory,oncology,subsets,hydra,hypertension,axioms,wabash,reiterated,swapped,achieves,premio,ageing,overture,curricula,challengers,subic,selangor,liners,frontline,shutter,validated,normalized,entertainers,molluscs,maharaj,allegation,youngstown,synth,thoroughfare,regionally,pillai,transcontinental,pedagogical,riemann,colonia,easternmost,tentatively,profiled,herefordshire,nativity,meuse,nucleotide,inhibits,huntingdon,throughput,recorders,conceding,domed,homeowners,centric,gabled,canoes,fringes,breeder,subtitled,fluoride,haplogroup,zionism,izmir,phylogeny,kharkiv,romanticism,adhesion,usaaf,delegations,lorestan,whalers,biathlon,vaulted,mathematically,pesos,skirmishes,heisman,kalamazoo,gesellschaft,launceston,interacts,quadruple,kowloon,psychoanalysis,toothed,ideologies,navigational,valence,induces,lesotho,frieze,rigging,undercarriage,explorations,spoof,eucharist,profitability,virtuoso,recitals,subterranean,sizeable,herodotus,subscriber,huxley,pivot,forewing,warring,boleslaw,bharatiya,suffixes,trois,percussionist,downturn,garrisons,philosophies,chants,mersin,mentored,dramatist,guilds,frameworks,thermodynamic,venomous,mehmed,assembling,rabbinic,hegemony,replicas,enlargement,claimant,retitled,utica,dumfries,metis,deter,assortment,tubing,afflicted,weavers,rupture,ornamentation,transept,salvaged,upkeep,callsign,rajput,stevenage,trimmed,intracellular,synchronization,consular,unfavorable,royalists,goldwyn,fasting,hussars,doppler,obscurity,currencies,amiens,acorn,tagore,townsville,gaussian,migrations,porta,anjou,graphite,seaport,monographs,gladiators,metrics,calligraphy,sculptural,swietokrzyskie,tolombeh,eredivisie,shoals,queries,carts,exempted,fiberglass,mirrored,bazar,progeny,formalized,mukherjee,professed,amazon.com,cathode,moreton,removable,mountaineers,nagano,transplantation,augustinian,steeply,epilogue,adapter,decisively,accelerating,mediaeval,substituting,tasman,devonshire,litres,enhancements,himmler,nephews,bypassing,imperfect,argentinian,reims,integrates,sochi,ascii,licences,niches,surgeries,fables,versatility,indra,footpath,afonso,crore,evaporation,encodes,shelling,conformity,simplify,updating,quotient,overt,firmware,umpires,architectures,eocene,conservatism,secretion,embroidery,f.c..,tuvalu,mosaics,shipwreck,prefectural,cohort,grievances,garnering,centerpiece,apoptosis,djibouti,bethesda,formula_20,shonen,richland,justinian,dormitories,meteorite,reliably,obtains,pedagogy,hardness,cupola,manifolds,amplification,steamers,familial,dumbarton,jerzy,genital,maidstone,salinity,grumman,signifies,presbytery,meteorology,procured,aegis,streamed,deletion,nuestra,mountaineering,accords,neuronal,khanate,grenoble,axles,dispatches,tokens,turku,auctions,propositions,planters,proclaiming,recommissioned,stravinsky,obverse,bombarded,waged,saviour,massacred,reformist,purportedly,resettlement,ravenna,embroiled,minden,revitalization,hikers,bridging,torpedoed,depletion,nizam,affectionately,latitudes,lubeck,spore,polymerase,aarhus,nazism,101st,buyout,galerie,diets,overflow,motivational,renown,brevet,deriving,melee,goddesses,demolish,amplified,tamworth,retake,brokerage,beneficiaries,henceforth,reorganised,silhouette,browsers,pollutants,peron,lichfield,encircled,defends,bulge,dubbing,flamenco,coimbatore,refinement,enshrined,grizzlies,capacitor,usefulness,evansville,interscholastic,rhodesian,bulletins,diamondbacks,rockers,platted,medalists,formosa,transporter,slabs,guadeloupe,disparate,concertos,violins,regaining,mandible,untitled,agnostic,issuance,hamiltonian,brampton,srpska,homology,downgraded,florentine,epitaph,kanye,rallying,analysed,grandstand,infinitely,antitrust,plundered,modernity,colspan=3|total,amphitheatre,doric,motorists,yemeni,carnivorous,probabilities,prelate,struts,scrapping,bydgoszcz,pancreatic,signings,predicts,compendium,ombudsman,apertura,appoints,rebbe,stereotypical,valladolid,clustered,touted,plywood,inertial,kettering,curving,d'honneur,housewives,grenadier,vandals,barbarossa,necked,waltham,reputedly,jharkhand,cistercian,pursues,viscosity,organiser,cloister,islet,stardom,moorish,himachal,strives,scripps,staggered,blasts,westwards,millimeters,angolan,hubei,agility,admirals,mordellistena,coincides,platte,vehicular,cordillera,riffs,schoolteacher,canaan,acoustics,tinged,reinforcing,concentrates,daleks,monza,selectively,musik,polynesia,exporter,reviving,macclesfield,bunkers,ballets,manors,caudal,microbiology,primes,unbroken,outcry,flocks,pakhtunkhwa,abelian,toowoomba,luminous,mould,appraisal,leuven,experimentally,interoperability,hideout,perak,specifying,knighthood,vasily,excerpt,computerized,niels,networked,byzantium,reaffirmed,geographer,obscured,fraternities,mixtures,allusion,accra,lengthened,inquest,panhandle,pigments,revolts,bluetooth,conjugate,overtaken,foray,coils,breech,streaks,impressionist,mendelssohn,intermediary,panned,suggestive,nevis,upazila,rotunda,mersey,linnaeus,anecdotes,gorbachev,viennese,exhaustive,moldavia,arcades,irrespective,orator,diminishing,predictive,cohesion,polarized,montage,avian,alienation,conus,jaffna,urbanization,seawater,extremity,editorials,scrolling,dreyfus,traverses,topographic,gunboats,extratropical,normans,correspondents,recognises,millennia,filtration,ammonium,voicing,complied,prefixes,diplomas,figurines,weakly,gated,oscillator,lucerne,embroidered,outpatient,airframe,fractional,disobedience,quarterbacks,formula_21,shinto,chiapas,epistle,leakage,pacifist,avignon,penrith,renders,mantua,screenplays,gustaf,tesco,alphabetically,rations,discharges,headland,tapestry,manipur,boolean,mediator,ebenezer,subchannel,fable,bestselling,ateneo,trademarks,recurrence,dwarfs,britannica,signifying,vikram,mediate,condensation,censuses,verbandsgemeinde,cartesian,sprang,surat,britons,chelmsford,courtenay,statistic,retina,abortions,liabilities,closures,mississauga,skyscrapers,saginaw,compounded,aristocrat,msnbc,stavanger,septa,interpretive,hinder,visibly,seeding,shutouts,irregularly,quebecois,footbridge,hydroxide,implicitly,lieutenants,simplex,persuades,midshipman,heterogeneous,officiated,crackdown,lends,tartu,altars,fractions,dissidents,tapered,modernisation,scripting,blazon,aquaculture,thermodynamics,sistan,hasidic,bellator,pavia,propagated,theorized,bedouin,transnational,mekong,chronicled,declarations,kickstarter,quotas,runtime,duquesne,broadened,clarendon,brownsville,saturation,tatars,electorates,malayan,replicated,observable,amphitheater,endorsements,referral,allentown,mormons,pantomime,eliminates,typeface,allegorical,varna,conduction,evoke,interviewer,subordinated,uyghur,landscaped,conventionally,ascend,edifice,postulated,hanja,whitewater,embarking,musicologist,tagalog,frontage,paratroopers,hydrocarbons,transliterated,nicolae,viewpoints,surrealist,asheville,falklands,hacienda,glide,opting,zimbabwean,discal,mortgages,nicaraguan,yadav,ghosh,abstracted,castilian,compositional,cartilage,intergovernmental,forfeited,importation,rapping,artes,republika,narayana,condominium,frisian,bradman,duality,marche,extremist,phosphorylation,genomes,allusions,valencian,habeas,ironworks,multiplex,harpsichord,emigrate,alternated,breda,waffen,smartphones,familiarity,regionalliga,herbaceous,piping,dilapidated,carboniferous,xviii,critiques,carcinoma,sagar,chippewa,postmodern,neapolitan,excludes,notoriously,distillation,tungsten,richness,installments,monoxide,chand,privatisation,molded,maths,projectiles,luoyang,epirus,lemma,concentric,incline,erroneous,sideline,gazetted,leopards,fibres,renovate,corrugated,unilateral,repatriation,orchestration,saeed,rockingham,loughborough,formula_22,bandleader,appellation,openness,nanotechnology,massively,tonnage,dunfermline,exposes,moored,ridership,motte,eurobasket,majoring,feats,silla,laterally,playlist,downwards,methodologies,eastbourne,daimyo,cellulose,leyton,norwalk,oblong,hibernian,opaque,insular,allegory,camogie,inactivation,favoring,masterpieces,rinpoche,serotonin,portrayals,waverley,airliner,longford,minimalist,outsourcing,excise,meyrick,qasim,organisational,synaptic,farmington,gorges,scunthorpe,zoned,tohoku,librarians,davao,decor,theatrically,brentwood,pomona,acquires,planter,capacitors,synchronous,skateboarding,coatings,turbocharged,ephraim,capitulation,scoreboard,hebrides,ensues,cereals,ailing,counterpoint,duplication,antisemitic,clique,aichi,oppressive,transcendental,incursions,rename,renumbering,powys,vestry,bitterly,neurology,supplanted,affine,susceptibility,orbiter,activating,overlaps,ecoregion,raman,canoer,darfur,microorganisms,precipitated,protruding,torun,anthropologists,rennes,kangaroos,parliamentarians,edits,littoral,archived,begum,rensselaer,microphones,ypres,empower,etruscan,wisden,montfort,calibration,isomorphic,rioting,kingship,verbally,smyrna,cohesive,canyons,fredericksburg,rahul,relativistic,micropolitan,maroons,industrialized,henchmen,uplift,earthworks,mahdi,disparity,cultured,transliteration,spiny,fragmentary,extinguished,atypical,inventors,biosynthesis,heralded,curacao,anomalies,aeroplane,surya,mangalore,maastricht,ashkenazi,fusiliers,hangzhou,emitting,monmouthshire,schwarzenegger,ramayana,peptides,thiruvananthapuram,alkali,coimbra,budding,reasoned,epithelial,harbors,rudimentary,classically,parque,ealing,crusades,rotations,riparian,pygmy,inertia,revolted,microprocessor,calendars,solvents,kriegsmarine,accademia,cheshmeh,yoruba,ardabil,mitra,genomic,notables,propagate,narrates,univision,outposts,polio,birkenhead,urinary,crocodiles,pectoral,barrymore,deadliest,rupees,chaim,protons,comical,astrophysics,unifying,formula_23,vassals,cortical,audubon,pedals,tenders,resorted,geophysical,lenders,recognising,tackling,lanarkshire,doctrinal,annan,combating,guangxi,estimating,selectors,tribunals,chambered,inhabiting,exemptions,curtailed,abbasid,kandahar,boron,bissau,150th,codenamed,wearer,whorl,adhered,subversive,famer,smelting,inserting,mogadishu,zoologist,mosul,stumps,almanac,olympiacos,stamens,participatory,cults,honeycomb,geologists,dividend,recursive,skiers,reprint,pandemic,liber,percentages,adversely,stoppage,chieftains,tubingen,southerly,overcrowding,unorganized,hangars,fulfil,hails,cantilever,woodbridge,pinus,wiesbaden,fertilization,fluorescence,enhances,plenary,troublesome,episodic,thrissur,kickboxing,allele,staffing,garda,televisions,philatelic,spacetime,bullpen,oxides,leninist,enrolling,inventive,truro,compatriot,ruskin,normative,assay,gotha,murad,illawarra,gendarmerie,strasse,mazraeh,rebounded,fanfare,liaoning,rembrandt,iranians,emirate,governs,latency,waterfowl,chairmen,katowice,aristocrats,eclipsed,sentient,sonatas,interplay,sacking,decepticons,dynamical,arbitrarily,resonant,petar,velocities,alludes,wastes,prefectures,belleville,sensibility,salvadoran,consolidating,medicaid,trainees,vivekananda,molar,porous,upload,youngster,infused,doctorates,wuhan,annihilation,enthusiastically,gamespot,kanpur,accumulating,monorail,operetta,tiling,sapporo,finns,calvinist,hydrocarbon,sparrows,orienteering,cornelis,minster,vuelta,plebiscite,embraces,panchayats,focussed,remediation,brahman,olfactory,reestablished,uniqueness,northumbria,rwandan,predominately,abode,ghats,balances,californian,uptake,bruges,inert,westerns,reprints,cairn,yarra,resurfaced,audible,rossini,regensburg,italiana,fleshy,irrigated,alerts,yahya,varanasi,marginalized,expatriates,cantonment,normandie,sahitya,directives,rounder,hulls,fictionalized,constables,inserts,hipped,potosi,navies,biologists,canteen,husbandry,augment,fortnight,assamese,kampala,o'keefe,paleolithic,bluish,promontory,consecutively,striving,niall,reuniting,dipole,friendlies,disapproved,thrived,netflix,liberian,dielectric,medway,strategist,sankt,pickups,hitters,encode,rerouted,claimants,anglesey,partitioned,cavan,flutes,reared,repainted,armaments,bowed,thoracic,balliol,piero,chaplains,dehestan,sender,junkers,sindhi,sickle,dividends,metallurgy,honorific,berths,namco,springboard,resettled,gansu,copyrighted,criticizes,utopian,bendigo,ovarian,binomial,spaceflight,oratorio,proprietors,supergroup,duplicated,foreground,strongholds,revolved,optimize,layouts,westland,hurler,anthropomorphic,excelsior,merchandising,reeds,vetoed,cryptography,hollyoaks,monash,flooring,ionian,resilience,johnstown,resolves,lawmakers,alegre,wildcards,intolerance,subculture,selector,slums,formulate,bayonet,istvan,restitution,interchangeably,awakens,rostock,serpentine,oscillation,reichstag,phenotype,recessed,piotr,annotated,preparedness,consultations,clausura,preferential,euthanasia,genoese,outcrops,freemasonry,geometrical,genesee,islets,prometheus,panamanian,thunderbolt,terraced,stara,shipwrecks,futebol,faroese,sharqi,aldermen,zeitung,unify,formula_24,humanism,syntactic,earthen,blyth,taxed,rescinded,suleiman,cymru,dwindled,vitality,superieure,resupply,adolphe,ardennes,rajiv,profiling,olympique,gestation,interfaith,milosevic,tagline,funerary,druze,silvery,plough,shrubland,relaunch,disband,nunatak,minimizing,excessively,waned,attaching,luminosity,bugle,encampment,electrostatic,minesweeper,dubrovnik,rufous,greenock,hochschule,assyrians,extracting,malnutrition,priya,attainment,anhui,connotations,predicate,seabirds,deduced,pseudonyms,gopal,plovdiv,refineries,imitated,kwazulu,terracotta,tenets,discourses,brandeis,whigs,dominions,pulmonate,landslides,tutors,determinant,richelieu,farmstead,tubercles,technicolor,hegel,redundancy,greenpeace,shortening,mules,distilled,xxiii,fundamentalist,acrylic,outbuildings,lighted,corals,signaled,transistors,cavite,austerity,76ers,exposures,dionysius,outlining,commutative,permissible,knowledgeable,howrah,assemblage,inhibited,crewmen,mbit/s,pyramidal,aberdeenshire,bering,rotates,atheism,howitzer,saone,lancet,fermented,contradicted,materiel,ofsted,numeric,uniformity,josephus,nazarene,kuwaiti,noblemen,pediment,emergent,campaigner,akademi,murcia,perugia,gallen,allsvenskan,finned,cavities,matriculation,rosters,twickenham,signatory,propel,readable,contends,artisan,flamboyant,reggio,italo,fumbles,widescreen,rectangle,centimetres,collaborates,envoys,rijeka,phonological,thinly,refractive,civilisation,reductase,cognate,dalhousie,monticello,lighthouses,jitsu,luneburg,socialite,fermi,collectible,optioned,marquee,jokingly,architecturally,kabir,concubine,nationalisation,watercolor,wicklow,acharya,pooja,leibniz,rajendra,nationalized,stalemate,bloggers,glutamate,uplands,shivaji,carolingian,bucuresti,dasht,reappears,muscat,functionally,formulations,hinged,hainan,catechism,autosomal,incremental,asahi,coeur,diversification,multilateral,fewest,recombination,finisher,harrogate,hangul,feasts,photovoltaic,paget,liquidity,alluded,incubation,applauded,choruses,malagasy,hispanics,bequest,underparts,cassava,kazimierz,gastric,eradication,mowtowr,tyrosine,archbishopric,e9e9e9,unproductive,uxbridge,hydrolysis,harbours,officio,deterministic,devonport,kanagawa,breaches,freetown,rhinoceros,chandigarh,janos,sanatorium,liberator,inequalities,agonist,hydrophobic,constructors,nagorno,snowboarding,welcomes,subscribed,iloilo,resuming,catalysts,stallions,jawaharlal,harriers,definitively,roughriders,hertford,inhibiting,elgar,randomized,incumbents,episcopate,rainforests,yangon,improperly,kemal,interpreters,diverged,uttarakhand,umayyad,phnom,panathinaikos,shabbat,diode,jiangxi,forbidding,nozzle,artistry,licensee,processions,staffs,decimated,expressionism,shingle,palsy,ontology,mahayana,maribor,sunil,hostels,edwardian,jetty,freehold,overthrew,eukaryotic,schuylkill,rawalpindi,sheath,recessive,ferenc,mandibles,berlusconi,confessor,convergent,ababa,slugging,rentals,sephardic,equivalently,collagen,markov,dynamically,hailing,depressions,sprawling,fairgrounds,indistinguishable,plutarch,pressurized,banff,coldest,braunschweig,mackintosh,sociedad,wittgenstein,tromso,airbase,lecturers,subtitle,attaches,purified,contemplated,dreamworks,telephony,prophetic,rockland,aylesbury,biscay,coherence,aleksandar,judoka,pageants,theses,homelessness,luthor,sitcoms,hinterland,fifths,derwent,privateers,enigmatic,nationalistic,instructs,superimposed,conformation,tricycle,dusan,attributable,unbeknownst,laptops,etching,archbishops,ayatollah,cranial,gharbi,interprets,lackawanna,abingdon,saltwater,tories,lender,minaj,ancillary,ranching,pembrokeshire,topographical,plagiarism,murong,marque,chameleon,assertions,infiltrated,guildhall,reverence,schenectady,formula_25,kollam,notary,mexicana,initiates,abdication,basra,theorems,ionization,dismantling,eared,censors,budgetary,numeral,verlag,excommunicated,distinguishable,quarried,cagliari,hindustan,symbolizing,watertown,descartes,relayed,enclosures,militarily,sault,devolved,dalian,djokovic,filaments,staunton,tumour,curia,villainous,decentralized,galapagos,moncton,quartets,onscreen,necropolis,brasileiro,multipurpose,alamos,comarca,jorgen,concise,mercia,saitama,billiards,entomologist,montserrat,lindbergh,commuting,lethbridge,phoenician,deviations,anaerobic,denouncing,redoubt,fachhochschule,principalities,negros,announcers,seconded,parrots,konami,revivals,approving,devotee,riyadh,overtook,morecambe,lichen,expressionist,waterline,silverstone,geffen,sternites,aspiration,behavioural,grenville,tripura,mediums,genders,pyotr,charlottesville,sacraments,programmable,ps100,shackleton,garonne,sumerian,surpass,authorizing,interlocking,lagoons,voiceless,advert,steeple,boycotted,alouettes,yosef,oxidative,sassanid,benefiting,sayyid,nauru,predetermined,idealism,maxillary,polymerization,semesters,munchen,conor,outfitted,clapham,progenitor,gheorghe,observational,recognitions,numerically,colonized,hazrat,indore,contaminants,fatality,eradicate,assyria,convocation,cameos,skillful,skoda,corfu,confucius,overtly,ramadan,wollongong,placements,d.c..,permutation,contemporaneous,voltages,elegans,universitat,samar,plunder,dwindling,neuter,antonin,sinhala,campania,solidified,stanzas,fibrous,marburg,modernize,sorcery,deutscher,florets,thakur,disruptive,infielder,disintegration,internazionale,vicariate,effigy,tripartite,corrective,klamath,environs,leavenworth,sandhurst,workmen,compagnie,hoseynabad,strabo,palisades,ordovician,sigurd,grandsons,defection,viacom,sinhalese,innovator,uncontrolled,slavonic,indexes,refrigeration,aircrew,superbike,resumption,neustadt,confrontations,arras,hindenburg,ripon,embedding,isomorphism,dwarves,matchup,unison,lofty,argos,louth,constitutionally,transitive,newington,facelift,degeneration,perceptual,aviators,enclosing,igneous,symbolically,academician,constitutionality,iso/iec,sacrificial,maturation,apprentices,enzymology,naturalistic,hajji,arthropods,abbess,vistula,scuttled,gradients,pentathlon,etudes,freedmen,melaleuca,thrice,conductive,sackville,franciscans,stricter,golds,kites,worshiped,monsignor,trios,orally,tiered,primacy,bodywork,castleford,epidemics,alveolar,chapelle,chemists,hillsboro,soulful,warlords,ngati,huguenot,diurnal,remarking,luger,motorways,gauss,jahan,cutoff,proximal,bandai,catchphrase,jonubi,ossetia,codename,codice_2,throated,itinerant,chechnya,riverfront,leela,evoked,entailed,zamboanga,rejoining,circuitry,haymarket,khartoum,feuds,braced,miyazaki,mirren,lubusz,caricature,buttresses,attrition,characterizes,widnes,evanston,materialism,contradictions,marist,midrash,gainsborough,ulithi,turkmen,vidya,escuela,patrician,inspirations,reagent,premierships,humanistic,euphrates,transitioning,belfry,zedong,adaption,kaliningrad,lobos,epics,waiver,coniferous,polydor,inductee,refitted,moraine,unsatisfactory,worsening,polygamy,rajya,nested,subgenre,broadside,stampeders,lingua,incheon,pretender,peloton,persuading,excitation,multan,predates,tonne,brackish,autoimmune,insulated,podcasts,iraqis,bodybuilding,condominiums,midlothian,delft,debtor,asymmetrical,lycaenidae,forcefully,pathogenic,tamaulipas,andaman,intravenous,advancements,senegalese,chronologically,realigned,inquirer,eusebius,dekalb,additives,shortlist,goldwater,hindustani,auditing,caterpillars,pesticide,nakhon,ingestion,lansdowne,traditionalist,northland,thunderbirds,josip,nominating,locale,ventricular,animators,verandah,epistles,surveyors,anthems,dredd,upheaval,passaic,anatolian,svalbard,associative,floodplain,taranaki,estuaries,irreducible,beginners,hammerstein,allocate,coursework,secreted,counteract,handwritten,foundational,passover,discoverer,decoding,wares,bourgeoisie,playgrounds,nazionale,abbreviations,seanad,golan,mishra,godavari,rebranding,attendances,backstory,interrupts,lettered,hasbro,ultralight,hormozgan,armee,moderne,subdue,disuse,improvisational,enrolment,persists,moderated,carinthia,hatchback,inhibitory,capitalized,anatoly,abstracts,albemarle,bergamo,insolvency,sentai,cellars,walloon,joked,kashmiri,dirac,materialized,renomination,homologous,gusts,eighteens,centrifugal,storied,baluchestan,formula_26,poincare,vettel,infuriated,gauges,streetcars,vedanta,stately,liquidated,goguryeo,swifts,accountancy,levee,acadian,hydropower,eustace,comintern,allotment,designating,torsion,molding,irritation,aerobic,halen,concerted,plantings,garrisoned,gramophone,cytoplasm,onslaught,requisitioned,relieving,genitive,centrist,jeong,espanola,dissolving,chatterjee,sparking,connaught,varese,arjuna,carpathian,empowering,meteorologist,decathlon,opioid,hohenzollern,fenced,ibiza,avionics,footscray,scrum,discounts,filament,directories,a.f.c,stiffness,quaternary,adventurers,transmits,harmonious,taizong,radiating,germantown,ejection,projectors,gaseous,nahuatl,vidyalaya,nightlife,redefined,refuted,destitute,arista,potters,disseminated,distanced,jamboree,kaohsiung,tilted,lakeshore,grained,inflicting,kreis,novelists,descendents,mezzanine,recast,fatah,deregulation,ac/dc,australis,kohgiluyeh,boreal,goths,authoring,intoxicated,nonpartisan,theodosius,pyongyang,shree,boyhood,sanfl,plenipotentiary,photosynthesis,presidium,sinaloa,honshu,texan,avenida,transmembrane,malays,acropolis,catalunya,vases,inconsistencies,methodists,quell,suisse,banat,simcoe,cercle,zealanders,discredited,equine,sages,parthian,fascists,interpolation,classifying,spinoff,yehuda,cruised,gypsum,foaled,wallachia,saraswati,imperialist,seabed,footnotes,nakajima,locales,schoolmaster,drosophila,bridgehead,immanuel,courtier,bookseller,niccolo,stylistically,portmanteau,superleague,konkani,millimetres,arboreal,thanjavur,emulation,sounders,decompression,commoners,infusion,methodological,osage,rococo,anchoring,bayreuth,formula_27,abstracting,symbolized,bayonne,electrolyte,rowed,corvettes,traversing,editorship,sampler,presidio,curzon,adirondack,swahili,rearing,bladed,lemur,pashtun,behaviours,bottling,zaire,recognisable,systematics,leeward,formulae,subdistricts,smithfield,vijaya,buoyancy,boosting,cantonal,rishi,airflow,kamakura,adana,emblems,aquifer,clustering,husayn,woolly,wineries,montessori,turntable,exponentially,caverns,espoused,pianists,vorpommern,vicenza,latterly,o'rourke,williamstown,generale,kosice,duisburg,poirot,marshy,mismanagement,mandalay,dagenham,universes,chiral,radiated,stewards,vegan,crankshaft,kyrgyz,amphibian,cymbals,infrequently,offenbach,environmentalist,repatriated,permutations,midshipmen,loudoun,refereed,bamberg,ornamented,nitric,selim,translational,dorsum,annunciation,gippsland,reflector,informational,regia,reactionary,ahmet,weathering,erlewine,legalized,berne,occupant,divas,manifests,analyzes,disproportionate,mitochondria,totalitarian,paulista,interscope,anarcho,correlate,brookfield,elongate,brunel,ordinal,precincts,volatility,equaliser,hittite,somaliland,ticketing,monochrome,ubuntu,chhattisgarh,titleholder,ranches,referendums,blooms,accommodates,merthyr,religiously,ryukyu,tumultuous,checkpoints,anode,mi'kmaq,cannonball,punctuation,remodelled,assassinations,criminology,alternates,yonge,pixar,namibian,piraeus,trondelag,hautes,lifeboats,shoal,atelier,vehemently,sadat,postcode,jainism,lycoming,undisturbed,lutherans,genomics,popmatters,tabriz,isthmian,notched,autistic,horsham,mites,conseil,bloomsbury,seung,cybertron,idris,overhauled,disbandment,idealized,goldfields,worshippers,lobbyist,ailments,paganism,herbarium,athenians,messerschmitt,faraday,entangled,'olya,untreated,criticising,howitzers,parvati,lobed,debussy,atonement,tadeusz,permeability,mueang,sepals,degli,optionally,fuelled,follies,asterisk,pristina,lewiston,congested,overpass,affixed,pleads,telecasts,stanislaus,cryptographic,friesland,hamstring,selkirk,antisubmarine,inundated,overlay,aggregates,fleur,trolleybus,sagan,ibsen,inductees,beltway,tiled,ladders,cadbury,laplace,ascetic,micronesia,conveying,bellingham,cleft,batches,usaid,conjugation,macedon,assisi,reappointed,brine,jinnah,prairies,screenwriting,oxidized,despatches,linearly,fertilizers,brazilians,absorbs,wagga,modernised,scorsese,ashraf,charlestown,esque,habitable,nizhny,lettres,tuscaloosa,esplanade,coalitions,carbohydrates,legate,vermilion,standardised,galleria,psychoanalytic,rearrangement,substation,competency,nationalised,reshuffle,reconstructions,mehdi,bougainville,receivership,contraception,enlistment,conducive,aberystwyth,solicitors,dismisses,fibrosis,montclair,homeowner,surrealism,s.h.i.e.l.d,peregrine,compilers,1790s,parentage,palmas,rzeszow,worldview,eased,svenska,housemate,bundestag,originator,enlisting,outwards,reciprocity,formula_28,carbohydrate,democratically,firefighting,romagna,acknowledgement,khomeini,carbide,quests,vedas,characteristically,guwahati,brixton,unintended,brothels,parietal,namur,sherbrooke,moldavian,baruch,milieu,undulating,laurier,entre,dijon,ethylene,abilene,heracles,paralleling,ceres,dundalk,falun,auspicious,chisinau,polarity,foreclosure,templates,ojibwe,punic,eriksson,biden,bachchan,glaciation,spitfires,norsk,nonviolent,heidegger,algonquin,capacitance,cassettes,balconies,alleles,airdate,conveys,replays,classifies,infrequent,amine,cuttings,rarer,woking,olomouc,amritsar,rockabilly,illyrian,maoist,poignant,tempore,stalinist,segmented,bandmate,mollusc,muhammed,totalled,byrds,tendered,endogenous,kottayam,aisne,oxidase,overhears,illustrators,verve,commercialization,purplish,directv,moulded,lyttelton,baptismal,captors,saracens,georgios,shorten,polity,grids,fitzwilliam,sculls,impurities,confederations,akhtar,intangible,oscillations,parabolic,harlequin,maulana,ovate,tanzanian,singularity,confiscation,qazvin,speyer,phonemes,overgrown,vicarage,gurion,undocumented,niigata,thrones,preamble,stave,interment,liiga,ataturk,aphrodite,groupe,indentured,habsburgs,caption,utilitarian,ozark,slovenes,reproductions,plasticity,serbo,dulwich,castel,barbuda,salons,feuding,lenape,wikileaks,swamy,breuning,shedding,afield,superficially,operationally,lamented,okanagan,hamadan,accolade,furthering,adolphus,fyodor,abridged,cartoonists,pinkish,suharto,cytochrome,methylation,debit,colspan=9|,refine,taoist,signalled,herding,leaved,bayan,fatherland,rampart,sequenced,negation,storyteller,occupiers,barnabas,pelicans,nadir,conscripted,railcars,prerequisite,furthered,columba,carolinas,markup,gwalior,franche,chaco,eglinton,ramparts,rangoon,metabolites,pollination,croat,televisa,holyoke,testimonial,setlist,safavid,sendai,georgians,shakespearean,galleys,regenerative,krzysztof,overtones,estado,barbary,cherbourg,obispo,sayings,composites,sainsbury,deliberation,cosmological,mahalleh,embellished,ascap,biala,pancras,calumet,grands,canvases,antigens,marianas,defenseman,approximated,seedlings,soren,stele,nuncio,immunology,testimonies,glossary,recollections,suitability,tampere,venous,cohomology,methanol,echoing,ivanovich,warmly,sterilization,imran,multiplying,whitechapel,undersea,xuanzong,tacitus,bayesian,roundhouse,correlations,rioters,molds,fiorentina,bandmates,mezzo,thani,guerilla,200th,premiums,tamils,deepwater,chimpanzees,tribesmen,selwyn,globo,turnovers,punctuated,erode,nouvelle,banbury,exponents,abolishing,helical,maimonides,endothelial,goteborg,infield,encroachment,cottonwood,mazowiecki,parable,saarbrucken,reliever,epistemology,artistes,enrich,rationing,formula_29,palmyra,subfamilies,kauai,zoran,fieldwork,arousal,creditor,friuli,celts,comoros,equated,escalation,negev,tallied,inductive,anion,netanyahu,mesoamerican,lepidoptera,aspirated,remit,westmorland,italic,crosse,vaclav,fuego,owain,balmain,venetians,ethnicities,deflected,ticino,apulia,austere,flycatcher,reprising,repressive,hauptbahnhof,subtype,ophthalmology,summarizes,eniwetok,colonisation,subspace,nymphalidae,earmarked,tempe,burnet,crests,abbots,norwegians,enlarge,ashoka,frankfort,livorno,malware,renters,singly,iliad,moresby,rookies,gustavus,affirming,alleges,legume,chekhov,studded,abdicated,suzhou,isidore,townsite,repayment,quintus,yankovic,amorphous,constructor,narrowing,industrialists,tanganyika,capitalization,connective,mughals,rarities,aerodynamics,worthing,antalya,diagnostics,shaftesbury,thracian,obstetrics,benghazi,multiplier,orbitals,livonia,roscommon,intensify,ravel,oaths,overseer,locomotion,necessities,chickasaw,strathclyde,treviso,erfurt,aortic,contemplation,accrington,markazi,predeceased,hippocampus,whitecaps,assemblyman,incursion,ethnography,extraliga,reproducing,directorship,benzene,byway,stupa,taxable,scottsdale,onondaga,favourably,countermeasures,lithuanians,thatched,deflection,tarsus,consuls,annuity,paralleled,contextual,anglian,klang,hoisted,multilingual,enacting,samaj,taoiseach,carthaginian,apologised,hydrology,entrant,seamless,inflorescences,mugabe,westerners,seminaries,wintering,penzance,mitre,sergeants,unoccupied,delimitation,discriminate,upriver,abortive,nihon,bessarabia,calcareous,buffaloes,patil,daegu,streamline,berks,chaparral,laity,conceptions,typified,kiribati,threaded,mattel,eccentricity,signified,patagonia,slavonia,certifying,adnan,astley,sedition,minimally,enumerated,nikos,goalless,walid,narendra,causa,missoula,coolant,dalek,outcrop,hybridization,schoolchildren,peasantry,afghans,confucianism,shahr,gallic,tajik,kierkegaard,sauvignon,commissar,patriarchs,tuskegee,prussians,laois,ricans,talmudic,officiating,aesthetically,baloch,antiochus,separatists,suzerainty,arafat,shading,u.s.c,chancellors,inc..,toolkit,nepenthes,erebidae,solicited,pratap,kabbalah,alchemist,caltech,darjeeling,biopic,spillway,kaiserslautern,nijmegen,bolstered,neath,pahlavi,eugenics,bureaus,retook,northfield,instantaneous,deerfield,humankind,selectivity,putative,boarders,cornhuskers,marathas,raikkonen,aliabad,mangroves,garages,gulch,karzai,poitiers,chernobyl,thane,alexios,belgrano,scion,solubility,urbanized,executable,guizhou,nucleic,tripled,equalled,harare,houseguests,potency,ghazi,repeater,overarching,regrouped,broward,ragtime,d'art,nandi,regalia,campsites,mamluk,plating,wirral,presumption,zenit,archivist,emmerdale,decepticon,carabidae,kagoshima,franconia,guarani,formalism,diagonally,submarginal,denys,walkways,punts,metrolink,hydrographic,droplets,upperside,martyred,hummingbird,antebellum,curiously,mufti,friary,chabad,czechs,shaykh,reactivity,berklee,turbonilla,tongan,sultans,woodville,unlicensed,enmity,dominicans,operculum,quarrying,watercolour,catalyzed,gatwick,'what,mesozoic,auditors,shizuoka,footballing,haldane,telemundo,appended,deducted,disseminate,o'shea,pskov,abrasive,entente,gauteng,calicut,lemurs,elasticity,suffused,scopula,staining,upholding,excesses,shostakovich,loanwords,naidu,championnat,chromatography,boasting,goaltenders,engulfed,salah,kilogram,morristown,shingles,shi'a,labourer,renditions,frantisek,jekyll,zonal,nanda,sheriffs,eigenvalues,divisione,endorsing,ushered,auvergne,cadres,repentance,freemasons,utilising,laureates,diocletian,semiconductors,o'grady,vladivostok,sarkozy,trackage,masculinity,hydroxyl,mervyn,muskets,speculations,gridiron,opportunistic,mascots,aleutian,fillies,sewerage,excommunication,borrowers,capillary,trending,sydenham,synthpop,rajah,cagayan,deportes,kedah,faure,extremism,michoacan,levski,culminates,occitan,bioinformatics,unknowingly,inciting,emulated,footpaths,piacenza,dreadnought,viceroyalty,oceanographic,scouted,combinatorial,ornithologist,cannibalism,mujahideen,independiente,cilicia,hindwing,minimized,odeon,gyorgy,rubles,purchaser,collieries,kickers,interurban,coiled,lynchburg,respondent,plzen,detractors,etchings,centering,intensification,tomography,ranjit,warblers,retelling,reinstatement,cauchy,modulus,redirected,evaluates,beginner,kalateh,perforated,manoeuvre,scrimmage,internships,megawatts,mottled,haakon,tunbridge,kalyan,summarised,sukarno,quetta,canonized,henryk,agglomeration,coahuila,diluted,chiropractic,yogyakarta,talladega,sheik,cation,halting,reprisals,sulfuric,musharraf,sympathizers,publicised,arles,lectionary,fracturing,startups,sangha,latrobe,rideau,ligaments,blockading,cremona,lichens,fabaceae,modulated,evocative,embodies,battersea,indistinct,altai,subsystem,acidity,somatic,formula_30,tariq,rationality,sortie,ashlar,pokal,cytoplasmic,valour,bangla,displacing,hijacking,spectrometry,westmeath,weill,charing,goias,revolvers,individualized,tenured,nawaz,piquet,chanted,discard,bernd,phalanx,reworking,unilaterally,subclass,yitzhak,piloting,circumvent,disregarded,semicircular,viscous,tibetans,endeavours,retaliated,cretan,vienne,workhouse,sufficiency,aurangzeb,legalization,lipids,expanse,eintracht,sanjak,megas,125th,bahraini,yakima,eukaryotes,thwart,affirmation,peloponnese,retailing,carbonyl,chairwoman,macedonians,dentate,rockaway,correctness,wealthier,metamorphic,aragonese,fermanagh,pituitary,schrodinger,evokes,spoiler,chariots,akita,genitalia,combe,confectionery,desegregation,experiential,commodores,persepolis,viejo,restorations,virtualization,hispania,printmaking,stipend,yisrael,theravada,expended,radium,tweeted,polygonal,lippe,charente,leveraged,cutaneous,fallacy,fragrant,bypasses,elaborately,rigidity,majid,majorca,kongo,plasmodium,skits,audiovisual,eerste,staircases,prompts,coulthard,northwestward,riverdale,beatrix,copyrights,prudential,communicates,mated,obscenity,asynchronous,analyse,hansa,searchlight,farnborough,patras,asquith,qarah,contours,fumbled,pasteur,redistributed,almeria,sanctuaries,jewry,israelite,clinicians,koblenz,bookshop,affective,goulburn,panelist,sikorsky,cobham,mimics,ringed,portraiture,probabilistic,girolamo,intelligible,andalusian,jalal,athenaeum,eritrean,auxiliaries,pittsburg,devolution,sangam,isolating,anglers,cronulla,annihilated,kidderminster,synthesize,popularised,theophilus,bandstand,innumerable,chagrin,retroactively,weser,multiples,birdlife,goryeo,pawnee,grosser,grappling,tactile,ahmadinejad,turboprop,erdogan,matchday,proletarian,adhering,complements,austronesian,adverts,luminaries,archeology,impressionism,conifer,sodomy,interracial,platoons,lessen,postings,pejorative,registrations,cookery,persecutions,microbes,audits,idiosyncratic,subsp,suspensions,restricts,colouring,ratify,instrumentals,nucleotides,sulla,posits,bibliotheque,diameters,oceanography,instigation,subsumed,submachine,acceptor,legation,borrows,sedge,discriminated,loaves,insurers,highgate,detectable,abandons,kilns,sportscaster,harwich,iterations,preakness,arduous,tensile,prabhu,shortwave,philologist,shareholding,vegetative,complexities,councilors,distinctively,revitalize,automaton,amassing,montreux,khanh,surabaya,nurnberg,pernambuco,cuisines,charterhouse,firsts,tercera,inhabitant,homophobia,naturalism,einar,powerplant,coruna,entertainments,whedon,rajputs,raton,democracies,arunachal,oeuvre,wallonia,jeddah,trolleybuses,evangelism,vosges,kiowa,minimise,encirclement,undertakes,emigrant,beacons,deepened,grammars,publius,preeminent,seyyed,repechage,crafting,headingley,osteopathic,lithography,hotly,bligh,inshore,betrothed,olympians,formula_31,dissociation,trivandrum,arran,petrovic,stettin,disembarked,simplification,bronzes,philo,acrobatic,jonsson,conjectured,supercharged,kanto,detects,cheeses,correlates,harmonics,lifecycle,sudamericana,reservists,decayed,elitserien,parametric,113th,dusky,hogarth,modulo,symbiotic,monopolies,discontinuation,converges,southerners,tucuman,eclipses,enclaves,emits,famicom,caricatures,artistically,levelled,mussels,erecting,mouthparts,cunard,octaves,crucible,guardia,unusable,lagrangian,droughts,ephemeral,pashto,canis,tapering,sasebo,silurian,metallurgical,outscored,evolves,reissues,sedentary,homotopy,greyhawk,reagents,inheriting,onshore,tilting,rebuffed,reusable,naturalists,basingstoke,insofar,offensives,dravidian,curators,planks,rajan,isoforms,flagstaff,preside,globular,egalitarian,linkages,biographers,goalscorers,molybdenum,centralised,nordland,jurists,ellesmere,rosberg,hideyoshi,restructure,biases,borrower,scathing,redress,tunnelling,workflow,magnates,mahendra,dissenters,plethora,transcriptions,handicrafts,keyword,xi'an,petrograd,unser,prokofiev,90deg,madan,bataan,maronite,kearny,carmarthen,termini,consulates,disallowed,rockville,bowery,fanzine,docklands,bests,prohibitions,yeltsin,selassie,naturalization,realisation,dispensary,tribeca,abdulaziz,pocahontas,stagnation,pamplona,cuneiform,propagating,subsurface,christgau,epithelium,schwerin,lynching,routledge,hanseatic,upanishad,glebe,yugoslavian,complicity,endowments,girona,mynetworktv,entomology,plinth,ba'ath,supercup,torus,akkadian,salted,englewood,commandery,belgaum,prefixed,colorless,dartford,enthroned,caesarea,nominative,sandown,safeguards,hulled,formula_32,leamington,dieppe,spearhead,generalizations,demarcation,llanelli,masque,brickwork,recounting,sufism,strikingly,petrochemical,onslow,monologues,emigrating,anderlecht,sturt,hossein,sakhalin,subduction,novices,deptford,zanjan,airstrikes,coalfield,reintroduction,timbaland,hornby,messianic,stinging,universalist,situational,radiocarbon,strongman,rowling,saloons,traffickers,overran,fribourg,cambrai,gravesend,discretionary,finitely,archetype,assessor,pilipinas,exhumed,invocation,interacted,digitized,timisoara,smelter,teton,sexism,precepts,srinagar,pilsudski,carmelite,hanau,scoreline,hernando,trekking,blogging,fanbase,wielded,vesicles,nationalization,banja,rafts,motoring,luang,takeda,girder,stimulates,histone,sunda,nanoparticles,attains,jumpers,catalogued,alluding,pontus,ancients,examiners,shinkansen,ribbentrop,reimbursement,pharmacological,ramat,stringed,imposes,cheaply,transplanted,taiping,mizoram,looms,wallabies,sideman,kootenay,encased,sportsnet,revolutionized,tangier,benthic,runic,pakistanis,heatseekers,shyam,mishnah,presbyterians,stadt,sutras,straddles,zoroastrian,infer,fueling,gymnasts,ofcom,gunfight,journeyman,tracklist,oshawa,ps500,pa'in,mackinac,xiongnu,mississippian,breckinridge,freemason,bight,autoroute,liberalization,distantly,thrillers,solomons,presumptive,romanization,anecdotal,bohemians,unpaved,milder,concurred,spinners,alphabets,strenuous,rivieres,kerrang,mistreatment,dismounted,intensively,carlist,dancehall,shunting,pluralism,trafficked,brokered,bonaventure,bromide,neckar,designates,malian,reverses,sotheby,sorghum,serine,environmentalists,languedoc,consulship,metering,bankstown,handlers,militiamen,conforming,regularity,pondicherry,armin,capsized,consejo,capitalists,drogheda,granular,purged,acadians,endocrine,intramural,elicit,terns,orientations,miklos,omitting,apocryphal,slapstick,brecon,pliocene,affords,typography,emigre,tsarist,tomasz,beset,nishi,necessitating,encyclical,roleplaying,journeyed,inflow,sprints,progressives,novosibirsk,cameroonian,ephesus,speckled,kinshasa,freiherr,burnaby,dalmatian,torrential,rigor,renegades,bhakti,nurburgring,cosimo,convincingly,reverting,visayas,lewisham,charlottetown,charadriiformesfamily,transferable,jodhpur,converters,deepening,camshaft,underdeveloped,protease,polonia,uterine,quantify,tobruk,dealerships,narasimha,fortran,inactivity,1780s,victors,categorised,naxos,workstation,skink,sardinian,chalice,precede,dammed,sondheim,phineas,tutored,sourcing,uncompromising,placer,tyneside,courtiers,proclaims,pharmacies,hyogo,booksellers,sengoku,kursk,spectrometer,countywide,wielkopolski,bobsleigh,shetty,llywelyn,consistory,heretics,guinean,cliches,individualism,monolithic,imams,usability,bursa,deliberations,railings,torchwood,inconsistency,balearic,stabilizer,demonstrator,facet,radioactivity,outboard,educates,d'oyly,heretical,handover,jurisdictional,shockwave,hispaniola,conceptually,routers,unaffiliated,trentino,formula_33,cypriots,intervenes,neuchatel,formulating,maggiore,delisted,alcohols,thessaly,potable,estimator,suborder,fluency,mimicry,clergymen,infrastructures,rivals.com,baroda,subplot,majlis,plano,clinching,connotation,carinae,savile,intercultural,transcriptional,sandstones,ailerons,annotations,impresario,heinkel,scriptural,intermodal,astrological,ribbed,northeastward,posited,boers,utilise,kalmar,phylum,breakwater,skype,textured,guideline,azeri,rimini,massed,subsidence,anomalous,wolfsburg,polyphonic,accrediting,vodacom,kirov,captaining,kelantan,logie,fervent,eamon,taper,bundeswehr,disproportionately,divination,slobodan,pundits,hispano,kinetics,reunites,makati,ceasing,statistician,amending,chiltern,eparchy,riverine,melanoma,narragansett,pagans,raged,toppled,breaching,zadar,holby,dacian,ochre,velodrome,disparities,amphoe,sedans,webpage,williamsport,lachlan,groton,baring,swastika,heliport,unwillingness,razorbacks,exhibitors,foodstuffs,impacting,tithe,appendages,dermot,subtypes,nurseries,balinese,simulating,stary,remakes,mundi,chautauqua,geologically,stockade,hakka,dilute,kalimantan,pahang,overlapped,fredericton,baha'u'llah,jahangir,damping,benefactors,shomali,triumphal,cieszyn,paradigms,shielded,reggaeton,maharishi,zambian,shearing,golestan,mirroring,partitioning,flyover,songbook,incandescent,merrimack,huguenots,sangeet,vulnerabilities,trademarked,drydock,tantric,honoris,queenstown,labelling,iterative,enlists,statesmen,anglicans,herge,qinghai,burgundian,islami,delineated,zhuge,aggregated,banknote,qatari,suitably,tapestries,asymptotic,charleroi,majorities,pyramidellidae,leanings,climactic,tahir,ramsar,suppressor,revisionist,trawler,ernakulam,penicillium,categorization,slits,entitlement,collegium,earths,benefice,pinochet,puritans,loudspeaker,stockhausen,eurocup,roskilde,alois,jaroslav,rhondda,boutiques,vigor,neurotransmitter,ansar,malden,ferdinando,sported,relented,intercession,camberwell,wettest,thunderbolts,positional,oriel,cloverleaf,penalized,shoshone,rajkumar,completeness,sharjah,chromosomal,belgians,woolen,ultrasonic,sequentially,boleyn,mordella,microsystems,initiator,elachista,mineralogy,rhododendron,integrals,compostela,hamza,sawmills,stadio,berlioz,maidens,stonework,yachting,tappeh,myocardial,laborer,workstations,costumed,nicaea,lanark,roundtable,mashhad,nablus,algonquian,stuyvesant,sarkar,heroines,diwan,laments,intonation,intrigues,almaty,feuded,grandes,algarve,rehabilitate,macrophages,cruciate,dismayed,heuristic,eliezer,kozhikode,covalent,finalised,dimorphism,yaroslavl,overtaking,leverkusen,middlebury,feeders,brookings,speculates,insoluble,lodgings,jozsef,cysteine,shenyang,habilitation,spurious,brainchild,mtdna,comique,albedo,recife,partick,broadening,shahi,orientated,himalaya,swabia,palme,mennonites,spokeswoman,conscripts,sepulchre,chartres,eurozone,scaffold,invertebrate,parishad,bagan,heian,watercolors,basse,supercomputer,commences,tarragona,plainfield,arthurian,functor,identically,murex,chronicling,pressings,burrowing,histoire,guayaquil,goalkeeping,differentiable,warburg,machining,aeneas,kanawha,holocene,ramesses,reprisal,qingdao,avatars,turkestan,cantatas,besieging,repudiated,teamsters,equipping,hydride,ahmadiyya,euston,bottleneck,computations,terengganu,kalinga,stela,rediscovery,'this,azhar,stylised,karelia,polyethylene,kansai,motorised,lounges,normalization,calculators,1700s,goalkeepers,unfolded,commissary,cubism,vignettes,multiverse,heaters,briton,sparingly,childcare,thorium,plock,riksdag,eunuchs,catalysis,limassol,perce,uncensored,whitlam,ulmus,unites,mesopotamian,refraction,biodiesel,forza,fulda,unseated,mountbatten,shahrak,selenium,osijek,mimicking,antimicrobial,axons,simulcasting,donizetti,swabian,sportsmen,hafiz,neared,heraclius,locates,evaded,subcarpathian,bhubaneswar,negeri,jagannath,thaksin,aydin,oromo,lateran,goldsmiths,multiculturalism,cilia,mihai,evangelists,lorient,qajar,polygons,vinod,mechanised,anglophone,prefabricated,mosses,supervillain,airliners,biofuels,iodide,innovators,valais,wilberforce,logarithm,intelligentsia,dissipation,sanctioning,duchies,aymara,porches,simulators,mostar,telepathic,coaxial,caithness,burghs,fourths,stratification,joaquim,scribes,meteorites,monarchist,germination,vries,desiring,replenishment,istria,winemaking,tammany,troupes,hetman,lanceolate,pelagic,triptych,primeira,scant,outbound,hyphae,denser,bentham,basie,normale,executes,ladislaus,kontinental,herat,cruiserweight,activision,customization,manoeuvres,inglewood,northwood,waveform,investiture,inpatient,alignments,kiryat,rabat,archimedes,ustad,monsanto,archetypal,kirkby,sikhism,correspondingly,catskill,overlaid,petrels,widowers,unicameral,federalists,metalcore,gamerankings,mussel,formula_34,lymphocytes,cystic,southgate,vestiges,immortals,kalam,strove,amazons,pocono,sociologists,sopwith,adheres,laurens,caregivers,inspecting,transylvanian,rebroadcast,rhenish,miserables,pyrams,blois,newtonian,carapace,redshirt,gotland,nazir,unilever,distortions,linebackers,federalism,mombasa,lumen,bernoulli,favouring,aligarh,denounce,steamboats,dnieper,stratigraphic,synths,bernese,umass,icebreaker,guanajuato,heisenberg,boldly,diodes,ladakh,dogmatic,scriptwriter,maritimes,battlestar,symposia,adaptable,toluca,bhavan,nanking,ieyasu,picardy,soybean,adalbert,brompton,deutsches,brezhnev,glandular,laotian,hispanicized,ibadan,personification,dalit,yamuna,regio,dispensed,yamagata,zweibrucken,revising,fandom,stances,participle,flavours,khitan,vertebral,crores,mayaguez,dispensation,guntur,undefined,harpercollins,unionism,meena,leveling,philippa,refractory,telstra,judea,attenuation,pylons,elaboration,elegy,edging,gracillariidae,residencies,absentia,reflexive,deportations,dichotomy,stoves,sanremo,shimon,menachem,corneal,conifers,mordellidae,facsimile,diagnoses,cowper,citta,viticulture,divisive,riverview,foals,mystics,polyhedron,plazas,airspeed,redgrave,motherland,impede,multiplicity,barrichello,airships,pharmacists,harvester,clays,payloads,differentiating,popularize,caesars,tunneling,stagnant,circadian,indemnity,sensibilities,musicology,prefects,serfs,metra,lillehammer,carmarthenshire,kiosks,welland,barbican,alkyl,tillandsia,gatherers,asociacion,showings,bharati,brandywine,subversion,scalable,pfizer,dawla,barium,dardanelles,nsdap,konig,ayutthaya,hodgkin,sedimentation,completions,purchasers,sponsorships,maximizing,banked,taoism,minot,enrolls,fructose,aspired,capuchin,outages,artois,carrollton,totality,osceola,pawtucket,fontainebleau,converged,queretaro,competencies,botha,allotments,sheaf,shastri,obliquely,banding,catharines,outwardly,monchengladbach,driest,contemplative,cassini,ranga,pundit,kenilworth,tiananmen,disulfide,formula_35,townlands,codice_3,looping,caravans,rachmaninoff,segmentation,fluorine,anglicised,gnostic,dessau,discern,reconfigured,altrincham,rebounding,battlecruiser,ramblers,1770s,convective,triomphe,miyagi,mourners,instagram,aloft,breastfeeding,courtyards,folkestone,changsha,kumamoto,saarland,grayish,provisionally,appomattox,uncial,classicism,mahindra,elapsed,supremes,monophyletic,cautioned,formula_36,noblewoman,kernels,sucre,swaps,bengaluru,grenfell,epicenter,rockhampton,worshipful,licentiate,metaphorical,malankara,amputated,wattle,palawan,tankobon,nobunaga,polyhedra,transduction,jilin,syrians,affinities,fluently,emanating,anglicized,sportscar,botanists,altona,dravida,chorley,allocations,kunming,luanda,premiering,outlived,mesoamerica,lingual,dissipating,impairments,attenborough,balustrade,emulator,bakhsh,cladding,increments,ascents,workington,qal'eh,winless,categorical,petrel,emphasise,dormer,toros,hijackers,telescopic,solidly,jankovic,cession,gurus,madoff,newry,subsystems,northside,talib,englishmen,farnese,holographic,electives,argonne,scrivener,predated,brugge,nauvoo,catalyses,soared,siddeley,graphically,powerlifting,funicular,sungai,coercive,fusing,uncertainties,locos,acetic,diverge,wedgwood,dressings,tiebreaker,didactic,vyacheslav,acreage,interplanetary,battlecruisers,sunbury,alkaloids,hairpin,automata,wielkie,interdiction,plugins,monkees,nudibranch,esporte,approximations,disabling,powering,characterisation,ecologically,martinsville,termen,perpetuated,lufthansa,ascendancy,motherboard,bolshoi,athanasius,prunus,dilution,invests,nonzero,mendocino,charan,banque,shaheed,counterculture,unita,voivode,hospitalization,vapour,supermarine,resistor,steppes,osnabruck,intermediates,benzodiazepines,sunnyside,privatized,geopolitical,ponta,beersheba,kievan,embody,theoretic,sangh,cartographer,blige,rotors,thruway,battlefields,discernible,demobilized,broodmare,colouration,sagas,policymakers,serialization,augmentation,hoare,frankfurter,transnistria,kinases,detachable,generational,converging,antiaircraft,khaki,bimonthly,coadjutor,arkhangelsk,kannur,buffers,livonian,northwich,enveloped,cysts,yokozuna,herne,beeching,enron,virginian,woollen,excepting,competitively,outtakes,recombinant,hillcrest,clearances,pathe,cumbersome,brasov,u.s.a,likud,christiania,cruciform,hierarchies,wandsworth,lupin,resins,voiceover,sitar,electrochemical,mediacorp,typhus,grenadiers,hepatic,pompeii,weightlifter,bosniak,oxidoreductase,undersecretary,rescuers,ranji,seleucid,analysing,exegesis,tenancy,toure,kristiansand,110th,carillon,minesweepers,poitou,acceded,palladian,redevelop,naismith,rifled,proletariat,shojo,hackensack,harvests,endpoint,kuban,rosenborg,stonehenge,authorisation,jacobean,revocation,compatriots,colliding,undetermined,okayama,acknowledgment,angelou,fresnel,chahar,ethereal,mg/kg,emmet,mobilised,unfavourable,cultura,characterizing,parsonage,skeptics,expressways,rabaul,medea,guardsmen,visakhapatnam,caddo,homophobic,elmwood,encircling,coexistence,contending,seljuk,mycologist,infertility,moliere,insolvent,covenants,underpass,holme,landesliga,workplaces,delinquency,methamphetamine,contrived,tableau,tithes,overlying,usurped,contingents,spares,oligocene,molde,beatification,mordechai,balloting,pampanga,navigators,flowered,debutant,codec,orogeny,newsletters,solon,ambivalent,ubisoft,archdeaconry,harpers,kirkus,jabal,castings,kazhagam,sylhet,yuwen,barnstaple,amidships,causative,isuzu,watchtower,granules,canaveral,remuneration,insurer,payout,horizonte,integrative,attributing,kiwis,skanderbeg,asymmetry,gannett,urbanism,disassembled,unaltered,precluded,melodifestivalen,ascends,plugin,gurkha,bisons,stakeholder,industrialisation,abbotsford,sextet,bustling,uptempo,slavia,choreographers,midwives,haram,javed,gazetteer,subsection,natively,weighting,lysine,meera,redbridge,muchmusic,abruzzo,adjoins,unsustainable,foresters,kbit/s,cosmopterigidae,secularism,poetics,causality,phonograph,estudiantes,ceausescu,universitario,adjoint,applicability,gastropods,nagaland,kentish,mechelen,atalanta,woodpeckers,lombards,gatineau,romansh,avraham,acetylcholine,perturbation,galois,wenceslaus,fuzhou,meandering,dendritic,sacristy,accented,katha,therapeutics,perceives,unskilled,greenhouses,analogues,chaldean,timbre,sloped,volodymyr,sadiq,maghreb,monogram,rearguard,caucuses,mures,metabolite,uyezd,determinism,theosophical,corbet,gaels,disruptions,bicameral,ribosomal,wolseley,clarksville,watersheds,tarsi,radon,milanese,discontinuous,aristotelian,whistleblower,representational,hashim,modestly,localised,atrial,hazara,ravana,troyes,appointees,rubus,morningside,amity,aberdare,ganglia,wests,zbigniew,aerobatic,depopulated,corsican,introspective,twinning,hardtop,shallower,cataract,mesolithic,emblematic,graced,lubrication,republicanism,voronezh,bastions,meissen,irkutsk,oboes,hokkien,sprites,tenet,individualist,capitulated,oakville,dysentery,orientalist,hillsides,keywords,elicited,incised,lagging,apoel,lengthening,attractiveness,marauders,sportswriter,decentralization,boltzmann,contradicts,draftsman,precipitate,solihull,norske,consorts,hauptmann,riflemen,adventists,syndromes,demolishing,customize,continuo,peripherals,seamlessly,linguistically,bhushan,orphanages,paraul,lessened,devanagari,quarto,responders,patronymic,riemannian,altoona,canonization,honouring,geodetic,exemplifies,republica,enzymatic,porters,fairmount,pampa,sufferers,kamchatka,conjugated,coachella,uthman,repositories,copious,headteacher,awami,phoneme,homomorphism,franconian,moorland,davos,quantified,kamloops,quarks,mayoralty,weald,peacekeepers,valerian,particulate,insiders,perthshire,caches,guimaraes,piped,grenadines,kosciuszko,trombonist,artemisia,covariance,intertidal,soybeans,beatified,ellipse,fruiting,deafness,dnipropetrovsk,accrued,zealous,mandala,causation,junius,kilowatt,bakeries,montpelier,airdrie,rectified,bungalows,toleration,debian,pylon,trotskyist,posteriorly,two-and-a-half,herbivorous,islamists,poetical,donne,wodehouse,frome,allium,assimilate,phonemic,minaret,unprofitable,darpa,untenable,leaflet,bitcoin,zahir,thresholds,argentino,jacopo,bespoke,stratified,wellbeing,shiite,basaltic,timberwolves,secrete,taunts,marathons,isomers,carre,consecrators,penobscot,pitcairn,sakha,crosstown,inclusions,impassable,fenders,indre,uscgc,jordi,retinue,logarithmic,pilgrimages,railcar,cashel,blackrock,macroscopic,aligning,tabla,trestle,certify,ronson,palps,dissolves,thickened,silicate,taman,walsingham,hausa,lowestoft,rondo,oleksandr,cuyahoga,retardation,countering,cricketing,holborn,identifiers,hells,geophysics,infighting,sculpting,balaji,webbed,irradiation,runestone,trusses,oriya,sojourn,forfeiture,colonize,exclaimed,eucharistic,lackluster,glazing,northridge,gutenberg,stipulates,macroeconomic,priori,outermost,annular,udinese,insulating,headliner,godel,polytope,megalithic,salix,sharapova,derided,muskegon,braintree,plateaus,confers,autocratic,isomer,interstitial,stamping,omits,kirtland,hatchery,evidences,intifada,111th,podgorica,capua,motivating,nuneaton,jakub,korsakov,amitabh,mundial,monrovia,gluten,predictor,marshalling,d'orleans,levers,touchscreen,brantford,fricative,banishment,descendent,antagonism,ludovico,loudspeakers,formula_37,livelihoods,manassas,steamships,dewsbury,uppermost,humayun,lures,pinnacles,dependents,lecce,clumps,observatories,paleozoic,dedicating,samiti,draughtsman,gauls,incite,infringing,nepean,pythagorean,convents,triumvirate,seigneur,gaiman,vagrant,fossa,byproduct,serrated,renfrewshire,sheltering,achaemenid,dukedom,catchers,sampdoria,platelet,bielefeld,fluctuating,phenomenology,strikeout,ethnology,prospectors,woodworking,tatra,wildfires,meditations,agrippa,fortescue,qureshi,wojciech,methyltransferase,accusative,saatchi,amerindian,volcanism,zeeland,toyama,vladimirovich,allege,polygram,redox,budgeted,advisories,nematode,chipset,starscream,tonbridge,hardening,shales,accompanist,paraded,phonographic,whitefish,sportive,audiobook,kalisz,hibernation,latif,duels,ps200,coxeter,nayak,safeguarding,cantabria,minesweeping,zeiss,dunams,catholicos,sawtooth,ontological,nicobar,bridgend,unclassified,intrinsically,hanoverian,rabbitohs,kenseth,alcalde,northumbrian,raritan,septuagint,presse,sevres,origen,dandenong,peachtree,intersected,impeded,usages,hippodrome,novara,trajectories,customarily,yardage,inflected,yanow,kalan,taverns,liguria,librettist,intermarriage,1760s,courant,gambier,infanta,ptolemaic,ukulele,haganah,sceptical,manchukuo,plexus,implantation,hilal,intersex,efficiencies,arbroath,hagerstown,adelphi,diario,marais,matti,lifes,coining,modalities,divya,bletchley,conserving,ivorian,mithridates,generative,strikeforce,laymen,toponymy,pogrom,satya,meticulously,agios,dufferin,yaakov,fortnightly,cargoes,deterrence,prefrontal,przemysl,mitterrand,commemorations,chatsworth,gurdwara,abuja,chakraborty,badajoz,geometries,artiste,diatonic,ganglion,presides,marymount,nanak,cytokines,feudalism,storks,rowers,widens,politico,evangelicals,assailants,pittsfield,allowable,bijapur,telenovelas,dichomeris,glenelg,herbivores,keita,inked,radom,fundraisers,constantius,boheme,portability,komnenos,crystallography,derrida,moderates,tavistock,fateh,spacex,disjoint,bristles,commercialized,interwoven,empirically,regius,bulacan,newsday,showa,radicalism,yarrow,pleura,sayed,structuring,cotes,reminiscences,acetyl,edicts,escalators,aomori,encapsulated,legacies,bunbury,placings,fearsome,postscript,powerfully,keighley,hildesheim,amicus,crevices,deserters,benelux,aurangabad,freeware,ioannis,carpathians,chirac,seceded,prepaid,landlocked,naturalised,yanukovych,soundscan,blotch,phenotypic,determinants,twente,dictatorial,giessen,composes,recherche,pathophysiology,inventories,ayurveda,elevating,gravestone,degeneres,vilayet,popularizing,spartanburg,bloemfontein,previewed,renunciation,genotype,ogilvy,tracery,blacklisted,emissaries,diploid,disclosures,tupolev,shinjuku,antecedents,pennine,braganza,bhattacharya,countable,spectroscopic,ingolstadt,theseus,corroborated,compounding,thrombosis,extremadura,medallions,hasanabad,lambton,perpetuity,glycol,besancon,palaiologos,pandey,caicos,antecedent,stratum,laserdisc,novitiate,crowdfunding,palatal,sorceress,dassault,toughness,celle,cezanne,vientiane,tioga,hander,crossbar,gisborne,cursor,inspectorate,serif,praia,sphingidae,nameplate,psalter,ivanovic,sitka,equalised,mutineers,sergius,outgrowth,creationism,haredi,rhizomes,predominate,undertakings,vulgate,hydrothermal,abbeville,geodesic,kampung,physiotherapy,unauthorised,asteraceae,conservationist,minoan,supersport,mohammadabad,cranbrook,mentorship,legitimately,marshland,datuk,louvain,potawatomi,carnivores,levies,lyell,hymnal,regionals,tinto,shikoku,conformal,wanganui,beira,lleida,standstill,deloitte,formula_40,corbusier,chancellery,mixtapes,airtime,muhlenberg,formula_39,bracts,thrashers,prodigious,gironde,chickamauga,uyghurs,substitutions,pescara,batangas,gregarious,gijon,paleo,mathura,pumas,proportionally,hawkesbury,yucca,kristiania,funimation,fluted,eloquence,mohun,aftermarket,chroniclers,futurist,nonconformist,branko,mannerisms,lesnar,opengl,altos,retainers,ashfield,shelbourne,sulaiman,divisie,gwent,locarno,lieder,minkowski,bivalve,redeployed,cartography,seaway,bookings,decays,ostend,antiquaries,pathogenesis,formula_38,chrysalis,esperance,valli,motogp,homelands,bridged,bloor,ghazal,vulgaris,baekje,prospector,calculates,debtors,hesperiidae,titian,returner,landgrave,frontenac,kelowna,pregame,castelo,caius,canoeist,watercolours,winterthur,superintendents,dissonance,dubstep,adorn,matic,salih,hillel,swordsman,flavoured,emitter,assays,monongahela,deeded,brazzaville,sufferings,babylonia,fecal,umbria,astrologer,gentrification,frescos,phasing,zielona,ecozone,candido,manoj,quadrilateral,gyula,falsetto,prewar,puntland,infinitive,contraceptive,bakhtiari,ohrid,socialization,tailplane,evoking,havelock,macapagal,plundering,104th,keynesian,templars,phrasing,morphologically,czestochowa,humorously,catawba,burgas,chiswick,ellipsoid,kodansha,inwards,gautama,katanga,orthopaedic,heilongjiang,sieges,outsourced,subterminal,vijayawada,hares,oration,leitrim,ravines,manawatu,cryogenic,tracklisting,about.com,ambedkar,degenerated,hastened,venturing,lobbyists,shekhar,typefaces,northcote,rugen,'good,ornithology,asexual,hemispheres,unsupported,glyphs,spoleto,epigenetic,musicianship,donington,diogo,kangxi,bisected,polymorphism,megawatt,salta,embossed,cheetahs,cruzeiro,unhcr,aristide,rayleigh,maturing,indonesians,noire,llano,ffffff,camus,purges,annales,convair,apostasy,algol,phage,apaches,marketers,aldehyde,pompidou,kharkov,forgeries,praetorian,divested,retrospectively,gornji,scutellum,bitumen,pausanias,magnification,imitations,nyasaland,geographers,floodlights,athlone,hippolyte,expositions,clarinetist,razak,neutrinos,rotax,sheykh,plush,interconnect,andalus,cladogram,rudyard,resonator,granby,blackfriars,placido,windscreen,sahel,minamoto,haida,cations,emden,blackheath,thematically,blacklist,pawel,disseminating,academical,undamaged,raytheon,harsher,powhatan,ramachandran,saddles,paderborn,capping,zahra,prospecting,glycine,chromatin,profane,banska,helmand,okinawan,dislocation,oscillators,insectivorous,foyle,gilgit,autonomic,tuareg,sluice,pollinated,multiplexed,granary,narcissus,ranchi,staines,nitra,goalscoring,midwifery,pensioners,algorithmic,meetinghouse,biblioteca,besar,narva,angkor,predate,lohan,cyclical,detainee,occipital,eventing,faisalabad,dartmoor,kublai,courtly,resigns,radii,megachilidae,cartels,shortfall,xhosa,unregistered,benchmarks,dystopian,bulkhead,ponsonby,jovanovic,accumulates,papuan,bhutanese,intuitively,gotaland,headliners,recursion,dejan,novellas,diphthongs,imbued,withstood,analgesic,amplify,powertrain,programing,maidan,alstom,affirms,eradicated,summerslam,videogame,molla,severing,foundered,gallium,atmospheres,desalination,shmuel,howmeh,catolica,bossier,reconstructing,isolates,lyase,tweets,unconnected,tidewater,divisible,cohorts,orebro,presov,furnishing,folklorist,simplifying,centrale,notations,factorization,monarchies,deepen,macomb,facilitation,hennepin,declassified,redrawn,microprocessors,preliminaries,enlarging,timeframe,deutschen,shipbuilders,patiala,ferrous,aquariums,genealogies,vieux,unrecognized,bridgwater,tetrahedral,thule,resignations,gondwana,registries,agder,dataset,felled,parva,analyzer,worsen,coleraine,columella,blockaded,polytechnique,reassembled,reentry,narvik,greys,nigra,knockouts,bofors,gniezno,slotted,hamasaki,ferrers,conferring,thirdly,domestication,photojournalist,universality,preclude,ponting,halved,thereupon,photosynthetic,ostrava,mismatch,pangasinan,intermediaries,abolitionists,transited,headings,ustase,radiological,interconnection,dabrowa,invariants,honorius,preferentially,chantilly,marysville,dialectical,antioquia,abstained,gogol,dirichlet,muricidae,symmetries,reproduces,brazos,fatwa,bacillus,ketone,paribas,chowk,multiplicative,dermatitis,mamluks,devotes,adenosine,newbery,meditative,minefields,inflection,oxfam,conwy,bystrica,imprints,pandavas,infinitesimal,conurbation,amphetamine,reestablish,furth,edessa,injustices,frankston,serjeant,4x200,khazar,sihanouk,longchamp,stags,pogroms,coups,upperparts,endpoints,infringed,nuanced,summing,humorist,pacification,ciaran,jamaat,anteriorly,roddick,springboks,faceted,hypoxia,rigorously,cleves,fatimid,ayurvedic,tabled,ratna,senhora,maricopa,seibu,gauguin,holomorphic,campgrounds,amboy,coordinators,ponderosa,casemates,ouachita,nanaimo,mindoro,zealander,rimsky,cluny,tomaszow,meghalaya,caetano,tilak,roussillon,landtag,gravitation,dystrophy,cephalopods,trombones,glens,killarney,denominated,anthropogenic,pssas,roubaix,carcasses,montmorency,neotropical,communicative,rabindranath,ordinated,separable,overriding,surged,sagebrush,conciliation,codice_4,durrani,phosphatase,qadir,votive,revitalized,taiyuan,tyrannosaurus,graze,slovaks,nematodes,environmentalism,blockhouse,illiteracy,schengen,ecotourism,alternation,conic,wields,hounslow,blackfoot,kwame,ambulatory,volhynia,hordaland,croton,piedras,rohit,drava,conceptualized,birla,illustrative,gurgaon,barisal,tutsi,dezong,nasional,polje,chanson,clarinets,krasnoyarsk,aleksandrovich,cosmonaut,d'este,palliative,midseason,silencing,wardens,durer,girders,salamanders,torrington,supersonics,lauda,farid,circumnavigation,embankments,funnels,bajnoksag,lorries,cappadocia,jains,warringah,retirees,burgesses,equalization,cusco,ganesan,algal,amazonian,lineups,allocating,conquerors,usurper,mnemonic,predating,brahmaputra,ahmadabad,maidenhead,numismatic,subregion,encamped,reciprocating,freebsd,irgun,tortoises,governorates,zionists,airfoil,collated,ajmer,fiennes,etymological,polemic,chadian,clerestory,nordiques,fluctuated,calvados,oxidizing,trailhead,massena,quarrels,dordogne,tirunelveli,pyruvate,pulsed,athabasca,sylar,appointee,serer,japonica,andronikos,conferencing,nicolaus,chemin,ascertained,incited,woodbine,helices,hospitalised,emplacements,to/from,orchestre,tyrannical,pannonia,methodism,pop/rock,shibuya,berbers,despot,seaward,westpac,separator,perpignan,alamein,judeo,publicize,quantization,ethniki,gracilis,menlo,offside,oscillating,unregulated,succumbing,finnmark,metrical,suleyman,raith,sovereigns,bundesstrasse,kartli,fiduciary,darshan,foramen,curler,concubines,calvinism,larouche,bukhara,sophomores,mohanlal,lutheranism,monomer,eamonn,'black,uncontested,immersive,tutorials,beachhead,bindings,permeable,postulates,comite,transformative,indiscriminate,hofstra,associacao,amarna,dermatology,lapland,aosta,babur,unambiguous,formatting,schoolboys,gwangju,superconducting,replayed,adherent,aureus,compressors,forcible,spitsbergen,boulevards,budgeting,nossa,annandale,perumal,interregnum,sassoon,kwajalein,greenbrier,caldas,triangulation,flavius,increment,shakhtar,nullified,pinfall,nomen,microfinance,depreciation,cubist,steeper,splendour,gruppe,everyman,chasers,campaigners,bridle,modality,percussive,darkly,capes,velar,picton,triennial,factional,padang,toponym,betterment,norepinephrine,112th,estuarine,diemen,warehousing,morphism,ideologically,pairings,immunization,crassus,exporters,sefer,flocked,bulbous,deseret,booms,calcite,bohol,elven,groot,pulau,citigroup,wyeth,modernizing,layering,pastiche,complies,printmaker,condenser,theropod,cassino,oxyrhynchus,akademie,trainings,lowercase,coxae,parte,chetniks,pentagonal,keselowski,monocoque,morsi,reticulum,meiosis,clapboard,recoveries,tinge,an/fps,revista,sidon,livre,epidermis,conglomerates,kampong,congruent,harlequins,tergum,simplifies,epidemiological,underwriting,tcp/ip,exclusivity,multidimensional,mysql,columbine,ecologist,hayat,sicilies,levees,handset,aesop,usenet,pacquiao,archiving,alexandrian,compensatory,broadsheet,annotation,bahamian,d'affaires,interludes,phraya,shamans,marmara,customizable,immortalized,ambushes,chlorophyll,diesels,emulsion,rheumatoid,voluminous,screenwriters,tailoring,sedis,runcorn,democratization,bushehr,anacostia,constanta,antiquary,sixtus,radiate,advaita,antimony,acumen,barristers,reichsbahn,ronstadt,symbolist,pasig,cursive,secessionist,afrikaner,munnetra,inversely,adsorption,syllabic,moltke,idioms,midline,olimpico,diphosphate,cautions,radziwill,mobilisation,copelatus,trawlers,unicron,bhaskar,financiers,minimalism,derailment,marxists,oireachtas,abdicate,eigenvalue,zafar,vytautas,ganguly,chelyabinsk,telluride,subordination,ferried,dived,vendee,pictish,dimitrov,expiry,carnation,cayley,magnitudes,lismore,gretna,sandwiched,unmasked,sandomierz,swarthmore,tetra,nanyang,pevsner,dehradun,mormonism,rashi,complying,seaplanes,ningbo,cooperates,strathcona,mornington,mestizo,yulia,edgbaston,palisade,ethno,polytopes,espirito,tymoshenko,pronunciations,paradoxical,taichung,chipmunks,erhard,maximise,accretion,kanda,`abdu'l,narrowest,umpiring,mycenaean,divisor,geneticist,ceredigion,barque,hobbyists,equates,auxerre,spinose,cheil,sweetwater,guano,carboxylic,archiv,tannery,cormorant,agonists,fundacion,anbar,tunku,hindrance,meerut,concordat,secunderabad,kachin,achievable,murfreesboro,comprehensively,forges,broadest,synchronised,speciation,scapa,aliyev,conmebol,tirelessly,subjugated,pillaged,udaipur,defensively,lakhs,stateless,haasan,headlamps,patterning,podiums,polyphony,mcmurdo,mujer,vocally,storeyed,mucosa,multivariate,scopus,minimizes,formalised,certiorari,bourges,populate,overhanging,gaiety,unreserved,borromeo,woolworths,isotopic,bashar,purify,vertebra,medan,juxtaposition,earthwork,elongation,chaudhary,schematic,piast,steeped,nanotubes,fouls,achaea,legionnaires,abdur,qmjhl,embraer,hardback,centerville,ilocos,slovan,whitehorse,mauritian,moulding,mapuche,donned,provisioning,gazprom,jonesboro,audley,lightest,calyx,coldwater,trigonometric,petroglyphs,psychoanalyst,congregate,zambezi,fissure,supervises,bexley,etobicoke,wairarapa,tectonics,emphasises,formula_41,debugging,linfield,spatially,ionizing,ungulates,orinoco,clades,erlangen,news/talk,vols.,ceara,yakovlev,finsbury,entanglement,fieldhouse,graphene,intensifying,grigory,keyong,zacatecas,ninian,allgemeine,keswick,societa,snorri,femininity,najib,monoclonal,guyanese,postulate,huntly,abbeys,machinist,yunus,emphasising,ishaq,urmia,bremerton,pretenders,lumiere,thoroughfares,chikara,dramatized,metathorax,taiko,transcendence,wycliffe,retrieves,umpired,steuben,racehorses,taylors,kuznetsov,montezuma,precambrian,canopies,gaozong,propodeum,disestablished,retroactive,shoreham,rhizome,doubleheader,clinician,diwali,quartzite,shabaab,agassiz,despatched,stormwater,luxemburg,callao,universidade,courland,skane,glyph,dormers,witwatersrand,curacy,qualcomm,nansen,entablature,lauper,hausdorff,lusaka,ruthenian,360deg,cityscape,douai,vaishnava,spars,vaulting,rationalist,gygax,sequestration,typology,pollinates,accelerators,leben,colonials,cenotaph,imparted,carthaginians,equaled,rostrum,gobind,bodhisattva,oberst,bicycling,arabi,sangre,biophysics,hainaut,vernal,lunenburg,apportioned,finches,lajos,nenad,repackaged,zayed,nikephoros,r.e.m,swaminarayan,gestalt,unplaced,crags,grohl,sialkot,unsaturated,gwinnett,linemen,forays,palakkad,writs,instrumentalists,aircrews,badged,terrapins,180deg,oneness,commissariat,changi,pupation,circumscribed,contador,isotropic,administrated,fiefs,nimes,intrusions,minoru,geschichte,nadph,tainan,changchun,carbondale,frisia,swapo,evesham,hawai'i,encyclopedic,transporters,dysplasia,formula_42,onsite,jindal,guetta,judgements,narbonne,permissions,paleogene,rationalism,vilna,isometric,subtracted,chattahoochee,lamina,missa,greville,pervez,lattices,persistently,crystallization,timbered,hawaiians,fouling,interrelated,masood,ripening,stasi,gamal,visigothic,warlike,cybernetics,tanjung,forfar,cybernetic,karelian,brooklands,belfort,greifswald,campeche,inexplicably,refereeing,understory,uninterested,prius,collegiately,sefid,sarsfield,categorize,biannual,elsevier,eisteddfod,declension,autonoma,procuring,misrepresentation,novelization,bibliographic,shamanism,vestments,potash,eastleigh,ionized,turan,lavishly,scilly,balanchine,importers,parlance,'that,kanyakumari,synods,mieszko,crossovers,serfdom,conformational,legislated,exclave,heathland,sadar,differentiates,propositional,konstantinos,photoshop,manche,vellore,appalachia,orestes,taiga,exchanger,grozny,invalidated,baffin,spezia,staunchly,eisenach,robustness,virtuosity,ciphers,inlets,bolagh,understandings,bosniaks,parser,typhoons,sinan,luzerne,webcomic,subtraction,jhelum,businessweek,ceske,refrained,firebox,mitigated,helmholtz,dilip,eslamabad,metalwork,lucan,apportionment,provident,gdynia,schooners,casement,danse,hajjiabad,benazir,buttress,anthracite,newsreel,wollaston,dispatching,cadastral,riverboat,provincetown,nantwich,missal,irreverent,juxtaposed,darya,ennobled,electropop,stereoscopic,maneuverability,laban,luhansk,udine,collectibles,haulage,holyrood,materially,supercharger,gorizia,shkoder,townhouses,pilate,layoffs,folkloric,dialectic,exuberant,matures,malla,ceuta,citizenry,crewed,couplet,stopover,transposition,tradesmen,antioxidant,amines,utterance,grahame,landless,isere,diction,appellant,satirist,urbino,intertoto,subiaco,antonescu,nehemiah,ubiquitin,emcee,stourbridge,fencers,103rd,wranglers,monteverdi,watertight,expounded,xiamen,manmohan,pirie,threefold,antidepressant,sheboygan,grieg,cancerous,diverging,bernini,polychrome,fundamentalism,bihari,critiqued,cholas,villers,tendulkar,dafydd,vastra,fringed,evangelization,episcopalian,maliki,sana'a,ashburton,trianon,allegany,heptathlon,insufficiently,panelists,pharrell,hexham,amharic,fertilized,plumes,cistern,stratigraphy,akershus,catalans,karoo,rupee,minuteman,quantification,wigmore,leutnant,metanotum,weeknights,iridescent,extrasolar,brechin,deuterium,kuching,lyricism,astrakhan,brookhaven,euphorbia,hradec,bhagat,vardar,aylmer,positron,amygdala,speculators,unaccompanied,debrecen,slurry,windhoek,disaffected,rapporteur,mellitus,blockers,fronds,yatra,sportsperson,precession,physiologist,weeknight,pidgin,pharma,condemns,standardize,zetian,tibor,glycoprotein,emporia,cormorants,amalie,accesses,leonhard,denbighshire,roald,116th,will.i.am,symbiosis,privatised,meanders,chemnitz,jabalpur,shing,secede,ludvig,krajina,homegrown,snippets,sasanian,euripides,peder,cimarron,streaked,graubunden,kilimanjaro,mbeki,middleware,flensburg,bukovina,lindwall,marsalis,profited,abkhaz,polis,camouflaged,amyloid,morgantown,ovoid,bodleian,morte,quashed,gamelan,juventud,natchitoches,storyboard,freeview,enumeration,cielo,preludes,bulawayo,1600s,olympiads,multicast,faunal,asura,reinforces,puranas,ziegfeld,handicraft,seamount,kheil,noche,hallmarks,dermal,colorectal,encircle,hessen,umbilicus,sunnis,leste,unwin,disclosing,superfund,montmartre,refuelling,subprime,kolhapur,etiology,bismuth,laissez,vibrational,mazar,alcoa,rumsfeld,recurve,ticonderoga,lionsgate,onlookers,homesteads,filesystem,barometric,kingswood,biofuel,belleza,moshav,occidentalis,asymptomatic,northeasterly,leveson,huygens,numan,kingsway,primogeniture,toyotomi,yazoo,limpets,greenbelt,booed,concurrence,dihedral,ventrites,raipur,sibiu,plotters,kitab,109th,trackbed,skilful,berthed,effendi,fairing,sephardi,mikhailovich,lockyer,wadham,invertible,paperbacks,alphabetic,deuteronomy,constitutive,leathery,greyhounds,estoril,beechcraft,poblacion,cossidae,excreted,flamingos,singha,olmec,neurotransmitters,ascoli,nkrumah,forerunners,dualism,disenchanted,benefitted,centrum,undesignated,noida,o'donoghue,collages,egrets,egmont,wuppertal,cleave,montgomerie,pseudomonas,srinivasa,lymphatic,stadia,resold,minima,evacuees,consumerism,ronde,biochemist,automorphism,hollows,smuts,improvisations,vespasian,bream,pimlico,eglin,colne,melancholic,berhad,ousting,saale,notaulices,ouest,hunslet,tiberias,abdomina,ramsgate,stanislas,donbass,pontefract,sucrose,halts,drammen,chelm,l'arc,taming,trolleys,konin,incertae,licensees,scythian,giorgos,dative,tanglewood,farmlands,o'keeffe,caesium,romsdal,amstrad,corte,oglethorpe,huntingdonshire,magnetization,adapts,zamosc,shooto,cuttack,centrepiece,storehouse,winehouse,morbidity,woodcuts,ryazan,buddleja,buoyant,bodmin,estero,austral,verifiable,periyar,christendom,curtail,shura,kaifeng,cotswold,invariance,seafaring,gorica,androgen,usman,seabird,forecourt,pekka,juridical,audacious,yasser,cacti,qianlong,polemical,d'amore,espanyol,distrito,cartographers,pacifism,serpents,backa,nucleophilic,overturning,duplicates,marksman,oriente,vuitton,oberleutnant,gielgud,gesta,swinburne,transfiguration,1750s,retaken,celje,fredrikstad,asuka,cropping,mansard,donates,blacksmiths,vijayanagara,anuradhapura,germinate,betis,foreshore,jalandhar,bayonets,devaluation,frazione,ablaze,abidjan,approvals,homeostasis,corollary,auden,superfast,redcliffe,luxembourgish,datum,geraldton,printings,ludhiana,honoree,synchrotron,invercargill,hurriedly,108th,three-and-a-half,colonist,bexar,limousin,bessemer,ossetian,nunataks,buddhas,rebuked,thais,tilburg,verdicts,interleukin,unproven,dordrecht,solent,acclamation,muammar,dahomey,operettas,4x400,arrears,negotiators,whitehaven,apparitions,armoury,psychoactive,worshipers,sculptured,elphinstone,airshow,kjell,o'callaghan,shrank,professorships,predominance,subhash,coulomb,sekolah,retrofitted,samos,overthrowing,vibrato,resistors,palearctic,datasets,doordarshan,subcutaneous,compiles,immorality,patchwork,trinidadian,glycogen,pronged,zohar,visigoths,freres,akram,justo,agora,intakes,craiova,playwriting,bukhari,militarism,iwate,petitioners,harun,wisla,inefficiency,vendome,ledges,schopenhauer,kashi,entombed,assesses,tenn.,noumea,baguio,carex,o'donovan,filings,hillsdale,conjectures,blotches,annuals,lindisfarne,negated,vivek,angouleme,trincomalee,cofactor,verkhovna,backfield,twofold,automaker,rudra,freighters,darul,gharana,busway,formula_43,plattsburgh,portuguesa,showrunner,roadmap,valenciennes,erdos,biafra,spiritualism,transactional,modifies,carne,107th,cocos,gcses,tiverton,radiotherapy,meadowlands,gunma,srebrenica,foxtel,authenticated,enslavement,classicist,klaipeda,minstrels,searchable,infantrymen,incitement,shiga,nadp+,urals,guilders,banquets,exteriors,counterattacks,visualized,diacritics,patrimony,svensson,transepts,prizren,telegraphy,najaf,emblazoned,coupes,effluent,ragam,omani,greensburg,taino,flintshire,cd/dvd,lobbies,narrating,cacao,seafarers,bicolor,collaboratively,suraj,floodlit,sacral,puppetry,tlingit,malwa,login,motionless,thien,overseers,vihar,golem,specializations,bathhouse,priming,overdubs,winningest,archetypes,uniao,acland,creamery,slovakian,lithographs,maryborough,confidently,excavating,stillborn,ramallah,audiencia,alava,ternary,hermits,rostam,bauxite,gawain,lothair,captions,gulfstream,timelines,receded,mediating,petain,bastia,rudbar,bidders,disclaimer,shrews,tailings,trilobites,yuriy,jamil,demotion,gynecology,rajinikanth,madrigals,ghazni,flycatchers,vitebsk,bizet,computationally,kashgar,refinements,frankford,heralds,europe/africa,levante,disordered,sandringham,queues,ransacked,trebizond,verdes,comedie,primitives,figurine,organists,culminate,gosport,coagulation,ferrying,hoyas,polyurethane,prohibitive,midfielders,ligase,progesterone,defectors,sweetened,backcountry,diodorus,waterside,nieuport,khwaja,jurong,decried,gorkha,ismaili,300th,octahedral,kindergartens,paseo,codification,notifications,disregarding,risque,reconquista,shortland,atolls,texarkana,perceval,d'etudes,kanal,herbicides,tikva,nuova,gatherer,dissented,soweto,dexterity,enver,bacharach,placekicker,carnivals,automate,maynooth,symplectic,chetnik,militaire,upanishads,distributive,strafing,championing,moiety,miliband,blackadder,enforceable,maung,dimer,stadtbahn,diverges,obstructions,coleophoridae,disposals,shamrocks,aural,banca,bahru,coxed,grierson,vanadium,watermill,radiative,ecoregions,berets,hariri,bicarbonate,evacuations,mallee,nairn,rushden,loggia,slupsk,satisfactorily,milliseconds,cariboo,reine,cyclo,pigmentation,postmodernism,aqueducts,vasari,bourgogne,dilemmas,liquefied,fluminense,alloa,ibaraki,tenements,kumasi,humerus,raghu,labours,putsch,soundcloud,bodybuilder,rakyat,domitian,pesaro,translocation,sembilan,homeric,enforcers,tombstones,lectureship,rotorua,salamis,nikolaos,inferences,superfortress,lithgow,surmised,undercard,tarnow,barisan,stingrays,federacion,coldstream,haverford,ornithological,heerenveen,eleazar,jyoti,murali,bamako,riverbed,subsidised,theban,conspicuously,vistas,conservatorium,madrasa,kingfishers,arnulf,credential,syndicalist,sheathed,discontinuity,prisms,tsushima,coastlines,escapees,vitis,optimizing,megapixel,overground,embattled,halide,sprinters,buoys,mpumalanga,peculiarities,106th,roamed,menezes,macao,prelates,papyri,freemen,dissertations,irishmen,pooled,sverre,reconquest,conveyance,subjectivity,asturian,circassian,formula_45,comdr,thickets,unstressed,monro,passively,harmonium,moveable,dinar,carlsson,elysees,chairing,b'nai,confusingly,kaoru,convolution,godolphin,facilitator,saxophones,eelam,jebel,copulation,anions,livres,licensure,pontypridd,arakan,controllable,alessandria,propelling,stellenbosch,tiber,wolka,liberators,yarns,d'azur,tsinghua,semnan,amhara,ablation,melies,tonality,historique,beeston,kahne,intricately,sonoran,robespierre,gyrus,boycotts,defaulted,infill,maranhao,emigres,framingham,paraiba,wilhelmshaven,tritium,skyway,labial,supplementation,possessor,underserved,motets,maldivian,marrakech,quays,wikimedia,turbojet,demobilization,petrarch,encroaching,sloops,masted,karbala,corvallis,agribusiness,seaford,stenosis,hieronymus,irani,superdraft,baronies,cortisol,notability,veena,pontic,cyclin,archeologists,newham,culled,concurring,aeolian,manorial,shouldered,fords,philanthropists,105th,siddharth,gotthard,halim,rajshahi,jurchen,detritus,practicable,earthenware,discarding,travelogue,neuromuscular,elkhart,raeder,zygmunt,metastasis,internees,102nd,vigour,upmarket,summarizing,subjunctive,offsets,elizabethtown,udupi,pardubice,repeaters,instituting,archaea,substandard,technische,linga,anatomist,flourishes,velika,tenochtitlan,evangelistic,fitchburg,springbok,cascading,hydrostatic,avars,occasioned,filipina,perceiving,shimbun,africanus,consternation,tsing,optically,beitar,45deg,abutments,roseville,monomers,huelva,lotteries,hypothalamus,internationalist,electromechanical,hummingbirds,fibreglass,salaried,dramatists,uncovers,invokes,earners,excretion,gelding,ancien,aeronautica,haverhill,stour,ittihad,abramoff,yakov,ayodhya,accelerates,industrially,aeroplanes,deleterious,dwelt,belvoir,harpalus,atpase,maluku,alasdair,proportionality,taran,epistemological,interferometer,polypeptide,adjudged,villager,metastatic,marshalls,madhavan,archduchess,weizmann,kalgoorlie,balan,predefined,sessile,sagaing,brevity,insecticide,psychosocial,africana,steelworks,aether,aquifers,belem,mineiro,almagro,radiators,cenozoic,solute,turbocharger,invicta,guested,buccaneer,idolatry,unmatched,paducah,sinestro,dispossessed,conforms,responsiveness,cyanobacteria,flautist,procurator,complementing,semifinalist,rechargeable,permafrost,cytokine,refuges,boomed,gelderland,franchised,jinan,burnie,doubtless,randomness,colspan=12,angra,ginebra,famers,nuestro,declarative,roughness,lauenburg,motile,rekha,issuer,piney,interceptors,napoca,gipsy,formulaic,formula_44,viswanathan,ebrahim,thessalonica,galeria,muskogee,unsold,html5,taito,mobutu,icann,carnarvon,fairtrade,morphisms,upsilon,nozzles,fabius,meander,murugan,strontium,episcopacy,sandinista,parasol,attenuated,bhima,primeval,panay,ordinator,negara,osteoporosis,glossop,ebook,paradoxically,grevillea,modoc,equating,phonetically,legumes,covariant,dorje,quatre,bruxelles,pyroclastic,shipbuilder,zhaozong,obscuring,sveriges,tremolo,extensible,barrack,multnomah,hakon,chaharmahal,parsing,volumetric,astrophysical,glottal,combinatorics,freestanding,encoder,paralysed,cavalrymen,taboos,heilbronn,orientalis,lockport,marvels,ozawa,dispositions,waders,incurring,saltire,modulate,papilio,phenol,intermedia,rappahannock,plasmid,fortify,phenotypes,transiting,correspondences,leaguer,larnaca,incompatibility,mcenroe,deeming,endeavoured,aboriginals,helmed,salar,arginine,werke,ferrand,expropriated,delimited,couplets,phoenicians,petioles,ouster,anschluss,protectionist,plessis,urchins,orquesta,castleton,juniata,bittorrent,fulani,donji,mykola,rosemont,chandos,scepticism,signer,chalukya,wicketkeeper,coquitlam,programmatic,o'brian,carteret,urology,steelhead,paleocene,konkan,bettered,venkatesh,surfacing,longitudinally,centurions,popularization,yazid,douro,widths,premios,leonards,gristmill,fallujah,arezzo,leftists,ecliptic,glycerol,inaction,disenfranchised,acrimonious,depositing,parashah,cockatoo,marechal,bolzano,chios,cablevision,impartiality,pouches,thickly,equities,bentinck,emotive,boson,ashdown,conquistadors,parsi,conservationists,reductive,newlands,centerline,ornithologists,waveguide,nicene,philological,hemel,setanta,masala,aphids,convening,casco,matrilineal,chalcedon,orthographic,hythe,replete,damming,bolivarian,admixture,embarks,borderlands,conformed,nagarjuna,blenny,chaitanya,suwon,shigeru,tatarstan,lingayen,rejoins,grodno,merovingian,hardwicke,puducherry,prototyping,laxmi,upheavals,headquarter,pollinators,bromine,transom,plantagenet,arbuthnot,chidambaram,woburn,osamu,panelling,coauthored,zhongshu,hyaline,omissions,aspergillus,offensively,electrolytic,woodcut,sodom,intensities,clydebank,piotrkow,supplementing,quipped,focke,harbinger,positivism,parklands,wolfenbuttel,cauca,tryptophan,taunus,curragh,tsonga,remand,obscura,ashikaga,eltham,forelimbs,analogs,trnava,observances,kailash,antithesis,ayumi,abyssinia,dorsally,tralee,pursuers,misadventures,padova,perot,mahadev,tarim,granth,licenced,compania,patuxent,baronial,korda,cochabamba,codices,karna,memorialized,semaphore,playlists,mandibular,halal,sivaji,scherzinger,stralsund,foundries,ribosome,mindfulness,nikolayevich,paraphyletic,newsreader,catalyze,ioannina,thalamus,gbit/s,paymaster,sarab,500th,replenished,gamepro,cracow,formula_46,gascony,reburied,lessing,easement,transposed,meurthe,satires,proviso,balthasar,unbound,cuckoos,durbar,louisbourg,cowes,wholesalers,manet,narita,xiaoping,mohamad,illusory,cathal,reuptake,alkaloid,tahrir,mmorpg,underlies,anglicanism,repton,aharon,exogenous,buchenwald,indigent,odostomia,milled,santorum,toungoo,nevsky,steyr,urbanisation,darkseid,subsonic,canaanite,akiva,eglise,dentition,mediators,cirencester,peloponnesian,malmesbury,durres,oerlikon,tabulated,saens,canaria,ischemic,esterhazy,ringling,centralization,walthamstow,nalanda,lignite,takht,leninism,expiring,circe,phytoplankton,promulgation,integrable,breeches,aalto,menominee,borgo,scythians,skrull,galleon,reinvestment,raglan,reachable,liberec,airframes,electrolysis,geospatial,rubiaceae,interdependence,symmetrically,simulcasts,keenly,mauna,adipose,zaidi,fairport,vestibular,actuators,monochromatic,literatures,congestive,sacramental,atholl,skytrain,tycho,tunings,jamia,catharina,modifier,methuen,tapings,infiltrating,colima,grafting,tauranga,halides,pontificate,phonetics,koper,hafez,grooved,kintetsu,extrajudicial,linkoping,cyberpunk,repetitions,laurentian,parnu,bretton,darko,sverdlovsk,foreshadowed,akhenaten,rehnquist,gosford,coverts,pragmatism,broadleaf,ethiopians,instated,mediates,sodra,opulent,descriptor,enugu,shimla,leesburg,officership,giffard,refectory,lusitania,cybermen,fiume,corus,tydfil,lawrenceville,ocala,leviticus,burghers,ataxia,richthofen,amicably,acoustical,watling,inquired,tiempo,multiracial,parallelism,trenchard,tokyopop,germanium,usisl,philharmonia,shapur,jacobites,latinized,sophocles,remittances,o'farrell,adder,dimitrios,peshwa,dimitar,orlov,outstretched,musume,satish,dimensionless,serialised,baptisms,pagasa,antiviral,1740s,quine,arapaho,bombardments,stratosphere,ophthalmic,injunctions,carbonated,nonviolence,asante,creoles,sybra,boilermakers,abington,bipartite,permissive,cardinality,anheuser,carcinogenic,hohenlohe,surinam,szeged,infanticide,generically,floorball,'white,automakers,cerebellar,homozygous,remoteness,effortlessly,allude,'great,headmasters,minting,manchurian,kinabalu,wemyss,seditious,widgets,marbled,almshouses,bards,subgenres,tetsuya,faulting,kickboxer,gaulish,hoseyn,malton,fluvial,questionnaires,mondale,downplayed,traditionalists,vercelli,sumatran,landfills,gamesradar,exerts,franciszek,unlawfully,huesca,diderot,libertarians,professorial,laane,piecemeal,conidae,taiji,curatorial,perturbations,abstractions,szlachta,watercraft,mullah,zoroastrianism,segmental,khabarovsk,rectors,affordability,scuola,diffused,stena,cyclonic,workpiece,romford,'little,jhansi,stalag,zhongshan,skipton,maracaibo,bernadotte,thanet,groening,waterville,encloses,sahrawi,nuffield,moorings,chantry,annenberg,islay,marchers,tenses,wahid,siegen,furstenberg,basques,resuscitation,seminarians,tympanum,gentiles,vegetarianism,tufted,venkata,fantastical,pterophoridae,machined,superposition,glabrous,kaveri,chicane,executors,phyllonorycter,bidirectional,jasta,undertones,touristic,majapahit,navratilova,unpopularity,barbadian,tinian,webcast,hurdler,rigidly,jarrah,staphylococcus,igniting,irrawaddy,stabilised,airstrike,ragas,wakayama,energetically,ekstraklasa,minibus,largemouth,cultivators,leveraging,waitangi,carnaval,weaves,turntables,heydrich,sextus,excavate,govind,ignaz,pedagogue,uriah,borrowings,gemstones,infractions,mycobacterium,batavian,massing,praetor,subalpine,massoud,passers,geostationary,jalil,trainsets,barbus,impair,budejovice,denbigh,pertain,historicity,fortaleza,nederlandse,lamenting,masterchef,doubs,gemara,conductance,ploiesti,cetaceans,courthouses,bhagavad,mihailovic,occlusion,bremerhaven,bulwark,morava,kaine,drapery,maputo,conquistador,kaduna,famagusta,first-past-the-post,erudite,galton,undated,tangential,filho,dismembered,dashes,criterium,darwen,metabolized,blurring,everard,randwick,mohave,impurity,acuity,ansbach,chievo,surcharge,plantain,algoma,porosity,zirconium,selva,sevenoaks,venizelos,gwynne,golgi,imparting,separatism,courtesan,idiopathic,gravestones,hydroelectricity,babar,orford,purposeful,acutely,shard,ridgewood,viterbo,manohar,expropriation,placenames,brevis,cosine,unranked,richfield,newnham,recoverable,flightless,dispersing,clearfield,abu'l,stranraer,kempe,streamlining,goswami,epidermal,pieta,conciliatory,distilleries,electrophoresis,bonne,tiago,curiosities,candidature,picnicking,perihelion,lintel,povoa,gullies,configure,excision,facies,signers,1730s,insufficiency,semiotics,streatham,deactivation,entomological,skippers,albacete,parodying,escherichia,honorees,singaporeans,counterterrorism,tiruchirappalli,omnivorous,metropole,globalisation,athol,unbounded,codice_5,landforms,classifier,farmhouses,reaffirming,reparation,yomiuri,technologists,mitte,medica,viewable,steampunk,konya,kshatriya,repelling,edgewater,lamiinae,devas,potteries,llandaff,engendered,submits,virulence,uplifted,educationist,metropolitans,frontrunner,dunstable,forecastle,frets,methodius,exmouth,linnean,bouchet,repulsion,computable,equalling,liceo,tephritidae,agave,hydrological,azarenka,fairground,l'homme,enforces,xinhua,cinematographers,cooperstown,sa'id,paiute,christianization,tempos,chippenham,insulator,kotor,stereotyped,dello,cours,hisham,d'souza,eliminations,supercars,passau,rebrand,natures,coote,persephone,rededicated,cleaved,plenum,blistering,indiscriminately,cleese,safed,recursively,compacted,revues,hydration,shillong,echelons,garhwal,pedimented,grower,zwolle,wildflower,annexing,methionine,petah,valens,famitsu,petiole,specialities,nestorian,shahin,tokaido,shearwater,barberini,kinsmen,experimenter,alumnae,cloisters,alumina,pritzker,hardiness,soundgarden,julich,ps300,watercourse,cementing,wordplay,olivet,demesne,chasseurs,amide,zapotec,gaozu,porphyry,absorbers,indium,analogies,devotions,engravers,limestones,catapulted,surry,brickworks,gotra,rodham,landline,paleontologists,shankara,islip,raucous,trollope,arpad,embarkation,morphemes,recites,picardie,nakhchivan,tolerances,formula_47,khorramabad,nichiren,adrianople,kirkuk,assemblages,collider,bikaner,bushfires,roofline,coverings,reredos,bibliotheca,mantras,accentuated,commedia,rashtriya,fluctuation,serhiy,referential,fittipaldi,vesicle,geeta,iraklis,immediacy,chulalongkorn,hunsruck,bingen,dreadnoughts,stonemason,meenakshi,lebesgue,undergrowth,baltistan,paradoxes,parlement,articled,tiflis,dixieland,meriden,tejano,underdogs,barnstable,exemplify,venter,tropes,wielka,kankakee,iskandar,zilina,pharyngeal,spotify,materialised,picts,atlantique,theodoric,prepositions,paramilitaries,pinellas,attlee,actuated,piedmontese,grayling,thucydides,multifaceted,unedited,autonomously,universelle,utricularia,mooted,preto,incubated,underlie,brasenose,nootka,bushland,sensu,benzodiazepine,esteghlal,seagoing,amenhotep,azusa,sappers,culpeper,smokeless,thoroughbreds,dargah,gorda,alumna,mankato,zdroj,deleting,culvert,formula_49,punting,wushu,hindering,immunoglobulin,standardisation,birger,oilfield,quadrangular,ulama,recruiters,netanya,1630s,communaute,istituto,maciej,pathan,meher,vikas,characterizations,playmaker,interagency,intercepts,assembles,horthy,introspection,narada,matra,testes,radnicki,estonians,csiro,instar,mitford,adrenergic,crewmembers,haaretz,wasatch,lisburn,rangefinder,ordre,condensate,reforestation,corregidor,spvgg,modulator,mannerist,faulted,aspires,maktoum,squarepants,aethelred,piezoelectric,mulatto,dacre,progressions,jagiellonian,norge,samaria,sukhoi,effingham,coxless,hermetic,humanists,centrality,litters,stirlingshire,beaconsfield,sundanese,geometrically,caretakers,habitually,bandra,pashtuns,bradenton,arequipa,laminar,brickyard,hitchin,sustains,shipboard,ploughing,trechus,wheelers,bracketed,ilyushin,subotica,d'hondt,reappearance,bridgestone,intermarried,fulfilment,aphasia,birkbeck,transformational,strathmore,hornbill,millstone,lacan,voids,solothurn,gymnasiums,laconia,viaducts,peduncle,teachta,edgware,shinty,supernovae,wilfried,exclaim,parthia,mithun,flashpoint,moksha,cumbia,metternich,avalanches,militancy,motorist,rivadavia,chancellorsville,federals,gendered,bounding,footy,gauri,caliphs,lingam,watchmaker,unrecorded,riverina,unmodified,seafloor,droit,pfalz,chrysostom,gigabit,overlordship,besiege,espn2,oswestry,anachronistic,ballymena,reactivation,duchovny,ghani,abacetus,duller,legio,watercourses,nord-pas-de-calais,leiber,optometry,swarms,installer,sancti,adverbs,iheartmedia,meiningen,zeljko,kakheti,notional,circuses,patrilineal,acrobatics,infrastructural,sheva,oregonian,adjudication,aamir,wloclawek,overfishing,obstructive,subtracting,aurobindo,archeologist,newgate,'cause,secularization,tehsils,abscess,fingal,janacek,elkhorn,trims,kraftwerk,mandating,irregulars,faintly,congregationalist,sveti,kasai,mishaps,kennebec,provincially,durkheim,scotties,aicte,rapperswil,imphal,surrenders,morphs,nineveh,hoxha,cotabato,thuringian,metalworking,retold,shogakukan,anthers,proteasome,tippeligaen,disengagement,mockumentary,palatial,erupts,flume,corrientes,masthead,jaroslaw,rereleased,bharti,labors,distilling,tusks,varzim,refounded,enniskillen,melkite,semifinalists,vadodara,bermudian,capstone,grasse,origination,populus,alesi,arrondissements,semigroup,verein,opossum,messrs.,portadown,bulbul,tirupati,mulhouse,tetrahedron,roethlisberger,nonverbal,connexion,warangal,deprecated,gneiss,octet,vukovar,hesketh,chambre,despatch,claes,kargil,hideo,gravelly,tyndale,aquileia,tuners,defensible,tutte,theotokos,constructivist,ouvrage,dukla,polisario,monasticism,proscribed,commutation,testers,nipissing,codon,mesto,olivine,concomitant,exoskeleton,purports,coromandel,eyalet,dissension,hippocrates,purebred,yaounde,composting,oecophoridae,procopius,o'day,angiogenesis,sheerness,intelligencer,articular,felixstowe,aegon,endocrinology,trabzon,licinius,pagodas,zooplankton,hooghly,satie,drifters,sarthe,mercian,neuilly,tumours,canal+,scheldt,inclinations,counteroffensive,roadrunners,tuzla,shoreditch,surigao,predicates,carnot,algeciras,militaries,generalize,bulkheads,gawler,pollutant,celta,rundgren,microrna,gewog,olimpija,placental,lubelski,roxburgh,discerned,verano,kikuchi,musicale,l'enfant,ferocity,dimorphic,antigonus,erzurum,prebendary,recitative,discworld,cyrenaica,stigmella,totnes,sutta,pachuca,ulsan,downton,landshut,castellan,pleural,siedlce,siecle,catamaran,cottbus,utilises,trophic,freeholders,holyhead,u.s.s,chansons,responder,waziristan,suzuka,birding,shogi,asker,acetone,beautification,cytotoxic,dixit,hunterdon,cobblestone,formula_48,kossuth,devizes,sokoto,interlaced,shuttered,kilowatts,assiniboine,isaak,salto,alderney,sugarloaf,franchising,aggressiveness,toponyms,plaintext,antimatter,henin,equidistant,salivary,bilingualism,mountings,obligate,extirpated,irenaeus,misused,pastoralists,aftab,immigrating,warping,tyrolean,seaforth,teesside,soundwave,oligarchy,stelae,pairwise,iupac,tezuka,posht,orchestrations,landmass,ironstone,gallia,hjalmar,carmelites,strafford,elmhurst,palladio,fragility,teleplay,gruffudd,karoly,yerba,potok,espoo,inductance,macaque,nonprofits,pareto,rock'n'roll,spiritualist,shadowed,skateboarder,utterances,generality,congruence,prostrate,deterred,yellowknife,albarn,maldon,battlements,mohsen,insecticides,khulna,avellino,menstruation,glutathione,springdale,parlophone,confraternity,korps,countrywide,bosphorus,preexisting,damodar,astride,alexandrovich,sprinting,crystallized,botev,leaching,interstates,veers,angevin,undaunted,yevgeni,nishapur,northerners,alkmaar,bethnal,grocers,sepia,tornus,exemplar,trobe,charcot,gyeonggi,larne,tournai,lorain,voided,genji,enactments,maxilla,adiabatic,eifel,nazim,transducer,thelonious,pyrite,deportiva,dialectal,bengt,rosettes,labem,sergeyevich,synoptic,conservator,statuette,biweekly,adhesives,bifurcation,rajapaksa,mammootty,republique,yusef,waseda,marshfield,yekaterinburg,minnelli,fundy,fenian,matchups,dungannon,supremacist,panelled,drenthe,iyengar,fibula,narmada,homeport,oceanside,precept,antibacterial,altarpieces,swath,ospreys,lillooet,legnica,lossless,formula_50,galvatron,iorga,stormont,rsfsr,loggers,kutno,phenomenological,medallists,cuatro,soissons,homeopathy,bituminous,injures,syndicates,typesetting,displacements,dethroned,makassar,lucchese,abergavenny,targu,alborz,akb48,boldface,gastronomy,sacra,amenity,accumulator,myrtaceae,cornices,mourinho,denunciation,oxbow,diddley,aargau,arbitrage,bedchamber,gruffydd,zamindar,klagenfurt,caernarfon,slowdown,stansted,abrasion,tamaki,suetonius,dukakis,individualistic,ventrally,hotham,perestroika,ketones,fertilisation,sobriquet,couplings,renderings,misidentified,rundfunk,sarcastically,braniff,concours,dismissals,elegantly,modifiers,crediting,combos,crucially,seafront,lieut,ischemia,manchus,derivations,proteases,aristophanes,adenauer,porting,hezekiah,sante,trulli,hornblower,foreshadowing,ypsilanti,dharwad,khani,hohenstaufen,distillers,cosmodrome,intracranial,turki,salesian,gorzow,jihlava,yushchenko,leichhardt,venables,cassia,eurogamer,airtel,curative,bestsellers,timeform,sortied,grandview,massillon,ceding,pilbara,chillicothe,heredity,elblag,rogaland,ronne,millennial,batley,overuse,bharata,fille,campbelltown,abeyance,counterclockwise,250cc,neurodegenerative,consigned,electromagnetism,sunnah,saheb,exons,coxswain,gleaned,bassoons,worksop,prismatic,immigrate,pickets,takeo,bobsledder,stosur,fujimori,merchantmen,stiftung,forli,endorses,taskforce,thermally,atman,gurps,floodplains,enthalpy,extrinsic,setubal,kennesaw,grandis,scalability,durations,showrooms,prithvi,outro,overruns,andalucia,amanita,abitur,hipper,mozambican,sustainment,arsene,chesham,palaeolithic,reportage,criminality,knowsley,haploid,atacama,shueisha,ridgefield,astern,getafe,lineal,timorese,restyled,hollies,agincourt,unter,justly,tannins,mataram,industrialised,tarnovo,mumtaz,mustapha,stretton,synthetase,condita,allround,putra,stjepan,troughs,aechmea,specialisation,wearable,kadokawa,uralic,aeros,messiaen,existentialism,jeweller,effigies,gametes,fjordane,cochlear,interdependent,demonstrative,unstructured,emplacement,famines,spindles,amplitudes,actuator,tantalum,psilocybe,apnea,monogatari,expulsions,seleucus,tsuen,hospitaller,kronstadt,eclipsing,olympiakos,clann,canadensis,inverter,helio,egyptologist,squamous,resonate,munir,histology,torbay,khans,jcpenney,veterinarians,aintree,microscopes,colonised,reflectors,phosphorylated,pristimantis,tulare,corvinus,multiplexing,midweek,demosthenes,transjordan,ecija,tengku,vlachs,anamorphic,counterweight,radnor,trinitarian,armidale,maugham,njsiaa,futurism,stairways,avicenna,montebello,bridgetown,wenatchee,lyonnais,amass,surinamese,streptococcus,m*a*s*h,hydrogenation,frazioni,proscenium,kalat,pennsylvanian,huracan,tallying,kralove,nucleolar,phrygian,seaports,hyacinthe,ignace,donning,instalment,regnal,fonds,prawn,carell,folktales,goaltending,bracknell,vmware,patriarchy,mitsui,kragujevac,pythagoras,soult,thapa,disproved,suwalki,secures,somoza,l'ecole,divizia,chroma,herders,technologist,deduces,maasai,rampur,paraphrase,raimi,imaged,magsaysay,ivano,turmeric,formula_51,subcommittees,axillary,ionosphere,organically,indented,refurbishing,pequot,violinists,bearn,colle,contralto,silverton,mechanization,etruscans,wittelsbach,pasir,redshirted,marrakesh,scarp,plein,wafers,qareh,teotihuacan,frobenius,sinensis,rehoboth,bundaberg,newbridge,hydrodynamic,traore,abubakar,adjusts,storytellers,dynamos,verbandsliga,concertmaster,exxonmobil,appreciable,sieradz,marchioness,chaplaincy,rechristened,cunxu,overpopulation,apolitical,sequencer,beaked,nemanja,binaries,intendant,absorber,filamentous,indebtedness,nusra,nashik,reprises,psychedelia,abwehr,ligurian,isoform,resistive,pillaging,mahathir,reformatory,lusatia,allerton,ajaccio,tepals,maturin,njcaa,abyssinian,objector,fissures,sinuous,ecclesiastic,dalits,caching,deckers,phosphates,wurlitzer,navigated,trofeo,berea,purefoods,solway,unlockable,grammys,kostroma,vocalizations,basilan,rebuke,abbasi,douala,helsingborg,ambon,bakar,runestones,cenel,tomislav,pigmented,northgate,excised,seconda,kirke,determinations,dedicates,vilas,pueblos,reversion,unexploded,overprinted,ekiti,deauville,masato,anaesthesia,endoplasmic,transponders,aguascalientes,hindley,celluloid,affording,bayeux,piaget,rickshaws,eishockey,camarines,zamalek,undersides,hardwoods,hermitian,mutinied,monotone,blackmails,affixes,jpmorgan,habermas,mitrovica,paleontological,polystyrene,thana,manas,conformist,turbofan,decomposes,logano,castration,metamorphoses,patroness,herbicide,mikolaj,rapprochement,macroeconomics,barranquilla,matsudaira,lintels,femina,hijab,spotsylvania,morpheme,bitola,baluchistan,kurukshetra,otway,extrusion,waukesha,menswear,helder,trung,bingley,protester,boars,overhang,differentials,exarchate,hejaz,kumara,unjustified,timings,sharpness,nuovo,taisho,sundar,etc..,jehan,unquestionably,muscovy,daltrey,canute,paneled,amedeo,metroplex,elaborates,telus,tetrapods,dragonflies,epithets,saffir,parthenon,lucrezia,refitting,pentateuch,hanshin,montparnasse,lumberjacks,sanhedrin,erectile,odors,greenstone,resurgent,leszek,amory,substituents,prototypical,viewfinder,monck,universiteit,joffre,revives,chatillon,seedling,scherzo,manukau,ashdod,gympie,homolog,stalwarts,ruinous,weibo,tochigi,wallenberg,gayatri,munda,satyagraha,storefronts,heterogeneity,tollway,sportswriters,binocular,gendarmes,ladysmith,tikal,ortsgemeinde,ja'far,osmotic,linlithgow,bramley,telecoms,pugin,repose,rupaul,sieur,meniscus,garmisch,reintroduce,400th,shoten,poniatowski,drome,kazakhstani,changeover,astronautics,husserl,herzl,hypertext,katakana,polybius,antananarivo,seong,breguet,reliquary,utada,aggregating,liangshan,sivan,tonawanda,audiobooks,shankill,coulee,phenolic,brockton,bookmakers,handsets,boaters,wylde,commonality,mappings,silhouettes,pennines,maurya,pratchett,singularities,eschewed,pretensions,vitreous,ibero,totalitarianism,poulenc,lingered,directx,seasoning,deputation,interdict,illyria,feedstock,counterbalance,muzik,buganda,parachuted,violist,homogeneity,comix,fjords,corsairs,punted,verandahs,equilateral,laoghaire,magyars,117th,alesund,televoting,mayotte,eateries,refurbish,nswrl,yukio,caragiale,zetas,dispel,codecs,inoperable,outperformed,rejuvenation,elstree,modernise,contributory,pictou,tewkesbury,chechens,ashina,psionic,refutation,medico,overdubbed,nebulae,sandefjord,personages,eccellenza,businessperson,placename,abenaki,perryville,threshing,reshaped,arecibo,burslem,colspan=3|turnout,rebadged,lumia,erinsborough,interactivity,bitmap,indefatigable,theosophy,excitatory,gleizes,edsel,bermondsey,korce,saarinen,wazir,diyarbakir,cofounder,liberalisation,onsen,nighthawks,siting,retirements,semyon,d'histoire,114th,redditch,venetia,praha,'round,valdosta,hieroglyphic,postmedial,edirne,miscellany,savona,cockpits,minimization,coupler,jacksonian,appeasement,argentines,saurashtra,arkwright,hesiod,folios,fitzalan,publica,rivaled,civitas,beermen,constructivism,ribeira,zeitschrift,solanum,todos,deformities,chilliwack,verdean,meagre,bishoprics,gujrat,yangzhou,reentered,inboard,mythologies,virtus,unsurprisingly,rusticated,museu,symbolise,proportionate,thesaban,symbian,aeneid,mitotic,veliki,compressive,cisterns,abies,winemaker,massenet,bertolt,ahmednagar,triplemania,armorial,administracion,tenures,smokehouse,hashtag,fuerza,regattas,gennady,kanazawa,mahmudabad,crustal,asaph,valentinian,ilaiyaraaja,honeyeater,trapezoidal,cooperatively,unambiguously,mastodon,inhospitable,harnesses,riverton,renewables,djurgardens,haitians,airings,humanoids,boatswain,shijiazhuang,faints,veera,punjabis,steepest,narain,karlovy,serre,sulcus,collectives,1500m,arion,subarctic,liberally,apollonius,ostia,droplet,headstones,norra,robusta,maquis,veronese,imola,primers,luminance,escadrille,mizuki,irreconcilable,stalybridge,temur,paraffin,stuccoed,parthians,counsels,fundamentalists,vivendi,polymath,sugababes,mikko,yonne,fermions,vestfold,pastoralist,kigali,unseeded,glarus,cusps,amasya,northwesterly,minorca,astragalus,verney,trevelyan,antipathy,wollstonecraft,bivalves,boulez,royle,divisao,quranic,bareilly,coronal,deviates,lulea,erectus,petronas,chandan,proxies,aeroflot,postsynaptic,memoriam,moyne,gounod,kuznetsova,pallava,ordinating,reigate,'first,lewisburg,exploitative,danby,academica,bailiwick,brahe,injective,stipulations,aeschylus,computes,gulden,hydroxylase,liveries,somalis,underpinnings,muscovite,kongsberg,domus,overlain,shareware,variegated,jalalabad,agence,ciphertext,insectivores,dengeki,menuhin,cladistic,baerum,betrothal,tokushima,wavelet,expansionist,pottsville,siyuan,prerequisites,carpi,nemzeti,nazar,trialled,eliminator,irrorated,homeward,redwoods,undeterred,strayed,lutyens,multicellular,aurelian,notated,lordships,alsatian,idents,foggia,garros,chalukyas,lillestrom,podlaski,pessimism,hsien,demilitarized,whitewashed,willesden,kirkcaldy,sanctorum,lamia,relaying,escondido,paediatric,contemplates,demarcated,bluestone,betula,penarol,capitalise,kreuznach,kenora,115th,hold'em,reichswehr,vaucluse,m.i.a,windings,boys/girls,cajon,hisar,predictably,flemington,ysgol,mimicked,clivina,grahamstown,ionia,glyndebourne,patrese,aquaria,sleaford,dayal,sportscenter,malappuram,m.b.a.,manoa,carbines,solvable,designator,ramanujan,linearity,academicians,sayid,lancastrian,factorial,strindberg,vashem,delos,comyn,condensing,superdome,merited,kabaddi,intransitive,bideford,neuroimaging,duopoly,scorecards,ziggler,heriot,boyars,virology,marblehead,microtubules,westphalian,anticipates,hingham,searchers,harpist,rapides,morricone,convalescent,mises,nitride,metrorail,matterhorn,bicol,drivetrain,marketer,snippet,winemakers,muban,scavengers,halberstadt,herkimer,peten,laborious,stora,montgomeryshire,booklist,shamir,herault,eurostar,anhydrous,spacewalk,ecclesia,calliostoma,highschool,d'oro,suffusion,imparts,overlords,tagus,rectifier,counterinsurgency,ministered,eilean,milecastle,contre,micromollusk,okhotsk,bartoli,matroid,hasidim,thirunal,terme,tarlac,lashkar,presque,thameslink,flyby,troopship,renouncing,fatih,messrs,vexillum,bagration,magnetite,bornholm,androgynous,vehement,tourette,philosophic,gianfranco,tuileries,codice_6,radially,flexion,hants,reprocessing,setae,burne,palaeographically,infantryman,shorebirds,tamarind,moderna,threading,militaristic,crohn,norrkoping,125cc,stadtholder,troms,klezmer,alphanumeric,brome,emmanuelle,tiwari,alchemical,formula_52,onassis,bleriot,bipedal,colourless,hermeneutics,hosni,precipitating,turnstiles,hallucinogenic,panhellenic,wyandotte,elucidated,chita,ehime,generalised,hydrophilic,biota,niobium,rnzaf,gandhara,longueuil,logics,sheeting,bielsko,cuvier,kagyu,trefoil,docent,pancrase,stalinism,postures,encephalopathy,monckton,imbalances,epochs,leaguers,anzio,diminishes,pataki,nitrite,amuro,nabil,maybach,l'aquila,babbler,bacolod,thutmose,evora,gaudi,breakage,recur,preservative,60deg,mendip,functionaries,columnar,maccabiah,chert,verden,bromsgrove,clijsters,dengue,pastorate,phuoc,principia,viareggio,kharagpur,scharnhorst,anyang,bosons,l'art,criticises,ennio,semarang,brownian,mirabilis,asperger,calibers,typographical,cartooning,minos,disembark,supranational,undescribed,etymologically,alappuzha,vilhelm,lanao,pakenham,bhagavata,rakoczi,clearings,astrologers,manitowoc,bunuel,acetylene,scheduler,defamatory,trabzonspor,leaded,scioto,pentathlete,abrahamic,minigames,aldehydes,peerages,legionary,1640s,masterworks,loudness,bryansk,likeable,genocidal,vegetated,towpath,declination,pyrrhus,divinely,vocations,rosebery,associazione,loaders,biswas,oeste,tilings,xianzong,bhojpuri,annuities,relatedness,idolator,psers,constriction,chuvash,choristers,hanafi,fielders,grammarian,orpheum,asylums,millbrook,gyatso,geldof,stabilise,tableaux,diarist,kalahari,panini,cowdenbeath,melanin,4x100m,resonances,pinar,atherosclerosis,sheringham,castlereagh,aoyama,larks,pantograph,protrude,natak,gustafsson,moribund,cerevisiae,cleanly,polymeric,holkar,cosmonauts,underpinning,lithosphere,firuzabad,languished,mingled,citrate,spadina,lavas,daejeon,fibrillation,porgy,pineville,ps1000,cobbled,emamzadeh,mukhtar,dampers,indelible,salonika,nanoscale,treblinka,eilat,purporting,fluctuate,mesic,hagiography,cutscenes,fondation,barrens,comically,accrue,ibrox,makerere,defections,'there,hollandia,skene,grosseto,reddit,objectors,inoculation,rowdies,playfair,calligrapher,namor,sibenik,abbottabad,propellants,hydraulically,chloroplasts,tablelands,tecnico,schist,klasse,shirvan,bashkortostan,bullfighting,north/south,polski,hanns,woodblock,kilmore,ejecta,ignacy,nanchang,danubian,commendations,snohomish,samaritans,argumentation,vasconcelos,hedgehogs,vajrayana,barents,kulkarni,kumbakonam,identifications,hillingdon,weirs,nayanar,beauvoir,messe,divisors,atlantiques,broods,affluence,tegucigalpa,unsuited,autodesk,akash,princeps,culprits,kingstown,unassuming,goole,visayan,asceticism,blagojevich,irises,paphos,unsound,maurier,pontchartrain,desertification,sinfonietta,latins,especial,limpet,valerenga,glial,brainstem,mitral,parables,sauropod,judean,iskcon,sarcoma,venlo,justifications,zhuhai,blavatsky,alleviated,usafe,steppenwolf,inversions,janko,chagall,secretory,basildon,saguenay,pergamon,hemispherical,harmonized,reloading,franjo,domaine,extravagance,relativism,metamorphosed,labuan,baloncesto,gmail,byproducts,calvinists,counterattacked,vitus,bubonic,120th,strachey,ritually,brookwood,selectable,savinja,incontinence,meltwater,jinja,1720s,brahmi,morgenthau,sheaves,sleeved,stratovolcano,wielki,utilisation,avoca,fluxus,panzergrenadier,philately,deflation,podlaska,prerogatives,kuroda,theophile,zhongzong,gascoyne,magus,takao,arundell,fylde,merdeka,prithviraj,venkateswara,liepaja,daigo,dreamland,reflux,sunnyvale,coalfields,seacrest,soldering,flexor,structuralism,alnwick,outweighed,unaired,mangeshkar,batons,glaad,banshees,irradiated,organelles,biathlete,cabling,chairlift,lollapalooza,newsnight,capacitive,succumbs,flatly,miramichi,burwood,comedienne,charteris,biotic,workspace,aficionados,sokolka,chatelet,o'shaughnessy,prosthesis,neoliberal,refloated,oppland,hatchlings,econometrics,loess,thieu,androids,appalachians,jenin,pterostichinae,downsized,foils,chipsets,stencil,danza,narrate,maginot,yemenite,bisects,crustacean,prescriptive,melodious,alleviation,empowers,hansson,autodromo,obasanjo,osmosis,daugava,rheumatism,moraes,leucine,etymologies,chepstow,delaunay,bramall,bajaj,flavoring,approximates,marsupials,incisive,microcomputer,tactically,waals,wilno,fisichella,ursus,hindmarsh,mazarin,lomza,xenophobia,lawlessness,annecy,wingers,gornja,gnaeus,superieur,tlaxcala,clasps,symbolises,slats,rightist,effector,blighted,permanence,divan,progenitors,kunsthalle,anointing,excelling,coenzyme,indoctrination,dnipro,landholdings,adriaan,liturgies,cartan,ethmia,attributions,sanctus,trichy,chronicon,tancred,affinis,kampuchea,gantry,pontypool,membered,distrusted,fissile,dairies,hyposmocoma,craigie,adarsh,martinsburg,taxiway,30deg,geraint,vellum,bencher,khatami,formula_53,zemun,teruel,endeavored,palmares,pavements,u.s..,internationalization,satirized,carers,attainable,wraparound,muang,parkersburg,extinctions,birkenfeld,wildstorm,payers,cohabitation,unitas,culloden,capitalizing,clwyd,daoist,campinas,emmylou,orchidaceae,halakha,orientales,fealty,domnall,chiefdom,nigerians,ladislav,dniester,avowed,ergonomics,newsmagazine,kitsch,cantilevered,benchmarking,remarriage,alekhine,coldfield,taupo,almirante,substations,apprenticeships,seljuq,levelling,eponym,symbolising,salyut,opioids,underscore,ethnologue,mohegan,marikina,libro,bassano,parse,semantically,disjointed,dugdale,padraig,tulsi,modulating,xfinity,headlands,mstislav,earthworms,bourchier,lgbtq,embellishments,pennants,rowntree,betel,motet,mulla,catenary,washoe,mordaunt,dorking,colmar,girardeau,glentoran,grammatically,samad,recreations,technion,staccato,mikoyan,spoilers,lyndhurst,victimization,chertsey,belafonte,tondo,tonsberg,narrators,subcultures,malformations,edina,augmenting,attests,euphemia,cabriolet,disguising,1650s,navarrese,demoralized,cardiomyopathy,welwyn,wallachian,smoothness,planktonic,voles,issuers,sardasht,survivability,cuauhtemoc,thetis,extruded,signet,raghavan,lombok,eliyahu,crankcase,dissonant,stolberg,trencin,desktops,bursary,collectivization,charlottenburg,triathlete,curvilinear,involuntarily,mired,wausau,invades,sundaram,deletions,bootstrap,abellio,axiomatic,noguchi,setups,malawian,visalia,materialist,kartuzy,wenzong,plotline,yeshivas,parganas,tunica,citric,conspecific,idlib,superlative,reoccupied,blagoevgrad,masterton,immunological,hatta,courbet,vortices,swallowtail,delves,haridwar,diptera,boneh,bahawalpur,angering,mardin,equipments,deployable,guanine,normality,rimmed,artisanal,boxset,chandrasekhar,jools,chenar,tanakh,carcassonne,belatedly,millville,anorthosis,reintegration,velde,surfactant,kanaan,busoni,glyphipterix,personas,fullness,rheims,tisza,stabilizers,bharathi,joost,spinola,mouldings,perching,esztergom,afzal,apostate,lustre,s.league,motorboat,monotheistic,armature,barat,asistencia,bloomsburg,hippocampal,fictionalised,defaults,broch,hexadecimal,lusignan,ryanair,boccaccio,breisgau,southbank,bskyb,adjoined,neurobiology,aforesaid,sadhu,langue,headship,wozniacki,hangings,regulus,prioritized,dynamism,allier,hannity,shimin,antoninus,gymnopilus,caledon,preponderance,melayu,electrodynamics,syncopated,ibises,krosno,mechanistic,morpeth,harbored,albini,monotheism,'real,hyperactivity,haveli,writer/director,minato,nimoy,caerphilly,chitral,amirabad,fanshawe,l'oreal,lorde,mukti,authoritarianism,valuing,spyware,hanbury,restarting,stato,embed,suiza,empiricism,stabilisation,stari,castlemaine,orbis,manufactory,mauritanian,shoji,taoyuan,prokaryotes,oromia,ambiguities,embodying,slims,frente,innovate,ojibwa,powdery,gaeltacht,argentinos,quatermass,detergents,fijians,adaptor,tokai,chileans,bulgars,oxidoreductases,bezirksliga,conceicao,myosin,nellore,500cc,supercomputers,approximating,glyndwr,polypropylene,haugesund,cockerell,tudman,ashbourne,hindemith,bloodlines,rigveda,etruria,romanos,steyn,oradea,deceleration,manhunter,laryngeal,fraudulently,janez,wendover,haplotype,janaki,naoki,belizean,mellencamp,cartographic,sadhana,tricolour,pseudoscience,satara,bytow,s.p.a.,jagdgeschwader,arcot,omagh,sverdrup,masterplan,surtees,apocrypha,ahvaz,d'amato,socratic,leumit,unnumbered,nandini,witold,marsupial,coalesced,interpolated,gimnasia,karadzic,keratin,mamoru,aldeburgh,speculator,escapement,irfan,kashyap,satyajit,haddington,solver,rothko,ashkelon,kickapoo,yeomen,superbly,bloodiest,greenlandic,lithic,autofocus,yardbirds,poona,keble,javan,sufis,expandable,tumblr,ursuline,swimwear,winwood,counsellors,aberrations,marginalised,befriending,workouts,predestination,varietal,siddhartha,dunkeld,judaic,esquimalt,shabab,ajith,telefonica,stargard,hoysala,radhakrishnan,sinusoidal,strada,hiragana,cebuano,monoid,independencia,floodwaters,mildura,mudflats,ottokar,translit,radix,wigner,philosophically,tephritid,synthesizing,castletown,installs,stirner,resettle,bushfire,choirmaster,kabbalistic,shirazi,lightship,rebus,colonizers,centrifuge,leonean,kristofferson,thymus,clackamas,ratnam,rothesay,municipally,centralia,thurrock,gulfport,bilinear,desirability,merite,psoriasis,macaw,erigeron,consignment,mudstone,distorting,karlheinz,ramen,tailwheel,vitor,reinsurance,edifices,superannuation,dormancy,contagion,cobden,rendezvoused,prokaryotic,deliberative,patricians,feigned,degrades,starlings,sopot,viticultural,beaverton,overflowed,convener,garlands,michiel,ternopil,naturelle,biplanes,bagot,gamespy,ventspils,disembodied,flattening,profesional,londoners,arusha,scapular,forestall,pyridine,ulema,eurodance,aruna,callus,periodontal,coetzee,immobilized,o'meara,maharani,katipunan,reactants,zainab,microgravity,saintes,britpop,carrefour,constrain,adversarial,firebirds,brahmo,kashima,simca,surety,surpluses,superconductivity,gipuzkoa,cumans,tocantins,obtainable,humberside,roosting,'king,formula_54,minelayer,bessel,sulayman,cycled,biomarkers,annealing,shusha,barda,cassation,djing,polemics,tuple,directorates,indomitable,obsolescence,wilhelmine,pembina,bojan,tambo,dioecious,pensioner,magnificat,1660s,estrellas,southeasterly,immunodeficiency,railhead,surreptitiously,codeine,encores,religiosity,tempera,camberley,efendi,boardings,malleable,hagia,input/output,lucasfilm,ujjain,polymorphisms,creationist,berners,mickiewicz,irvington,linkedin,endures,kinect,munition,apologetics,fairlie,predicated,reprinting,ethnographer,variances,levantine,mariinsky,jadid,jarrow,asia/oceania,trinamool,waveforms,bisexuality,preselection,pupae,buckethead,hieroglyph,lyricists,marionette,dunbartonshire,restorer,monarchical,pazar,kickoffs,cabildo,savannas,gliese,dench,spoonbills,novelette,diliman,hypersensitivity,authorising,montefiore,mladen,qu'appelle,theistic,maruti,laterite,conestoga,saare,californica,proboscis,carrickfergus,imprecise,hadassah,baghdadi,jolgeh,deshmukh,amusements,heliopolis,berle,adaptability,partenkirchen,separations,baikonur,cardamom,southeastward,southfield,muzaffar,adequacy,metropolitana,rajkot,kiyoshi,metrobus,evictions,reconciles,librarianship,upsurge,knightley,badakhshan,proliferated,spirituals,burghley,electroacoustic,professing,featurette,reformists,skylab,descriptors,oddity,greyfriars,injects,salmond,lanzhou,dauntless,subgenera,underpowered,transpose,mahinda,gatos,aerobatics,seaworld,blocs,waratahs,joris,giggs,perfusion,koszalin,mieczyslaw,ayyubid,ecologists,modernists,sant'angelo,quicktime,him/her,staves,sanyo,melaka,acrocercops,qigong,iterated,generalizes,recuperation,vihara,circassians,psychical,chavo,memoires,infiltrates,notaries,pelecaniformesfamily,strident,chivalric,pierrepont,alleviating,broadsides,centipede,b.tech,reinterpreted,sudetenland,hussite,covenanters,radhika,ironclads,gainsbourg,testis,penarth,plantar,azadegan,beano,espn.com,leominster,autobiographies,nbcuniversal,eliade,khamenei,montferrat,undistinguished,ethnological,wenlock,fricatives,polymorphic,biome,joule,sheaths,astrophysicist,salve,neoclassicism,lovat,downwind,belisarius,forma,usurpation,freie,depopulation,backbench,ascenso,'high,aagpbl,gdanski,zalman,mouvement,encapsulation,bolshevism,statny,voyageurs,hywel,vizcaya,mazra'eh,narthex,azerbaijanis,cerebrospinal,mauretania,fantail,clearinghouse,bolingbroke,pequeno,ansett,remixing,microtubule,wrens,jawahar,palembang,gambian,hillsong,fingerboard,repurposed,sundry,incipient,veolia,theologically,ulaanbaatar,atsushi,foundling,resistivity,myeloma,factbook,mazowiecka,diacritic,urumqi,clontarf,provokes,intelsat,professes,materialise,portobello,benedictines,panionios,introverted,reacquired,bridport,mammary,kripke,oratorios,vlore,stoning,woredas,unreported,antti,togolese,fanzines,heuristics,conservatories,carburetors,clitheroe,cofounded,formula_57,erupting,quinnipiac,bootle,ghostface,sittings,aspinall,sealift,transferase,boldklub,siskiyou,predominated,francophonie,ferruginous,castrum,neogene,sakya,madama,precipitous,'love,posix,bithynia,uttara,avestan,thrushes,seiji,memorably,septimius,libri,cibernetico,hyperinflation,dissuaded,cuddalore,peculiarity,vaslui,grojec,albumin,thurles,casks,fasteners,fluidity,buble,casals,terek,gnosticism,cognates,ulnar,radwanska,babylonians,majuro,oxidizer,excavators,rhythmically,liffey,gorakhpur,eurydice,underscored,arborea,lumumba,tuber,catholique,grama,galilei,scrope,centreville,jacobin,bequests,ardeche,polygamous,montauban,terai,weatherboard,readability,attainder,acraea,transversely,rivets,winterbottom,reassures,bacteriology,vriesea,chera,andesite,dedications,homogenous,reconquered,bandon,forrestal,ukiyo,gurdjieff,tethys,sparc,muscogee,grebes,belchatow,mansa,blantyre,palliser,sokolow,fibroblasts,exmoor,misaki,soundscapes,housatonic,middelburg,convenor,leyla,antipope,histidine,okeechobee,alkenes,sombre,alkene,rubik,macaques,calabar,trophee,pinchot,'free,frusciante,chemins,falaise,vasteras,gripped,schwarzenberg,cumann,kanchipuram,acoustically,silverbacks,fangio,inset,plympton,kuril,vaccinations,recep,theropods,axils,stavropol,encroached,apoptotic,papandreou,wailers,moonstone,assizes,micrometers,hornchurch,truncation,annapurna,egyptologists,rheumatic,promiscuity,satiric,fleche,caloptilia,anisotropy,quaternions,gruppo,viscounts,awardees,aftershocks,sigint,concordance,oblasts,gaumont,stent,commissars,kesteven,hydroxy,vijayanagar,belorussian,fabricius,watermark,tearfully,mamet,leukaemia,sorkh,milepost,tattooing,vosta,abbasids,uncompleted,hedong,woodwinds,extinguishing,malus,multiplexes,francoist,pathet,responsa,bassists,'most,postsecondary,ossory,grampian,saakashvili,alito,strasberg,impressionistic,volador,gelatinous,vignette,underwing,campanian,abbasabad,albertville,hopefuls,nieuwe,taxiways,reconvened,recumbent,pathologists,unionized,faversham,asymptotically,romulo,culling,donja,constricted,annesley,duomo,enschede,lovech,sharpshooter,lansky,dhamma,papillae,alanine,mowat,delius,wrest,mcluhan,podkarpackie,imitators,bilaspur,stunting,pommel,casemate,handicaps,nagas,testaments,hemings,necessitate,rearward,locative,cilla,klitschko,lindau,merion,consequential,antic,soong,copula,berthing,chevrons,rostral,sympathizer,budokan,ranulf,beria,stilt,replying,conflated,alcibiades,painstaking,yamanashi,calif.,arvid,ctesiphon,xizong,rajas,caxton,downbeat,resurfacing,rudders,miscegenation,deathmatch,foregoing,arthropod,attestation,karts,reapportionment,harnessing,eastlake,schola,dosing,postcolonial,imtiaz,formula_55,insulators,gunung,accumulations,pampas,llewelyn,bahnhof,cytosol,grosjean,teaneck,briarcliff,arsenio,canara,elaborating,passchendaele,searchlights,holywell,mohandas,preventable,gehry,mestizos,ustinov,cliched,'national,heidfeld,tertullian,jihadist,tourer,miletus,semicircle,outclassed,bouillon,cardinalate,clarifies,dakshina,bilayer,pandyan,unrwa,chandragupta,formula_56,portola,sukumaran,lactation,islamia,heikki,couplers,misappropriation,catshark,montt,ploughs,carib,stator,leaderboard,kenrick,dendrites,scape,tillamook,molesworth,mussorgsky,melanesia,restated,troon,glycoside,truckee,headwater,mashup,sectoral,gangwon,docudrama,skirting,psychopathology,dramatised,ostroleka,infestations,thabo,depolarization,wideroe,eisenbahn,thomond,kumaon,upendra,foreland,acronyms,yaqui,retaking,raphaelite,specie,dupage,villars,lucasarts,chloroplast,werribee,balsa,ascribe,havant,flava,khawaja,tyumen,subtract,interrogators,reshaping,buzzcocks,eesti,campanile,potemkin,apertures,snowboarder,registrars,handbooks,boyar,contaminant,depositors,proximate,jeunesse,zagora,pronouncements,mists,nihilism,deified,margraviate,pietersen,moderators,amalfi,adjectival,copepods,magnetosphere,pallets,clemenceau,castra,perforation,granitic,troilus,grzegorz,luthier,dockyards,antofagasta,ffestiniog,subroutine,afterword,waterwheel,druce,nitin,undifferentiated,emacs,readmitted,barneveld,tapers,hittites,infomercials,infirm,braathens,heligoland,carpark,geomagnetic,musculoskeletal,nigerien,machinima,harmonize,repealing,indecency,muskoka,verite,steubenville,suffixed,cytoskeleton,surpasses,harmonia,imereti,ventricles,heterozygous,envisions,otsego,ecoles,warrnambool,burgenland,seria,rawat,capistrano,welby,kirin,enrollments,caricom,dragonlance,schaffhausen,expanses,photojournalism,brienne,etude,referent,jamtland,schemas,xianbei,cleburne,bicester,maritima,shorelines,diagonals,bjelke,nonpublic,aliasing,m.f.a,ovals,maitreya,skirmishing,grothendieck,sukhothai,angiotensin,bridlington,durgapur,contras,gakuen,skagit,rabbinate,tsunamis,haphazard,tyldesley,microcontroller,discourages,hialeah,compressing,septimus,larvik,condoleezza,psilocybin,protectionism,songbirds,clandestinely,selectmen,wargame,cinemascope,khazars,agronomy,melzer,latifah,cherokees,recesses,assemblymen,basescu,banaras,bioavailability,subchannels,adenine,o'kelly,prabhakar,leonese,dimethyl,testimonials,geoffroy,oxidant,universiti,gheorghiu,bohdan,reversals,zamorin,herbivore,jarre,sebastiao,infanterie,dolmen,teddington,radomsko,spaceships,cuzco,recapitulation,mahoning,bainimarama,myelin,aykroyd,decals,tokelau,nalgonda,rajasthani,121st,quelled,tambov,illyrians,homilies,illuminations,hypertrophy,grodzisk,inundation,incapacity,equilibria,combats,elihu,steinitz,berengar,gowda,canwest,khosrau,maculata,houten,kandinsky,onside,leatherhead,heritable,belvidere,federative,chukchi,serling,eruptive,patan,entitlements,suffragette,evolutions,migrates,demobilisation,athleticism,trope,sarpsborg,kensal,translink,squamish,concertgebouw,energon,timestamp,competences,zalgiris,serviceman,codice_7,spoofing,assange,mahadevan,skien,suceava,augustan,revisionism,unconvincing,hollande,drina,gottlob,lippi,broglie,darkening,tilapia,eagerness,nacht,kolmogorov,photometric,leeuwarden,jrotc,haemorrhage,almanack,cavalli,repudiation,galactose,zwickau,cetinje,houbraken,heavyweights,gabonese,ordinals,noticias,museveni,steric,charaxes,amjad,resection,joinville,leczyca,anastasius,purbeck,subtribe,dalles,leadoff,monoamine,jettisoned,kaori,anthologized,alfreton,indic,bayezid,tottori,colonizing,assassinating,unchanging,eusebian,d'estaing,tsingtao,toshio,transferases,peronist,metrology,equus,mirpur,libertarianism,kovil,indole,'green,abstention,quantitatively,icebreakers,tribals,mainstays,dryandra,eyewear,nilgiri,chrysanthemum,inositol,frenetic,merchantman,hesar,physiotherapist,transceiver,dancefloor,rankine,neisse,marginalization,lengthen,unaided,rework,pageantry,savio,striated,funen,witton,illuminates,frass,hydrolases,akali,bistrita,copywriter,firings,handballer,tachinidae,dmytro,coalesce,neretva,menem,moraines,coatbridge,crossrail,spoofed,drosera,ripen,protour,kikuyu,boleslav,edwardes,troubadours,haplogroups,wrasse,educationalist,sroda,khaneh,dagbladet,apennines,neuroscientist,deplored,terje,maccabees,daventry,spaceport,lessening,ducats,singer/guitarist,chambersburg,yeong,configurable,ceremonially,unrelenting,caffe,graaf,denizens,kingsport,ingush,panhard,synthesised,tumulus,homeschooled,bozorg,idiomatic,thanhouser,queensway,radek,hippolytus,inking,banovina,peacocks,piaui,handsworth,pantomimes,abalone,thera,kurzweil,bandura,augustinians,bocelli,ferrol,jiroft,quadrature,contravention,saussure,rectification,agrippina,angelis,matanzas,nidaros,palestrina,latium,coriolis,clostridium,ordain,uttering,lanchester,proteolytic,ayacucho,merseburg,holbein,sambalpur,algebraically,inchon,ostfold,savoia,calatrava,lahiri,judgeship,ammonite,masaryk,meyerbeer,hemorrhagic,superspeedway,ningxia,panicles,encircles,khmelnytsky,profusion,esher,babol,inflationary,anhydride,gaspe,mossy,periodicity,nacion,meteorologists,mahjong,interventional,sarin,moult,enderby,modell,palgrave,warners,montcalm,siddha,functionalism,rilke,politicized,broadmoor,kunste,orden,brasileira,araneta,eroticism,colquhoun,mamba,blacktown,tubercle,seagrass,manoel,camphor,neoregelia,llandudno,annexe,enplanements,kamien,plovers,statisticians,iturbide,madrasah,nontrivial,publican,landholders,manama,uninhabitable,revivalist,trunkline,friendliness,gurudwara,rocketry,unido,tripos,besant,braque,evolutionarily,abkhazian,staffel,ratzinger,brockville,bohemond,intercut,djurgarden,utilitarianism,deploys,sastri,absolutism,subhas,asghar,fictions,sepinwall,proportionately,titleholders,thereon,foursquare,machinegun,knightsbridge,siauliai,aqaba,gearboxes,castaways,weakens,phallic,strzelce,buoyed,ruthenia,pharynx,intractable,neptunes,koine,leakey,netherlandish,preempted,vinay,terracing,instigating,alluvium,prosthetics,vorarlberg,politiques,joinery,reduplication,nebuchadnezzar,lenticular,banka,seaborne,pattinson,helpline,aleph,beckenham,californians,namgyal,franziska,aphid,branagh,transcribe,appropriateness,surakarta,takings,propagates,juraj,b0d3fb,brera,arrayed,tailback,falsehood,hazleton,prosody,egyptology,pinnate,tableware,ratan,camperdown,ethnologist,tabari,classifiers,biogas,126th,kabila,arbitron,apuestas,membranous,kincardine,oceana,glories,natick,populism,synonymy,ghalib,mobiles,motherboards,stationers,germinal,patronised,formula_58,gaborone,torts,jeezy,interleague,novaya,batticaloa,offshoots,wilbraham,filename,nswrfl,'well,trilobite,pythons,optimally,scientologists,rhesus,pilsen,backdrops,batang,unionville,hermanos,shrikes,fareham,outlawing,discontinuing,boisterous,shamokin,scanty,southwestward,exchangers,unexpired,mewar,h.m.s,saldanha,pawan,condorcet,turbidity,donau,indulgences,coincident,cliques,weeklies,bardhaman,violators,kenai,caspase,xperia,kunal,fistula,epistemic,cammell,nephi,disestablishment,rotator,germaniawerft,pyaar,chequered,jigme,perlis,anisotropic,popstars,kapil,appendices,berat,defecting,shacks,wrangel,panchayath,gorna,suckling,aerosols,sponheim,talal,borehole,encodings,enlai,subduing,agong,nadar,kitsap,syrmia,majumdar,pichilemu,charleville,embryology,booting,literati,abutting,basalts,jussi,repubblica,hertogenbosch,digitization,relents,hillfort,wiesenthal,kirche,bhagwan,bactrian,oases,phyla,neutralizing,helsing,ebooks,spearheading,margarine,'golden,phosphor,picea,stimulants,outliers,timescale,gynaecology,integrator,skyrocketed,bridgnorth,senecio,ramachandra,suffragist,arrowheads,aswan,inadvertent,microelectronics,118th,sofer,kubica,melanesian,tuanku,balkh,vyborg,crystallographic,initiators,metamorphism,ginzburg,looters,unimproved,finistere,newburyport,norges,immunities,franchisees,asterism,kortrijk,camorra,komsomol,fleurs,draughts,patagonian,voracious,artin,collaborationist,revolucion,revitalizing,xaver,purifying,antipsychotic,disjunct,pompeius,dreamwave,juvenal,beinn,adiyaman,antitank,allama,boletus,melanogaster,dumitru,caproni,aligns,athabaskan,stobart,phallus,veikkausliiga,hornsey,buffering,bourbons,dobruja,marga,borax,electrics,gangnam,motorcyclist,whidbey,draconian,lodger,galilean,sanctification,imitates,boldness,underboss,wheatland,cantabrian,terceira,maumee,redefining,uppercase,ostroda,characterise,universalism,equalized,syndicalism,haringey,masovia,deleuze,funkadelic,conceals,thuan,minsky,pluralistic,ludendorff,beekeeping,bonfires,endoscopic,abuts,prebend,jonkoping,amami,tribunes,yup'ik,awadh,gasification,pforzheim,reforma,antiwar,vaishnavism,maryville,inextricably,margrethe,empresa,neutrophils,sanctified,ponca,elachistidae,curiae,quartier,mannar,hyperplasia,wimax,busing,neologism,florins,underrepresented,digitised,nieuw,cooch,howards,frege,hughie,plied,swale,kapellmeister,vajpayee,quadrupled,aeronautique,dushanbe,custos,saltillo,kisan,tigray,manaus,epigrams,shamanic,peppered,frosts,promotion/relegation,concedes,zwingli,charentes,whangarei,hyung,spring/summer,sobre,eretz,initialization,sawai,ephemera,grandfathered,arnaldo,customised,permeated,parapets,growths,visegrad,estudios,altamont,provincia,apologises,stoppard,carburettor,rifts,kinematic,zhengzhou,eschatology,prakrit,folate,yvelines,scapula,stupas,rishon,reconfiguration,flutist,1680s,apostolate,proudhon,lakshman,articulating,stortford,faithfull,bitterns,upwelling,qur'anic,lidar,interferometry,waterlogged,koirala,ditton,wavefunction,fazal,babbage,antioxidants,lemberg,deadlocked,tolled,ramapo,mathematica,leiria,topologies,khali,photonic,balti,1080p,corrects,recommenced,polyglot,friezes,tiebreak,copacabana,cholmondeley,armband,abolishment,sheamus,buttes,glycolysis,cataloged,warrenton,sassari,kishan,foodservice,cryptanalysis,holmenkollen,cosplay,machi,yousuf,mangal,allying,fertiliser,otomi,charlevoix,metallurg,parisians,bottlenose,oakleigh,debug,cidade,accede,ligation,madhava,pillboxes,gatefold,aveyron,sorin,thirsk,immemorial,menelik,mehra,domingos,underpinned,fleshed,harshness,diphthong,crestwood,miskolc,dupri,pyrausta,muskingum,tuoba,prodi,incidences,waynesboro,marquesas,heydar,artesian,calinescu,nucleation,funders,covalently,compaction,derbies,seaters,sodor,tabular,amadou,peckinpah,o'halloran,zechariah,libyans,kartik,daihatsu,chandran,erzhu,heresies,superheated,yarder,dorde,tanjore,abusers,xuanwu,juniperus,moesia,trusteeship,birdwatching,beatz,moorcock,harbhajan,sanga,choreographic,photonics,boylston,amalgamate,prawns,electrifying,sarath,inaccurately,exclaims,powerpoint,chaining,cpusa,adulterous,saccharomyces,glogow,vfl/afl,syncretic,simla,persisting,functors,allosteric,euphorbiaceae,juryo,mlada,moana,gabala,thornycroft,kumanovo,ostrovsky,sitio,tutankhamun,sauropods,kardzhali,reinterpretation,sulpice,rosyth,originators,halesowen,delineation,asesoria,abatement,gardai,elytra,taillights,overlays,monsoons,sandpipers,ingmar,henrico,inaccuracy,irwell,arenabowl,elche,pressburg,signalman,interviewees,sinkhole,pendle,ecommerce,cellos,nebria,organometallic,surrealistic,propagandist,interlaken,canandaigua,aerials,coutinho,pascagoula,tonopah,letterkenny,gropius,carbons,hammocks,childe,polities,hosiery,donitz,suppresses,diaghilev,stroudsburg,bagram,pistoia,regenerating,unitarians,takeaway,offstage,vidin,glorification,bakunin,yavapai,lutzow,sabercats,witney,abrogated,gorlitz,validating,dodecahedron,stubbornly,telenor,glaxosmithkline,solapur,undesired,jellicoe,dramatization,four-and-a-half,seawall,waterpark,artaxerxes,vocalization,typographic,byung,sachsenhausen,shepparton,kissimmee,konnan,belsen,dhawan,khurd,mutagenesis,vejle,perrot,estradiol,formula_60,saros,chiloe,misiones,lamprey,terrains,speke,miasto,eigenvectors,haydock,reservist,corticosteroids,savitri,shinawatra,developmentally,yehudi,berates,janissaries,recapturing,rancheria,subplots,gresley,nikkatsu,oryol,cosmas,boavista,formula_59,playfully,subsections,commentated,kathakali,dorid,vilaine,seepage,hylidae,keiji,kazakhs,triphosphate,1620s,supersede,monarchists,falla,miyako,notching,bhumibol,polarizing,secularized,shingled,bronislaw,lockerbie,soleyman,bundesbahn,latakia,redoubts,boult,inwardly,invents,ondrej,minangkabau,newquay,permanente,alhaji,madhav,malini,ellice,bookmaker,mankiewicz,etihad,o'dea,interrogative,mikawa,wallsend,canisius,bluesy,vitruvius,noord,ratifying,mixtec,gujranwala,subprefecture,keelung,goiania,nyssa,shi'ite,semitone,ch'uan,computerised,pertuan,catapults,nepomuk,shruti,millstones,buskerud,acolytes,tredegar,sarum,armia,dell'arte,devises,custodians,upturned,gallaudet,disembarking,thrashed,sagrada,myeon,undeclared,qumran,gaiden,tepco,janesville,showground,condense,chalon,unstaffed,pasay,undemocratic,hauts,viridis,uninjured,escutcheon,gymkhana,petaling,hammam,dislocations,tallaght,rerum,shias,indios,guaranty,simplicial,benares,benediction,tajiri,prolifically,huawei,onerous,grantee,ferencvaros,otranto,carbonates,conceit,digipak,qadri,masterclasses,swamiji,cradock,plunket,helmsman,119th,salutes,tippecanoe,murshidabad,intelligibility,mittal,diversifying,bidar,asansol,crowdsourcing,rovere,karakoram,grindcore,skylights,tulagi,furrows,ligne,stuka,sumer,subgraph,amata,regionalist,bulkeley,teletext,glorify,readied,lexicographer,sabadell,predictability,quilmes,phenylalanine,bandaranaike,pyrmont,marksmen,quisling,viscountess,sociopolitical,afoul,pediments,swazi,martyrology,nullify,panagiotis,superconductors,veldenz,jujuy,l'isle,hematopoietic,shafi,subsea,hattiesburg,jyvaskyla,kebir,myeloid,landmine,derecho,amerindians,birkenau,scriabin,milhaud,mucosal,nikaya,freikorps,theoretician,proconsul,o'hanlon,clerked,bactria,houma,macular,topologically,shrubby,aryeh,ghazali,afferent,magalhaes,moduli,ashtabula,vidarbha,securitate,ludwigsburg,adoor,varun,shuja,khatun,chengde,bushels,lascelles,professionnelle,elfman,rangpur,unpowered,citytv,chojnice,quaternion,stokowski,aschaffenburg,commutes,subramaniam,methylene,satrap,gharb,namesakes,rathore,helier,gestational,heraklion,colliers,giannis,pastureland,evocation,krefeld,mahadeva,churchmen,egret,yilmaz,galeazzo,pudukkottai,artigas,generalitat,mudslides,frescoed,enfeoffed,aphorisms,melilla,montaigne,gauliga,parkdale,mauboy,linings,prema,sapir,xylophone,kushan,rockne,sequoyah,vasyl,rectilinear,vidyasagar,microcosm,san'a,carcinogen,thicknesses,aleut,farcical,moderating,detested,hegemonic,instalments,vauban,verwaltungsgemeinschaft,picayune,razorback,magellanic,moluccas,pankhurst,exportation,waldegrave,sufferer,bayswater,1up.com,rearmament,orangutans,varazdin,b.o.b,elucidate,harlingen,erudition,brankovic,lapis,slipway,urraca,shinde,unwell,elwes,euboea,colwyn,srivijaya,grandstands,hortons,generalleutnant,fluxes,peterhead,gandhian,reals,alauddin,maximized,fairhaven,endow,ciechanow,perforations,darters,panellist,manmade,litigants,exhibitor,tirol,caracalla,conformance,hotelier,stabaek,hearths,borac,frisians,ident,veliko,emulators,schoharie,uzbeks,samarra,prestwick,wadia,universita,tanah,bucculatrix,predominates,genotypes,denounces,roadsides,ganassi,keokuk,philatelist,tomic,ingots,conduits,samplers,abdus,johar,allegories,timaru,wolfpacks,secunda,smeaton,sportivo,inverting,contraindications,whisperer,moradabad,calamities,bakufu,soundscape,smallholders,nadeem,crossroad,xenophobic,zakir,nationalliga,glazes,retroflex,schwyz,moroder,rubra,quraysh,theodoros,endemol,infidels,km/hr,repositioned,portraitist,lluis,answerable,arges,mindedness,coarser,eyewall,teleported,scolds,uppland,vibraphone,ricoh,isenburg,bricklayer,cuttlefish,abstentions,communicable,cephalopod,stockyards,balto,kinston,armbar,bandini,elphaba,maxims,bedouins,sachsen,friedkin,tractate,pamir,ivanovo,mohini,kovalainen,nambiar,melvyn,orthonormal,matsuyama,cuernavaca,veloso,overstated,streamer,dravid,informers,analyte,sympathized,streetscape,gosta,thomasville,grigore,futuna,depleting,whelks,kiedis,armadale,earner,wynyard,dothan,animating,tridentine,sabri,immovable,rivoli,ariege,parley,clinker,circulates,junagadh,fraunhofer,congregants,180th,buducnost,formula_62,olmert,dedekind,karnak,bayernliga,mazes,sandpiper,ecclestone,yuvan,smallmouth,decolonization,lemmy,adjudicated,retiro,legia,benue,posit,acidification,wahab,taconic,floatplane,perchlorate,atria,wisbech,divestment,dallara,phrygia,palustris,cybersecurity,rebates,facie,mineralogical,substituent,proteges,fowey,mayenne,smoothbore,cherwell,schwarzschild,junin,murrumbidgee,smalltalk,d'orsay,emirati,calaveras,titusville,theremin,vikramaditya,wampanoag,burra,plaines,onegin,emboldened,whampoa,langa,soderbergh,arnaz,sowerby,arendal,godunov,pathanamthitta,damselfly,bestowing,eurosport,iconoclasm,outfitters,acquiesced,badawi,hypotension,ebbsfleet,annulus,sohrab,thenceforth,chagatai,necessitates,aulus,oddities,toynbee,uniontown,innervation,populaire,indivisible,rossellini,minuet,cyrene,gyeongju,chania,cichlids,harrods,1690s,plunges,abdullahi,gurkhas,homebuilt,sortable,bangui,rediff,incrementally,demetrios,medaille,sportif,svend,guttenberg,tubules,carthusian,pleiades,torii,hoppus,phenyl,hanno,conyngham,teschen,cronenberg,wordless,melatonin,distinctiveness,autos,freising,xuanzang,dunwich,satanism,sweyn,predrag,contractually,pavlovic,malaysians,micrometres,expertly,pannonian,abstaining,capensis,southwesterly,catchphrases,commercialize,frankivsk,normanton,hibernate,verso,deportees,dubliners,codice_8,condors,zagros,glosses,leadville,conscript,morrisons,usury,ossian,oulton,vaccinium,civet,ayman,codrington,hadron,nanometers,geochemistry,extractor,grigori,tyrrhenian,neocollyris,drooping,falsification,werft,courtauld,brigantine,orhan,chapultepec,supercopa,federalized,praga,havering,encampments,infallibility,sardis,pawar,undirected,reconstructionist,ardrossan,varuna,pastimes,archdiocesan,fledging,shenhua,molise,secondarily,stagnated,replicates,ciencias,duryodhana,marauding,ruislip,ilyich,intermixed,ravenswood,shimazu,mycorrhizal,icosahedral,consents,dunblane,follicular,pekin,suffield,muromachi,kinsale,gauche,businesspeople,thereto,watauga,exaltation,chelmno,gorse,proliferate,drainages,burdwan,kangra,transducers,inductor,duvalier,maguindanao,moslem,uncaf,givenchy,plantarum,liturgics,telegraphs,lukashenko,chenango,andante,novae,ironwood,faubourg,torme,chinensis,ambala,pietermaritzburg,virginians,landform,bottlenecks,o'driscoll,darbhanga,baptistery,ameer,needlework,naperville,auditoriums,mullingar,starrer,animatronic,topsoil,madura,cannock,vernet,santurce,catocala,ozeki,pontevedra,multichannel,sundsvall,strategists,medio,135th,halil,afridi,trelawny,caloric,ghraib,allendale,hameed,ludwigshafen,spurned,pavlo,palmar,strafed,catamarca,aveiro,harmonization,surah,predictors,solvay,mande,omnipresent,parenthesis,echolocation,equaling,experimenters,acyclic,lithographic,sepoys,katarzyna,sridevi,impoundment,khosrow,caesarean,nacogdoches,rockdale,lawmaker,caucasians,bahman,miyan,rubric,exuberance,bombastic,ductile,snowdonia,inlays,pinyon,anemones,hurries,hospitallers,tayyip,pulleys,treme,photovoltaics,testbed,polonium,ryszard,osgoode,profiting,ironwork,unsurpassed,nepticulidae,makai,lumbini,preclassic,clarksburg,egremont,videography,rehabilitating,ponty,sardonic,geotechnical,khurasan,solzhenitsyn,henna,phoenicia,rhyolite,chateaux,retorted,tomar,deflections,repressions,harborough,renan,brumbies,vandross,storia,vodou,clerkenwell,decking,universo,salon.com,imprisoning,sudwest,ghaziabad,subscribing,pisgah,sukhumi,econometric,clearest,pindar,yildirim,iulia,atlases,cements,remaster,dugouts,collapsible,resurrecting,batik,unreliability,thiers,conjunctions,colophon,marcher,placeholder,flagella,wolds,kibaki,viviparous,twelver,screenshots,aroostook,khadr,iconographic,itasca,jaume,basti,propounded,varro,be'er,jeevan,exacted,shrublands,creditable,brocade,boras,bittern,oneonta,attentional,herzliya,comprehensible,lakeville,discards,caxias,frankland,camerata,satoru,matlab,commutator,interprovincial,yorkville,benefices,nizami,edwardsville,amigaos,cannabinoid,indianola,amateurliga,pernicious,ubiquity,anarchic,novelties,precondition,zardari,symington,sargodha,headphone,thermopylae,mashonaland,zindagi,thalberg,loewe,surfactants,dobro,crocodilians,samhita,diatoms,haileybury,berwickshire,supercritical,sofie,snorna,slatina,intramolecular,agung,osteoarthritis,obstetric,teochew,vakhtang,connemara,deformations,diadem,ferruccio,mainichi,qualitatively,refrigerant,rerecorded,methylated,karmapa,krasinski,restatement,rouvas,cubitt,seacoast,schwarzkopf,homonymous,shipowner,thiamine,approachable,xiahou,160th,ecumenism,polistes,internazionali,fouad,berar,biogeography,texting,inadequately,'when,4kids,hymenoptera,emplaced,cognomen,bellefonte,supplant,michaelmas,uriel,tafsir,morazan,schweinfurt,chorister,ps400,nscaa,petipa,resolutely,ouagadougou,mascarene,supercell,konstanz,bagrat,harmonix,bergson,shrimps,resonators,veneta,camas,mynydd,rumford,generalmajor,khayyam,web.com,pappus,halfdan,tanana,suomen,yutaka,bibliographical,traian,silat,noailles,contrapuntal,agaricus,'special,minibuses,1670s,obadiah,deepa,rorschach,malolos,lymington,valuations,imperials,caballeros,ambroise,judicature,elegiac,sedaka,shewa,checksum,gosforth,legionaries,corneille,microregion,friedrichshafen,antonis,surnamed,mycelium,cantus,educations,topmost,outfitting,ivica,nankai,gouda,anthemic,iosif,supercontinent,antifungal,belarusians,mudaliar,mohawks,caversham,glaciated,basemen,stevan,clonmel,loughton,deventer,positivist,manipuri,tensors,panipat,changeup,impermeable,dubbo,elfsborg,maritimo,regimens,bikram,bromeliad,substratum,norodom,gaultier,queanbeyan,pompeo,redacted,eurocopter,mothballed,centaurs,borno,copra,bemidji,'home,sopron,neuquen,passo,cineplex,alexandrov,wysokie,mammoths,yossi,sarcophagi,congreve,petkovic,extraneous,waterbirds,slurs,indias,phaeton,discontented,prefaced,abhay,prescot,interoperable,nordisk,bicyclists,validly,sejong,litovsk,zanesville,kapitanleutnant,kerch,changeable,mcclatchy,celebi,attesting,maccoll,sepahan,wayans,veined,gaudens,markt,dansk,soane,quantized,petersham,forebears,nayarit,frenzied,queuing,bygone,viggo,ludwik,tanka,hanssen,brythonic,cornhill,primorsky,stockpiles,conceptualization,lampeter,hinsdale,mesoderm,bielsk,rosenheim,ultron,joffrey,stanwyck,khagan,tiraspol,pavelic,ascendant,empoli,metatarsal,descentralizado,masada,ligier,huseyin,ramadi,waratah,tampines,ruthenium,statoil,mladost,liger,grecian,multiparty,digraph,maglev,reconsideration,radiography,cartilaginous,taizu,wintered,anabaptist,peterhouse,shoghi,assessors,numerator,paulet,painstakingly,halakhic,rocroi,motorcycling,gimel,kryptonian,emmeline,cheeked,drawdown,lelouch,dacians,brahmana,reminiscence,disinfection,optimizations,golders,extensor,tsugaru,tolling,liman,gulzar,unconvinced,crataegus,oppositional,dvina,pyrolysis,mandan,alexius,prion,stressors,loomed,moated,dhivehi,recyclable,relict,nestlings,sarandon,kosovar,solvers,czeslaw,kenta,maneuverable,middens,berkhamsted,comilla,folkways,loxton,beziers,batumi,petrochemicals,optimised,sirjan,rabindra,musicality,rationalisation,drillers,subspaces,'live,bbwaa,outfielders,tsung,danske,vandalised,norristown,striae,kanata,gastroenterology,steadfastly,equalising,bootlegging,mannerheim,notodontidae,lagoa,commentating,peninsulas,chishti,seismology,modigliani,preceptor,canonically,awardee,boyaca,hsinchu,stiffened,nacelle,bogor,dryness,unobstructed,yaqub,scindia,peeters,irritant,ammonites,ferromagnetic,speechwriter,oxygenated,walesa,millais,canarian,faience,calvinistic,discriminant,rasht,inker,annexes,howth,allocates,conditionally,roused,regionalism,regionalbahn,functionary,nitrates,bicentenary,recreates,saboteurs,koshi,plasmids,thinned,124th,plainview,kardashian,neuville,victorians,radiates,127th,vieques,schoolmates,petru,tokusatsu,keying,sunaina,flamethrower,'bout,demersal,hosokawa,corelli,omniscient,o'doherty,niksic,reflectivity,transdev,cavour,metronome,temporally,gabba,nsaids,geert,mayport,hematite,boeotia,vaudreuil,torshavn,sailplane,mineralogist,eskisehir,practises,gallifrey,takumi,unease,slipstream,hedmark,paulinus,ailsa,wielkopolska,filmworks,adamantly,vinaya,facelifted,franchisee,augustana,toppling,velvety,crispa,stonington,histological,genealogist,tactician,tebow,betjeman,nyingma,overwinter,oberoi,rampal,overwinters,petaluma,lactarius,stanmore,balikpapan,vasant,inclines,laminate,munshi,sociedade,rabbah,septal,boyband,ingrained,faltering,inhumans,nhtsa,affix,l'ordre,kazuki,rossendale,mysims,latvians,slaveholders,basilicata,neuburg,assize,manzanillo,scrobipalpa,formula_61,belgique,pterosaurs,privateering,vaasa,veria,northport,pressurised,hobbyist,austerlitz,sahih,bhadra,siliguri,bistrica,bursaries,wynton,corot,lepidus,lully,libor,libera,olusegun,choline,mannerism,lymphocyte,chagos,duxbury,parasitism,ecowas,morotai,cancion,coniston,aggrieved,sputnikmusic,parle,ammonian,civilisations,malformation,cattaraugus,skyhawks,d'arc,demerara,bronfman,midwinter,piscataway,jogaila,threonine,matins,kohlberg,hubli,pentatonic,camillus,nigam,potro,unchained,chauvel,orangeville,cistercians,redeployment,xanthi,manju,carabinieri,pakeha,nikolaevich,kantakouzenos,sesquicentennial,gunships,symbolised,teramo,ballo,crusading,l'oeil,bharatpur,lazier,gabrovo,hysteresis,rothbard,chaumont,roundel,ma'mun,sudhir,queried,newts,shimane,presynaptic,playfield,taxonomists,sensitivities,freleng,burkinabe,orfeo,autovia,proselytizing,bhangra,pasok,jujutsu,heung,pivoting,hominid,commending,formula_64,epworth,christianized,oresund,hantuchova,rajputana,hilversum,masoretic,dayak,bakri,assen,magog,macromolecules,waheed,qaida,spassky,rumped,protrudes,preminger,misogyny,glencairn,salafi,lacunae,grilles,racemes,areva,alighieri,inari,epitomized,photoshoot,one-of-a-kind,tring,muralist,tincture,backwaters,weaned,yeasts,analytically,smaland,caltrans,vysocina,jamuna,mauthausen,175th,nouvelles,censoring,reggina,christology,gilad,amplifying,mehmood,johnsons,redirects,eastgate,sacrum,meteoric,riverbanks,guidebooks,ascribes,scoparia,iconoclastic,telegraphic,chine,merah,mistico,lectern,sheung,aethelstan,capablanca,anant,uspto,albatrosses,mymensingh,antiretroviral,clonal,coorg,vaillant,liquidator,gigas,yokai,eradicating,motorcyclists,waitakere,tandon,nears,montenegrins,250th,tatsuya,yassin,atheistic,syncretism,nahum,berisha,transcended,owensboro,lakshmana,abteilung,unadorned,nyack,overflows,harrisonburg,complainant,uematsu,frictional,worsens,sangguniang,abutment,bulwer,sarma,apollinaire,shippers,lycia,alentejo,porpoises,optus,trawling,augustow,blackwall,workbench,westmount,leaped,sikandar,conveniences,stornoway,culverts,zoroastrians,hristo,ansgar,assistive,reassert,fanned,compasses,delgada,maisons,arima,plonsk,verlaine,starstruck,rakhine,befell,spirally,wyclef,expend,colloquium,formula_63,albertus,bellarmine,handedness,holon,introns,movimiento,profitably,lohengrin,discoverers,awash,erste,pharisees,dwarka,oghuz,hashing,heterodox,uloom,vladikavkaz,linesman,rehired,nucleophile,germanicus,gulshan,songz,bayerische,paralympian,crumlin,enjoined,khanum,prahran,penitent,amersfoort,saranac,semisimple,vagrants,compositing,tualatin,oxalate,lavra,ironi,ilkeston,umpqua,calum,stretford,zakat,guelders,hydrazine,birkin,spurring,modularity,aspartate,sodermanland,hopital,bellary,legazpi,clasico,cadfael,hypersonic,volleys,pharmacokinetics,carotene,orientale,pausini,bataille,lunga,retailed,m.phil,mazowieckie,vijayan,rawal,sublimation,promissory,estimators,ploughed,conflagration,penda,segregationist,otley,amputee,coauthor,sopra,pellew,wreckers,tollywood,circumscription,permittivity,strabane,landward,articulates,beaverbrook,rutherglen,coterminous,whistleblowers,colloidal,surbiton,atlante,oswiecim,bhasa,lampooned,chanter,saarc,landkreis,tribulation,tolerates,daiichi,hatun,cowries,dyschirius,abercromby,attock,aldwych,inflows,absolutist,l'histoire,committeeman,vanbrugh,headstock,westbourne,appenzell,hoxton,oculus,westfalen,roundabouts,nickelback,trovatore,quenching,summarises,conservators,transmutation,talleyrand,barzani,unwillingly,axonal,'blue,opining,enveloping,fidesz,rafah,colborne,flickr,lozenge,dulcimer,ndebele,swaraj,oxidize,gonville,resonated,gilani,superiore,endeared,janakpur,shepperton,solidifying,memoranda,sochaux,kurnool,rewari,emirs,kooning,bruford,unavailability,kayseri,judicious,negating,pterosaur,cytosolic,chernihiv,variational,sabretooth,seawolves,devalued,nanded,adverb,volunteerism,sealers,nemours,smederevo,kashubian,bartin,animax,vicomte,polotsk,polder,archiepiscopal,acceptability,quidditch,tussock,seminaire,immolation,belge,coves,wellingborough,khaganate,mckellen,nayaka,brega,kabhi,pontoons,bascule,newsreels,injectors,cobol,weblog,diplo,biggar,wheatbelt,erythrocytes,pedra,showgrounds,bogdanovich,eclecticism,toluene,elegies,formalize,andromedae,airworthiness,springville,mainframes,overexpression,magadha,bijelo,emlyn,glutamine,accenture,uhuru,metairie,arabidopsis,patanjali,peruvians,berezovsky,accion,astrolabe,jayanti,earnestly,sausalito,recurved,1500s,ramla,incineration,galleons,laplacian,shiki,smethwick,isomerase,dordevic,janow,jeffersonville,internationalism,penciled,styrene,ashur,nucleoside,peristome,horsemanship,sedges,bachata,medes,kristallnacht,schneerson,reflectance,invalided,strutt,draupadi,destino,partridges,tejas,quadrennial,aurel,halych,ethnomusicology,autonomist,radyo,rifting,shi'ar,crvena,telefilm,zawahiri,plana,sultanates,theodorus,subcontractors,pavle,seneschal,teleports,chernivtsi,buccal,brattleboro,stankovic,safar,dunhuang,electrocution,chastised,ergonomic,midsomer,130th,zomba,nongovernmental,escapist,localize,xuzhou,kyrie,carinthian,karlovac,nisan,kramnik,pilipino,digitisation,khasi,andronicus,highwayman,maior,misspelling,sebastopol,socon,rhaetian,archimandrite,partway,positivity,otaku,dingoes,tarski,geopolitics,disciplinarian,zulfikar,kenzo,globose,electrophilic,modele,storekeeper,pohang,wheldon,washers,interconnecting,digraphs,intrastate,campy,helvetic,frontispiece,ferrocarril,anambra,petraeus,midrib,endometrial,dwarfism,mauryan,endocytosis,brigs,percussionists,furtherance,synergistic,apocynaceae,krona,berthier,circumvented,casal,siltstone,precast,ethnikos,realists,geodesy,zarzuela,greenback,tripathi,persevered,interments,neutralization,olbermann,departements,supercomputing,demobilised,cassavetes,dunder,ministering,veszprem,barbarism,'world,pieve,apologist,frentzen,sulfides,firewalls,pronotum,staatsoper,hachette,makhachkala,oberland,phonon,yoshihiro,instars,purnima,winslet,mutsu,ergative,sajid,nizamuddin,paraphrased,ardeidae,kodagu,monooxygenase,skirmishers,sportiva,o'byrne,mykolaiv,ophir,prieta,gyllenhaal,kantian,leche,copan,herero,ps250,gelsenkirchen,shalit,sammarinese,chetwynd,wftda,travertine,warta,sigmaringen,concerti,namespace,ostergotland,biomarker,universals,collegio,embarcadero,wimborne,fiddlers,likening,ransomed,stifled,unabated,kalakaua,khanty,gongs,goodrem,countermeasure,publicizing,geomorphology,swedenborg,undefended,catastrophes,diverts,storyboards,amesbury,contactless,placentia,festivity,authorise,terrane,thallium,stradivarius,antonine,consortia,estimations,consecrate,supergiant,belichick,pendants,butyl,groza,univac,afire,kavala,studi,teletoon,paucity,gonbad,koninklijke,128th,stoichiometric,multimodal,facundo,anatomic,melamine,creuse,altan,brigands,mcguinty,blomfield,tsvangirai,protrusion,lurgan,warminster,tenzin,russellville,discursive,definable,scotrail,lignin,reincorporated,o'dell,outperform,redland,multicolored,evaporates,dimitrie,limbic,patapsco,interlingua,surrogacy,cutty,potrero,masud,cahiers,jintao,ardashir,centaurus,plagiarized,minehead,musings,statuettes,logarithms,seaview,prohibitively,downforce,rivington,tomorrowland,microbiologist,ferric,morag,capsid,kucinich,clairvaux,demotic,seamanship,cicada,painterly,cromarty,carbonic,tupou,oconee,tehuantepec,typecast,anstruther,internalized,underwriters,tetrahedra,flagrant,quakes,pathologies,ulrik,nahal,tarquini,dongguan,parnassus,ryoko,senussi,seleucia,airasia,einer,sashes,d'amico,matriculating,arabesque,honved,biophysical,hardinge,kherson,mommsen,diels,icbms,reshape,brasiliensis,palmach,netaji,oblate,functionalities,grigor,blacksburg,recoilless,melanchthon,reales,astrodome,handcrafted,memes,theorizes,isma'il,aarti,pirin,maatschappij,stabilizes,honiara,ashbury,copts,rootes,defensed,queiroz,mantegna,galesburg,coraciiformesfamily,cabrillo,tokio,antipsychotics,kanon,173rd,apollonia,finial,lydian,hadamard,rangi,dowlatabad,monolingual,platformer,subclasses,chiranjeevi,mirabeau,newsgroup,idmanyurdu,kambojas,walkover,zamoyski,generalist,khedive,flanges,knowle,bande,157th,alleyn,reaffirm,pininfarina,zuckerberg,hakodate,131st,aditi,bellinzona,vaulter,planking,boscombe,colombians,lysis,toppers,metered,nahyan,queensryche,minho,nagercoil,firebrand,foundress,bycatch,mendota,freeform,antena,capitalisation,martinus,overijssel,purists,interventionist,zgierz,burgundians,hippolyta,trompe,umatilla,moroccans,dictionnaire,hydrography,changers,chota,rimouski,aniline,bylaw,grandnephew,neamt,lemnos,connoisseurs,tractive,rearrangements,fetishism,finnic,apalachicola,landowning,calligraphic,circumpolar,mansfeld,legible,orientalism,tannhauser,blamey,maximization,noinclude,blackbirds,angara,ostersund,pancreatitis,glabra,acleris,juried,jungian,triumphantly,singlet,plasmas,synesthesia,yellowhead,unleashes,choiseul,quanzhong,brookville,kaskaskia,igcse,skatepark,jatin,jewellers,scaritinae,techcrunch,tellurium,lachaise,azuma,codeshare,dimensionality,unidirectional,scolaire,macdill,camshafts,unassisted,verband,kahlo,eliya,prelature,chiefdoms,saddleback,sockers,iommi,coloratura,llangollen,biosciences,harshest,maithili,k'iche,plical,multifunctional,andreu,tuskers,confounding,sambre,quarterdeck,ascetics,berdych,transversal,tuolumne,sagami,petrobras,brecker,menxia,instilling,stipulating,korra,oscillate,deadpan,v/line,pyrotechnic,stoneware,prelims,intracoastal,retraining,ilija,berwyn,encrypt,achievers,zulfiqar,glycoproteins,khatib,farmsteads,occultist,saman,fionn,derulo,khilji,obrenovic,argosy,toowong,dementieva,sociocultural,iconostasis,craigslist,festschrift,taifa,intercalated,tanjong,penticton,sharad,marxian,extrapolation,guises,wettin,prabang,exclaiming,kosta,famas,conakry,wanderings,'aliabad,macleay,exoplanet,bancorp,besiegers,surmounting,checkerboard,rajab,vliet,tarek,operable,wargaming,haldimand,fukuyama,uesugi,aggregations,erbil,brachiopods,tokyu,anglais,unfavorably,ujpest,escorial,armagnac,nagara,funafuti,ridgeline,cocking,o'gorman,compactness,retardant,krajowa,barua,coking,bestows,thampi,chicagoland,variably,o'loughlin,minnows,schwa,shaukat,polycarbonate,chlorinated,godalming,gramercy,delved,banqueting,enlil,sarada,prasanna,domhnall,decadal,regressive,lipoprotein,collectable,surendra,zaporizhia,cycliste,suchet,offsetting,formula_65,pudong,d'arte,blyton,quonset,osmania,tientsin,manorama,proteomics,bille,jalpaiguri,pertwee,barnegat,inventiveness,gollancz,euthanized,henricus,shortfalls,wuxia,chlorides,cerrado,polyvinyl,folktale,straddled,bioengineering,eschewing,greendale,recharged,olave,ceylonese,autocephalous,peacebuilding,wrights,guyed,rosamund,abitibi,bannockburn,gerontology,scutari,souness,seagram,codice_9,'open,xhtml,taguig,purposed,darbar,orthopedics,unpopulated,kisumu,tarrytown,feodor,polyhedral,monadnock,gottorp,priam,redesigning,gasworks,elfin,urquiza,homologation,filipovic,bohun,manningham,gornik,soundness,shorea,lanus,gelder,darke,sandgate,criticality,paranaense,153rd,vieja,lithograph,trapezoid,tiebreakers,convalescence,yan'an,actuaries,balad,altimeter,thermoelectric,trailblazer,previn,tenryu,ancaster,endoscopy,nicolet,discloses,fracking,plaine,salado,americanism,placards,absurdist,propylene,breccia,jirga,documenta,ismailis,161st,brentano,dallas/fort,embellishment,calipers,subscribes,mahavidyalaya,wednesbury,barnstormers,miwok,schembechler,minigame,unterberger,dopaminergic,inacio,nizamabad,overridden,monotype,cavernous,stichting,sassafras,sotho,argentinean,myrrh,rapidity,flatts,gowrie,dejected,kasaragod,cyprinidae,interlinked,arcseconds,degeneracy,infamously,incubate,substructure,trigeminal,sectarianism,marshlands,hooliganism,hurlers,isolationist,urania,burrard,switchover,lecco,wilts,interrogator,strived,ballooning,volterra,raciborz,relegating,gilding,cybele,dolomites,parachutist,lochaber,orators,raeburn,backend,benaud,rallycross,facings,banga,nuclides,defencemen,futurity,emitters,yadkin,eudonia,zambales,manasseh,sirte,meshes,peculiarly,mcminnville,roundly,boban,decrypt,icelanders,sanam,chelan,jovian,grudgingly,penalised,subscript,gambrinus,poaceae,infringements,maleficent,runciman,148th,supersymmetry,granites,liskeard,eliciting,involution,hallstatt,kitzbuhel,shankly,sandhills,inefficiencies,yishuv,psychotropic,nightjars,wavell,sangamon,vaikundar,choshu,retrospectives,pitesti,gigantea,hashemi,bosna,gakuin,siochana,arrangers,baronetcies,narayani,temecula,creston,koscierzyna,autochthonous,wyandot,anniston,igreja,mobilise,buzau,dunster,musselburgh,wenzhou,khattak,detoxification,decarboxylase,manlius,campbells,coleoptera,copyist,sympathisers,suisun,eminescu,defensor,transshipment,thurgau,somerton,fluctuates,ambika,weierstrass,lukow,giambattista,volcanics,romanticized,innovated,matabeleland,scotiabank,garwolin,purine,d'auvergne,borderland,maozhen,pricewaterhousecoopers,testator,pallium,scout.com,mv/pi,nazca,curacies,upjohn,sarasvati,monegasque,ketrzyn,malory,spikelets,biomechanics,haciendas,rapped,dwarfed,stews,nijinsky,subjection,matsu,perceptible,schwarzburg,midsection,entertains,circuitous,epiphytic,wonsan,alpini,bluefield,sloths,transportable,braunfels,dictum,szczecinek,jukka,wielun,wejherowo,hucknall,grameen,duodenum,ribose,deshpande,shahar,nexstar,injurious,dereham,lithographer,dhoni,structuralist,progreso,deschutes,christus,pulteney,quoins,yitzchak,gyeongsang,breviary,makkah,chiyoda,jutting,vineland,angiosperms,necrotic,novelisation,redistribute,tirumala,140th,featureless,mafic,rivaling,toyline,2/1st,martius,saalfeld,monthan,texian,kathak,melodramas,mithila,regierungsbezirk,509th,fermenting,schoolmate,virtuosic,briain,kokoda,heliocentric,handpicked,kilwinning,sonically,dinars,kasim,parkways,bogdanov,luxembourgian,halland,avesta,bardic,daugavpils,excavator,qwest,frustrate,physiographic,majoris,'ndrangheta,unrestrained,firmness,montalban,abundances,preservationists,adare,executioners,guardsman,bonnaroo,neglects,nazrul,pro12,hoorn,abercorn,refuting,kabud,cationic,parapsychology,troposphere,venezuelans,malignancy,khoja,unhindered,accordionist,medak,visby,ejercito,laparoscopic,dinas,umayyads,valmiki,o'dowd,saplings,stranding,incisions,illusionist,avocets,buccleuch,amazonia,fourfold,turboprops,roosts,priscus,turnstile,areal,certifies,pocklington,spoofs,viseu,commonalities,dabrowka,annam,homesteaders,daredevils,mondrian,negotiates,fiestas,perennials,maximizes,lubavitch,ravindra,scrapers,finials,kintyre,violas,snoqualmie,wilders,openbsd,mlawa,peritoneal,devarajan,congke,leszno,mercurial,fakir,joannes,bognor,overloading,unbuilt,gurung,scuttle,temperaments,bautzen,jardim,tradesman,visitations,barbet,sagamore,graaff,forecasters,wilsons,assis,l'air,shariah,sochaczew,russa,dirge,biliary,neuve,heartbreakers,strathearn,jacobian,overgrazing,edrich,anticline,parathyroid,petula,lepanto,decius,channelled,parvathi,puppeteers,communicators,francorchamps,kahane,longus,panjang,intron,traite,xxvii,matsuri,amrit,katyn,disheartened,cacak,omonia,alexandrine,partaking,wrangling,adjuvant,haskovo,tendrils,greensand,lammermoor,otherworld,volusia,stabling,one-and-a-half,bresson,zapatista,eotvos,ps150,webisodes,stepchildren,microarray,braganca,quanta,dolne,superoxide,bellona,delineate,ratha,lindenwood,bruhl,cingulate,tallies,bickerton,helgi,bevin,takoma,tsukuba,statuses,changeling,alister,bytom,dibrugarh,magnesia,duplicating,outlier,abated,goncalo,strelitz,shikai,mardan,musculature,ascomycota,springhill,tumuli,gabaa,odenwald,reformatted,autocracy,theresienstadt,suplex,chattopadhyay,mencken,congratulatory,weatherfield,systema,solemnity,projekt,quanzhou,kreuzberg,postbellum,nobuo,mediaworks,finisterre,matchplay,bangladeshis,kothen,oocyte,hovered,aromas,afshar,browed,teases,chorlton,arshad,cesaro,backbencher,iquique,vulcans,padmini,unabridged,cyclase,despotic,kirilenko,achaean,queensberry,debre,octahedron,iphigenia,curbing,karimnagar,sagarmatha,smelters,surrealists,sanada,shrestha,turridae,leasehold,jiedushi,eurythmics,appropriating,correze,thimphu,amery,musicomh,cyborgs,sandwell,pushcart,retorts,ameliorate,deteriorates,stojanovic,spline,entrenchments,bourse,chancellorship,pasolini,lendl,personage,reformulated,pubescens,loiret,metalurh,reinvention,nonhuman,eilema,tarsal,complutense,magne,broadview,metrodome,outtake,stouffville,seinen,bataillon,phosphoric,ostensible,opatow,aristides,beefheart,glorifying,banten,romsey,seamounts,fushimi,prophylaxis,sibylla,ranjith,goslar,balustrades,georgiev,caird,lafitte,peano,canso,bankura,halfpenny,segregate,caisson,bizerte,jamshedpur,euromaidan,philosophie,ridged,cheerfully,reclassification,aemilius,visionaries,samoans,wokingham,chemung,wolof,unbranched,cinerea,bhosle,ourense,immortalised,cornerstones,sourcebook,khufu,archimedean,universitatea,intermolecular,fiscally,suffices,metacomet,adjudicator,stablemate,specks,glace,inowroclaw,patristic,muharram,agitating,ashot,neurologic,didcot,gamla,ilves,putouts,siraj,laski,coaling,diarmuid,ratnagiri,rotulorum,liquefaction,morbihan,harel,aftershock,gruiformesfamily,bonnier,falconiformesfamily,adorns,wikis,maastrichtian,stauffenberg,bishopsgate,fakhr,sevenfold,ponders,quantifying,castiel,opacity,depredations,lenten,gravitated,o'mahony,modulates,inuktitut,paston,kayfabe,vagus,legalised,balked,arianism,tendering,sivas,birthdate,awlaki,khvajeh,shahab,samtgemeinde,bridgeton,amalgamations,biogenesis,recharging,tsukasa,mythbusters,chamfered,enthronement,freelancers,maharana,constantia,sutil,messines,monkton,okanogan,reinvigorated,apoplexy,tanahashi,neues,valiants,harappan,russes,carding,volkoff,funchal,statehouse,imitative,intrepidity,mellotron,samaras,turkana,besting,longitudes,exarch,diarrhoea,transcending,zvonareva,darna,ramblin,disconnection,137th,refocused,diarmait,agricole,ba'athist,turenne,contrabass,communis,daviess,fatimids,frosinone,fittingly,polyphyletic,qanat,theocratic,preclinical,abacha,toorak,marketplaces,conidia,seiya,contraindicated,retford,bundesautobahn,rebuilds,climatology,seaworthy,starfighter,qamar,categoria,malai,hellinsia,newstead,airworthy,catenin,avonmouth,arrhythmias,ayyavazhi,downgrade,ashburnham,ejector,kinematics,petworth,rspca,filmation,accipitridae,chhatrapati,g/mol,bacau,agama,ringtone,yudhoyono,orchestrator,arbitrators,138th,powerplants,cumbernauld,alderley,misamis,hawai`i,cuando,meistriliiga,jermyn,alans,pedigrees,ottavio,approbation,omnium,purulia,prioress,rheinland,lymphoid,lutsk,oscilloscope,ballina,iliac,motorbikes,modernising,uffizi,phylloxera,kalevala,bengalis,amravati,syntheses,interviewers,inflectional,outflank,maryhill,unhurt,profiler,nacelles,heseltine,personalised,guarda,herpetologist,airpark,pigot,margaretha,dinos,peleliu,breakbeat,kastamonu,shaivism,delamere,kingsville,epigram,khlong,phospholipids,journeying,lietuvos,congregated,deviance,celebes,subsoil,stroma,kvitova,lubricating,layoff,alagoas,olafur,doron,interuniversity,raycom,agonopterix,uzice,nanna,springvale,raimundo,wrested,pupal,talat,skinheads,vestige,unpainted,handan,odawara,ammar,attendee,lapped,myotis,gusty,ciconiiformesfamily,traversal,subfield,vitaphone,prensa,hasidism,inwood,carstairs,kropotkin,turgenev,dobra,remittance,purim,tannin,adige,tabulation,lethality,pacha,micronesian,dhruva,defensemen,tibeto,siculus,radioisotope,sodertalje,phitsanulok,euphonium,oxytocin,overhangs,skinks,fabrica,reinterred,emulates,bioscience,paragliding,raekwon,perigee,plausibility,frolunda,erroll,aznar,vyasa,albinus,trevally,confederacion,terse,sixtieth,1530s,kendriya,skateboarders,frontieres,muawiyah,easements,shehu,conservatively,keystones,kasem,brutalist,peekskill,cowry,orcas,syllabary,paltz,elisabetta,denticles,hampering,dolni,eidos,aarau,lermontov,yankton,shahbaz,barrages,kongsvinger,reestablishment,acetyltransferase,zulia,mrnas,slingsby,eucalypt,efficacious,weybridge,gradation,cinematheque,malthus,bampton,coexisted,cisse,hamdi,cupertino,saumarez,chionodes,libertine,formers,sakharov,pseudonymous,vol.1,mcduck,gopalakrishnan,amberley,jorhat,grandmasters,rudiments,dwindle,param,bukidnon,menander,americanus,multipliers,pulawy,homoerotic,pillbox,cd+dvd,epigraph,aleksandrow,extrapolated,horseshoes,contemporain,angiography,hasselt,shawinigan,memorization,legitimized,cyclades,outsold,rodolphe,kelis,powerball,dijkstra,analyzers,incompressible,sambar,orangeburg,osten,reauthorization,adamawa,sphagnum,hypermarket,millipedes,zoroaster,madea,ossuary,murrayfield,pronominal,gautham,resellers,ethers,quarrelled,dolna,stragglers,asami,tangut,passos,educacion,sharaf,texel,berio,bethpage,bezalel,marfa,noronha,36ers,genteel,avram,shilton,compensates,sweetener,reinstalled,disables,noether,1590s,balakrishnan,kotaro,northallerton,cataclysm,gholam,cancellara,schiphol,commends,longinus,albinism,gemayel,hamamatsu,volos,islamism,sidereal,pecuniary,diggings,townsquare,neosho,lushan,chittoor,akhil,disputation,desiccation,cambodians,thwarting,deliberated,ellipsis,bahini,susumu,separators,kohneh,plebeians,kultur,ogaden,pissarro,trypeta,latur,liaodong,vetting,datong,sohail,alchemists,lengthwise,unevenly,masterly,microcontrollers,occupier,deviating,farringdon,baccalaureat,theocracy,chebyshev,archivists,jayaram,ineffectiveness,scandinavians,jacobins,encomienda,nambu,g/cm3,catesby,paavo,heeded,rhodium,idealised,10deg,infective,mecyclothorax,halevy,sheared,minbari,audax,lusatian,rebuffs,hitfix,fastener,subjugate,tarun,binet,compuserve,synthesiser,keisuke,amalric,ligatures,tadashi,ignazio,abramovich,groundnut,otomo,maeve,mortlake,ostrogoths,antillean,todor,recto,millimetre,espousing,inaugurate,paracetamol,galvanic,harpalinae,jedrzejow,reassessment,langlands,civita,mikan,stikine,bijar,imamate,istana,kaiserliche,erastus,federale,cytosine,expansionism,hommes,norrland,smriti,snapdragon,gulab,taleb,lossy,khattab,urbanised,sesto,rekord,diffuser,desam,morganatic,silting,pacts,extender,beauharnais,purley,bouches,halfpipe,discontinuities,houthi,farmville,animism,horni,saadi,interpretative,blockades,symeon,biogeographic,transcaucasian,jetties,landrieu,astrocytes,conjunto,stumpings,weevils,geysers,redux,arching,romanus,tazeh,marcellinus,casein,opava,misrata,anare,sattar,declarer,dreux,oporto,venta,vallis,icosahedron,cortona,lachine,mohammedan,sandnes,zynga,clarin,diomedes,tsuyoshi,pribram,gulbarga,chartist,superettan,boscawen,altus,subang,gating,epistolary,vizianagaram,ogdensburg,panna,thyssen,tarkovsky,dzogchen,biograph,seremban,unscientific,nightjar,legco,deism,n.w.a,sudha,siskel,sassou,flintlock,jovial,montbeliard,pallida,formula_66,tranquillity,nisei,adornment,'people,yamhill,hockeyallsvenskan,adopters,appian,lowicz,haplotypes,succinctly,starogard,presidencies,kheyrabad,sobibor,kinesiology,cowichan,militum,cromwellian,leiningen,ps1.5,concourses,dalarna,goldfield,brzeg,faeces,aquarii,matchless,harvesters,181st,numismatics,korfball,sectioned,transpires,facultative,brandishing,kieron,forages,menai,glutinous,debarge,heathfield,1580s,malang,photoelectric,froome,semiotic,alwar,grammophon,chiaroscuro,mentalist,maramures,flacco,liquors,aleutians,marvell,sutlej,patnaik,qassam,flintoff,bayfield,haeckel,sueno,avicii,exoplanets,hoshi,annibale,vojislav,honeycombs,celebrant,rendsburg,veblen,quails,141st,carronades,savar,narrations,jeeva,ontologies,hedonistic,marinette,godot,munna,bessarabian,outrigger,thame,gravels,hoshino,falsifying,stereochemistry,nacionalista,medially,radula,ejecting,conservatorio,odile,ceiba,jaina,essonne,isometry,allophones,recidivism,iveco,ganda,grammarians,jagan,signposted,uncompressed,facilitators,constancy,ditko,propulsive,impaling,interbank,botolph,amlaib,intergroup,sorbus,cheka,debye,praca,adorning,presbyteries,dormition,strategos,qarase,pentecostals,beehives,hashemite,goldust,euronext,egress,arpanet,soames,jurchens,slovenska,copse,kazim,appraisals,marischal,mineola,sharada,caricaturist,sturluson,galba,faizabad,overwintering,grete,uyezds,didsbury,libreville,ablett,microstructure,anadolu,belenenses,elocution,cloaks,timeslots,halden,rashidun,displaces,sympatric,germanus,tuples,ceska,equalize,disassembly,krautrock,babangida,memel,deild,gopala,hematology,underclass,sangli,wawrinka,assur,toshack,refrains,nicotinic,bhagalpur,badami,racetracks,pocatello,walgreens,nazarbayev,occultation,spinnaker,geneon,josias,hydrolyzed,dzong,corregimiento,waistcoat,thermoplastic,soldered,anticancer,lactobacillus,shafi'i,carabus,adjournment,schlumberger,triceratops,despotate,mendicant,krishnamurti,bahasa,earthworm,lavoisier,noetherian,kalki,fervently,bhawan,saanich,coquille,gannet,motagua,kennels,mineralization,fitzherbert,svein,bifurcated,hairdressing,felis,abounded,dimers,fervour,hebdo,bluffton,aetna,corydon,clevedon,carneiro,subjectively,deutz,gastropoda,overshot,concatenation,varman,carolla,maharshi,mujib,inelastic,riverhead,initialized,safavids,rohini,caguas,bulges,fotbollforbund,hefei,spithead,westville,maronites,lytham,americo,gediminas,stephanus,chalcolithic,hijra,gnu/linux,predilection,rulership,sterility,haidar,scarlatti,saprissa,sviatoslav,pointedly,sunroof,guarantor,thevar,airstrips,pultusk,sture,129th,divinities,daizong,dolichoderus,cobourg,maoists,swordsmanship,uprated,bohme,tashi,largs,chandi,bluebeard,householders,richardsonian,drepanidae,antigonish,elbasan,occultism,marca,hypergeometric,oirat,stiglitz,ignites,dzungar,miquelon,pritam,d'automne,ulidiid,niamey,vallecano,fondo,billiton,incumbencies,raceme,chambery,cadell,barenaked,kagame,summerside,haussmann,hatshepsut,apothecaries,criollo,feint,nasals,timurid,feltham,plotinus,oxygenation,marginata,officinalis,salat,participations,ising,downe,izumo,unguided,pretence,coursed,haruna,viscountcy,mainstage,justicia,powiat,takara,capitoline,implacable,farben,stopford,cosmopterix,tuberous,kronecker,galatians,kweli,dogmas,exhorted,trebinje,skanda,newlyn,ablative,basidia,bhiwani,encroachments,stranglers,regrouping,tubal,shoestring,wawel,anionic,mesenchymal,creationists,pyrophosphate,moshi,despotism,powerbook,fatehpur,rupiah,segre,ternate,jessore,b.i.g,shevardnadze,abounds,gliwice,densest,memoria,suborbital,vietcong,ratepayers,karunanidhi,toolbar,descents,rhymney,exhortation,zahedan,carcinomas,hyperbaric,botvinnik,billets,neuropsychological,tigranes,hoards,chater,biennially,thistles,scotus,wataru,flotillas,hungama,monopolistic,payouts,vetch,generalissimo,caries,naumburg,piran,blizzards,escalates,reactant,shinya,theorize,rizzoli,transitway,ecclesiae,streptomyces,cantal,nisibis,superconductor,unworkable,thallus,roehampton,scheckter,viceroys,makuuchi,ilkley,superseding,takuya,klodzko,borbon,raspberries,operand,w.a.k.o,sarabande,factionalism,egalitarianism,temasek,torbat,unscripted,jorma,westerner,perfective,vrije,underlain,goldfrapp,blaenau,jomon,barthes,drivetime,bassa,bannock,umaga,fengxiang,zulus,sreenivasan,farces,codice_10,freeholder,poddebice,imperialists,deregulated,wingtip,o'hagan,pillared,overtone,hofstadter,149th,kitano,saybrook,standardizing,aldgate,staveley,o'flaherty,hundredths,steerable,soltan,empted,cruyff,intramuros,taluks,cotonou,marae,karur,figueres,barwon,lucullus,niobe,zemlya,lathes,homeported,chaux,amyotrophic,opines,exemplars,bhamo,homomorphisms,gauleiter,ladin,mafiosi,airdrieonians,b/soul,decal,transcaucasia,solti,defecation,deaconess,numidia,sampradaya,normalised,wingless,schwaben,alnus,cinerama,yakutsk,ketchikan,orvieto,unearned,monferrato,rotem,aacsb,loong,decoders,skerries,cardiothoracic,repositioning,pimpernel,yohannan,tenebrionoidea,nargis,nouvel,costliest,interdenominational,noize,redirecting,zither,morcha,radiometric,frequenting,irtysh,gbagbo,chakri,litvinenko,infotainment,ravensbruck,harith,corbels,maegashira,jousting,natan,novus,falcao,minis,railed,decile,rauma,ramaswamy,cavitation,paranaque,berchtesgaden,reanimated,schomberg,polysaccharides,exclusionary,cleon,anurag,ravaging,dhanush,mitchells,granule,contemptuous,keisei,rolleston,atlantean,yorkist,daraa,wapping,micrometer,keeneland,comparably,baranja,oranje,schlafli,yogic,dinajpur,unimpressive,masashi,recreativo,alemannic,petersfield,naoko,vasudeva,autosport,rajat,marella,busko,wethersfield,ssris,soulcalibur,kobani,wildland,rookery,hoffenheim,kauri,aliphatic,balaclava,ferrite,publicise,victorias,theism,quimper,chapbook,functionalist,roadbed,ulyanovsk,cupen,purpurea,calthorpe,teofilo,mousavi,cochlea,linotype,detmold,ellerslie,gakkai,telkom,southsea,subcontractor,inguinal,philatelists,zeebrugge,piave,trochidae,dempo,spoilt,saharanpur,mihrab,parasympathetic,barbarous,chartering,antiqua,katsina,bugis,categorizes,altstadt,kandyan,pambansa,overpasses,miters,assimilating,finlandia,uneconomic,am/fm,harpsichordist,dresdner,luminescence,authentically,overpowers,magmatic,cliftonville,oilfields,skirted,berthe,cuman,oakham,frelimo,glockenspiel,confection,saxophonists,piaseczno,multilevel,antipater,levying,maltreatment,velho,opoczno,harburg,pedophilia,unfunded,palettes,plasterwork,breve,dharmendra,auchinleck,nonesuch,blackmun,libretti,rabbani,145th,hasselbeck,kinnock,malate,vanden,cloverdale,ashgabat,nares,radians,steelworkers,sabor,possums,catterick,hemispheric,ostra,outpaced,dungeness,almshouse,penryn,texians,1000m,franchitti,incumbency,texcoco,newar,tramcars,toroidal,meitetsu,spellbound,agronomist,vinifera,riata,bunko,pinas,ba'al,github,vasilyevich,obsolescent,geodesics,ancestries,tujue,capitalised,unassigned,throng,unpaired,psychometric,skegness,exothermic,buffered,kristiansund,tongued,berenger,basho,alitalia,prolongation,archaeologically,fractionation,cyprinid,echinoderms,agriculturally,justiciar,sonam,ilium,baits,danceable,grazer,ardahan,grassed,preemption,glassworks,hasina,ugric,umbra,wahhabi,vannes,tinnitus,capitaine,tikrit,lisieux,scree,hormuz,despenser,jagiellon,maisonneuve,gandaki,santarem,basilicas,lancing,landskrona,weilburg,fireside,elysian,isleworth,krishnamurthy,filton,cynon,tecmo,subcostal,scalars,triglycerides,hyperplane,farmingdale,unione,meydan,pilings,mercosur,reactivate,akiba,fecundity,jatra,natsume,zarqawi,preta,masao,presbyter,oakenfold,rhodri,ferran,ruizong,cloyne,nelvana,epiphanius,borde,scutes,strictures,troughton,whitestone,sholom,toyah,shingon,kutuzov,abelard,passant,lipno,cafeterias,residuals,anabaptists,paratransit,criollos,pleven,radiata,destabilizing,hadiths,bazaars,mannose,taiyo,crookes,welbeck,baoding,archelaus,nguesso,alberni,wingtips,herts,viasat,lankans,evreux,wigram,fassbinder,ryuichi,storting,reducible,olesnica,znojmo,hyannis,theophanes,flatiron,mustering,rajahmundry,kadir,wayang,prome,lethargy,zubin,illegality,conall,dramedy,beerbohm,hipparchus,ziarat,ryuji,shugo,glenorchy,microarchitecture,morne,lewinsky,cauvery,battenberg,hyksos,wayanad,hamilcar,buhari,brazo,bratianu,solms,aksaray,elamite,chilcotin,bloodstock,sagara,dolny,reunified,umlaut,proteaceae,camborne,calabrian,dhanbad,vaxjo,cookware,potez,rediffusion,semitones,lamentations,allgau,guernica,suntory,pleated,stationing,urgell,gannets,bertelsmann,entryway,raphitomidae,acetaldehyde,nephrology,categorizing,beiyang,permeate,tourney,geosciences,khana,masayuki,crucis,universitaria,slaskie,khaimah,finno,advani,astonishingly,tubulin,vampiric,jeolla,sociale,cleethorpes,badri,muridae,suzong,debater,decimation,kenyans,mutualism,pontifex,middlemen,insee,halevi,lamentation,psychopathy,brassey,wenders,kavya,parabellum,prolactin,inescapable,apses,malignancies,rinzai,stigmatized,menahem,comox,ateliers,welshpool,setif,centimetre,truthfulness,downfield,drusus,woden,glycosylation,emanated,agulhas,dalkeith,jazira,nucky,unifil,jobim,operon,oryzomys,heroically,seances,supernumerary,backhouse,hashanah,tatler,imago,invert,hayato,clockmaker,kingsmill,swiecie,analogously,golconda,poste,tacitly,decentralised,ge'ez,diplomatically,fossiliferous,linseed,mahavira,pedestals,archpriest,byelection,domiciled,jeffersonian,bombus,winegrowing,waukegan,uncultivated,haverfordwest,saumur,communally,disbursed,cleeve,zeljeznicar,speciosa,vacationers,sigur,vaishali,zlatko,iftikhar,cropland,transkei,incompleteness,bohra,subantarctic,slieve,physiologic,similis,klerk,replanted,'right,chafee,reproducible,bayburt,regicide,muzaffarpur,plurals,hanyu,orthologs,diouf,assailed,kamui,tarik,dodecanese,gorne,on/off,179th,shimoga,granaries,carlists,valar,tripolitania,sherds,simmern,dissociated,isambard,polytechnical,yuvraj,brabazon,antisense,pubmed,glans,minutely,masaaki,raghavendra,savoury,podcasting,tachi,bienville,gongsun,ridgely,deform,yuichi,binders,canna,carcetti,llobregat,implored,berri,njegos,intermingled,offload,athenry,motherhouse,corpora,kakinada,dannebrog,imperio,prefaces,musicologists,aerospatiale,shirai,nagapattinam,servius,cristoforo,pomfret,reviled,entebbe,stane,east/west,thermometers,matriarchal,siglo,bodil,legionnaire,ze'ev,theorizing,sangeetha,horticulturist,uncountable,lookalike,anoxic,ionospheric,genealogists,chicopee,imprinting,popish,crematoria,diamondback,cyathea,hanzhong,cameramen,halogaland,naklo,waclaw,storehouses,flexed,comuni,frits,glauca,nilgiris,compresses,nainital,continuations,albay,hypoxic,samajwadi,dunkerque,nanticoke,sarwar,interchanged,jubal,corba,jalgaon,derleth,deathstroke,magny,vinnytsia,hyphenated,rimfire,sawan,boehner,disrepute,normalize,aromanian,dualistic,approximant,chama,karimabad,barnacles,sanok,stipends,dyfed,rijksmuseum,reverberation,suncorp,fungicides,reverie,spectrograph,stereophonic,niazi,ordos,alcan,karaite,lautrec,tableland,lamellar,rieti,langmuir,russula,webern,tweaks,hawick,southerner,morphy,naturalisation,enantiomer,michinoku,barbettes,relieves,carburettors,redruth,oblates,vocabularies,mogilev,bagmati,galium,reasserted,extolled,symon,eurosceptic,inflections,tirtha,recompense,oruro,roping,gouverneur,pared,yayoi,watermills,retooled,leukocytes,jubilant,mazhar,nicolau,manheim,touraine,bedser,hambledon,kohat,powerhouses,tlemcen,reuven,sympathetically,afrikaners,interes,handcrafts,etcher,baddeley,wodonga,amaury,155th,vulgarity,pompadour,automorphisms,1540s,oppositions,prekmurje,deryni,fortifying,arcuate,mahila,bocage,uther,nozze,slashes,atlantica,hadid,rhizomatous,azeris,'with,osmena,lewisville,innervated,bandmaster,outcropping,parallelogram,dominicana,twang,ingushetia,extensional,ladino,sastry,zinoviev,relatable,nobilis,cbeebies,hitless,eulima,sporangia,synge,longlisted,criminalized,penitential,weyden,tubule,volyn,priestesses,glenbrook,kibbutzim,windshaft,canadair,falange,zsolt,bonheur,meine,archangels,safeguarded,jamaicans,malarial,teasers,badging,merseyrail,operands,pulsars,gauchos,biotin,bambara,necaxa,egmond,tillage,coppi,anxiolytic,preah,mausoleums,plautus,feroz,debunked,187th,belediyespor,mujibur,wantage,carboxyl,chettiar,murnau,vagueness,racemic,backstretch,courtland,municipio,palpatine,dezful,hyperbola,sreekumar,chalons,altay,arapahoe,tudors,sapieha,quilon,burdensome,kanya,xxviii,recension,generis,siphuncle,repressor,bitrate,mandals,midhurst,dioxin,democratique,upholds,rodez,cinematographic,epoque,jinping,rabelais,zhytomyr,glenview,rebooted,khalidi,reticulata,122nd,monnaie,passersby,ghazals,europaea,lippmann,earthbound,tadic,andorran,artvin,angelicum,banksy,epicentre,resemblances,shuttled,rathaus,bernt,stonemasons,balochi,siang,tynemouth,cygni,biosynthetic,precipitates,sharecroppers,d'annunzio,softbank,shiji,apeldoorn,polycyclic,wenceslas,wuchang,samnites,tamarack,silmarillion,madinah,palaeontology,kirchberg,sculpin,rohtak,aquabats,oviparous,thynne,caney,blimps,minimalistic,whatcom,palatalization,bardstown,direct3d,paramagnetic,kamboja,khash,globemaster,lengua,matej,chernigov,swanage,arsenals,cascadia,cundinamarca,tusculum,leavers,organics,warplanes,'three,exertions,arminius,gandharva,inquires,comercio,kuopio,chabahar,plotlines,mersenne,anquetil,paralytic,buckminster,ambit,acrolophus,quantifiers,clacton,ciliary,ansaldo,fergana,egoism,thracians,chicoutimi,northbrook,analgesia,brotherhoods,hunza,adriaen,fluoridation,snowfalls,soundboard,fangoria,cannibalistic,orthogonius,chukotka,dindigul,manzoni,chainz,macromedia,beltline,muruga,schistura,provable,litex,initio,pneumoniae,infosys,cerium,boonton,cannonballs,d'une,solvency,mandurah,houthis,dolmens,apologists,radioisotopes,blaxploitation,poroshenko,stawell,coosa,maximilien,tempelhof,espouse,declaratory,hambro,xalapa,outmoded,mihiel,benefitting,desirous,archeparchy,repopulated,telescoping,captor,mackaye,disparaged,ramanathan,crowne,tumbled,technetium,silted,chedi,nievre,hyeon,cartoonish,interlock,infocom,rediff.com,dioramas,timekeeping,concertina,kutaisi,cesky,lubomirski,unapologetic,epigraphic,stalactites,sneha,biofilm,falconry,miraflores,catena,'outstanding,prospekt,apotheosis,o'odham,pacemakers,arabica,gandhinagar,reminisces,iroquoian,ornette,tilling,neoliberalism,chameleons,pandava,prefontaine,haiyan,gneisenau,utama,bando,reconstitution,azaria,canola,paratroops,ayckbourn,manistee,stourton,manifestos,lympne,denouement,tractatus,rakim,bellflower,nanometer,sassanids,turlough,presbyterianism,varmland,20deg,phool,nyerere,almohad,manipal,vlaanderen,quickness,removals,makow,circumflex,eatery,morane,fondazione,alkylation,unenforceable,galliano,silkworm,junior/senior,abducts,phlox,konskie,lofoten,buuren,glyphosate,faired,naturae,cobbles,taher,skrulls,dostoevsky,walkout,wagnerian,orbited,methodically,denzil,sarat,extraterritorial,kohima,d'armor,brinsley,rostropovich,fengtian,comitatus,aravind,moche,wrangell,giscard,vantaa,viljandi,hakoah,seabees,muscatine,ballade,camanachd,sothern,mullioned,durad,margraves,maven,arete,chandni,garifuna,142nd,reading/literature,thickest,intensifies,trygve,khaldun,perinatal,asana,powerline,acetylation,nureyev,omiya,montesquieu,riverwalk,marly,correlating,intermountain,bulgar,hammerheads,underscores,wiretapping,quatrain,ruisseau,newsagent,tuticorin,polygyny,hemsworth,partisanship,banna,istrian,evaporator".split(","), +female_names:"mary,patricia,linda,barbara,elizabeth,jennifer,maria,susan,margaret,dorothy,lisa,nancy,karen,betty,helen,sandra,donna,carol,ruth,sharon,michelle,laura,sarah,kimberly,deborah,jessica,shirley,cynthia,angela,melissa,brenda,amy,anna,rebecca,virginia,kathleen,pamela,martha,debra,amanda,stephanie,carolyn,christine,marie,janet,catherine,frances,ann,joyce,diane,alice,julie,heather,teresa,doris,gloria,evelyn,jean,cheryl,mildred,katherine,joan,ashley,judith,rose,janice,kelly,nicole,judy,christina,kathy,theresa,beverly,denise,tammy,irene,jane,lori,rachel,marilyn,andrea,kathryn,louise,sara,anne,jacqueline,wanda,bonnie,julia,ruby,lois,tina,phyllis,norma,paula,diana,annie,lillian,emily,robin,peggy,crystal,gladys,rita,dawn,connie,florence,tracy,edna,tiffany,carmen,rosa,cindy,grace,wendy,victoria,edith,kim,sherry,sylvia,josephine,thelma,shannon,sheila,ethel,ellen,elaine,marjorie,carrie,charlotte,monica,esther,pauline,emma,juanita,anita,rhonda,hazel,amber,eva,debbie,april,leslie,clara,lucille,jamie,joanne,eleanor,valerie,danielle,megan,alicia,suzanne,michele,gail,bertha,darlene,veronica,jill,erin,geraldine,lauren,cathy,joann,lorraine,lynn,sally,regina,erica,beatrice,dolores,bernice,audrey,yvonne,annette,marion,dana,stacy,ana,renee,ida,vivian,roberta,holly,brittany,melanie,loretta,yolanda,jeanette,laurie,katie,kristen,vanessa,alma,sue,elsie,beth,jeanne,vicki,carla,tara,rosemary,eileen,terri,gertrude,lucy,tonya,ella,stacey,wilma,gina,kristin,jessie,natalie,agnes,vera,charlene,bessie,delores,melinda,pearl,arlene,maureen,colleen,allison,tamara,joy,georgia,constance,lillie,claudia,jackie,marcia,tanya,nellie,minnie,marlene,heidi,glenda,lydia,viola,courtney,marian,stella,caroline,dora,vickie,mattie,maxine,irma,mabel,marsha,myrtle,lena,christy,deanna,patsy,hilda,gwendolyn,jennie,nora,margie,nina,cassandra,leah,penny,kay,priscilla,naomi,carole,olga,billie,dianne,tracey,leona,jenny,felicia,sonia,miriam,velma,becky,bobbie,violet,kristina,toni,misty,mae,shelly,daisy,ramona,sherri,erika,katrina,claire,lindsey,lindsay,geneva,guadalupe,belinda,margarita,sheryl,cora,faye,ada,sabrina,isabel,marguerite,hattie,harriet,molly,cecilia,kristi,brandi,blanche,sandy,rosie,joanna,iris,eunice,angie,inez,lynda,madeline,amelia,alberta,genevieve,monique,jodi,janie,kayla,sonya,jan,kristine,candace,fannie,maryann,opal,alison,yvette,melody,luz,susie,olivia,flora,shelley,kristy,mamie,lula,lola,verna,beulah,antoinette,candice,juana,jeannette,pam,kelli,whitney,bridget,karla,celia,latoya,patty,shelia,gayle,della,vicky,lynne,sheri,marianne,kara,jacquelyn,erma,blanca,myra,leticia,pat,krista,roxanne,angelica,robyn,adrienne,rosalie,alexandra,brooke,bethany,sadie,bernadette,traci,jody,kendra,nichole,rachael,mable,ernestine,muriel,marcella,elena,krystal,angelina,nadine,kari,estelle,dianna,paulette,lora,mona,doreen,rosemarie,desiree,antonia,janis,betsy,christie,freda,meredith,lynette,teri,cristina,eula,leigh,meghan,sophia,eloise,rochelle,gretchen,cecelia,raquel,henrietta,alyssa,jana,gwen,jenna,tricia,laverne,olive,tasha,silvia,elvira,delia,kate,patti,lorena,kellie,sonja,lila,lana,darla,mindy,essie,mandy,lorene,elsa,josefina,jeannie,miranda,dixie,lucia,marta,faith,lela,johanna,shari,camille,tami,shawna,elisa,ebony,melba,ora,nettie,tabitha,ollie,winifred,kristie,alisha,aimee,rena,myrna,marla,tammie,latasha,bonita,patrice,ronda,sherrie,addie,francine,deloris,stacie,adriana,cheri,abigail,celeste,jewel,cara,adele,rebekah,lucinda,dorthy,effie,trina,reba,sallie,aurora,lenora,etta,lottie,kerri,trisha,nikki,estella,francisca,josie,tracie,marissa,karin,brittney,janelle,lourdes,laurel,helene,fern,elva,corinne,kelsey,ina,bettie,elisabeth,aida,caitlin,ingrid,iva,eugenia,christa,goldie,maude,jenifer,therese,dena,lorna,janette,latonya,candy,consuelo,tamika,rosetta,debora,cherie,polly,dina,jewell,fay,jillian,dorothea,nell,trudy,esperanza,patrica,kimberley,shanna,helena,cleo,stefanie,rosario,ola,janine,mollie,lupe,alisa,lou,maribel,susanne,bette,susana,elise,cecile,isabelle,lesley,jocelyn,paige,joni,rachelle,leola,daphne,alta,ester,petra,graciela,imogene,jolene,keisha,lacey,glenna,gabriela,keri,ursula,lizzie,kirsten,shana,adeline,mayra,jayne,jaclyn,gracie,sondra,carmela,marisa,rosalind,charity,tonia,beatriz,marisol,clarice,jeanine,sheena,angeline,frieda,lily,shauna,millie,claudette,cathleen,angelia,gabrielle,autumn,katharine,jodie,staci,lea,christi,justine,elma,luella,margret,dominique,socorro,martina,margo,mavis,callie,bobbi,maritza,lucile,leanne,jeannine,deana,aileen,lorie,ladonna,willa,manuela,gale,selma,dolly,sybil,abby,ivy,dee,winnie,marcy,luisa,jeri,magdalena,ofelia,meagan,audra,matilda,leila,cornelia,bianca,simone,bettye,randi,virgie,latisha,barbra,georgina,eliza,leann,bridgette,rhoda,haley,adela,nola,bernadine,flossie,ila,greta,ruthie,nelda,minerva,lilly,terrie,letha,hilary,estela,valarie,brianna,rosalyn,earline,catalina,ava,mia,clarissa,lidia,corrine,alexandria,concepcion,tia,sharron,rae,dona,ericka,jami,elnora,chandra,lenore,neva,marylou,melisa,tabatha,serena,avis,allie,sofia,jeanie,odessa,nannie,harriett,loraine,penelope,milagros,emilia,benita,allyson,ashlee,tania,esmeralda,eve,pearlie,zelma,malinda,noreen,tameka,saundra,hillary,amie,althea,rosalinda,lilia,alana,clare,alejandra,elinor,lorrie,jerri,darcy,earnestine,carmella,noemi,marcie,liza,annabelle,louisa,earlene,mallory,carlene,nita,selena,tanisha,katy,julianne,lakisha,edwina,maricela,margery,kenya,dollie,roxie,roslyn,kathrine,nanette,charmaine,lavonne,ilene,tammi,suzette,corine,kaye,chrystal,lina,deanne,lilian,juliana,aline,luann,kasey,maryanne,evangeline,colette,melva,lawanda,yesenia,nadia,madge,kathie,ophelia,valeria,nona,mitzi,mari,georgette,claudine,fran,alissa,roseann,lakeisha,susanna,reva,deidre,chasity,sheree,elvia,alyce,deirdre,gena,briana,araceli,katelyn,rosanne,wendi,tessa,berta,marva,imelda,marietta,marci,leonor,arline,sasha,madelyn,janna,juliette,deena,aurelia,josefa,augusta,liliana,lessie,amalia,savannah,anastasia,vilma,natalia,rosella,lynnette,corina,alfreda,leanna,amparo,coleen,tamra,aisha,wilda,karyn,maura,mai,evangelina,rosanna,hallie,erna,enid,mariana,lacy,juliet,jacklyn,freida,madeleine,mara,cathryn,lelia,casandra,bridgett,angelita,jannie,dionne,annmarie,katina,beryl,millicent,katheryn,diann,carissa,maryellen,liz,lauri,helga,gilda,rhea,marquita,hollie,tisha,tamera,angelique,francesca,kaitlin,lolita,florine,rowena,reyna,twila,fanny,janell,ines,concetta,bertie,alba,brigitte,alyson,vonda,pansy,elba,noelle,letitia,deann,brandie,louella,leta,felecia,sharlene,lesa,beverley,isabella,herminia,terra,celina,tori,octavia,jade,denice,germaine,michell,cortney,nelly,doretha,deidra,monika,lashonda,judi,chelsey,antionette,margot,adelaide,leeann,elisha,dessie,libby,kathi,gayla,latanya,mina,mellisa,kimberlee,jasmin,renae,zelda,elda,justina,gussie,emilie,camilla,abbie,rocio,kaitlyn,edythe,ashleigh,selina,lakesha,geri,allene,pamala,michaela,dayna,caryn,rosalia,jacquline,rebeca,marybeth,krystle,iola,dottie,belle,griselda,ernestina,elida,adrianne,demetria,delma,jaqueline,arleen,virgina,retha,fatima,tillie,eleanore,cari,treva,wilhelmina,rosalee,maurine,latrice,jena,taryn,elia,debby,maudie,jeanna,delilah,catrina,shonda,hortencia,theodora,teresita,robbin,danette,delphine,brianne,nilda,danna,cindi,bess,iona,winona,vida,rosita,marianna,racheal,guillermina,eloisa,celestine,caren,malissa,lona,chantel,shellie,marisela,leora,agatha,soledad,migdalia,ivette,christen,athena,janel,veda,pattie,tessie,tera,marilynn,lucretia,karrie,dinah,daniela,alecia,adelina,vernice,shiela,portia,merry,lashawn,dara,tawana,verda,alene,zella,sandi,rafaela,maya,kira,candida,alvina,suzan,shayla,lettie,samatha,oralia,matilde,larissa,vesta,renita,delois,shanda,phillis,lorri,erlinda,cathrine,barb,isabell,ione,gisela,roxanna,mayme,kisha,ellie,mellissa,dorris,dalia,bella,annetta,zoila,reta,reina,lauretta,kylie,christal,pilar,charla,elissa,tiffani,tana,paulina,leota,breanna,jayme,carmel,vernell,tomasa,mandi,dominga,santa,melodie,lura,alexa,tamela,mirna,kerrie,venus,felicita,cristy,carmelita,berniece,annemarie,tiara,roseanne,missy,cori,roxana,pricilla,kristal,jung,elyse,haydee,aletha,bettina,marge,gillian,filomena,zenaida,harriette,caridad,vada,aretha,pearline,marjory,marcela,flor,evette,elouise,alina,damaris,catharine,belva,nakia,marlena,luanne,lorine,karon,dorene,danita,brenna,tatiana,louann,julianna,andria,philomena,lucila,leonora,dovie,romona,mimi,jacquelin,gaye,tonja,misti,chastity,stacia,roxann,micaela,velda,marlys,johnna,aura,ivonne,hayley,nicki,majorie,herlinda,yadira,perla,gregoria,antonette,shelli,mozelle,mariah,joelle,cordelia,josette,chiquita,trista,laquita,georgiana,candi,shanon,hildegard,stephany,magda,karol,gabriella,tiana,roma,richelle,oleta,jacque,idella,alaina,suzanna,jovita,tosha,nereida,marlyn,kyla,delfina,tena,stephenie,sabina,nathalie,marcelle,gertie,darleen,thea,sharonda,shantel,belen,venessa,rosalina,genoveva,clementine,rosalba,renate,renata,georgianna,floy,dorcas,ariana,tyra,theda,mariam,juli,jesica,vikki,verla,roselyn,melvina,jannette,ginny,debrah,corrie,violeta,myrtis,latricia,collette,charleen,anissa,viviana,twyla,nedra,latonia,hellen,fabiola,annamarie,adell,sharyn,chantal,niki,maud,lizette,lindy,kesha,jeana,danelle,charline,chanel,valorie,dortha,cristal,sunny,leone,leilani,gerri,debi,andra,keshia,eulalia,easter,dulce,natividad,linnie,kami,georgie,catina,brook,alda,winnifred,sharla,ruthann,meaghan,magdalene,lissette,adelaida,venita,trena,shirlene,shameka,elizebeth,dian,shanta,latosha,carlotta,windy,rosina,mariann,leisa,jonnie,dawna,cathie,astrid,laureen,janeen,holli,fawn,vickey,teressa,shante,rubye,marcelina,chanda,terese,scarlett,marnie,lulu,lisette,jeniffer,elenor,dorinda,donita,carman,bernita,altagracia,aleta,adrianna,zoraida,lyndsey,janina,starla,phylis,phuong,kyra,charisse,blanch,sanjuanita,rona,nanci,marilee,maranda,brigette,sanjuana,marita,kassandra,joycelyn,felipa,chelsie,bonny,mireya,lorenza,kyong,ileana,candelaria,sherie,lucie,leatrice,lakeshia,gerda,edie,bambi,marylin,lavon,hortense,garnet,evie,tressa,shayna,lavina,kyung,jeanetta,sherrill,shara,phyliss,mittie,anabel,alesia,thuy,tawanda,joanie,tiffanie,lashanda,karissa,enriqueta,daria,daniella,corinna,alanna,abbey,roxane,roseanna,magnolia,lida,joellen,coral,carleen,tresa,peggie,novella,nila,maybelle,jenelle,carina,nova,melina,marquerite,margarette,josephina,evonne,cinthia,albina,toya,tawnya,sherita,myriam,lizabeth,lise,keely,jenni,giselle,cheryle,ardith,ardis,alesha,adriane,shaina,linnea,karolyn,felisha,dori,darci,artie,armida,zola,xiomara,vergie,shamika,nena,nannette,maxie,lovie,jeane,jaimie,inge,farrah,elaina,caitlyn,felicitas,cherly,caryl,yolonda,yasmin,teena,prudence,pennie,nydia,mackenzie,orpha,marvel,lizbeth,laurette,jerrie,hermelinda,carolee,tierra,mirian,meta,melony,kori,jennette,jamila,yoshiko,susannah,salina,rhiannon,joleen,cristine,ashton,aracely,tomeka,shalonda,marti,lacie,kala,jada,ilse,hailey,brittani,zona,syble,sherryl,nidia,marlo,kandice,kandi,alycia,ronna,norene,mercy,ingeborg,giovanna,gemma,christel,audry,zora,vita,trish,stephaine,shirlee,shanika,melonie,mazie,jazmin,inga,hettie,geralyn,fonda,estrella,adella,sarita,rina,milissa,maribeth,golda,evon,ethelyn,enedina,cherise,chana,velva,tawanna,sade,mirta,karie,jacinta,elna,davina,cierra,ashlie,albertha,tanesha,nelle,mindi,lorinda,larue,florene,demetra,dedra,ciara,chantelle,ashly,suzy,rosalva,noelia,lyda,leatha,krystyna,kristan,karri,darline,darcie,cinda,cherrie,awilda,almeda,rolanda,lanette,jerilyn,gisele,evalyn,cyndi,cleta,carin,zina,zena,velia,tanika,charissa,talia,margarete,lavonda,kaylee,kathlene,jonna,irena,ilona,idalia,candis,candance,brandee,anitra,alida,sigrid,nicolette,maryjo,linette,hedwig,christiana,alexia,tressie,modesta,lupita,lita,gladis,evelia,davida,cherri,cecily,ashely,annabel,agustina,wanita,shirly,rosaura,hulda,yetta,verona,thomasina,sibyl,shannan,mechelle,leandra,lani,kylee,kandy,jolynn,ferne,eboni,corene,alysia,zula,nada,moira,lyndsay,lorretta,jammie,hortensia,gaynell,adria,vina,vicenta,tangela,stephine,norine,nella,liana,leslee,kimberely,iliana,glory,felica,emogene,elfriede,eden,eartha,carma,ocie,lennie,kiara,jacalyn,carlota,arielle,otilia,kirstin,kacey,johnetta,joetta,jeraldine,jaunita,elana,dorthea,cami,amada,adelia,vernita,tamar,siobhan,renea,rashida,ouida,nilsa,meryl,kristyn,julieta,danica,breanne,aurea,anglea,sherron,odette,malia,lorelei,leesa,kenna,kathlyn,fiona,charlette,suzie,shantell,sabra,racquel,myong,mira,martine,lucienne,lavada,juliann,elvera,delphia,christiane,charolette,carri,asha,angella,paola,ninfa,leda,stefani,shanell,palma,machelle,lissa,kecia,kathryne,karlene,julissa,jettie,jenniffer,corrina,carolann,alena,rosaria,myrtice,marylee,liane,kenyatta,judie,janey,elmira,eldora,denna,cristi,cathi,zaida,vonnie,viva,vernie,rosaline,mariela,luciana,lesli,karan,felice,deneen,adina,wynona,tarsha,sheron,shanita,shani,shandra,randa,pinkie,nelida,marilou,lyla,laurene,laci,janene,dorotha,daniele,dani,carolynn,carlyn,berenice,ayesha,anneliese,alethea,thersa,tamiko,rufina,oliva,mozell,marylyn,kristian,kathyrn,kasandra,kandace,janae,domenica,debbra,dannielle,chun,arcelia,zenobia,sharen,sharee,lavinia,kacie,jackeline,huong,felisa,emelia,eleanora,cythia,cristin,claribel,anastacia,zulma,zandra,yoko,tenisha,susann,sherilyn,shay,shawanda,romana,mathilda,linsey,keiko,joana,isela,gretta,georgetta,eugenie,desirae,delora,corazon,antonina,anika,willene,tracee,tamatha,nichelle,mickie,maegan,luana,lanita,kelsie,edelmira,bree,afton,teodora,tamie,shena,linh,keli,kaci,danyelle,arlette,albertine,adelle,tiffiny,simona,nicolasa,nichol,nakisha,maira,loreen,kizzy,fallon,christene,bobbye,ying,vincenza,tanja,rubie,roni,queenie,margarett,kimberli,irmgard,idell,hilma,evelina,esta,emilee,dennise,dania,carie,risa,rikki,particia,masako,luvenia,loree,loni,lien,gigi,florencia,denita,billye,tomika,sharita,rana,nikole,neoma,margarite,madalyn,lucina,laila,kali,jenette,gabriele,evelyne,elenora,clementina,alejandrina,zulema,violette,vannessa,thresa,retta,patience,noella,nickie,jonell,chaya,camelia,bethel,anya,suzann,mila,lilla,laverna,keesha,kattie,georgene,eveline,estell,elizbeth,vivienne,vallie,trudie,stephane,magaly,madie,kenyetta,karren,janetta,hermine,drucilla,debbi,celestina,candie,britni,beckie,amina,zita,yolande,vivien,vernetta,trudi,pearle,patrina,ossie,nicolle,loyce,letty,katharina,joselyn,jonelle,jenell,iesha,heide,florinda,florentina,elodia,dorine,brunilda,brigid,ashli,ardella,twana,tarah,shavon,serina,rayna,ramonita,margurite,lucrecia,kourtney,kati,jesenia,crista,ayana,alica,alia,vinnie,suellen,romelia,rachell,olympia,michiko,kathaleen,jolie,jessi,janessa,hana,elease,carletta,britany,shona,salome,rosamond,regena,raina,ngoc,nelia,louvenia,lesia,latrina,laticia,larhonda,jina,jacki,emmy,deeann,coretta,arnetta,thalia,shanice,neta,mikki,micki,lonna,leana,lashunda,kiley,joye,jacqulyn,ignacia,hyun,hiroko,henriette,elayne,delinda,dahlia,coreen,consuela,conchita,babette,ayanna,anette,albertina,shawnee,shaneka,quiana,pamelia,merri,merlene,margit,kiesha,kiera,kaylene,jodee,jenise,erlene,emmie,dalila,daisey,casie,belia,babara,versie,vanesa,shelba,shawnda,nikia,naoma,marna,margeret,madaline,lawana,kindra,jutta,jazmine,janett,hannelore,glendora,gertrud,garnett,freeda,frederica,florance,flavia,carline,beverlee,anjanette,valda,tamala,shonna,sarina,oneida,merilyn,marleen,lurline,lenna,katherin,jeni,gracia,glady,farah,enola,dominque,devona,delana,cecila,caprice,alysha,alethia,vena,theresia,tawny,shakira,samara,sachiko,rachele,pamella,marni,mariel,maren,malisa,ligia,lera,latoria,larae,kimber,kathern,karey,jennefer,janeth,halina,fredia,delisa,debroah,ciera,angelika,andree,altha,vivan,terresa,tanna,sudie,signe,salena,ronni,rebbecca,myrtie,malika,maida,leonarda,kayleigh,ethyl,ellyn,dayle,cammie,brittni,birgit,avelina,asuncion,arianna,akiko,venice,tyesha,tonie,tiesha,takisha,steffanie,sindy,meghann,manda,macie,kellye,kellee,joslyn,inger,indira,glinda,glennis,fernanda,faustina,eneida,elicia,digna,dell,arletta,willia,tammara,tabetha,sherrell,sari,rebbeca,pauletta,natosha,nakita,mammie,kenisha,kazuko,kassie,earlean,daphine,corliss,clotilde,carolyne,bernetta,augustina,audrea,annis,annabell,tennille,tamica,selene,rosana,regenia,qiana,markita,macy,leeanne,laurine,jessenia,janita,georgine,genie,emiko,elvie,deandra,dagmar,corie,collen,cherish,romaine,porsha,pearlene,micheline,merna,margorie,margaretta,lore,jenine,hermina,fredericka,elke,drusilla,dorathy,dione,celena,brigida,allegra,tamekia,synthia,sook,slyvia,rosann,reatha,raye,marquetta,margart,ling,layla,kymberly,kiana,kayleen,katlyn,karmen,joella,emelda,eleni,detra,clemmie,cheryll,chantell,cathey,arnita,arla,angle,angelic,alyse,zofia,thomasine,tennie,sherly,sherley,sharyl,remedios,petrina,nickole,myung,myrle,mozella,louanne,lisha,latia,krysta,julienne,jeanene,jacqualine,isaura,gwenda,earleen,cleopatra,carlie,audie,antonietta,alise,verdell,tomoko,thao,talisha,shemika,savanna,santina,rosia,raeann,odilia,nana,minna,magan,lynelle,karma,joeann,ivana,inell,ilana,gudrun,dreama,crissy,chante,carmelina,arvilla,annamae,alvera,aleida,yanira,vanda,tianna,stefania,shira,nicol,nancie,monserrate,melynda,melany,lovella,laure,kacy,jacquelynn,hyon,gertha,eliana,christena,christeen,charise,caterina,carley,candyce,arlena,ammie,willette,vanita,tuyet,syreeta,penney,nyla,maryam,marya,magen,ludie,loma,livia,lanell,kimberlie,julee,donetta,diedra,denisha,deane,dawne,clarine,cherryl,bronwyn,alla,valery,tonda,sueann,soraya,shoshana,shela,sharleen,shanelle,nerissa,meridith,mellie,maye,maple,magaret,lili,leonila,leonie,leeanna,lavonia,lavera,kristel,kathey,kathe,jann,ilda,hildred,hildegarde,genia,fumiko,evelin,ermelinda,elly,dung,doloris,dionna,danae,berneice,annice,alix,verena,verdie,shawnna,shawana,shaunna,rozella,randee,ranae,milagro,lynell,luise,loida,lisbeth,karleen,junita,jona,isis,hyacinth,hedy,gwenn,ethelene,erline,donya,domonique,delicia,dannette,cicely,branda,blythe,bethann,ashlyn,annalee,alline,yuko,vella,trang,towanda,tesha,sherlyn,narcisa,miguelina,meri,maybell,marlana,marguerita,madlyn,lory,loriann,leonore,leighann,laurice,latesha,laronda,katrice,kasie,kaley,jadwiga,glennie,gearldine,francina,epifania,dyan,dorie,diedre,denese,demetrice,delena,cristie,cleora,catarina,carisa,barbera,almeta,trula,tereasa,solange,sheilah,shavonne,sanora,rochell,mathilde,margareta,maia,lynsey,lawanna,launa,kena,keena,katia,glynda,gaylene,elvina,elanor,danuta,danika,cristen,cordie,coletta,clarita,carmon,brynn,azucena,aundrea,angele,verlie,verlene,tamesha,silvana,sebrina,samira,reda,raylene,penni,norah,noma,mireille,melissia,maryalice,laraine,kimbery,karyl,karine,jolanda,johana,jesusa,jaleesa,jacquelyne,iluminada,hilaria,hanh,gennie,francie,floretta,exie,edda,drema,delpha,barbar,assunta,ardell,annalisa,alisia,yukiko,yolando,wonda,waltraud,veta,temeka,tameika,shirleen,shenita,piedad,ozella,mirtha,marilu,kimiko,juliane,jenice,janay,jacquiline,hilde,elois,echo,devorah,chau,brinda,betsey,arminda,aracelis,apryl,annett,alishia,veola,usha,toshiko,theola,tashia,talitha,shery,renetta,reiko,rasheeda,obdulia,mika,melaine,meggan,marlen,marget,marceline,mana,magdalen,librada,lezlie,latashia,lasandra,kelle,isidra,inocencia,gwyn,francoise,erminia,erinn,dimple,devora,criselda,armanda,arie,ariane,angelena,aliza,adriene,adaline,xochitl,twanna,tomiko,tamisha,taisha,susy,rutha,rhona,noriko,natashia,merrie,marinda,mariko,margert,loris,lizzette,leisha,kaila,joannie,jerrica,jene,jannet,janee,jacinda,herta,elenore,doretta,delaine,daniell,claudie,britta,apolonia,amberly,alease,yuri,waneta,tomi,sharri,sandie,roselle,reynalda,raguel,phylicia,patria,olimpia,odelia,mitzie,minda,mignon,mica,mendy,marivel,maile,lynetta,lavette,lauryn,latrisha,lakiesha,kiersten,kary,josphine,jolyn,jetta,janise,jacquie,ivelisse,glynis,gianna,gaynelle,danyell,danille,dacia,coralee,cher,ceola,arianne,aleshia,yung,williemae,trinh,thora,sherika,shemeka,shaunda,roseline,ricki,melda,mallie,lavonna,latina,laquanda,lala,lachelle,klara,kandis,johna,jeanmarie,jaye,grayce,gertude,emerita,ebonie,clorinda,ching,chery,carola,breann,blossom,bernardine,becki,arletha,argelia,alita,yulanda,yessenia,tobi,tasia,sylvie,shirl,shirely,shella,shantelle,sacha,rebecka,providencia,paulene,misha,miki,marline,marica,lorita,latoyia,lasonya,kerstin,kenda,keitha,kathrin,jaymie,gricelda,ginette,eryn,elina,elfrieda,danyel,cheree,chanelle,barrie,aurore,annamaria,alleen,ailene,aide,yasmine,vashti,treasa,tiffaney,sheryll,sharie,shanae,raisa,neda,mitsuko,mirella,milda,maryanna,maragret,mabelle,luetta,lorina,letisha,latarsha,lanelle,lajuana,krissy,karly,karena,jessika,jerica,jeanelle,jalisa,jacelyn,izola,euna,etha,domitila,dominica,daina,creola,carli,camie,brittny,ashanti,anisha,aleen,adah,yasuko,valrie,tona,tinisha,terisa,taneka,simonne,shalanda,serita,ressie,refugia,olene,margherita,mandie,maire,lyndia,luci,lorriane,loreta,leonia,lavona,lashawnda,lakia,kyoko,krystina,krysten,kenia,kelsi,jeanice,isobel,georgiann,genny,felicidad,eilene,deloise,deedee,conception,clora,cherilyn,calandra,armandina,anisa,tiera,theressa,stephania,sima,shyla,shonta,shera,shaquita,shala,rossana,nohemi,nery,moriah,melita,melida,melani,marylynn,marisha,mariette,malorie,madelene,ludivina,loria,lorette,loralee,lianne,lavenia,laurinda,lashon,kimi,keila,katelynn,jone,joane,jayna,janella,hertha,francene,elinore,despina,delsie,deedra,clemencia,carolin,bulah,brittanie,blondell,bibi,beaulah,beata,annita,agripina,virgen,valene,twanda,tommye,tarra,tari,tammera,shakia,sadye,ruthanne,rochel,rivka,pura,nenita,natisha,ming,merrilee,melodee,marvis,lucilla,leena,laveta,larita,lanie,keren,ileen,georgeann,genna,frida,eufemia,emely,edyth,deonna,deadra,darlena,chanell,cathern,cassondra,cassaundra,bernarda,berna,arlinda,anamaria,vertie,valeri,torri,stasia,sherise,sherill,sanda,ruthe,rosy,robbi,ranee,quyen,pearly,palmira,onita,nisha,niesha,nida,merlyn,mayola,marylouise,marth,margene,madelaine,londa,leontine,leoma,leia,lauralee,lanora,lakita,kiyoko,keturah,katelin,kareen,jonie,johnette,jenee,jeanett,izetta,hiedi,heike,hassie,giuseppina,georgann,fidela,fernande,elwanda,ellamae,eliz,dusti,dotty,cyndy,coralie,celesta,alverta,xenia,wava,vanetta,torrie,tashina,tandy,tambra,tama,stepanie,shila,shaunta,sharan,shaniqua,shae,setsuko,serafina,sandee,rosamaria,priscila,olinda,nadene,muoi,michelina,mercedez,maryrose,marcene,magali,mafalda,lannie,kayce,karoline,kamilah,kamala,justa,joline,jennine,jacquetta,iraida,georgeanna,franchesca,emeline,elane,ehtel,earlie,dulcie,dalene,classie,chere,charis,caroyln,carmina,carita,bethanie,ayako,arica,alysa,alessandra,akilah,adrien,zetta,youlanda,yelena,yahaira,xuan,wendolyn,tijuana,terina,teresia,suzi,sherell,shavonda,shaunte,sharda,shakita,sena,ryann,rubi,riva,reginia,rachal,parthenia,pamula,monnie,monet,michaele,melia,malka,maisha,lisandra,lekisha,lean,lakendra,krystin,kortney,kizzie,kittie,kera,kendal,kemberly,kanisha,julene,jule,johanne,jamee,halley,gidget,fredricka,fleta,fatimah,eusebia,elza,eleonore,dorthey,doria,donella,dinorah,delorse,claretha,christinia,charlyn,bong,belkis,azzie,andera,aiko,adena,yajaira,vania,ulrike,toshia,tifany,stefany,shizue,shenika,shawanna,sharolyn,sharilyn,shaquana,shantay,rozanne,roselee,remona,reanna,raelene,phung,petronila,natacha,nancey,myrl,miyoko,miesha,merideth,marvella,marquitta,marhta,marchelle,lizeth,libbie,lahoma,ladawn,kina,katheleen,katharyn,karisa,kaleigh,junie,julieann,johnsie,janean,jaimee,jackqueline,hisako,herma,helaine,gwyneth,gita,eustolia,emelina,elin,edris,donnette,donnetta,dierdre,denae,darcel,clarisa,cinderella,chia,charlesetta,charita,celsa,cassy,cassi,carlee,bruna,brittaney,brande,billi,antonetta,angla,angelyn,analisa,alane,wenona,wendie,veronique,vannesa,tobie,tempie,sumiko,sulema,somer,sheba,sharice,shanel,shalon,rosio,roselia,renay,rema,reena,ozie,oretha,oralee,ngan,nakesha,milly,marybelle,margrett,maragaret,manie,lurlene,lillia,lieselotte,lavelle,lashaunda,lakeesha,kaycee,kalyn,joya,joette,jenae,janiece,illa,grisel,glayds,genevie,gala,fredda,eleonor,debera,deandrea,corrinne,cordia,contessa,colene,cleotilde,chantay,cecille,beatris,azalee,arlean,ardath,anjelica,anja,alfredia,aleisha,zada,yuonne,xiao,willodean,vennie,vanna,tyisha,tova,torie,tonisha,tilda,tien,sirena,sherril,shanti,shan,senaida,samella,robbyn,renda,reita,phebe,paulita,nobuko,nguyet,neomi,mikaela,melania,maximina,marg,maisie,lynna,lilli,lashaun,lakenya,lael,kirstie,kathline,kasha,karlyn,karima,jovan,josefine,jennell,jacqui,jackelyn,hien,grazyna,florrie,floria,eleonora,dwana,dorla,delmy,deja,dede,dann,crysta,clelia,claris,chieko,cherlyn,cherelle,charmain,chara,cammy,arnette,ardelle,annika,amiee,amee,allena,yvone,yuki,yoshie,yevette,yael,willetta,voncile,venetta,tula,tonette,timika,temika,telma,teisha,taren,stacee,shawnta,saturnina,ricarda,pasty,onie,nubia,marielle,mariella,marianela,mardell,luanna,loise,lisabeth,lindsy,lilliana,lilliam,lelah,leigha,leanora,kristeen,khalilah,keeley,kandra,junko,joaquina,jerlene,jani,jamika,hsiu,hermila,genevive,evia,eugena,emmaline,elfreda,elene,donette,delcie,deeanna,darcey,clarinda,cira,chae,celinda,catheryn,casimira,carmelia,camellia,breana,bobette,bernardina,bebe,basilia,arlyne,amal,alayna,zonia,zenia,yuriko,yaeko,wynell,willena,vernia,tora,terrilyn,terica,tenesha,tawna,tajuana,taina,stephnie,sona,sina,shondra,shizuko,sherlene,sherice,sharika,rossie,rosena,rima,rheba,renna,natalya,nancee,melodi,meda,matha,marketta,maricruz,marcelene,malvina,luba,louetta,leida,lecia,lauran,lashawna,laine,khadijah,katerine,kasi,kallie,julietta,jesusita,jestine,jessia,jeffie,janyce,isadora,georgianne,fidelia,evita,eura,eulah,estefana,elsy,eladia,dodie,denisse,deloras,delila,daysi,crystle,concha,claretta,charlsie,charlena,carylon,bettyann,asley,ashlea,amira,agueda,agnus,yuette,vinita,victorina,tynisha,treena,toccara,tish,thomasena,tegan,soila,shenna,sharmaine,shantae,shandi,saran,sarai,sana,rosette,rolande,regine,otelia,olevia,nicholle,necole,naida,myrta,myesha,mitsue,minta,mertie,margy,mahalia,madalene,loura,lorean,lesha,leonida,lenita,lavone,lashell,lashandra,lamonica,kimbra,katherina,karry,kanesha,jong,jeneva,jaquelyn,gilma,ghislaine,gertrudis,fransisca,fermina,ettie,etsuko,ellan,elidia,edra,dorethea,doreatha,denyse,deetta,daine,cyrstal,corrin,cayla,carlita,camila,burma,bula,buena,barabara,avril,alaine,zana,wilhemina,wanetta,verline,vasiliki,tonita,tisa,teofila,tayna,taunya,tandra,takako,sunni,suanne,sixta,sharell,seema,rosenda,robena,raymonde,pamila,ozell,neida,mistie,micha,merissa,maurita,maryln,maryetta,marcell,malena,makeda,lovetta,lourie,lorrine,lorilee,laurena,lashay,larraine,laree,lacresha,kristle,keva,keira,karole,joie,jinny,jeannetta,jama,heidy,gilberte,gema,faviola,evelynn,enda,elli,ellena,divina,dagny,collene,codi,cindie,chassidy,chasidy,catrice,catherina,cassey,caroll,carlena,candra,calista,bryanna,britteny,beula,bari,audrie,audria,ardelia,annelle,angila,alona,allyn".split(","),surnames:"smith,johnson,williams,jones,brown,davis,miller,wilson,moore,taylor,anderson,jackson,white,harris,martin,thompson,garcia,martinez,robinson,clark,rodriguez,lewis,lee,walker,hall,allen,young,hernandez,king,wright,lopez,hill,green,adams,baker,gonzalez,nelson,carter,mitchell,perez,roberts,turner,phillips,campbell,parker,evans,edwards,collins,stewart,sanchez,morris,rogers,reed,cook,morgan,bell,murphy,bailey,rivera,cooper,richardson,cox,howard,ward,torres,peterson,gray,ramirez,watson,brooks,sanders,price,bennett,wood,barnes,ross,henderson,coleman,jenkins,perry,powell,long,patterson,hughes,flores,washington,butler,simmons,foster,gonzales,bryant,alexander,griffin,diaz,hayes,myers,ford,hamilton,graham,sullivan,wallace,woods,cole,west,owens,reynolds,fisher,ellis,harrison,gibson,mcdonald,cruz,marshall,ortiz,gomez,murray,freeman,wells,webb,simpson,stevens,tucker,porter,hicks,crawford,boyd,mason,morales,kennedy,warren,dixon,ramos,reyes,burns,gordon,shaw,holmes,rice,robertson,hunt,black,daniels,palmer,mills,nichols,grant,knight,ferguson,stone,hawkins,dunn,perkins,hudson,spencer,gardner,stephens,payne,pierce,berry,matthews,arnold,wagner,willis,watkins,olson,carroll,duncan,snyder,hart,cunningham,lane,andrews,ruiz,harper,fox,riley,armstrong,carpenter,weaver,greene,elliott,chavez,sims,peters,kelley,franklin,lawson,fields,gutierrez,schmidt,carr,vasquez,castillo,wheeler,chapman,montgomery,richards,williamson,johnston,banks,meyer,bishop,mccoy,howell,alvarez,morrison,hansen,fernandez,garza,harvey,burton,nguyen,jacobs,reid,fuller,lynch,garrett,romero,welch,larson,frazier,burke,hanson,mendoza,moreno,bowman,medina,fowler,brewer,hoffman,carlson,silva,pearson,holland,fleming,jensen,vargas,byrd,davidson,hopkins,herrera,wade,soto,walters,neal,caldwell,lowe,jennings,barnett,graves,jimenez,horton,shelton,barrett,obrien,castro,sutton,mckinney,lucas,miles,rodriquez,chambers,holt,lambert,fletcher,watts,bates,hale,rhodes,pena,beck,newman,haynes,mcdaniel,mendez,bush,vaughn,parks,dawson,santiago,norris,hardy,steele,curry,powers,schultz,barker,guzman,page,munoz,ball,keller,chandler,weber,walsh,lyons,ramsey,wolfe,schneider,mullins,benson,sharp,bowen,barber,cummings,hines,baldwin,griffith,valdez,hubbard,salazar,reeves,warner,stevenson,burgess,santos,tate,cross,garner,mann,mack,moss,thornton,mcgee,farmer,delgado,aguilar,vega,glover,manning,cohen,harmon,rodgers,robbins,newton,blair,higgins,ingram,reese,cannon,strickland,townsend,potter,goodwin,walton,rowe,hampton,ortega,patton,swanson,goodman,maldonado,yates,becker,erickson,hodges,rios,conner,adkins,webster,malone,hammond,flowers,cobb,moody,quinn,pope,osborne,mccarthy,guerrero,estrada,sandoval,gibbs,gross,fitzgerald,stokes,doyle,saunders,wise,colon,gill,alvarado,greer,padilla,waters,nunez,ballard,schwartz,mcbride,houston,christensen,klein,pratt,briggs,parsons,mclaughlin,zimmerman,buchanan,moran,copeland,pittman,brady,mccormick,holloway,brock,poole,logan,bass,marsh,drake,wong,jefferson,morton,abbott,sparks,norton,huff,massey,figueroa,carson,bowers,roberson,barton,tran,lamb,harrington,boone,cortez,clarke,mathis,singleton,wilkins,cain,underwood,hogan,mckenzie,collier,luna,phelps,mcguire,bridges,wilkerson,nash,summers,atkins,wilcox,pitts,conley,marquez,burnett,cochran,chase,davenport,hood,gates,ayala,sawyer,vazquez,dickerson,hodge,acosta,flynn,espinoza,nicholson,monroe,wolf,morrow,whitaker,oconnor,skinner,ware,molina,kirby,huffman,gilmore,dominguez,oneal,lang,combs,kramer,hancock,gallagher,gaines,shaffer,wiggins,mathews,mcclain,fischer,wall,melton,hensley,bond,dyer,grimes,contreras,wyatt,baxter,snow,mosley,shepherd,larsen,hoover,beasley,petersen,whitehead,meyers,garrison,shields,horn,savage,olsen,schroeder,hartman,woodard,mueller,kemp,deleon,booth,patel,calhoun,wiley,eaton,cline,navarro,harrell,humphrey,parrish,duran,hutchinson,hess,dorsey,bullock,robles,beard,dalton,avila,rich,blackwell,johns,blankenship,trevino,salinas,campos,pruitt,callahan,montoya,hardin,guerra,mcdowell,stafford,gallegos,henson,wilkinson,booker,merritt,atkinson,orr,decker,hobbs,tanner,knox,pacheco,stephenson,glass,rojas,serrano,marks,hickman,sweeney,strong,mcclure,conway,roth,maynard,farrell,lowery,hurst,nixon,weiss,trujillo,ellison,sloan,juarez,winters,mclean,boyer,villarreal,mccall,gentry,carrillo,ayers,lara,sexton,pace,hull,leblanc,browning,velasquez,leach,chang,sellers,herring,noble,foley,bartlett,mercado,landry,durham,walls,barr,mckee,bauer,rivers,bradshaw,pugh,velez,rush,estes,dodson,morse,sheppard,weeks,camacho,bean,barron,livingston,middleton,spears,branch,blevins,chen,kerr,mcconnell,hatfield,harding,solis,frost,giles,blackburn,pennington,woodward,finley,mcintosh,koch,mccullough,blanchard,rivas,brennan,mejia,kane,benton,buckley,valentine,maddox,russo,mcknight,buck,moon,mcmillan,crosby,berg,dotson,mays,roach,chan,richmond,meadows,faulkner,oneill,knapp,kline,ochoa,jacobson,gay,hendricks,horne,shepard,hebert,cardenas,mcintyre,waller,holman,donaldson,cantu,morin,gillespie,fuentes,tillman,bentley,peck,key,salas,rollins,gamble,dickson,santana,cabrera,cervantes,howe,hinton,hurley,spence,zamora,yang,mcneil,suarez,petty,gould,mcfarland,sampson,carver,bray,macdonald,stout,hester,melendez,dillon,farley,hopper,galloway,potts,joyner,stein,aguirre,osborn,mercer,bender,franco,rowland,sykes,pickett,sears,mayo,dunlap,hayden,wilder,mckay,coffey,mccarty,ewing,cooley,vaughan,bonner,cotton,holder,stark,ferrell,cantrell,fulton,lott,calderon,pollard,hooper,burch,mullen,fry,riddle,levy,duke,odonnell,britt,daugherty,berger,dillard,alston,frye,riggs,chaney,odom,duffy,fitzpatrick,valenzuela,mayer,alford,mcpherson,acevedo,barrera,cote,reilly,compton,mooney,mcgowan,craft,clemons,wynn,nielsen,baird,stanton,snider,rosales,bright,witt,hays,holden,rutledge,kinney,clements,castaneda,slater,hahn,burks,delaney,pate,lancaster,sharpe,whitfield,talley,macias,burris,ratliff,mccray,madden,kaufman,beach,goff,cash,bolton,mcfadden,levine,byers,kirkland,kidd,workman,carney,mcleod,holcomb,finch,sosa,haney,franks,sargent,nieves,downs,rasmussen,bird,hewitt,foreman,valencia,oneil,delacruz,vinson,dejesus,hyde,forbes,gilliam,guthrie,wooten,huber,barlow,boyle,mcmahon,buckner,rocha,puckett,langley,knowles,cooke,velazquez,whitley,vang,shea,rouse,hartley,mayfield,elder,rankin,hanna,cowan,lucero,arroyo,slaughter,haas,oconnell,minor,boucher,archer,boggs,dougherty,andersen,newell,crowe,wang,friedman,bland,swain,holley,pearce,childs,yarbrough,galvan,proctor,meeks,lozano,mora,rangel,bacon,villanueva,schaefer,rosado,helms,boyce,goss,stinson,ibarra,hutchins,covington,crowley,hatcher,mackey,bunch,womack,polk,dodd,childress,childers,villa,springer,mahoney,dailey,belcher,lockhart,griggs,costa,brandt,walden,moser,tatum,mccann,akers,lutz,pryor,orozco,mcallister,lugo,davies,shoemaker,rutherford,newsome,magee,chamberlain,blanton,simms,godfrey,flanagan,crum,cordova,escobar,downing,sinclair,donahue,krueger,mcginnis,gore,farris,webber,corbett,andrade,starr,lyon,yoder,hastings,mcgrath,spivey,krause,harden,crabtree,kirkpatrick,arrington,ritter,mcghee,bolden,maloney,gagnon,dunbar,ponce,pike,mayes,beatty,mobley,kimball,butts,montes,eldridge,braun,hamm,gibbons,moyer,manley,herron,plummer,elmore,cramer,rucker,pierson,fontenot,rubio,goldstein,elkins,wills,novak,hickey,worley,gorman,katz,dickinson,broussard,woodruff,crow,britton,nance,lehman,bingham,zuniga,whaley,shafer,coffman,steward,delarosa,neely,mata,davila,mccabe,kessler,hinkle,welsh,pagan,goldberg,goins,crouch,cuevas,quinones,mcdermott,hendrickson,samuels,denton,bergeron,ivey,locke,haines,snell,hoskins,byrne,arias,corbin,beltran,chappell,downey,dooley,tuttle,couch,payton,mcelroy,crockett,groves,cartwright,dickey,mcgill,dubois,muniz,tolbert,dempsey,cisneros,sewell,latham,vigil,tapia,rainey,norwood,stroud,meade,tipton,kuhn,hilliard,bonilla,teague,gunn,greenwood,correa,reece,pineda,phipps,frey,kaiser,ames,gunter,schmitt,milligan,espinosa,bowden,vickers,lowry,pritchard,costello,piper,mcclellan,lovell,sheehan,hatch,dobson,singh,jeffries,hollingsworth,sorensen,meza,fink,donnelly,burrell,tomlinson,colbert,billings,ritchie,helton,sutherland,peoples,mcqueen,thomason,givens,crocker,vogel,robison,dunham,coker,swartz,keys,ladner,richter,hargrove,edmonds,brantley,albright,murdock,boswell,muller,quintero,padgett,kenney,daly,connolly,inman,quintana,lund,barnard,villegas,simons,huggins,tidwell,sanderson,bullard,mcclendon,duarte,draper,marrero,dwyer,abrams,stover,goode,fraser,crews,bernal,godwin,conklin,mcneal,baca,esparza,crowder,bower,brewster,mcneill,rodrigues,leal,coates,raines,mccain,mccord,miner,holbrook,swift,dukes,carlisle,aldridge,ackerman,starks,ricks,holliday,ferris,hairston,sheffield,lange,fountain,doss,betts,kaplan,carmichael,bloom,ruffin,penn,kern,bowles,sizemore,larkin,dupree,seals,metcalf,hutchison,henley,farr,mccauley,hankins,gustafson,curran,waddell,ramey,cates,pollock,cummins,messer,heller,funk,cornett,palacios,galindo,cano,hathaway,pham,enriquez,salgado,pelletier,painter,wiseman,blount,feliciano,houser,doherty,mead,mcgraw,swan,capps,blanco,blackmon,thomson,mcmanus,burkett,gleason,dickens,cormier,voss,rushing,rosenberg,hurd,dumas,benitez,arellano,marin,caudill,bragg,jaramillo,huerta,gipson,colvin,biggs,vela,platt,cassidy,tompkins,mccollum,dolan,daley,crump,sneed,kilgore,grove,grimm,davison,brunson,prater,marcum,devine,dodge,stratton,rosas,choi,tripp,ledbetter,hightower,feldman,epps,yeager,posey,scruggs,cope,stubbs,richey,overton,trotter,sprague,cordero,butcher,stiles,burgos,woodson,horner,bassett,purcell,haskins,akins,ziegler,spaulding,hadley,grubbs,sumner,murillo,zavala,shook,lockwood,driscoll,dahl,thorpe,redmond,putnam,mcwilliams,mcrae,romano,joiner,sadler,hedrick,hager,hagen,fitch,coulter,thacker,mansfield,langston,guidry,ferreira,corley,conn,rossi,lackey,baez,saenz,mcnamara,mcmullen,mckenna,mcdonough,link,engel,browne,roper,peacock,eubanks,drummond,stringer,pritchett,parham,mims,landers,grayson,schafer,egan,timmons,ohara,keen,hamlin,finn,cortes,mcnair,nadeau,moseley,michaud,rosen,oakes,kurtz,jeffers,calloway,beal,bautista,winn,suggs,stern,stapleton,lyles,laird,montano,dawkins,hagan,goldman,bryson,barajas,lovett,segura,metz,lockett,langford,hinson,eastman,hooks,smallwood,shapiro,crowell,whalen,triplett,chatman,aldrich,cahill,youngblood,ybarra,stallings,sheets,reeder,connelly,bateman,abernathy,winkler,wilkes,masters,hackett,granger,gillis,schmitz,sapp,napier,souza,lanier,gomes,weir,otero,ledford,burroughs,babcock,ventura,siegel,dugan,bledsoe,atwood,wray,varner,spangler,anaya,staley,kraft,fournier,belanger,wolff,thorne,bynum,burnette,boykin,swenson,purvis,pina,khan,duvall,darby,xiong,kauffman,healy,engle,benoit,valle,steiner,spicer,shaver,randle,lundy,chin,calvert,staton,neff,kearney,darden,oakley,medeiros,mccracken,crenshaw,perdue,dill,whittaker,tobin,washburn,hogue,goodrich,easley,bravo,dennison,shipley,kerns,jorgensen,crain,villalobos,maurer,longoria,keene,coon,witherspoon,staples,pettit,kincaid,eason,madrid,echols,lusk,stahl,currie,thayer,shultz,mcnally,seay,maher,gagne,barrow,nava,moreland,honeycutt,hearn,diggs,caron,whitten,westbrook,stovall,ragland,munson,meier,looney,kimble,jolly,hobson,goddard,culver,burr,presley,negron,connell,tovar,huddleston,ashby,salter,root,pendleton,oleary,nickerson,myrick,judd,jacobsen,bain,adair,starnes,matos,busby,herndon,hanley,bellamy,doty,bartley,yazzie,rowell,parson,gifford,cullen,christiansen,benavides,barnhart,talbot,mock,crandall,connors,bonds,whitt,gage,bergman,arredondo,addison,lujan,dowdy,jernigan,huynh,bouchard,dutton,rhoades,ouellette,kiser,herrington,hare,blackman,babb,allred,rudd,paulson,ogden,koenig,geiger,begay,parra,lassiter,hawk,esposito,waldron,ransom,prather,chacon,vick,sands,roark,parr,mayberry,greenberg,coley,bruner,whitman,skaggs,shipman,leary,hutton,romo,medrano,ladd,kruse,askew,schulz,alfaro,tabor,mohr,gallo,bermudez,pereira,bliss,reaves,flint,comer,woodall,naquin,guevara,delong,carrier,pickens,tilley,schaffer,knutson,fenton,doran,vogt,vann,prescott,mclain,landis,corcoran,zapata,hyatt,hemphill,faulk,dove,boudreaux,aragon,whitlock,trejo,tackett,shearer,saldana,hanks,mckinnon,koehler,bourgeois,keyes,goodson,foote,lunsford,goldsmith,flood,winslow,sams,reagan,mccloud,hough,esquivel,naylor,loomis,coronado,ludwig,braswell,bearden,huang,fagan,ezell,edmondson,cronin,nunn,lemon,guillory,grier,dubose,traylor,ryder,dobbins,coyle,aponte,whitmore,smalls,rowan,malloy,cardona,braxton,borden,humphries,carrasco,ruff,metzger,huntley,hinojosa,finney,madsen,ernst,dozier,burkhart,bowser,peralta,daigle,whittington,sorenson,saucedo,roche,redding,fugate,avalos,waite,lind,huston,hawthorne,hamby,boyles,boles,regan,faust,crook,beam,barger,hinds,gallardo,willoughby,willingham,eckert,busch,zepeda,worthington,tinsley,hoff,hawley,carmona,varela,rector,newcomb,kinsey,dube,whatley,ragsdale,bernstein,becerra,yost,mattson,felder,cheek,handy,grossman,gauthier,escobedo,braden,beckman,mott,hillman,flaherty,dykes,stockton,stearns,lofton,coats,cavazos,beavers,barrios,tang,mosher,cardwell,coles,burnham,weller,lemons,beebe,aguilera,parnell,harman,couture,alley,schumacher,redd,dobbs,blum,blalock,merchant,ennis,denson,cottrell,brannon,bagley,aviles,watt,sousa,rosenthal,rooney,dietz,blank,paquette,mcclelland,duff,velasco,lentz,grubb,burrows,barbour,ulrich,shockley,rader,beyer,mixon,layton,altman,weathers,stoner,squires,shipp,priest,lipscomb,cutler,caballero,zimmer,willett,thurston,storey,medley,epperson,shah,mcmillian,baggett,torrez,hirsch,dent,poirier,peachey,farrar,creech,barth,trimble,dupre,albrecht,sample,lawler,crisp,conroy,wetzel,nesbitt,murry,jameson,wilhelm,patten,minton,matson,kimbrough,guinn,croft,toth,pulliam,nugent,newby,littlejohn,dias,canales,bernier,baron,singletary,renteria,pruett,mchugh,mabry,landrum,brower,stoddard,cagle,stjohn,scales,kohler,kellogg,hopson,gant,tharp,gann,zeigler,pringle,hammons,fairchild,deaton,chavis,carnes,rowley,matlock,kearns,irizarry,carrington,starkey,lopes,jarrell,craven,baum,littlefield,linn,humphreys,etheridge,cuellar,chastain,bundy,speer,skelton,quiroz,pyle,portillo,ponder,moulton,machado,killian,hutson,hitchcock,dowling,cloud,burdick,spann,pedersen,levin,leggett,hayward,dietrich,beaulieu,barksdale,wakefield,snowden,briscoe,bowie,berman,ogle,mcgregor,laughlin,helm,burden,wheatley,schreiber,pressley,parris,alaniz,agee,swann,snodgrass,schuster,radford,monk,mattingly,harp,girard,cheney,yancey,wagoner,ridley,lombardo,hudgins,gaskins,duckworth,coburn,willey,prado,newberry,magana,hammonds,elam,whipple,slade,serna,ojeda,liles,dorman,diehl,upton,reardon,michaels,goetz,eller,bauman,baer,layne,hummel,brenner,amaya,adamson,ornelas,dowell,cloutier,castellanos,wellman,saylor,orourke,moya,montalvo,kilpatrick,durbin,shell,oldham,kang,garvin,foss,branham,bartholomew,templeton,maguire,holton,rider,monahan,mccormack,beaty,anders,streeter,nieto,nielson,moffett,lankford,keating,heck,gatlin,delatorre,callaway,adcock,worrell,unger,robinette,nowak,jeter,brunner,steen,parrott,overstreet,nobles,montanez,clevenger,brinkley,trahan,quarles,pickering,pederson,jansen,grantham,gilchrist,crespo,aiken,schell,schaeffer,lorenz,leyva,harms,dyson,wallis,pease,leavitt,cheng,cavanaugh,batts,warden,seaman,rockwell,quezada,paxton,linder,houck,fontaine,durant,caruso,adler,pimentel,mize,lytle,cleary,cason,acker,switzer,isaacs,higginbotham,waterman,vandyke,stamper,sisk,shuler,riddick,mcmahan,levesque,hatton,bronson,bollinger,arnett,okeefe,gerber,gannon,farnsworth,baughman,silverman,satterfield,mccrary,kowalski,grigsby,greco,cabral,trout,rinehart,mahon,linton,gooden,curley,baugh,wyman,weiner,schwab,schuler,morrissey,mahan,bunn,thrasher,spear,waggoner,qualls,purdy,mcwhorter,mauldin,gilman,perryman,newsom,menard,martino,graf,billingsley,artis,simpkins,salisbury,quintanilla,gilliland,fraley,foust,crouse,scarborough,grissom,fultz,marlow,markham,madrigal,lawton,barfield,whiting,varney,schwarz,gooch,arce,wheat,truong,poulin,hurtado,selby,gaither,fortner,culpepper,coughlin,brinson,boudreau,bales,stepp,holm,schilling,morrell,kahn,heaton,gamez,causey,turpin,shanks,schrader,meek,isom,hardison,carranza,yanez,scroggins,schofield,runyon,ratcliff,murrell,moeller,irby,currier,butterfield,ralston,pullen,pinson,estep,carbone,hawks,ellington,casillas,spurlock,sikes,motley,mccartney,kruger,isbell,houle,burk,tomlin,quigley,neumann,lovelace,fennell,cheatham,bustamante,skidmore,hidalgo,forman,culp,bowens,betancourt,aquino,robb,milner,martel,gresham,wiles,ricketts,dowd,collazo,bostic,blakely,sherrod,kenyon,gandy,ebert,deloach,allard,sauer,robins,olivares,gillette,chestnut,bourque,paine,hite,hauser,devore,crawley,chapa,talbert,poindexter,meador,mcduffie,mattox,kraus,harkins,choate,wren,sledge,sanborn,kinder,geary,cornwell,barclay,abney,seward,rhoads,howland,fortier,benner,vines,tubbs,troutman,rapp,mccurdy,deluca,westmoreland,havens,guajardo,clary,seal,meehan,herzog,guillen,ashcraft,waugh,renner,milam,elrod,churchill,breaux,bolin,asher,windham,tirado,pemberton,nolen,noland,knott,emmons,cornish,christenson,brownlee,barbee,waldrop,pitt,olvera,lombardi,gruber,gaffney,eggleston,banda,archuleta,slone,prewitt,pfeiffer,nettles,mena,mcadams,henning,gardiner,cromwell,chisholm,burleson,vest,oglesby,mccarter,lumpkin,wofford,vanhorn,thorn,teel,swafford,stclair,stanfield,ocampo,herrmann,hannon,arsenault,roush,mcalister,hiatt,gunderson,forsythe,duggan,delvalle,cintron,wilks,weinstein,uribe,rizzo,noyes,mclendon,gurley,bethea,winstead,maples,guyton,giordano,alderman,valdes,polanco,pappas,lively,grogan,griffiths,bobo,arevalo,whitson,sowell,rendon,fernandes,farrow,benavidez,ayres,alicea,stump,smalley,seitz,schulte,gilley,gallant,canfield,wolford,omalley,mcnutt,mcnulty,mcgovern,hardman,harbin,cowart,chavarria,brink,beckett,bagwell,armstead,anglin,abreu,reynoso,krebs,jett,hoffmann,greenfield,forte,burney,broome,sisson,trammell,partridge,mace,lomax,lemieux,gossett,frantz,fogle,cooney,broughton,pence,paulsen,muncy,mcarthur,hollins,beauchamp,withers,osorio,mulligan,hoyle,dockery,cockrell,begley,amador,roby,rains,lindquist,gentile,everhart,bohannon,wylie,sommers,purnell,fortin,dunning,breeden,vail,phelan,phan,marx,cosby,colburn,boling,biddle,ledesma,gaddis,denney,chow,bueno,berrios,wicker,tolliver,thibodeaux,nagle,lavoie,fisk,crist,barbosa,reedy,locklear,kolb,himes,behrens,beckwith,weems,wahl,shorter,shackelford,rees,muse,cerda,valadez,thibodeau,saavedra,ridgeway,reiter,mchenry,majors,lachance,keaton,ferrara,clemens,blocker,applegate,needham,mojica,kuykendall,hamel,escamilla,doughty,burchett,ainsworth,vidal,upchurch,thigpen,strauss,spruill,sowers,riggins,ricker,mccombs,harlow,buffington,sotelo,olivas,negrete,morey,macon,logsdon,lapointe,bigelow,bello,westfall,stubblefield,lindley,hein,hawes,farrington,breen,birch,wilde,steed,sepulveda,reinhardt,proffitt,minter,messina,mcnabb,maier,keeler,gamboa,donohue,basham,shinn,crooks,cota,borders,bills,bachman,tisdale,tavares,schmid,pickard,gulley,fonseca,delossantos,condon,batista,wicks,wadsworth,martell,littleton,ison,haag,folsom,brumfield,broyles,brito,mireles,mcdonnell,leclair,hamblin,gough,fanning,binder,winfield,whitworth,soriano,palumbo,newkirk,mangum,hutcherson,comstock,carlin,beall,bair,wendt,watters,walling,putman,otoole,morley,mares,lemus,keener,hundley,dial,damico,billups,strother,mcfarlane,lamm,eaves,crutcher,caraballo,canty,atwell,taft,siler,rust,rawls,rawlings,prieto,mcneely,mcafee,hulsey,hackney,galvez,escalante,delagarza,crider,bandy,wilbanks,stowe,steinberg,renfro,masterson,massie,lanham,haskell,hamrick,dehart,burdette,branson,bourne,babin,aleman,worthy,tibbs,smoot,slack,paradis,mull,luce,houghton,gantt,furman,danner,christianson,burge,ashford,arndt,almeida,stallworth,shade,searcy,sager,noonan,mclemore,mcintire,maxey,lavigne,jobe,ferrer,falk,coffin,byrnes,aranda,apodaca,stamps,rounds,peek,olmstead,lewandowski,kaminski,dunaway,bruns,brackett,amato,reich,mcclung,lacroix,koontz,herrick,hardesty,flanders,cousins,cato,cade,vickery,shank,nagel,dupuis,croteau,cotter,stuckey,stine,porterfield,pauley,moffitt,knudsen,hardwick,goforth,dupont,blunt,barrows,barnhill,shull,rash,loftis,lemay,kitchens,horvath,grenier,fuchs,fairbanks,culbertson,calkins,burnside,beattie,ashworth,albertson,wertz,vaught,vallejo,turk,tuck,tijerina,sage,peterman,marroquin,marr,lantz,hoang,demarco,cone,berube,barnette,wharton,stinnett,slocum,scanlon,sander,pinto,mancuso,lima,headley,epstein,counts,clarkson,carnahan,boren,arteaga,adame,zook,whittle,whitehurst,wenzel,saxton,reddick,puente,handley,haggerty,earley,devlin,chaffin,cady,acuna,solano,sigler,pollack,pendergrass,ostrander,janes,francois,crutchfield,chamberlin,brubaker,baptiste,willson,reis,neeley,mullin,mercier,lira,layman,keeling,higdon,espinal,chapin,warfield,toledo,pulido,peebles,nagy,montague,mello,lear,jaeger,hogg,graff,furr,soliz,poore,mendenhall,mclaurin,maestas,gable,barraza,tillery,snead,pond,neill,mcculloch,mccorkle,lightfoot,hutchings,holloman,harness,dorn,bock,zielinski,turley,treadwell,stpierre,starling,somers,oswald,merrick,easterling,bivens,truitt,poston,parry,ontiveros,olivarez,moreau,medlin,lenz,knowlton,fairley,cobbs,chisolm,bannister,woodworth,toler,ocasio,noriega,neuman,moye,milburn,mcclanahan,lilley,hanes,flannery,dellinger,danielson,conti,blodgett,beers,weatherford,strain,karr,hitt,denham,custer,coble,clough,casteel,bolduc,batchelor,ammons,whitlow,tierney,staten,sibley,seifert,schubert,salcedo,mattison,laney,haggard,grooms,dees,cromer,cooks,colson,caswell,zarate,swisher,shin,ragan,pridgen,mcvey,matheny,lafleur,franz,ferraro,dugger,whiteside,rigsby,mcmurray,lehmann,jacoby,hildebrand,hendrick,headrick,goad,fincher,drury,borges,archibald,albers,woodcock,trapp,soares,seaton,monson,luckett,lindberg,kopp,keeton,healey,garvey,gaddy,fain,burchfield,wentworth,strand,stack,spooner,saucier,ricci,plunkett,pannell,ness,leger,freitas,fong,elizondo,duval,beaudoin,urbina,rickard,partin,mcgrew,mcclintock,ledoux,forsyth,faison,devries,bertrand,wasson,tilton,scarbrough,leung,irvine,garber,denning,corral,colley,castleberry,bowlin,bogan,beale,baines,trice,rayburn,parkinson,nunes,mcmillen,leahy,kimmel,higgs,fulmer,carden,bedford,taggart,spearman,prichard,morrill,koonce,heinz,hedges,guenther,grice,findley,dover,creighton,boothe,bayer,arreola,vitale,valles,raney,osgood,hanlon,burley,bounds,worden,weatherly,vetter,tanaka,stiltner,nevarez,mosby,montero,melancon,harter,hamer,goble,gladden,gist,ginn,akin,zaragoza,tarver,sammons,royster,oreilly,muir,morehead,luster,kingsley,kelso,grisham,glynn,baumann,alves,yount,tamayo,paterson,oates,menendez,longo,hargis,gillen,desantis,conover,breedlove,sumpter,scherer,rupp,reichert,heredia,creel,cohn,clemmons,casas,bickford,belton,bach,williford,whitcomb,tennant,sutter,stull,mccallum,langlois,keel,keegan,dangelo,dancy,damron,clapp,clanton,bankston,oliveira,mintz,mcinnis,martens,mabe,laster,jolley,hildreth,hefner,glaser,duckett,demers,brockman,blais,alcorn,agnew,toliver,tice,seeley,najera,musser,mcfall,laplante,galvin,fajardo,doan,coyne,copley,clawson,cheung,barone,wynne,woodley,tremblay,stoll,sparrow,sparkman,schweitzer,sasser,samples,roney,legg,heim,farias,colwell,christman,bratcher,winchester,upshaw,southerland,sorrell,sells,mccloskey,martindale,luttrell,loveless,lovejoy,linares,latimer,embry,coombs,bratton,bostick,venable,tuggle,toro,staggs,sandlin,jefferies,heckman,griffis,crayton,clem,browder,thorton,sturgill,sprouse,royer,rousseau,ridenour,pogue,perales,peeples,metzler,mesa,mccutcheon,mcbee,hornsby,heffner,corrigan,armijo,plante,peyton,paredes,macklin,hussey,hodgson,granados,frias,becnel,batten,almanza,turney,teal,sturgeon,meeker,mcdaniels,limon,keeney,hutto,holguin,gorham,fishman,fierro,blanchette,rodrigue,reddy,osburn,oden,lerma,kirkwood,keefer,haugen,hammett,chalmers,brinkman,baumgartner,zhang,valerio,tellez,steffen,shumate,sauls,ripley,kemper,guffey,evers,craddock,carvalho,blaylock,banuelos,balderas,wheaton,turnbull,shuman,pointer,mosier,mccue,ligon,kozlowski,johansen,ingle,herr,briones,snipes,rickman,pipkin,pantoja,orosco,moniz,lawless,kunkel,hibbard,galarza,enos,bussey,schott,salcido,perreault,mcdougal,mccool,haight,garris,easton,conyers,atherton,wimberly,utley,spellman,smithson,slagle,ritchey,rand,petit,osullivan,oaks,nutt,mcvay,mccreary,mayhew,knoll,jewett,harwood,cardoza,ashe,arriaga,zeller,wirth,whitmire,stauffer,rountree,redden,mccaffrey,martz,larose,langdon,humes,gaskin,faber,devito,cass,almond,wingfield,wingate,villareal,tyner,smothers,severson,reno,pennell,maupin,leighton,janssen,hassell,hallman,halcomb,folse,fitzsimmons,fahey,cranford,bolen,battles,battaglia,wooldridge,trask,rosser,regalado,mcewen,keefe,fuqua,echevarria,caro,boynton,andrus,viera,vanmeter,taber,spradlin,seibert,provost,prentice,oliphant,laporte,hwang,hatchett,hass,greiner,freedman,covert,chilton,byars,wiese,venegas,swank,shrader,roberge,mullis,mortensen,mccune,marlowe,kirchner,keck,isaacson,hostetler,halverson,gunther,griswold,fenner,durden,blackwood,ahrens,sawyers,savoy,nabors,mcswain,mackay,lavender,lash,labbe,jessup,fullerton,cruse,crittenden,correia,centeno,caudle,canady,callender,alarcon,ahern,winfrey,tribble,salley,roden,musgrove,minnick,fortenberry,carrion,bunting,batiste,whited,underhill,stillwell,rauch,pippin,perrin,messenger,mancini,lister,kinard,hartmann,fleck,wilt,treadway,thornhill,spalding,rafferty,pitre,patino,ordonez,linkous,kelleher,homan,galbraith,feeney,curtin,coward,camarillo,buss,bunnell,bolt,beeler,autry,alcala,witte,wentz,stidham,shively,nunley,meacham,martins,lemke,lefebvre,hynes,horowitz,hoppe,holcombe,dunne,derr,cochrane,brittain,bedard,beauregard,torrence,strunk,soria,simonson,shumaker,scoggins,oconner,moriarty,kuntz,ives,hutcheson,horan,hales,garmon,fitts,bohn,atchison,wisniewski,vanwinkle,sturm,sallee,prosser,moen,lundberg,kunz,kohl,keane,jorgenson,jaynes,funderburk,freed,durr,creamer,cosgrove,batson,vanhoose,thomsen,teeter,smyth,redmon,orellana,maness,heflin,goulet,frick,forney,bunker,asbury,aguiar,talbott,southard,mowery,mears,lemmon,krieger,hickson,elston,duong,delgadillo,dayton,dasilva,conaway,catron,bruton,bradbury,bordelon,bivins,bittner,bergstrom,beals,abell,whelan,tejada,pulley,pino,norfleet,nealy,maes,loper,gatewood,frierson,freund,finnegan,cupp,covey,catalano,boehm,bader,yoon,walston,tenney,sipes,rawlins,medlock,mccaskill,mccallister,marcotte,maclean,hughey,henke,harwell,gladney,gilson,chism,caskey,brandenburg,baylor,villasenor,veal,thatcher,stegall,petrie,nowlin,navarrete,lombard,loftin,lemaster,kroll,kovach,kimbrell,kidwell,hershberger,fulcher,cantwell,bustos,boland,bobbitt,binkley,wester,weis,verdin,tong,tiller,sisco,sharkey,seymore,rosenbaum,rohr,quinonez,pinkston,malley,logue,lessard,lerner,lebron,krauss,klinger,halstead,haller,getz,burrow,alger,shores,pfeifer,perron,nelms,munn,mcmaster,mckenney,manns,knudson,hutchens,huskey,goebel,flagg,cushman,click,castellano,carder,bumgarner,wampler,spinks,robson,neel,mcreynolds,mathias,maas,loera,jenson,florez,coons,buckingham,brogan,berryman,wilmoth,wilhite,thrash,shephard,seidel,schulze,roldan,pettis,obryan,maki,mackie,hatley,frazer,fiore,chesser,bottoms,bisson,benefield,allman,wilke,trudeau,timm,shifflett,mundy,milliken,mayers,leake,kohn,huntington,horsley,hermann,guerin,fryer,frizzell,foret,flemming,fife,criswell,carbajal,bozeman,boisvert,angulo,wallen,tapp,silvers,ramsay,oshea,orta,moll,mckeever,mcgehee,linville,kiefer,ketchum,howerton,groce,gass,fusco,corbitt,betz,bartels,amaral,aiello,weddle,sperry,seiler,runyan,raley,overby,osteen,olds,mckeown,matney,lauer,lattimore,hindman,hartwell,fredrickson,fredericks,espino,clegg,carswell,cambell,burkholder,woodbury,welker,totten,thornburg,theriault,stitt,stamm,stackhouse,scholl,saxon,rife,razo,quinlan,pinkerton,olivo,nesmith,nall,mattos,lafferty,justus,giron,geer,fielder,drayton,dortch,conners,conger,boatwright,billiot,barden,armenta,tibbetts,steadman,slattery,rinaldi,raynor,pinckney,pettigrew,milne,matteson,halsey,gonsalves,fellows,durand,desimone,cowley,cowles,brill,barham,barela,barba,ashmore,withrow,valenti,tejeda,spriggs,sayre,salerno,peltier,peel,merriman,matheson,lowman,lindstrom,hyland,giroux,earls,dugas,dabney,collado,briseno,baxley,whyte,wenger,vanover,vanburen,thiel,schindler,schiller,rigby,pomeroy,passmore,marble,manzo,mahaffey,lindgren,laflamme,greathouse,fite,calabrese,bayne,yamamoto,wick,townes,thames,reinhart,peeler,naranjo,montez,mcdade,mast,markley,marchand,leeper,kellum,hudgens,hennessey,hadden,gainey,coppola,borrego,bolling,beane,ault,slaton,pape,null,mulkey,lightner,langer,hillard,ethridge,enright,derosa,baskin,weinberg,turman,somerville,pardo,noll,lashley,ingraham,hiller,hendon,glaze,cothran,cooksey,conte,carrico,abner,wooley,swope,summerlin,sturgis,sturdivant,stott,spurgeon,spillman,speight,roussel,popp,nutter,mckeon,mazza,magnuson,lanning,kozak,jankowski,heyward,forster,corwin,callaghan,bays,wortham,usher,theriot,sayers,sabo,poling,loya,lieberman,laroche,labelle,howes,harr,garay,fogarty,everson,durkin,dominquez,chaves,chambliss,witcher,vieira,vandiver,terrill,stoker,schreiner,moorman,liddell,lawhorn,krug,irons,hylton,hollenbeck,herrin,hembree,goolsby,goodin,gilmer,foltz,dinkins,daughtry,caban,brim,briley,bilodeau,wyant,vergara,tallent,swearingen,stroup,scribner,quillen,pitman,mccants,maxfield,martinson,holtz,flournoy,brookins,brody,baumgardner,straub,sills,roybal,roundtree,oswalt,mcgriff,mcdougall,mccleary,maggard,gragg,gooding,godinez,doolittle,donato,cowell,cassell,bracken,appel,zambrano,reuter,perea,nakamura,monaghan,mickens,mcclinton,mcclary,marler,kish,judkins,gilbreath,freese,flanigan,felts,erdmann,dodds,chew,brownell,boatright,barreto,slayton,sandberg,saldivar,pettway,odum,narvaez,moultrie,montemayor,merrell,lees,keyser,hoke,hardaway,hannan,gilbertson,fogg,dumont,deberry,coggins,buxton,bucher,broadnax,beeson,araujo,appleton,amundson,aguayo,ackley,yocum,worsham,shivers,sanches,sacco,robey,rhoden,pender,ochs,mccurry,madera,luong,knotts,jackman,heinrich,hargrave,gault,comeaux,chitwood,caraway,boettcher,bernhardt,barrientos,zink,wickham,whiteman,thorp,stillman,settles,schoonover,roque,riddell,pilcher,phifer,novotny,macleod,hardee,haase,grider,doucette,clausen,bevins,beamon,badillo,tolley,tindall,soule,snook,seale,pinkney,pellegrino,nowell,nemeth,mondragon,mclane,lundgren,ingalls,hudspeth,hixson,gearhart,furlong,downes,dibble,deyoung,cornejo,camara,brookshire,boyette,wolcott,surratt,sellars,segal,salyer,reeve,rausch,labonte,haro,gower,freeland,fawcett,eads,driggers,donley,collett,bromley,boatman,ballinger,baldridge,volz,trombley,stonge,shanahan,rivard,rhyne,pedroza,matias,jamieson,hedgepeth,hartnett,estevez,eskridge,denman,chiu,chinn,catlett,carmack,buie,bechtel,beardsley,bard,ballou,ulmer,skeen,robledo,rincon,reitz,piazza,munger,moten,mcmichael,loftus,ledet,kersey,groff,fowlkes,crumpton,clouse,bettis,villagomez,timmerman,strom,santoro,roddy,penrod,musselman,macpherson,leboeuf,harless,haddad,guido,golding,fulkerson,fannin,dulaney,dowdell,cottle,ceja,cate,bosley,benge,albritton,voigt,trowbridge,soileau,seely,rohde,pearsall,paulk,orth,nason,mota,mcmullin,marquardt,madigan,hoag,gillum,gabbard,fenwick,danforth,cushing,cress,creed,cazares,bettencourt,barringer,baber,stansberry,schramm,rutter,rivero,oquendo,necaise,mouton,montenegro,miley,mcgough,marra,macmillan,lamontagne,jasso,horst,hetrick,heilman,gaytan,gall,fortney,dingle,desjardins,dabbs,burbank,brigham,breland,beaman,arriola,yarborough,wallin,toscano,stowers,reiss,pichardo,orton,michels,mcnamee,mccrory,leatherman,kell,keister,horning,hargett,guay,ferro,deboer,dagostino,carper,blanks,beaudry,towle,tafoya,stricklin,strader,soper,sonnier,sigmon,schenk,saddler,pedigo,mendes,lunn,lohr,lahr,kingsbury,jarman,hume,holliman,hofmann,haworth,harrelson,hambrick,flick,edmunds,dacosta,crossman,colston,chaplin,carrell,budd,weiler,waits,valentino,trantham,tarr,solorio,roebuck,powe,plank,pettus,pagano,mink,luker,leathers,joslin,hartzell,gambrell,cepeda,carty,caputo,brewington,bedell,ballew,applewhite,warnock,walz,urena,tudor,reel,pigg,parton,mickelson,meagher,mclellan,mcculley,mandel,leech,lavallee,kraemer,kling,kipp,kehoe,hochstetler,harriman,gregoire,grabowski,gosselin,gammon,fancher,edens,desai,brannan,armendariz,woolsey,whitehouse,whetstone,ussery,towne,testa,tallman,studer,strait,steinmetz,sorrells,sauceda,rolfe,paddock,mitchem,mcginn,mccrea,lovato,hazen,gilpin,gaynor,fike,devoe,delrio,curiel,burkhardt,bode,backus,zinn,watanabe,wachter,vanpelt,turnage,shaner,schroder,sato,riordan,quimby,portis,natale,mckoy,mccown,kilmer,hotchkiss,hesse,halbert,gwinn,godsey,delisle,chrisman,canter,arbogast,angell,acree,yancy,woolley,wesson,weatherspoon,trainor,stockman,spiller,sipe,rooks,reavis,propst,porras,neilson,mullens,loucks,llewellyn,kumar,koester,klingensmith,kirsch,kester,honaker,hodson,hennessy,helmick,garrity,garibay,drain,casarez,callis,botello,aycock,avant,wingard,wayman,tully,theisen,szymanski,stansbury,segovia,rainwater,preece,pirtle,padron,mincey,mckelvey,mathes,larrabee,kornegay,klug,ingersoll,hecht,germain,eggers,dykstra,deering,decoteau,deason,dearing,cofield,carrigan,bonham,bahr,aucoin,appleby,almonte,yager,womble,wimmer,weimer,vanderpool,stancil,sprinkle,romine,remington,pfaff,peckham,olivera,meraz,maze,lathrop,koehn,hazelton,halvorson,hallock,haddock,ducharme,dehaven,caruthers,brehm,bosworth,bost,bias,beeman,basile,bane,aikens,wold,walther,tabb,suber,strawn,stocker,shirey,schlosser,riedel,rembert,reimer,pyles,peele,merriweather,letourneau,latta,kidder,hixon,hillis,hight,herbst,henriquez,haygood,hamill,gabel,fritts,eubank,dawes,correll,bushey,buchholz,brotherton,botts,barnwell,auger,atchley,westphal,veilleux,ulloa,stutzman,shriver,ryals,pilkington,moyers,marrs,mangrum,maddux,lockard,laing,kuhl,harney,hammock,hamlett,felker,doerr,depriest,carrasquillo,carothers,bogle,bischoff,bergen,albanese,wyckoff,vermillion,vansickle,thibault,tetreault,stickney,shoemake,ruggiero,rawson,racine,philpot,paschal,mcelhaney,mathison,legrand,lapierre,kwan,kremer,jiles,hilbert,geyer,faircloth,ehlers,egbert,desrosiers,dalrymple,cotten,cashman,cadena,boardman,alcaraz,wyrick,therrien,tankersley,strickler,puryear,plourde,pattison,pardue,mcginty,mcevoy,landreth,kuhns,koon,hewett,giddens,emerick,eades,deangelis,cosme,ceballos,birdsong,benham,bemis,armour,anguiano,welborn,tsosie,storms,shoup,sessoms,samaniego,rood,rojo,rhinehart,raby,northcutt,myer,munguia,morehouse,mcdevitt,mallett,lozada,lemoine,kuehn,hallett,grim,gillard,gaylor,garman,gallaher,feaster,faris,darrow,dardar,coney,carreon,braithwaite,boylan,boyett,bixler,bigham,benford,barragan,barnum,zuber,wyche,westcott,vining,stoltzfus,simonds,shupe,sabin,ruble,rittenhouse,richman,perrone,mulholland,millan,lomeli,kite,jemison,hulett,holler,hickerson,herold,hazelwood,griffen,gause,forde,eisenberg,dilworth,charron,chaisson,bristow,breunig,brace,boutwell,bentz,belk,bayless,batchelder,baran,baeza,zimmermann,weathersby,volk,toole,theis,tedesco,searle,schenck,satterwhite,ruelas,rankins,partida,nesbit,morel,menchaca,levasseur,kaylor,johnstone,hulse,hollar,hersey,harrigan,harbison,guyer,gish,giese,gerlach,geller,geisler,falcone,elwell,doucet,deese,darr,corder,chafin,byler,bussell,burdett,brasher,bowe,bellinger,bastian,barner,alleyne,wilborn,weil,wegner,tatro,spitzer,smithers,schoen,resendez,parisi,overman,obrian,mudd,mahler,maggio,lindner,lalonde,lacasse,laboy,killion,kahl,jessen,jamerson,houk,henshaw,gustin,graber,durst,duenas,davey,cundiff,conlon,colunga,coakley,chiles,capers,buell,bricker,bissonnette,bartz,bagby,zayas,volpe,treece,toombs,thom,terrazas,swinney,skiles,silveira,shouse,senn,ramage,moua,langham,kyles,holston,hoagland,herd,feller,denison,carraway,burford,bickel,ambriz,abercrombie,yamada,weidner,waddle,verduzco,thurmond,swindle,schrock,sanabria,rosenberger,probst,peabody,olinger,nazario,mccafferty,mcbroom,mcabee,mazur,matherne,mapes,leverett,killingsworth,heisler,griego,gosnell,frankel,franke,ferrante,fenn,ehrlich,christopherso,chasse,caton,brunelle,bloomfield,babbitt,azevedo,abramson,ables,abeyta,youmans,wozniak,wainwright,stowell,smitherman,samuelson,runge,rothman,rosenfeld,peake,owings,olmos,munro,moreira,leatherwood,larkins,krantz,kovacs,kizer,kindred,karnes,jaffe,hubbell,hosey,hauck,goodell,erdman,dvorak,doane,cureton,cofer,buehler,bierman,berndt,banta,abdullah,warwick,waltz,turcotte,torrey,stith,seger,sachs,quesada,pinder,peppers,pascual,paschall,parkhurst,ozuna,oster,nicholls,lheureux,lavalley,kimura,jablonski,haun,gourley,gilligan,croy,cotto,cargill,burwell,burgett,buckman,booher,adorno,wrenn,whittemore,urias,szabo,sayles,saiz,rutland,rael,pharr,pelkey,ogrady,nickell,musick,moats,mather,massa,kirschner,kieffer,kellar,hendershot,gott,godoy,gadson,furtado,fiedler,erskine,dutcher,dever,daggett,chevalier,brake,ballesteros,amerson,wingo,waldon,trott,silvey,showers,schlegel,ritz,pepin,pelayo,parsley,palermo,moorehead,mchale,lett,kocher,kilburn,iglesias,humble,hulbert,huckaby,hartford,hardiman,gurney,grigg,grasso,goings,fillmore,farber,depew,dandrea,cowen,covarrubias,burrus,bracy,ardoin,thompkins,standley,radcliffe,pohl,persaud,parenteau,pabon,newson,newhouse,napolitano,mulcahy,malave,keim,hooten,hernandes,heffernan,hearne,greenleaf,glick,fuhrman,fetter,faria,dishman,dickenson,crites,criss,clapper,chenault,castor,casto,bugg,bove,bonney,anderton,allgood,alderson,woodman,warrick,toomey,tooley,tarrant,summerville,stebbins,sokol,searles,schutz,schumann,scheer,remillard,raper,proulx,palmore,monroy,messier,melo,melanson,mashburn,manzano,lussier,jenks,huneycutt,hartwig,grimsley,fulk,fielding,fidler,engstrom,eldred,dantzler,crandell,calder,brumley,breton,brann,bramlett,boykins,bianco,bancroft,almaraz,alcantar,whitmer,whitener,welton,vineyard,rahn,paquin,mizell,mcmillin,mckean,marston,maciel,lundquist,liggins,lampkin,kranz,koski,kirkham,jiminez,hazzard,harrod,graziano,grammer,gendron,garrido,fordham,englert,dryden,demoss,deluna,crabb,comeau,brummett,blume,benally,wessel,vanbuskirk,thorson,stumpf,stockwell,reams,radtke,rackley,pelton,niemi,newland,nelsen,morrissette,miramontes,mcginley,mccluskey,marchant,luevano,lampe,lail,jeffcoat,infante,hinman,gaona,eady,desmarais,decosta,dansby,cisco,choe,breckenridge,bostwick,borg,bianchi,alberts,wilkie,whorton,vargo,tait,soucy,schuman,ousley,mumford,lippert,leath,lavergne,laliberte,kirksey,kenner,johnsen,izzo,hiles,gullett,greenwell,gaspar,galbreath,gaitan,ericson,delapaz,croom,cottingham,clift,bushnell,bice,beason,arrowood,waring,voorhees,truax,shreve,shockey,schatz,sandifer,rubino,rozier,roseberry,pieper,peden,nester,nave,murphey,malinowski,macgregor,lafrance,kunkle,kirkman,hipp,hasty,haddix,gervais,gerdes,gamache,fouts,fitzwater,dillingham,deming,deanda,cedeno,cannady,burson,bouldin,arceneaux,woodhouse,whitford,wescott,welty,weigel,torgerson,toms,surber,sunderland,sterner,setzer,riojas,pumphrey,puga,metts,mcgarry,mccandless,magill,lupo,loveland,llamas,leclerc,koons,kahler,huss,holbert,heintz,haupt,grimmett,gaskill,ellingson,dorr,dingess,deweese,desilva,crossley,cordeiro,converse,conde,caldera,cairns,burmeister,burkhalter,brawner,bott,youngs,vierra,valladares,shrum,shropshire,sevilla,rusk,rodarte,pedraza,nino,merino,mcminn,markle,mapp,lajoie,koerner,kittrell,kato,hyder,hollifield,heiser,hazlett,greenwald,fant,eldredge,dreher,delafuente,cravens,claypool,beecher,aronson,alanis,worthen,wojcik,winger,whitacre,valverde,valdivia,troupe,thrower,swindell,suttles,stroman,spires,slate,shealy,sarver,sartin,sadowski,rondeau,rolon,rascon,priddy,paulino,nolte,munroe,molloy,mciver,lykins,loggins,lenoir,klotz,kempf,hupp,hollowell,hollander,haynie,harkness,harker,gottlieb,frith,eddins,driskell,doggett,densmore,charette,cassady,byrum,burcham,buggs,benn,whitted,warrington,vandusen,vaillancourt,steger,siebert,scofield,quirk,purser,plumb,orcutt,nordstrom,mosely,michalski,mcphail,mcdavid,mccraw,marchese,mannino,lefevre,largent,lanza,kress,isham,hunsaker,hoch,hildebrandt,guarino,grijalva,graybill,fick,ewell,ewald,cusick,crumley,coston,cathcart,carruthers,bullington,bowes,blain,blackford,barboza,yingling,wert,weiland,varga,silverstein,sievers,shuster,shumway,runnels,rumsey,renfroe,provencher,polley,mohler,middlebrooks,kutz,koster,groth,glidden,fazio,deen,chipman,chenoweth,champlin,cedillo,carrero,carmody,buckles,brien,boutin,bosch,berkowitz,altamirano,wilfong,wiegand,waites,truesdale,toussaint,tobey,tedder,steelman,sirois,schnell,robichaud,richburg,plumley,pizarro,piercy,ortego,oberg,neace,mertz,mcnew,matta,lapp,lair,kibler,howlett,hollister,hofer,hatten,hagler,falgoust,engelhardt,eberle,dombrowski,dinsmore,daye,casares,braud,balch,autrey,wendel,tyndall,strobel,stoltz,spinelli,serrato,reber,rathbone,palomino,nickels,mayle,mathers,mach,loeffler,littrell,levinson,leong,lemire,lejeune,lazo,lasley,koller,kennard,hoelscher,hintz,hagerman,greaves,fore,eudy,engler,corrales,cordes,brunet,bidwell,bennet,tyrrell,tharpe,swinton,stribling,southworth,sisneros,savoie,samons,ruvalcaba,ries,ramer,omara,mosqueda,millar,mcpeak,macomber,luckey,litton,lehr,lavin,hubbs,hoard,hibbs,hagans,futrell,exum,evenson,culler,carbaugh,callen,brashear,bloomer,blakeney,bigler,addington,woodford,unruh,tolentino,sumrall,stgermain,smock,sherer,rayner,pooler,oquinn,nero,mcglothlin,linden,kowal,kerrigan,ibrahim,harvell,hanrahan,goodall,geist,fussell,fung,ferebee,eley,eggert,dorsett,dingman,destefano,colucci,clemmer,burnell,brumbaugh,boddie,berryhill,avelar,alcantara,winder,winchell,vandenberg,trotman,thurber,thibeault,stlouis,stilwell,sperling,shattuck,sarmiento,ruppert,rumph,renaud,randazzo,rademacher,quiles,pearman,palomo,mercurio,lowrey,lindeman,lawlor,larosa,lander,labrecque,hovis,holifield,henninger,hawkes,hartfield,hann,hague,genovese,garrick,fudge,frink,eddings,dinh,cribbs,calvillo,bunton,brodeur,bolding,blanding,agosto,zahn,wiener,trussell,tello,teixeira,speck,sharma,shanklin,sealy,scanlan,santamaria,roundy,robichaux,ringer,rigney,prevost,polson,nord,moxley,medford,mccaslin,mcardle,macarthur,lewin,lasher,ketcham,keiser,heine,hackworth,grose,grizzle,gillman,gartner,frazee,fleury,edson,edmonson,derry,cronk,conant,burress,burgin,broom,brockington,bolick,boger,birchfield,billington,baily,bahena,armbruster,anson,yoho,wilcher,tinney,timberlake,thielen,sutphin,stultz,sikora,serra,schulman,scheffler,santillan,rego,preciado,pinkham,mickle,lomas,lizotte,lent,kellerman,keil,johanson,hernadez,hartsfield,haber,gorski,farkas,eberhardt,duquette,delano,cropper,cozart,cockerham,chamblee,cartagena,cahoon,buzzell,brister,brewton,blackshear,benfield,aston,ashburn,arruda,wetmore,weise,vaccaro,tucci,sudduth,stromberg,stoops,showalter,shears,runion,rowden,rosenblum,riffle,renfrow,peres,obryant,leftwich,lark,landeros,kistler,killough,kerley,kastner,hoggard,hartung,guertin,govan,gatling,gailey,fullmer,fulford,flatt,esquibel,endicott,edmiston,edelstein,dufresne,dressler,dickman,chee,busse,bonnett,berard,yoshida,velarde,veach,vanhouten,vachon,tolson,tolman,tennyson,stites,soler,shutt,ruggles,rhone,pegues,neese,muro,moncrief,mefford,mcphee,mcmorris,mceachern,mcclurg,mansour,mader,leija,lecompte,lafountain,labrie,jaquez,heald,hash,hartle,gainer,frisby,farina,eidson,edgerton,dyke,durrett,duhon,cuomo,cobos,cervantez,bybee,brockway,borowski,binion,beery,arguello,amaro,acton,yuen,winton,wigfall,weekley,vidrine,vannoy,tardiff,shoop,shilling,schick,safford,prendergast,pilgrim,pellerin,osuna,nissen,nalley,moller,messner,messick,merrifield,mcguinness,matherly,marcano,mahone,lemos,lebrun,jara,hoffer,herren,hecker,haws,haug,gwin,gober,gilliard,fredette,favela,echeverria,downer,donofrio,desrochers,crozier,corson,bechtold,argueta,aparicio,zamudio,westover,westerman,utter,troyer,thies,tapley,slavin,shirk,sandler,roop,rimmer,raymer,radcliff,otten,moorer,millet,mckibben,mccutchen,mcavoy,mcadoo,mayorga,mastin,martineau,marek,madore,leflore,kroeger,kennon,jimerson,hostetter,hornback,hendley,hance,guardado,granado,gowen,goodale,flinn,fleetwood,fitz,durkee,duprey,dipietro,dilley,clyburn,brawley,beckley,arana,weatherby,vollmer,vestal,tunnell,trigg,tingle,takahashi,sweatt,storer,snapp,shiver,rooker,rathbun,poisson,perrine,perri,parmer,parke,pare,papa,palmieri,midkiff,mecham,mccomas,mcalpine,lovelady,lillard,lally,knopp,kile,kiger,haile,gupta,goldsberry,gilreath,fulks,friesen,franzen,flack,findlay,ferland,dreyer,dore,dennard,deckard,debose,crim,coulombe,chancey,cantor,branton,bissell,barns,woolard,witham,wasserman,spiegel,shoffner,scholz,ruch,rossman,petry,palacio,paez,neary,mortenson,millsap,miele,menke,mckim,mcanally,martines,lemley,larochelle,klaus,klatt,kaufmann,kapp,helmer,hedge,halloran,glisson,frechette,fontana,eagan,distefano,danley,creekmore,chartier,chaffee,carillo,burg,bolinger,berkley,benz,basso,bash,zelaya,woodring,witkowski,wilmot,wilkens,wieland,verdugo,urquhart,tsai,timms,swiger,swaim,sussman,pires,molnar,mcatee,lowder,loos,linker,landes,kingery,hufford,higa,hendren,hammack,hamann,gillam,gerhardt,edelman,delk,deans,curl,constantine,cleaver,claar,casiano,carruth,carlyle,brophy,bolanos,bibbs,bessette,beggs,baugher,bartel,averill,andresen,amin,adames,valente,turnbow,swink,sublett,stroh,stringfellow,ridgway,pugliese,poteat,ohare,neubauer,murchison,mingo,lemmons,kwon,kellam,kean,jarmon,hyden,hudak,hollinger,henkel,hemingway,hasson,hansel,halter,haire,ginsberg,gillispie,fogel,flory,etter,elledge,eckman,deas,currin,crafton,coomer,colter,claxton,bulter,braddock,bowyer,binns,bellows,baskerville,barros,ansley,woolf,wight,waldman,wadley,tull,trull,tesch,stouffer,stadler,slay,shubert,sedillo,santacruz,reinke,poynter,neri,neale,mowry,moralez,monger,mitchum,merryman,manion,macdougall,litchfield,levitt,lepage,lasalle,khoury,kavanagh,karns,ivie,huebner,hodgkins,halpin,garica,eversole,dutra,dunagan,duffey,dillman,dillion,deville,dearborn,damato,courson,coulson,burdine,bousquet,bonin,bish,atencio,westbrooks,wages,vaca,toner,tillis,swett,struble,stanfill,solorzano,slusher,sipple,silvas,shults,schexnayder,saez,rodas,rager,pulver,penton,paniagua,meneses,mcfarlin,mcauley,matz,maloy,magruder,lohman,landa,lacombe,jaimes,holzer,holst,heil,hackler,grundy,gilkey,farnham,durfee,dunton,dunston,duda,dews,craver,corriveau,conwell,colella,chambless,bremer,boutte,bourassa,blaisdell,backman,babineaux,audette,alleman,towner,taveras,tarango,sullins,suiter,stallard,solberg,schlueter,poulos,pimental,owsley,okelley,moffatt,metcalfe,meekins,medellin,mcglynn,mccowan,marriott,marable,lennox,lamoureux,koss,kerby,karp,isenberg,howze,hockenberry,highsmith,hallmark,gusman,greeley,giddings,gaudet,gallup,fleenor,eicher,edington,dimaggio,dement,demello,decastro,bushman,brundage,brooker,bourg,blackstock,bergmann,beaton,banister,argo,appling,wortman,watterson,villalpando,tillotson,tighe,sundberg,sternberg,stamey,shipe,seeger,scarberry,sattler,sain,rothstein,poteet,plowman,pettiford,penland,partain,pankey,oyler,ogletree,ogburn,moton,merkel,lucier,lakey,kratz,kinser,kershaw,josephson,imhoff,hendry,hammon,frisbie,frawley,fraga,forester,eskew,emmert,drennan,doyon,dandridge,cawley,carvajal,bracey,belisle,batey,ahner,wysocki,weiser,veliz,tincher,sansone,sankey,sandstrom,rohrer,risner,pridemore,pfeffer,persinger,peery,oubre,nowicki,musgrave,murdoch,mullinax,mccary,mathieu,livengood,kyser,klink,kimes,kellner,kavanaugh,kasten,imes,hoey,hinshaw,hake,gurule,grube,grillo,geter,gatto,garver,garretson,farwell,eiland,dunford,decarlo,corso,colman,collard,cleghorn,chasteen,cavender,carlile,calvo,byerly,brogdon,broadwater,breault,bono,bergin,behr,ballenger,amick,tamez,stiffler,steinke,simmon,shankle,schaller,salmons,sackett,saad,rideout,ratcliffe,ranson,plascencia,petterson,olszewski,olney,olguin,nilsson,nevels,morelli,montiel,monge,michaelson,mertens,mcchesney,mcalpin,mathewson,loudermilk,lineberry,liggett,kinlaw,kight,jost,hereford,hardeman,halpern,halliday,hafer,gaul,friel,freitag,forsberg,evangelista,doering,dicarlo,dendy,delp,deguzman,dameron,curtiss,cosper,cauthen,bradberry,bouton,bonnell,bixby,bieber,beveridge,bedwell,barhorst,bannon,baltazar,baier,ayotte,attaway,arenas,abrego,turgeon,tunstall,thaxton,tenorio,stotts,sthilaire,shedd,seabolt,scalf,salyers,ruhl,rowlett,robinett,pfister,perlman,pepe,parkman,nunnally,norvell,napper,modlin,mckellar,mcclean,mascarenas,leibowitz,ledezma,kuhlman,kobayashi,hunley,holmquist,hinkley,hazard,hartsell,gribble,gravely,fifield,eliason,doak,crossland,carleton,bridgeman,bojorquez,boggess,auten,woosley,whiteley,wexler,twomey,tullis,townley,standridge,santoyo,rueda,riendeau,revell,pless,ottinger,nigro,nickles,mulvey,menefee,mcshane,mcloughlin,mckinzie,markey,lockridge,lipsey,knisley,knepper,kitts,kiel,jinks,hathcock,godin,gallego,fikes,fecteau,estabrook,ellinger,dunlop,dudek,countryman,chauvin,chatham,bullins,brownfield,boughton,bloodworth,bibb,baucom,barbieri,aubin,armitage,alessi,absher,abbate,zito,woolery,wiggs,wacker,tynes,tolle,telles,tarter,swarey,strode,stockdale,stalnaker,spina,schiff,saari,risley,rameriz,rakes,pettaway,penner,paulus,palladino,omeara,montelongo,melnick,mehta,mcgary,mccourt,mccollough,marchetti,manzanares,lowther,leiva,lauderdale,lafontaine,kowalczyk,knighton,joubert,jaworski,huth,hurdle,housley,hackman,gulick,gordy,gilstrap,gehrke,gebhart,gaudette,foxworth,endres,dunkle,cimino,caddell,brauer,braley,bodine,blackmore,belden,backer,ayer,andress,wisner,vuong,valliere,twigg,tavarez,strahan,steib,staub,sowder,seiber,schutt,scharf,schade,rodriques,risinger,renshaw,rahman,presnell,piatt,nieman,nevins,mcilwain,mcgaha,mccully,mccomb,massengale,macedo,lesher,kearse,jauregui,husted,hudnall,holmberg,hertel,hardie,glidewell,frausto,fassett,dalessandro,dahlgren,corum,constantino,conlin,colquitt,colombo,claycomb,cardin,buller,boney,bocanegra,biggers,benedetto,araiza,andino,albin,zorn,werth,weisman,walley,vanegas,ulibarri,towe,tedford,teasley,suttle,steffens,stcyr,squire,singley,sifuentes,shuck,schram,sass,rieger,ridenhour,rickert,richerson,rayborn,rabe,raab,pendley,pastore,ordway,moynihan,mellott,mckissick,mcgann,mccready,mauney,marrufo,lenhart,lazar,lafave,keele,kautz,jardine,jahnke,jacobo,hord,hardcastle,hageman,giglio,gehring,fortson,duque,duplessis,dicken,derosier,deitz,dalessio,cram,castleman,candelario,callison,caceres,bozarth,biles,bejarano,bashaw,avina,armentrout,alverez,acord,waterhouse,vereen,vanlandingham,strawser,shotwell,severance,seltzer,schoonmaker,schock,schaub,schaffner,roeder,rodrigez,riffe,rasberry,rancourt,railey,quade,pursley,prouty,perdomo,oxley,osterman,nickens,murphree,mounts,merida,maus,mattern,masse,martinelli,mangan,lutes,ludwick,loney,laureano,lasater,knighten,kissinger,kimsey,kessinger,honea,hollingshead,hockett,heyer,heron,gurrola,gove,glasscock,gillett,galan,featherstone,eckhardt,duron,dunson,dasher,culbreth,cowden,cowans,claypoole,churchwell,chabot,caviness,cater,caston,callan,byington,burkey,boden,beckford,atwater,archambault,alvey,alsup,whisenant,weese,voyles,verret,tsang,tessier,sweitzer,sherwin,shaughnessy,revis,remy,prine,philpott,peavy,paynter,parmenter,ovalle,offutt,nightingale,newlin,nakano,myatt,muth,mohan,mcmillon,mccarley,mccaleb,maxson,marinelli,maley,liston,letendre,kain,huntsman,hirst,hagerty,gulledge,greenway,grajeda,gorton,goines,gittens,frederickson,fanelli,embree,eichelberger,dunkin,dixson,dillow,defelice,chumley,burleigh,borkowski,binette,biggerstaff,berglund,beller,audet,arbuckle,allain,alfano,youngman,wittman,weintraub,vanzant,vaden,twitty,stollings,standifer,sines,shope,scalise,saville,posada,pisano,otte,nolasco,mier,merkle,mendiola,melcher,mejias,mcmurry,mccalla,markowitz,manis,mallette,macfarlane,lough,looper,landin,kittle,kinsella,kinnard,hobart,helman,hellman,hartsock,halford,hage,gordan,glasser,gayton,gattis,gastelum,gaspard,frisch,fitzhugh,eckstein,eberly,dowden,despain,crumpler,crotty,cornelison,chouinard,chamness,catlin,cann,bumgardner,budde,branum,bradfield,braddy,borst,birdwell,bazan,banas,bade,arango,ahearn,addis,zumwalt,wurth,wilk,widener,wagstaff,urrutia,terwilliger,tart,steinman,staats,sloat,rives,riggle,revels,reichard,prickett,poff,pitzer,petro,pell,northrup,nicks,moline,mielke,maynor,mallon,magness,lingle,lindell,lieb,lesko,lebeau,lammers,lafond,kiernan,ketron,jurado,holmgren,hilburn,hayashi,hashimoto,harbaugh,guillot,gard,froehlich,feinberg,falco,dufour,drees,doney,diep,delao,daves,dail,crowson,coss,congdon,carner,camarena,butterworth,burlingame,bouffard,bloch,bilyeu,barta,bakke,baillargeon,avent,aquilar,zeringue,yarber,wolfson,vogler,voelker,truss,troxell,thrift,strouse,spielman,sistrunk,sevigny,schuller,schaaf,ruffner,routh,roseman,ricciardi,peraza,pegram,overturf,olander,odaniel,millner,melchor,maroney,machuca,macaluso,livesay,layfield,laskowski,kwiatkowski,kilby,hovey,heywood,hayman,havard,harville,haigh,hagood,grieco,glassman,gebhardt,fleischer,fann,elson,eccles,cunha,crumb,blakley,bardwell,abshire,woodham,wines,welter,wargo,varnado,tutt,traynor,swaney,stricker,stoffel,stambaugh,sickler,shackleford,selman,seaver,sansom,sanmiguel,royston,rourke,rockett,rioux,puleo,pitchford,nardi,mulvaney,middaugh,malek,leos,lathan,kujawa,kimbro,killebrew,houlihan,hinckley,herod,hepler,hamner,hammel,hallowell,gonsalez,gingerich,gambill,funkhouser,fricke,fewell,falkner,endsley,dulin,drennen,deaver,dambrosio,chadwell,castanon,burkes,brune,brisco,brinker,bowker,boldt,berner,beaumont,beaird,bazemore,barrick,albano,younts,wunderlich,weidman,vanness,toland,theobald,stickler,steiger,stanger,spies,spector,sollars,smedley,seibel,scoville,saito,rummel,rowles,rouleau,roos,rogan,roemer,ream,raya,purkey,priester,perreira,penick,paulin,parkins,overcash,oleson,neves,muldrow,minard,midgett,michalak,melgar,mcentire,mcauliffe,marte,lydon,lindholm,leyba,langevin,lagasse,lafayette,kesler,kelton,kaminsky,jaggers,humbert,huck,howarth,hinrichs,higley,gupton,guimond,gravois,giguere,fretwell,fontes,feeley,faucher,eichhorn,ecker,earp,dole,dinger,derryberry,demars,deel,copenhaver,collinsworth,colangelo,cloyd,claiborne,caulfield,carlsen,calzada,caffey,broadus,brenneman,bouie,bodnar,blaney,blanc,beltz,behling,barahona,yockey,winkle,windom,wimer,villatoro,trexler,teran,taliaferro,sydnor,swinson,snelling,smtih,simonton,simoneaux,simoneau,sherrer,seavey,scheel,rushton,rupe,ruano,rippy,reiner,reiff,rabinowitz,quach,penley,odle,nock,minnich,mckown,mccarver,mcandrew,longley,laux,lamothe,lafreniere,kropp,krick,kates,jepson,huie,howse,howie,henriques,haydon,haught,hatter,hartzog,harkey,grimaldo,goshorn,gormley,gluck,gilroy,gillenwater,giffin,fluker,feder,eyre,eshelman,eakins,detwiler,delrosario,davisson,catalan,canning,calton,brammer,botelho,blakney,bartell,averett,askins,aker,witmer,winkelman,widmer,whittier,weitzel,wardell,wagers,ullman,tupper,tingley,tilghman,talton,simard,seda,scheller,sala,rundell,rost,ribeiro,rabideau,primm,pinon,peart,ostrom,ober,nystrom,nussbaum,naughton,murr,moorhead,monti,monteiro,melson,meissner,mclin,mcgruder,marotta,makowski,majewski,madewell,lunt,lukens,leininger,lebel,lakin,kepler,jaques,hunnicutt,hungerford,hoopes,hertz,heins,halliburton,grosso,gravitt,glasper,gallman,gallaway,funke,fulbright,falgout,eakin,dostie,dorado,dewberry,derose,cutshall,crampton,costanzo,colletti,cloninger,claytor,chiang,campagna,burd,brokaw,broaddus,bretz,brainard,binford,bilbrey,alpert,aitken,ahlers,zajac,woolfolk,witten,windle,wayland,tramel,tittle,talavera,suter,straley,specht,sommerville,soloman,skeens,sigman,sibert,shavers,schuck,schmit,sartain,sabol,rosenblatt,rollo,rashid,rabb,polston,nyberg,northrop,navarra,muldoon,mikesell,mcdougald,mcburney,mariscal,lozier,lingerfelt,legere,latour,lagunas,lacour,kurth,killen,kiely,kayser,kahle,isley,huertas,hower,hinz,haugh,gumm,galicia,fortunato,flake,dunleavy,duggins,doby,digiovanni,devaney,deltoro,cribb,corpuz,coronel,coen,charbonneau,caine,burchette,blakey,blakemore,bergquist,beene,beaudette,bayles,ballance,bakker,bailes,asberry,arwood,zucker,willman,whitesell,wald,walcott,vancleave,trump,strasser,simas,shick,schleicher,schaal,saleh,rotz,resnick,rainer,partee,ollis,oller,oday,noles,munday,mong,millican,merwin,mazzola,mansell,magallanes,llanes,lewellen,lepore,kisner,keesee,jeanlouis,ingham,hornbeck,hawn,hartz,harber,haffner,gutshall,guth,grays,gowan,finlay,finkelstein,eyler,enloe,dungan,diez,dearman,cull,crosson,chronister,cassity,campion,callihan,butz,breazeale,blumenthal,berkey,batty,batton,arvizu,alderete,aldana,albaugh,abernethy,wolter,wille,tweed,tollefson,thomasson,teter,testerman,sproul,spates,southwick,soukup,skelly,senter,sealey,sawicki,sargeant,rossiter,rosemond,repp,pifer,ormsby,nickelson,naumann,morabito,monzon,millsaps,millen,mcelrath,marcoux,mantooth,madson,macneil,mackinnon,louque,leister,lampley,kushner,krouse,kirwan,jessee,janson,jahn,jacquez,islas,hutt,holladay,hillyer,hepburn,hensel,harrold,gingrich,geis,gales,fults,finnell,ferri,featherston,epley,ebersole,eames,dunigan,drye,dismuke,devaughn,delorenzo,damiano,confer,collum,clower,clow,claussen,clack,caylor,cawthon,casias,carreno,bluhm,bingaman,bewley,belew,beckner,auld,amey,wolfenbarger,wilkey,wicklund,waltman,villalba,valero,valdovinos,ullrich,tyus,twyman,trost,tardif,tanguay,stripling,steinbach,shumpert,sasaki,sappington,sandusky,reinhold,reinert,quijano,placencia,pinkard,phinney,perrotta,pernell,parrett,oxendine,owensby,orman,nuno,mori,mcroberts,mcneese,mckamey,mccullum,markel,mardis,maines,lueck,lubin,lefler,leffler,larios,labarbera,kershner,josey,jeanbaptiste,izaguirre,hermosillo,haviland,hartshorn,hafner,ginter,getty,franck,fiske,dufrene,doody,davie,dangerfield,dahlberg,cuthbertson,crone,coffelt,chidester,chesson,cauley,caudell,cantara,campo,caines,bullis,bucci,brochu,bogard,bickerstaff,benning,arzola,antonelli,adkinson,zellers,wulf,worsley,woolridge,whitton,westerfield,walczak,vassar,truett,trueblood,trawick,townsley,topping,tobar,telford,steverson,stagg,sitton,sill,sergent,schoenfeld,sarabia,rutkowski,rubenstein,rigdon,prentiss,pomerleau,plumlee,philbrick,patnode,oloughlin,obregon,nuss,morell,mikell,mele,mcinerney,mcguigan,mcbrayer,lollar,kuehl,kinzer,kamp,joplin,jacobi,howells,holstein,hedden,hassler,harty,halle,greig,gouge,goodrum,gerhart,geier,geddes,gast,forehand,ferree,fendley,feltner,esqueda,encarnacion,eichler,egger,edmundson,eatmon,doud,donohoe,donelson,dilorenzo,digiacomo,diggins,delozier,dejong,danford,crippen,coppage,cogswell,clardy,cioffi,cabe,brunette,bresnahan,blomquist,blackstone,biller,bevis,bevan,bethune,benbow,baty,basinger,balcom,andes,aman,aguero,adkisson,yandell,wilds,whisenhunt,weigand,weeden,voight,villar,trottier,tillett,suazo,setser,scurry,schuh,schreck,schauer,samora,roane,rinker,reimers,ratchford,popovich,parkin,natal,melville,mcbryde,magdaleno,loehr,lockman,lingo,leduc,larocca,lamere,laclair,krall,korte,koger,jalbert,hughs,higbee,henton,heaney,haith,gump,greeson,goodloe,gholston,gasper,gagliardi,fregoso,farthing,fabrizio,ensor,elswick,elgin,eklund,eaddy,drouin,dorton,dizon,derouen,deherrera,davy,dampier,cullum,culley,cowgill,cardoso,cardinale,brodsky,broadbent,brimmer,briceno,branscum,bolyard,boley,bennington,beadle,baur,ballentine,azure,aultman,arciniega,aguila,aceves,yepez,woodrum,wethington,weissman,veloz,trusty,troup,trammel,tarpley,stivers,steck,sprayberry,spraggins,spitler,spiers,sohn,seagraves,schiffman,rudnick,rizo,riccio,rennie,quackenbush,puma,plott,pearcy,parada,paiz,munford,moskowitz,mease,mcnary,mccusker,lozoya,longmire,loesch,lasky,kuhlmann,krieg,koziol,kowalewski,konrad,kindle,jowers,jolin,jaco,horgan,hine,hileman,hepner,heise,heady,hawkinson,hannigan,haberman,guilford,grimaldi,garton,gagliano,fruge,follett,fiscus,ferretti,ebner,easterday,eanes,dirks,dimarco,depalma,deforest,cruce,craighead,christner,candler,cadwell,burchell,buettner,brinton,brazier,brannen,brame,bova,bomar,blakeslee,belknap,bangs,balzer,athey,armes,alvis,alverson,alvardo,yeung,wheelock,westlund,wessels,volkman,threadgill,thelen,tague,symons,swinford,sturtevant,straka,stier,stagner,segarra,seawright,rutan,roux,ringler,riker,ramsdell,quattlebaum,purifoy,poulson,permenter,peloquin,pasley,pagel,osman,obannon,nygaard,newcomer,munos,motta,meadors,mcquiston,mcniel,mcmann,mccrae,mayne,matte,legault,lechner,kucera,krohn,kratzer,koopman,jeske,horrocks,hock,hibbler,hesson,hersh,harvin,halvorsen,griner,grindle,gladstone,garofalo,frampton,forbis,eddington,diorio,dingus,dewar,desalvo,curcio,creasy,cortese,cordoba,connally,cluff,cascio,capuano,canaday,calabro,bussard,brayton,borja,bigley,arnone,arguelles,acuff,zamarripa,wooton,widner,wideman,threatt,thiele,templin,teeters,synder,swint,swick,sturges,stogner,stedman,spratt,siegfried,shetler,scull,savino,sather,rothwell,rook,rone,rhee,quevedo,privett,pouliot,poche,pickel,petrillo,pellegrini,peaslee,partlow,otey,nunnery,morelock,morello,meunier,messinger,mckie,mccubbin,mccarron,lerch,lavine,laverty,lariviere,lamkin,kugler,krol,kissel,keeter,hubble,hickox,hetzel,hayner,hagy,hadlock,groh,gottschalk,goodsell,gassaway,garrard,galligan,firth,fenderson,feinstein,etienne,engleman,emrick,ellender,drews,doiron,degraw,deegan,dart,crissman,corr,cookson,coil,cleaves,charest,chapple,chaparro,castano,carpio,byer,bufford,bridgewater,bridgers,brandes,borrero,bonanno,aube,ancheta,abarca,abad,wooster,wimbush,willhite,willams,wigley,weisberg,wardlaw,vigue,vanhook,unknow,torre,tasker,tarbox,strachan,slover,shamblin,semple,schuyler,schrimsher,sayer,salzman,rubalcava,riles,reneau,reichel,rayfield,rabon,pyatt,prindle,poss,polito,plemmons,pesce,perrault,pereyra,ostrowski,nilsen,niemeyer,munsey,mundell,moncada,miceli,meader,mcmasters,mckeehan,matsumoto,marron,marden,lizarraga,lingenfelter,lewallen,langan,lamanna,kovac,kinsler,kephart,keown,kass,kammerer,jeffreys,hysell,hosmer,hardnett,hanner,guyette,greening,glazer,ginder,fromm,fluellen,finkle,fessler,essary,eisele,duren,dittmer,crochet,cosentino,cogan,coelho,cavin,carrizales,campuzano,brough,bopp,bookman,bobb,blouin,beesley,battista,bascom,bakken,badgett,arneson,anselmo,albino,ahumada,woodyard,wolters,wireman,willison,warman,waldrup,vowell,vantassel,twombly,toomer,tennison,teets,tedeschi,swanner,stutz,stelly,sheehy,schermerhorn,scala,sandidge,salters,salo,saechao,roseboro,rolle,ressler,renz,renn,redford,raposa,rainbolt,pelfrey,orndorff,oney,nolin,nimmons,nardone,myhre,morman,menjivar,mcglone,mccammon,maxon,marciano,manus,lowrance,lorenzen,lonergan,lollis,littles,lindahl,lamas,lach,kuster,krawczyk,knuth,knecht,kirkendall,keitt,keever,kantor,jarboe,hoye,houchens,holter,holsinger,hickok,helwig,helgeson,hassett,harner,hamman,hames,hadfield,goree,goldfarb,gaughan,gaudreau,gantz,gallion,frady,foti,flesher,ferrin,faught,engram,donegan,desouza,degroot,cutright,crowl,criner,coan,clinkscales,chewning,chavira,catchings,carlock,bulger,buenrostro,bramblett,brack,boulware,bookout,bitner,birt,baranowski,baisden,allmon,acklin,yoakum,wilbourn,whisler,weinberger,washer,vasques,vanzandt,vanatta,troxler,tomes,tindle,tims,throckmorton,thach,stpeter,stlaurent,stenson,spry,spitz,songer,snavely,shroyer,shortridge,shenk,sevier,seabrook,scrivner,saltzman,rosenberry,rockwood,robeson,roan,reiser,ramires,raber,posner,popham,piotrowski,pinard,peterkin,pelham,peiffer,peay,nadler,musso,millett,mestas,mcgowen,marques,marasco,manriquez,manos,mair,lipps,leiker,krumm,knorr,kinslow,kessel,kendricks,kelm,irick,ickes,hurlburt,horta,hoekstra,heuer,helmuth,heatherly,hampson,hagar,haga,greenlaw,grau,godbey,gingras,gillies,gibb,gayden,gauvin,garrow,fontanez,florio,finke,fasano,ezzell,ewers,eveland,eckenrode,duclos,drumm,dimmick,delancey,defazio,dashiell,cusack,crowther,crigger,cray,coolidge,coldiron,cleland,chalfant,cassel,camire,cabrales,broomfield,brittingham,brisson,brickey,braziel,brazell,bragdon,boulanger,boman,bohannan,beem,barre,azar,ashbaugh,armistead,almazan,adamski,zendejas,winburn,willaims,wilhoit,westberry,wentzel,wendling,visser,vanscoy,vankirk,vallee,tweedy,thornberry,sweeny,spradling,spano,smelser,shim,sechrist,schall,scaife,rugg,rothrock,roesler,riehl,ridings,render,ransdell,radke,pinero,petree,pendergast,peluso,pecoraro,pascoe,panek,oshiro,navarrette,murguia,moores,moberg,michaelis,mcwhirter,mcsweeney,mcquade,mccay,mauk,mariani,marceau,mandeville,maeda,lunde,ludlow,loeb,lindo,linderman,leveille,leith,larock,lambrecht,kulp,kinsley,kimberlin,kesterson,hoyos,helfrich,hanke,grisby,goyette,gouveia,glazier,gile,gerena,gelinas,gasaway,funches,fujimoto,flynt,fenske,fellers,fehr,eslinger,escalera,enciso,duley,dittman,dineen,diller,devault,collings,clymer,clowers,chavers,charland,castorena,castello,camargo,bunce,bullen,boyes,borchers,borchardt,birnbaum,birdsall,billman,benites,bankhead,ange,ammerman,adkison,winegar,wickman,warr,warnke,villeneuve,veasey,vassallo,vannatta,vadnais,twilley,towery,tomblin,tippett,theiss,talkington,talamantes,swart,swanger,streit,stines,stabler,spurling,sobel,sine,simmers,shippy,shiflett,shearin,sauter,sanderlin,rusch,runkle,ruckman,rorie,roesch,richert,rehm,randel,ragin,quesenberry,puentes,plyler,plotkin,paugh,oshaughnessy,ohalloran,norsworthy,niemann,nader,moorefield,mooneyham,modica,miyamoto,mickel,mebane,mckinnie,mazurek,mancilla,lukas,lovins,loughlin,lotz,lindsley,liddle,levan,lederman,leclaire,lasseter,lapoint,lamoreaux,lafollette,kubiak,kirtley,keffer,kaczmarek,housman,hiers,hibbert,herrod,hegarty,hathorn,greenhaw,grafton,govea,futch,furst,franko,forcier,foran,flickinger,fairfield,eure,emrich,embrey,edgington,ecklund,eckard,durante,deyo,delvecchio,dade,currey,creswell,cottrill,casavant,cartier,cargile,capel,cammack,calfee,burse,burruss,brust,brousseau,bridwell,braaten,borkholder,bloomquist,bjork,bartelt,amburgey,yeary,whitefield,vinyard,vanvalkenburg,twitchell,timmins,tapper,stringham,starcher,spotts,slaugh,simonsen,sheffer,sequeira,rosati,rhymes,quint,pollak,peirce,patillo,parkerson,paiva,nilson,nevin,narcisse,mitton,merriam,merced,meiners,mckain,mcelveen,mcbeth,marsden,marez,manke,mahurin,mabrey,luper,krull,hunsicker,hornbuckle,holtzclaw,hinnant,heston,hering,hemenway,hegwood,hearns,halterman,guiterrez,grote,granillo,grainger,glasco,gilder,garren,garlock,garey,fryar,fredricks,fraizer,foshee,ferrel,felty,everitt,evens,esser,elkin,eberhart,durso,duguay,driskill,doster,dewall,deveau,demps,demaio,delreal,deleo,darrah,cumberbatch,culberson,cranmer,cordle,colgan,chesley,cavallo,castellon,castelli,carreras,carnell,carlucci,bontrager,blumberg,blasingame,becton,artrip,andujar,alkire,alder,zukowski,zuckerman,wroblewski,wrigley,woodside,wigginton,westman,westgate,werts,washam,wardlow,walser,waiters,tadlock,stringfield,stimpson,stickley,standish,spurlin,spindler,speller,spaeth,sotomayor,sluder,shryock,shepardson,shatley,scannell,santistevan,rosner,resto,reinhard,rathburn,prisco,poulsen,pinney,phares,pennock,pastrana,oviedo,ostler,nauman,mulford,moise,moberly,mirabal,metoyer,metheny,mentzer,meldrum,mcinturff,mcelyea,mcdougle,massaro,lumpkins,loveday,lofgren,lirette,lesperance,lefkowitz,ledger,lauzon,lachapelle,klassen,keough,kempton,kaelin,jeffords,hsieh,hoyer,horwitz,hoeft,hennig,haskin,gourdine,golightly,girouard,fulgham,fritsch,freer,frasher,foulk,firestone,fiorentino,fedor,ensley,englehart,eells,dunphy,donahoe,dileo,dibenedetto,dabrowski,crick,coonrod,conder,coddington,chunn,chaput,cerna,carreiro,calahan,braggs,bourdon,bollman,bittle,bauder,barreras,aubuchon,anzalone,adamo,zerbe,willcox,westberg,weikel,waymire,vroman,vinci,vallejos,truesdell,troutt,trotta,tollison,toles,tichenor,symonds,surles,strayer,stgeorge,sroka,sorrentino,solares,snelson,silvestri,sikorski,shawver,schumaker,schorr,schooley,scates,satterlee,satchell,rymer,roselli,robitaille,riegel,regis,reames,provenzano,priestley,plaisance,pettey,palomares,nowakowski,monette,minyard,mclamb,mchone,mccarroll,masson,magoon,maddy,lundin,licata,leonhardt,landwehr,kircher,kinch,karpinski,johannsen,hussain,houghtaling,hoskinson,hollaway,holeman,hobgood,hiebert,goggin,geissler,gadbois,gabaldon,fleshman,flannigan,fairman,eilers,dycus,dunmire,duffield,dowler,deloatch,dehaan,deemer,clayborn,christofferso,chilson,chesney,chatfield,carron,canale,brigman,branstetter,bosse,borton,bonar,biron,barroso,arispe,zacharias,zabel,yaeger,woolford,whetzel,weakley,veatch,vandeusen,tufts,troxel,troche,traver,townsel,talarico,swilley,sterrett,stenger,speakman,sowards,sours,souders,souder,soles,sobers,snoddy,smither,shute,shoaf,shahan,schuetz,scaggs,santini,rosson,rolen,robidoux,rentas,recio,pixley,pawlowski,pawlak,paull,overbey,orear,oliveri,oldenburg,nutting,naugle,mossman,misner,milazzo,michelson,mcentee,mccullar,mccree,mcaleer,mazzone,mandell,manahan,malott,maisonet,mailloux,lumley,lowrie,louviere,lipinski,lindemann,leppert,leasure,labarge,kubik,knisely,knepp,kenworthy,kennelly,kelch,kanter,houchin,hosley,hosler,hollon,holleman,heitman,haggins,gwaltney,goulding,gorden,geraci,gathers,frison,feagin,falconer,espada,erving,erikson,eisenhauer,ebeling,durgin,dowdle,dinwiddie,delcastillo,dedrick,crimmins,covell,cournoyer,coria,cohan,cataldo,carpentier,canas,campa,brode,brashears,blaser,bicknell,bednar,barwick,ascencio,althoff,almodovar,alamo,zirkle,zabala,wolverton,winebrenner,wetherell,westlake,wegener,weddington,tuten,trosclair,tressler,theroux,teske,swinehart,swensen,sundquist,southall,socha,sizer,silverberg,shortt,shimizu,sherrard,shaeffer,scheid,scheetz,saravia,sanner,rubinstein,rozell,romer,rheaume,reisinger,randles,pullum,petrella,payan,nordin,norcross,nicoletti,nicholes,newbold,nakagawa,monteith,milstead,milliner,mellen,mccardle,liptak,leitch,latimore,larrison,landau,laborde,koval,izquierdo,hymel,hoskin,holte,hoefer,hayworth,hausman,harrill,harrel,hardt,gully,groover,grinnell,greenspan,graver,grandberry,gorrell,goldenberg,goguen,gilleland,fuson,feldmann,everly,dyess,dunnigan,downie,dolby,deatherage,cosey,cheever,celaya,caver,cashion,caplinger,cansler,byrge,bruder,breuer,breslin,brazelton,botkin,bonneau,bondurant,bohanan,bogue,bodner,boatner,blatt,bickley,belliveau,beiler,beier,beckstead,bachmann,atkin,altizer,alloway,allaire,albro,abron,zellmer,yetter,yelverton,wiens,whidden,viramontes,vanwormer,tarantino,tanksley,sumlin,strauch,strang,stice,spahn,sosebee,sigala,shrout,seamon,schrum,schneck,schantz,ruddy,romig,roehl,renninger,reding,polak,pohlman,pasillas,oldfield,oldaker,ohanlon,ogilvie,norberg,nolette,neufeld,nellis,mummert,mulvihill,mullaney,monteleone,mendonca,meisner,mcmullan,mccluney,mattis,massengill,manfredi,luedtke,lounsbury,liberatore,lamphere,laforge,jourdan,iorio,iniguez,ikeda,hubler,hodgdon,hocking,heacock,haslam,haralson,hanshaw,hannum,hallam,haden,garnes,garces,gammage,gambino,finkel,faucett,ehrhardt,eggen,dusek,durrant,dubay,dones,depasquale,delucia,degraff,decamp,davalos,cullins,conard,clouser,clontz,cifuentes,chappel,chaffins,celis,carwile,byram,bruggeman,bressler,brathwaite,brasfield,bradburn,boose,bodie,blosser,bertsch,bernardi,bernabe,bengtson,barrette,astorga,alday,albee,abrahamson,yarnell,wiltse,wiebe,waguespack,vasser,upham,turek,traxler,torain,tomaszewski,tinnin,tiner,tindell,styron,stahlman,staab,skiba,sheperd,seidl,secor,schutte,sanfilippo,ruder,rondon,rearick,procter,prochaska,pettengill,pauly,neilsen,nally,mullenax,morano,meads,mcnaughton,mcmurtry,mcmath,mckinsey,matthes,massenburg,marlar,margolis,malin,magallon,mackin,lovette,loughran,loring,longstreet,loiselle,lenihan,kunze,koepke,kerwin,kalinowski,kagan,innis,innes,holtzman,heinemann,harshman,haider,haack,grondin,grissett,greenawalt,goudy,goodlett,goldston,gokey,gardea,galaviz,gafford,gabrielson,furlow,fritch,fordyce,folger,elizalde,ehlert,eckhoff,eccleston,ealey,dubin,diemer,deschamps,delapena,decicco,debolt,cullinan,crittendon,crase,cossey,coppock,coots,colyer,cluck,chamberland,burkhead,bumpus,buchan,borman,birkholz,berardi,benda,behnke,barter,amezquita,wotring,wirtz,wingert,wiesner,whitesides,weyant,wainscott,venezia,varnell,tussey,thurlow,tabares,stiver,stell,starke,stanhope,stanek,sisler,sinnott,siciliano,shehan,selph,seager,scurlock,scranton,santucci,santangelo,saltsman,rogge,rettig,renwick,reidy,reider,redfield,premo,parente,paolucci,palmquist,ohler,netherton,mutchler,morita,mistretta,minnis,middendorf,menzel,mendosa,mendelson,meaux,mcspadden,mcquaid,mcnatt,manigault,maney,mager,lukes,lopresti,liriano,letson,lechuga,lazenby,lauria,larimore,krupp,krupa,kopec,kinchen,kifer,kerney,kerner,kennison,kegley,karcher,justis,johson,jellison,janke,huskins,holzman,hinojos,hefley,hatmaker,harte,halloway,hallenbeck,goodwyn,glaspie,geise,fullwood,fryman,frakes,fraire,farrer,enlow,engen,ellzey,eckles,earles,dunkley,drinkard,dreiling,draeger,dinardo,dills,desroches,desantiago,curlee,crumbley,critchlow,coury,courtright,coffield,cleek,charpentier,cardone,caples,cantin,buntin,bugbee,brinkerhoff,brackin,bourland,blassingame,beacham,banning,auguste,andreasen,amann,almon,alejo,adelman,abston,yerger,wymer,woodberry,windley,whiteaker,westfield,weibel,wanner,waldrep,villani,vanarsdale,utterback,updike,triggs,topete,tolar,tigner,thoms,tauber,tarvin,tally,swiney,sweatman,studebaker,stennett,starrett,stannard,stalvey,sonnenberg,smithey,sieber,sickles,shinault,segars,sanger,salmeron,rothe,rizzi,restrepo,ralls,ragusa,quiroga,papenfuss,oropeza,okane,mudge,mozingo,molinaro,mcvicker,mcgarvey,mcfalls,mccraney,matus,magers,llanos,livermore,linehan,leitner,laymon,lawing,lacourse,kwong,kollar,kneeland,kennett,kellett,kangas,janzen,hutter,huling,hofmeister,hewes,harjo,habib,guice,grullon,greggs,grayer,granier,grable,gowdy,giannini,getchell,gartman,garnica,ganey,gallimore,fetters,fergerson,farlow,fagundes,exley,esteves,enders,edenfield,easterwood,drakeford,dipasquale,desousa,deshields,deeter,dedmon,debord,daughtery,cutts,courtemanche,coursey,copple,coomes,collis,cogburn,clopton,choquette,chaidez,castrejon,calhoon,burbach,bulloch,buchman,bruhn,bohon,blough,baynes,barstow,zeman,zackery,yardley,yamashita,wulff,wilken,wiliams,wickersham,wible,whipkey,wedgeworth,walmsley,walkup,vreeland,verrill,umana,traub,swingle,summey,stroupe,stockstill,steffey,stefanski,statler,stapp,speights,solari,soderberg,shunk,shorey,shewmaker,sheilds,schiffer,schank,schaff,sagers,rochon,riser,rickett,reale,raglin,polen,plata,pitcock,percival,palen,orona,oberle,nocera,navas,nault,mullings,montejano,monreal,minick,middlebrook,meece,mcmillion,mccullen,mauck,marshburn,maillet,mahaney,magner,maclin,lucey,litteral,lippincott,leite,leaks,lamarre,jurgens,jerkins,jager,hurwitz,hughley,hotaling,horstman,hohman,hocker,hively,hipps,hessler,hermanson,hepworth,helland,hedlund,harkless,haigler,gutierez,grindstaff,glantz,giardina,gerken,gadsden,finnerty,farnum,encinas,drakes,dennie,cutlip,curtsinger,couto,cortinas,corby,chiasson,carle,carballo,brindle,borum,bober,blagg,berthiaume,beahm,batres,basnight,backes,axtell,atterberry,alvares,alegria,woodell,wojciechowski,winfree,winbush,wiest,wesner,wamsley,wakeman,verner,truex,trafton,toman,thorsen,theus,tellier,tallant,szeto,strope,stills,simkins,shuey,shaul,servin,serio,serafin,salguero,ryerson,rudder,ruark,rother,rohrbaugh,rohrbach,rohan,rogerson,risher,reeser,pryce,prokop,prins,priebe,prejean,pinheiro,petrone,petri,penson,pearlman,parikh,natoli,murakami,mullikin,mullane,motes,morningstar,mcveigh,mcgrady,mcgaughey,mccurley,marchan,manske,lusby,linde,likens,licon,leroux,lemaire,legette,laskey,laprade,laplant,kolar,kittredge,kinley,kerber,kanagy,jetton,janik,ippolito,inouye,hunsinger,howley,howery,horrell,holthaus,hiner,hilson,hilderbrand,hartzler,harnish,harada,hansford,halligan,hagedorn,gwynn,gudino,greenstein,greear,gracey,goudeau,goodner,ginsburg,gerth,gerner,fujii,frier,frenette,folmar,fleisher,fleischmann,fetzer,eisenman,earhart,dupuy,dunkelberger,drexler,dillinger,dilbeck,dewald,demby,deford,craine,chesnut,casady,carstens,carrick,carino,carignan,canchola,bushong,burman,buono,brownlow,broach,britten,brickhouse,boyden,boulton,borland,bohrer,blubaugh,bever,berggren,benevides,arocho,arends,amezcua,almendarez,zalewski,witzel,winkfield,wilhoite,vangundy,vanfleet,vanetten,vandergriff,urbanski,troiano,thibodaux,straus,stoneking,stjean,stillings,stange,speicher,speegle,smeltzer,slawson,simmonds,shuttleworth,serpa,senger,seidman,schweiger,schloss,schimmel,schechter,sayler,sabatini,ronan,rodiguez,riggleman,richins,reamer,prunty,porath,plunk,piland,philbrook,pettitt,perna,peralez,pascale,padula,oboyle,nivens,nickols,mundt,munden,montijo,mcmanis,mcgrane,mccrimmon,manzi,mangold,malick,mahar,maddock,losey,litten,leedy,leavell,ladue,krahn,kluge,junker,iversen,imler,hurtt,huizar,hubbert,howington,hollomon,holdren,hoisington,heiden,hauge,hartigan,gutirrez,griffie,greenhill,gratton,granata,gottfried,gertz,gautreaux,furry,furey,funderburg,flippen,fitzgibbon,drucker,donoghue,dildy,devers,detweiler,despres,denby,degeorge,cueto,cranston,courville,clukey,cirillo,chivers,caudillo,butera,bulluck,buckmaster,braunstein,bracamonte,bourdeau,bonnette".split(","), +us_tv_and_film:"you,i,to,that,it,me,what,this,know,i'm,no,have,my,don't,just,not,do,be,your,we,it's,so,but,all,well,oh,about,right,you're,get,here,out,going,like,yeah,if,can,up,want,think,that's,now,go,him,how,got,did,why,see,come,good,really,look,will,okay,back,can't,mean,tell,i'll,hey,he's,could,didn't,yes,something,because,say,take,way,little,make,need,gonna,never,we're,too,she's,i've,sure,our,sorry,what's,let,thing,maybe,down,man,very,there's,should,anything,said,much,any,even,off,please,doing,thank,give,thought,help,talk,god,still,wait,find,nothing,again,things,let's,doesn't,call,told,great,better,ever,night,away,believe,feel,everything,you've,fine,last,keep,does,put,around,stop,they're,i'd,guy,isn't,always,listen,wanted,guys,huh,those,big,lot,happened,thanks,won't,trying,kind,wrong,talking,guess,care,bad,mom,remember,getting,we'll,together,dad,leave,understand,wouldn't,actually,hear,baby,nice,father,else,stay,done,wasn't,course,might,mind,every,enough,try,hell,came,someone,you'll,whole,yourself,idea,ask,must,coming,looking,woman,room,knew,tonight,real,son,hope,went,hmm,happy,pretty,saw,girl,sir,friend,already,saying,next,job,problem,minute,thinking,haven't,heard,honey,matter,myself,couldn't,exactly,having,probably,happen,we've,hurt,boy,dead,gotta,alone,excuse,start,kill,hard,you'd,today,car,ready,without,wants,hold,wanna,yet,seen,deal,once,gone,morning,supposed,friends,head,stuff,worry,live,truth,face,forget,true,cause,soon,knows,telling,wife,who's,chance,run,move,anyone,person,bye,somebody,heart,miss,making,meet,anyway,phone,reason,damn,lost,looks,bring,case,turn,wish,tomorrow,kids,trust,check,change,anymore,least,aren't,working,makes,taking,means,brother,hate,ago,says,beautiful,gave,fact,crazy,sit,afraid,important,rest,fun,kid,word,watch,glad,everyone,sister,minutes,everybody,bit,couple,whoa,either,mrs,feeling,daughter,wow,gets,asked,break,promise,door,close,hand,easy,question,tried,far,walk,needs,mine,killed,hospital,anybody,alright,wedding,shut,able,die,perfect,stand,comes,hit,waiting,dinner,funny,husband,almost,pay,answer,cool,eyes,news,child,shouldn't,yours,moment,sleep,read,where's,sounds,sonny,pick,sometimes,bed,date,plan,hours,lose,hands,serious,shit,behind,inside,ahead,week,wonderful,fight,past,cut,quite,he'll,sick,it'll,eat,nobody,goes,save,seems,finally,lives,worried,upset,carly,met,brought,seem,sort,safe,weren't,leaving,front,shot,loved,asking,running,clear,figure,hot,felt,parents,drink,absolutely,how's,daddy,sweet,alive,sense,meant,happens,bet,blood,ain't,kidding,lie,meeting,dear,seeing,sound,fault,ten,buy,hour,speak,lady,jen,thinks,christmas,outside,hang,possible,worse,mistake,ooh,handle,spend,totally,giving,here's,marriage,realize,unless,sex,send,needed,scared,picture,talked,ass,hundred,changed,completely,explain,certainly,sign,boys,relationship,loves,hair,lying,choice,anywhere,future,weird,luck,she'll,turned,touch,kiss,crane,questions,obviously,wonder,pain,calling,somewhere,throw,straight,cold,fast,words,food,none,drive,feelings,they'll,marry,drop,cannot,dream,protect,twenty,surprise,sweetheart,poor,looked,mad,except,gun,y'know,dance,takes,appreciate,especially,situation,besides,pull,hasn't,worth,sheridan,amazing,expect,swear,piece,busy,happening,movie,we'd,catch,perhaps,step,fall,watching,kept,darling,dog,honor,moving,till,admit,problems,murder,he'd,evil,definitely,feels,honest,eye,broke,missed,longer,dollars,tired,evening,starting,entire,trip,niles,suppose,calm,imagine,fair,caught,blame,sitting,favor,apartment,terrible,clean,learn,frasier,relax,accident,wake,prove,smart,message,missing,forgot,interested,table,nbsp,mouth,pregnant,ring,careful,shall,dude,ride,figured,wear,shoot,stick,follow,angry,write,stopped,ran,standing,forgive,jail,wearing,ladies,kinda,lunch,cristian,greenlee,gotten,hoping,phoebe,thousand,ridge,paper,tough,tape,count,boyfriend,proud,agree,birthday,they've,share,offer,hurry,feet,wondering,decision,ones,finish,voice,herself,would've,mess,deserve,evidence,cute,dress,interesting,hotel,enjoy,quiet,concerned,staying,beat,sweetie,mention,clothes,fell,neither,mmm,fix,respect,prison,attention,holding,calls,surprised,bar,keeping,gift,hadn't,putting,dark,owe,ice,helping,normal,aunt,lawyer,apart,plans,jax,girlfriend,floor,whether,everything's,box,judge,upstairs,sake,mommy,possibly,worst,acting,accept,blow,strange,saved,conversation,plane,mama,yesterday,lied,quick,lately,stuck,difference,store,she'd,bought,doubt,listening,walking,cops,deep,dangerous,buffy,sleeping,chloe,rafe,join,card,crime,gentlemen,willing,window,walked,guilty,likes,fighting,difficult,soul,joke,favorite,uncle,promised,bother,seriously,cell,knowing,broken,advice,somehow,paid,losing,push,helped,killing,boss,liked,innocent,rules,learned,thirty,risk,letting,speaking,ridiculous,afternoon,apologize,nervous,charge,patient,boat,how'd,hide,detective,planning,huge,breakfast,horrible,awful,pleasure,driving,hanging,picked,sell,quit,apparently,dying,notice,congratulations,visit,could've,c'mon,letter,decide,forward,fool,showed,smell,seemed,spell,memory,pictures,slow,seconds,hungry,hearing,kitchen,ma'am,should've,realized,kick,grab,discuss,fifty,reading,idiot,suddenly,agent,destroy,bucks,shoes,peace,arms,demon,livvie,consider,papers,incredible,witch,drunk,attorney,tells,knock,ways,gives,nose,skye,turns,keeps,jealous,drug,sooner,cares,plenty,extra,outta,weekend,matters,gosh,opportunity,impossible,waste,pretend,jump,eating,proof,slept,arrest,breathe,perfectly,warm,pulled,twice,easier,goin,dating,suit,romantic,drugs,comfortable,finds,checked,divorce,begin,ourselves,closer,ruin,smile,laugh,treat,fear,what'd,otherwise,excited,mail,hiding,stole,pacey,noticed,fired,excellent,bringing,bottom,note,sudden,bathroom,honestly,sing,foot,remind,charges,witness,finding,tree,dare,hardly,that'll,steal,silly,contact,teach,shop,plus,colonel,fresh,trial,invited,roll,reach,dirty,choose,emergency,dropped,butt,credit,obvious,locked,loving,nuts,agreed,prue,goodbye,condition,guard,fuckin,grow,cake,mood,crap,crying,belong,partner,trick,pressure,dressed,taste,neck,nurse,raise,lots,carry,whoever,drinking,they'd,breaking,file,lock,wine,spot,paying,assume,asleep,turning,viki,bedroom,shower,nikolas,camera,fill,reasons,forty,bigger,nope,breath,doctors,pants,freak,movies,folks,cream,wild,truly,desk,convince,client,threw,hurts,spending,answers,shirt,chair,rough,doin,sees,ought,empty,wind,aware,dealing,pack,tight,hurting,guest,arrested,salem,confused,surgery,expecting,deacon,unfortunately,goddamn,bottle,beyond,whenever,pool,opinion,starts,jerk,secrets,falling,necessary,barely,dancing,tests,copy,cousin,ahem,twelve,tess,skin,fifteen,speech,orders,complicated,nowhere,escape,biggest,restaurant,grateful,usual,burn,address,someplace,screw,everywhere,regret,goodness,mistakes,details,responsibility,suspect,corner,hero,dumb,terrific,whoo,hole,memories,o'clock,teeth,ruined,bite,stenbeck,liar,showing,cards,desperate,search,pathetic,spoke,scare,marah,afford,settle,stayed,checking,hired,heads,concern,blew,alcazar,champagne,connection,tickets,happiness,saving,kissing,hated,personally,suggest,prepared,onto,downstairs,ticket,it'd,loose,holy,duty,convinced,throwing,kissed,legs,loud,saturday,babies,where'd,warning,miracle,carrying,blind,ugly,shopping,hates,sight,bride,coat,clearly,celebrate,brilliant,wanting,forrester,lips,custody,screwed,buying,toast,thoughts,reality,lexie,attitude,advantage,grandfather,sami,grandma,someday,roof,marrying,powerful,grown,grandmother,fake,must've,ideas,exciting,familiar,bomb,bout,harmony,schedule,capable,practically,correct,clue,forgotten,appointment,deserves,threat,bloody,lonely,shame,jacket,hook,scary,investigation,invite,shooting,lesson,criminal,victim,funeral,considering,burning,strength,harder,sisters,pushed,shock,pushing,heat,chocolate,miserable,corinthos,nightmare,brings,zander,crash,chances,sending,recognize,healthy,boring,feed,engaged,headed,treated,knife,drag,badly,hire,paint,pardon,behavior,closet,warn,gorgeous,milk,survive,ends,dump,rent,remembered,thanksgiving,rain,revenge,prefer,spare,pray,disappeared,aside,statement,sometime,meat,fantastic,breathing,laughing,stood,affair,ours,depends,protecting,jury,brave,fingers,murdered,explanation,picking,blah,stronger,handsome,unbelievable,anytime,shake,oakdale,wherever,pulling,facts,waited,lousy,circumstances,disappointed,weak,trusted,license,nothin,trash,understanding,slip,sounded,awake,friendship,stomach,weapon,threatened,mystery,vegas,understood,basically,switch,frankly,cheap,lifetime,deny,clock,garbage,why'd,tear,ears,indeed,changing,singing,tiny,decent,avoid,messed,filled,touched,disappear,exact,pills,kicked,harm,fortune,pretending,insurance,fancy,drove,cared,belongs,nights,lorelai,lift,timing,guarantee,chest,woke,burned,watched,heading,selfish,drinks,doll,committed,elevator,freeze,noise,wasting,ceremony,uncomfortable,staring,files,bike,stress,permission,thrown,possibility,borrow,fabulous,doors,screaming,bone,xander,what're,meal,apology,anger,honeymoon,bail,parking,fixed,wash,stolen,sensitive,stealing,photo,chose,lets,comfort,worrying,pocket,mateo,bleeding,shoulder,ignore,talent,tied,garage,dies,demons,dumped,witches,rude,crack,bothering,radar,soft,meantime,gimme,kinds,fate,concentrate,throat,prom,messages,intend,ashamed,somethin,manage,guilt,interrupt,guts,tongue,shoe,basement,sentence,purse,glasses,cabin,universe,repeat,mirror,wound,travers,tall,engagement,therapy,emotional,jeez,decisions,soup,thrilled,stake,chef,moves,extremely,moments,expensive,counting,shots,kidnapped,cleaning,shift,plate,impressed,smells,trapped,aidan,knocked,charming,attractive,argue,puts,whip,embarrassed,package,hitting,bust,stairs,alarm,pure,nail,nerve,incredibly,walks,dirt,stamp,terribly,friendly,damned,jobs,suffering,disgusting,stopping,deliver,riding,helps,disaster,bars,crossed,trap,talks,eggs,chick,threatening,spoken,introduce,confession,embarrassing,bags,impression,gate,reputation,presents,chat,suffer,argument,talkin,crowd,homework,coincidence,cancel,pride,solve,hopefully,pounds,pine,mate,illegal,generous,outfit,maid,bath,punch,freaked,begging,recall,enjoying,prepare,wheel,defend,signs,painful,yourselves,maris,that'd,suspicious,cooking,button,warned,sixty,pity,yelling,awhile,confidence,offering,pleased,panic,hers,gettin,refuse,grandpa,testify,choices,cruel,mental,gentleman,coma,cutting,proteus,guests,expert,benefit,faces,jumped,toilet,sneak,halloween,privacy,smoking,reminds,twins,swing,solid,options,commitment,crush,ambulance,wallet,gang,eleven,option,laundry,assure,stays,skip,fail,discussion,clinic,betrayed,sticking,bored,mansion,soda,sheriff,suite,handled,busted,load,happier,studying,romance,procedure,commit,assignment,suicide,minds,swim,yell,llanview,chasing,proper,believes,humor,hopes,lawyers,giant,latest,escaped,parent,tricks,insist,dropping,cheer,medication,flesh,routine,sandwich,handed,false,beating,warrant,awfully,odds,treating,thin,suggesting,fever,sweat,silent,clever,sweater,mall,sharing,assuming,judgment,goodnight,divorced,surely,steps,confess,math,listened,comin,answered,vulnerable,bless,dreaming,chip,zero,pissed,nate,kills,tears,knees,chill,brains,unusual,packed,dreamed,cure,lookin,grave,cheating,breaks,locker,gifts,awkward,thursday,joking,reasonable,dozen,curse,quartermaine,millions,dessert,rolling,detail,alien,delicious,closing,vampires,wore,tail,secure,salad,murderer,spit,offense,dust,conscience,bread,answering,lame,invitation,grief,smiling,pregnancy,prisoner,delivery,guards,virus,shrink,freezing,wreck,massimo,wire,technically,blown,anxious,cave,holidays,cleared,wishes,caring,candles,bound,charm,pulse,jumping,jokes,boom,occasion,silence,nonsense,frightened,slipped,dimera,blowing,relationships,kidnapping,spin,tool,roxy,packing,blaming,wrap,obsessed,fruit,torture,personality,there'll,fairy,necessarily,seventy,print,motel,underwear,grams,exhausted,believing,freaking,carefully,trace,touching,messing,recovery,intention,consequences,belt,sacrifice,courage,enjoyed,attracted,remove,testimony,intense,heal,defending,unfair,relieved,loyal,slowly,buzz,alcohol,surprises,psychiatrist,plain,attic,who'd,uniform,terrified,cleaned,zach,threaten,fella,enemies,satisfied,imagination,hooked,headache,forgetting,counselor,andie,acted,badge,naturally,frozen,sakes,appropriate,trunk,dunno,costume,sixteen,impressive,kicking,junk,grabbed,understands,describe,clients,owns,affect,witnesses,starving,instincts,happily,discussing,deserved,strangers,surveillance,admire,questioning,dragged,barn,deeply,wrapped,wasted,tense,hoped,fellas,roommate,mortal,fascinating,stops,arrangements,agenda,literally,propose,honesty,underneath,sauce,promises,lecture,eighty,torn,shocked,backup,differently,ninety,deck,biological,pheebs,ease,creep,waitress,telephone,ripped,raising,scratch,rings,prints,thee,arguing,ephram,asks,oops,diner,annoying,taggert,sergeant,blast,towel,clown,habit,creature,bermuda,snap,react,paranoid,handling,eaten,therapist,comment,sink,reporter,nurses,beats,priority,interrupting,warehouse,loyalty,inspector,pleasant,excuses,threats,guessing,tend,praying,motive,unconscious,mysterious,unhappy,tone,switched,rappaport,sookie,neighbor,loaded,swore,piss,balance,toss,misery,thief,squeeze,lobby,goa'uld,geez,exercise,forth,booked,sandburg,poker,eighteen,d'you,bury,everyday,digging,creepy,wondered,liver,hmmm,magical,fits,discussed,moral,helpful,searching,flew,depressed,aisle,cris,amen,vows,neighbors,darn,cents,arrange,annulment,useless,adventure,resist,fourteen,celebrating,inch,debt,violent,sand,teal'c,celebration,reminded,phones,paperwork,emotions,stubborn,pound,tension,stroke,steady,overnight,chips,beef,suits,boxes,cassadine,collect,tragedy,spoil,realm,wipe,surgeon,stretch,stepped,nephew,neat,limo,confident,perspective,climb,punishment,finest,springfield,hint,furniture,blanket,twist,proceed,fries,worries,niece,gloves,soap,signature,disappoint,crawl,convicted,flip,counsel,doubts,crimes,accusing,shaking,remembering,hallway,halfway,bothered,madam,gather,cameras,blackmail,symptoms,rope,ordinary,imagined,cigarette,supportive,explosion,trauma,ouch,furious,cheat,avoiding,whew,thick,oooh,boarding,approve,urgent,shhh,misunderstanding,drawer,phony,interfere,catching,bargain,tragic,respond,punish,penthouse,thou,rach,ohhh,insult,bugs,beside,begged,absolute,strictly,socks,senses,sneaking,reward,polite,checks,tale,physically,instructions,fooled,blows,tabby,bitter,adorable,y'all,tested,suggestion,jewelry,alike,jacks,distracted,shelter,lessons,constable,circus,audition,tune,shoulders,mask,helpless,feeding,explains,sucked,robbery,objection,behave,valuable,shadows,courtroom,confusing,talented,smarter,mistaken,customer,bizarre,scaring,motherfucker,alert,vecchio,reverend,foolish,compliment,bastards,worker,wheelchair,protective,gentle,reverse,picnic,knee,cage,wives,wednesday,voices,toes,stink,scares,pour,cheated,slide,ruining,filling,exit,cottage,upside,proves,parked,diary,complaining,confessed,pipe,merely,massage,chop,spill,prayer,betray,waiter,scam,rats,fraud,brush,tables,sympathy,pill,filthy,seventeen,employee,bracelet,pays,fairly,deeper,arrive,tracking,spite,shed,recommend,oughta,nanny,menu,diet,corn,roses,patch,dime,devastated,subtle,bullets,beans,pile,confirm,strings,parade,borrowed,toys,straighten,steak,premonition,planted,honored,exam,convenient,traveling,laying,insisted,dish,aitoro,kindly,grandson,donor,temper,teenager,proven,mothers,denial,backwards,tent,swell,noon,happiest,drives,thinkin,spirits,potion,holes,fence,whatsoever,rehearsal,overheard,lemme,hostage,bench,tryin,taxi,shove,moron,impress,needle,intelligent,instant,disagree,stinks,rianna,recover,groom,gesture,constantly,bartender,suspects,sealed,legally,hears,dresses,sheet,psychic,teenage,knocking,judging,accidentally,waking,rumor,manners,homeless,hollow,desperately,tapes,referring,item,genoa,gear,majesty,cried,tons,spells,instinct,quote,motorcycle,convincing,fashioned,aids,accomplished,grip,bump,upsetting,needing,invisible,forgiveness,feds,compare,bothers,tooth,inviting,earn,compromise,cocktail,tramp,jabot,intimate,dignity,dealt,souls,informed,gods,dressing,cigarettes,alistair,leak,fond,corky,seduce,liquor,fingerprints,enchantment,butters,stuffed,stavros,emotionally,transplant,tips,oxygen,nicely,lunatic,drill,complain,announcement,unfortunate,slap,prayers,plug,opens,oath,o'neill,mutual,yacht,remembers,fried,extraordinary,bait,warton,sworn,stare,safely,reunion,burst,might've,dive,aboard,expose,buddies,trusting,booze,sweep,sore,scudder,properly,parole,ditch,canceled,speaks,glow,wears,thirsty,skull,ringing,dorm,dining,bend,unexpected,pancakes,harsh,flattered,ahhh,troubles,fights,favourite,eats,rage,undercover,spoiled,sloane,shine,destroying,deliberately,conspiracy,thoughtful,sandwiches,plates,nails,miracles,fridge,drank,contrary,beloved,allergic,washed,stalking,solved,sack,misses,forgiven,bent,maciver,involve,dragging,cooked,pointing,foul,dull,beneath,heels,faking,deaf,stunt,jealousy,hopeless,fears,cuts,scenario,necklace,crashed,accuse,restraining,homicide,helicopter,firing,safer,auction,videotape,tore,reservations,pops,appetite,wounds,vanquish,ironic,fathers,excitement,anyhow,tearing,sends,rape,laughed,belly,dealer,cooperate,accomplish,wakes,spotted,sorts,reservation,ashes,tastes,supposedly,loft,intentions,integrity,wished,towels,suspected,investigating,inappropriate,lipstick,lawn,compassion,cafeteria,scarf,precisely,obsession,loses,lighten,infection,granddaughter,explode,balcony,this'll,spying,publicity,depend,cracked,conscious,ally,absurd,vicious,invented,forbid,directions,defendant,bare,announce,screwing,salesman,robbed,leap,lakeview,insanity,reveal,possibilities,kidnap,gown,chairs,wishing,setup,punished,criminals,regrets,raped,quarters,lamp,dentist,anyways,anonymous,semester,risks,owes,lungs,explaining,delicate,tricked,eager,doomed,adoption,stab,sickness,scum,floating,envelope,vault,sorel,pretended,potatoes,plea,photograph,payback,misunderstood,kiddo,healing,cascade,capeside,stabbed,remarkable,brat,privilege,passionate,nerves,lawsuit,kidney,disturbed,cozy,tire,shirts,oven,ordering,delay,risky,monsters,honorable,grounded,closest,breakdown,bald,abandon,scar,collar,worthless,sucking,enormous,disturbing,disturb,distract,deals,conclusions,vodka,dishes,crawling,briefcase,wiped,whistle,sits,roast,rented,pigs,flirting,deposit,bottles,topic,riot,overreacting,logical,hostile,embarrass,casual,beacon,amusing,altar,claus,survival,skirt,shave,porch,ghosts,favors,drops,dizzy,chili,advise,strikes,rehab,photographer,peaceful,leery,heavens,fortunately,fooling,expectations,cigar,weakness,ranch,practicing,examine,cranes,bribe,sail,prescription,hush,fragile,forensics,expense,drugged,cows,bells,visitor,suitcase,sorta,scan,manticore,insecure,imagining,hardest,clerk,wrist,what'll,starters,silk,pump,pale,nicer,haul,flies,boot,thumb,there'd,how're,elders,quietly,pulls,idiots,erase,denying,ankle,amnesia,accepting,heartbeat,devane,confront,minus,legitimate,fixing,arrogant,tuna,supper,slightest,sins,sayin,recipe,pier,paternity,humiliating,genuine,snack,rational,minded,guessed,weddings,tumor,humiliated,aspirin,spray,picks,eyed,drowning,contacts,ritual,perfume,hiring,hating,docks,creatures,visions,thanking,thankful,sock,nineteen,fork,throws,teenagers,stressed,slice,rolls,plead,ladder,kicks,detectives,assured,tellin,shallow,responsibilities,repay,howdy,girlfriends,deadly,comforting,ceiling,verdict,insensitive,spilled,respected,messy,interrupted,halliwell,blond,bleed,wardrobe,takin,murders,backs,underestimate,justify,harmless,frustrated,fold,enzo,communicate,bugging,arson,whack,salary,rumors,obligation,liking,dearest,congratulate,vengeance,rack,puzzle,fires,courtesy,caller,blamed,tops,quiz,prep,curiosity,circles,barbecue,sunnydale,spinning,psychotic,cough,accusations,resent,laughs,freshman,envy,drown,bartlet,asses,sofa,poster,highness,dock,apologies,theirs,stat,stall,realizes,psych,mmmm,fools,understandable,treats,succeed,stir,relaxed,makin,gratitude,faithful,accent,witter,wandering,locate,inevitable,gretel,deed,crushed,controlling,smelled,robe,gossip,gambling,cosmetics,accidents,surprising,stiff,sincere,rushed,refrigerator,preparing,nightmares,mijo,ignoring,hunch,fireworks,drowned,brass,whispering,sophisticated,luggage,hike,explore,emotion,crashing,contacted,complications,shining,rolled,righteous,reconsider,goody,geek,frightening,ethics,creeps,courthouse,camping,affection,smythe,haircut,essay,baked,apologized,vibe,respects,receipt,mami,hats,destructive,adore,adopt,tracked,shorts,reminding,dough,creations,cabot,barrel,snuck,slight,reporters,pressing,magnificent,madame,lazy,glorious,fiancee,bits,visitation,sane,kindness,shoulda,rescued,mattress,lounge,lifted,importantly,glove,enterprises,disappointment,condo,beings,admitting,yelled,waving,spoon,screech,satisfaction,reads,nailed,worm,tick,resting,marvelous,fuss,cortlandt,chased,pockets,luckily,lilith,filing,conversations,consideration,consciousness,worlds,innocence,forehead,aggressive,trailer,slam,quitting,inform,delighted,daylight,danced,confidential,aunts,washing,tossed,spectra,marrow,lined,implying,hatred,grill,corpse,clues,sober,offended,morgue,infected,humanity,distraction,cart,wired,violation,promising,harassment,glue,d'angelo,cursed,brutal,warlocks,wagon,unpleasant,proving,priorities,mustn't,lease,flame,disappearance,depressing,thrill,sitter,ribs,flush,earrings,deadline,corporal,collapsed,update,snapped,smack,melt,figuring,delusional,coulda,burnt,tender,sperm,realise,pork,popped,interrogation,esteem,choosing,undo,pres,prayed,plague,manipulate,insulting,detention,delightful,coffeehouse,betrayal,apologizing,adjust,wrecked,wont,whipped,rides,reminder,monsieur,faint,bake,distress,correctly,complaint,blocked,tortured,risking,pointless,handing,dumping,cups,alibi,struggling,shiny,risked,mummy,mint,hose,hobby,fortunate,fleischman,fitting,curtain,counseling,rode,puppet,modeling,memo,irresponsible,humiliation,hiya,freakin,felony,choke,blackmailing,appreciated,tabloid,suspicion,recovering,pledge,panicked,nursery,louder,jeans,investigator,homecoming,frustrating,buys,busting,buff,sleeve,irony,dope,declare,autopsy,workin,torch,prick,limb,hysterical,goddamnit,fetch,dimension,crowded,clip,climbing,bonding,woah,trusts,negotiate,lethal,iced,fantasies,deeds,bore,babysitter,questioned,outrageous,kiriakis,insulted,grudge,driveway,deserted,definite,beep,wires,suggestions,searched,owed,lend,drunken,demanding,costanza,conviction,bumped,weigh,touches,tempted,shout,resolve,relate,poisoned,meals,invitations,haunted,bogus,autograph,affects,tolerate,stepping,spontaneous,sleeps,probation,manny,fist,spectacular,hostages,heroin,havin,habits,encouraging,consult,burgers,boyfriends,bailed,baggage,watches,troubled,torturing,teasing,sweetest,qualities,postpone,overwhelmed,malkovich,impulse,classy,charging,amazed,policeman,hypocrite,humiliate,hideous,d'ya,costumes,bluffing,betting,bein,bedtime,alcoholic,vegetable,tray,suspicions,spreading,splendid,shrimp,shouting,pressed,nooo,grieving,gladly,fling,eliminate,cereal,aaah,sonofabitch,paralyzed,lotta,locks,guaranteed,dummy,despise,dental,briefing,bluff,batteries,whatta,sounding,servants,presume,handwriting,fainted,dried,allright,acknowledge,whacked,toxic,reliable,quicker,overwhelming,lining,harassing,fatal,endless,dolls,convict,whatcha,unlikely,shutting,positively,overcome,goddam,essence,dose,diagnosis,cured,bully,ahold,yearbook,tempting,shelf,prosecution,pouring,possessed,greedy,wonders,thorough,spine,rath,psychiatric,meaningless,latte,jammed,ignored,fiance,evidently,contempt,compromised,cans,weekends,urge,theft,suing,shipment,scissors,responding,proposition,noises,matching,hormones,hail,grandchildren,gently,smashed,sexually,sentimental,nicest,manipulated,intern,handcuffs,framed,errands,entertaining,crib,carriage,barge,spends,slipping,seated,rubbing,rely,reject,recommendation,reckon,headaches,float,embrace,corners,whining,sweating,skipped,mountie,motives,listens,cristobel,cleaner,cheerleader,balsom,unnecessary,stunning,scent,quartermaines,pose,montega,loosen,info,hottest,haunt,gracious,forgiving,errand,cakes,blames,abortion,sketch,shifts,plotting,perimeter,pals,mere,mattered,lonigan,interference,eyewitness,enthusiasm,diapers,strongest,shaken,punched,portal,catches,backyard,terrorists,sabotage,organs,needy,cuff,civilization,woof,who'll,prank,obnoxious,mates,hereby,gabby,faked,cellar,whitelighter,void,strangle,sour,muffins,interfering,demonic,clearing,boutique,barrington,terrace,smoked,righty,quack,petey,pact,knot,ketchup,disappearing,cordy,uptight,ticking,terrifying,tease,swamp,secretly,rejection,reflection,realizing,rays,mentally,marone,doubted,deception,congressman,cheesy,toto,stalling,scoop,ribbon,immune,expects,destined,bets,bathing,appreciation,accomplice,wander,shoved,sewer,scroll,retire,lasts,fugitive,freezer,discount,cranky,crank,clearance,bodyguard,anxiety,accountant,whoops,volunteered,talents,stinking,remotely,garlic,decency,cord,beds,altogether,uniforms,tremendous,popping,outa,observe,lung,hangs,feelin,dudes,donation,disguise,curb,bites,antique,toothbrush,realistic,predict,landlord,hourglass,hesitate,consolation,babbling,tipped,stranded,smartest,repeating,puke,psst,paycheck,overreacted,macho,juvenile,grocery,freshen,disposal,cuffs,caffeine,vanished,unfinished,ripping,pinch,flattering,expenses,dinners,colleague,ciao,belthazor,attorneys,woulda,whereabouts,waitin,truce,tripped,tasted,steer,poisoning,manipulative,immature,husbands,heel,granddad,delivering,condoms,addict,trashed,raining,pasta,needles,leaning,detector,coolest,batch,appointments,almighty,vegetables,spark,perfection,pains,momma,mole,meow,hairs,getaway,cracking,compliments,behold,verge,tougher,timer,tapped,taped,specialty,snooping,shoots,rendezvous,pentagon,leverage,jeopardize,janitor,grandparents,forbidden,clueless,bidding,ungrateful,unacceptable,tutor,serum,scuse,pajamas,mouths,lure,irrational,doom,cries,beautifully,arresting,approaching,traitor,sympathetic,smug,smash,rental,prostitute,premonitions,jumps,inventory,darlin,committing,banging,asap,worms,violated,vent,traumatic,traced,sweaty,shaft,overboard,insight,healed,grasp,experiencing,crappy,crab,chunk,awww,stain,shack,reacted,pronounce,poured,moms,marriages,jabez,handful,flipped,fireplace,embarrassment,disappears,concussion,bruises,brakes,twisting,swept,summon,splitting,sloppy,settling,reschedule,notch,hooray,grabbing,exquisite,disrespect,thornhart,straw,slapped,shipped,shattered,ruthless,refill,payroll,numb,mourning,manly,hunk,entertain,drift,dreadful,doorstep,confirmation,chops,appreciates,vague,tires,stressful,stashed,stash,sensed,preoccupied,predictable,noticing,madly,gunshot,dozens,dork,confuse,cleaners,charade,chalk,cappuccino,bouquet,amulet,addiction,who've,warming,unlock,satisfy,sacrificed,relaxing,lone,blocking,blend,blankets,addicted,yuck,hunger,hamburger,greeting,greet,gravy,gram,dreamt,dice,caution,backpack,agreeing,whale,taller,supervisor,sacrifices,phew,ounce,irrelevant,gran,felon,favorites,farther,fade,erased,easiest,convenience,compassionate,cane,backstage,agony,adores,veins,tweek,thieves,surgical,strangely,stetson,recital,proposing,productive,meaningful,immunity,hassle,goddamned,frighten,dearly,cease,ambition,wage,unstable,salvage,richer,refusing,raging,pumping,pressuring,mortals,lowlife,intimidated,intentionally,inspire,forgave,devotion,despicable,deciding,dash,comfy,breach,bark,aaaah,switching,swallowed,stove,screamed,scars,russians,pounding,poof,pipes,pawn,legit,invest,farewell,curtains,civilized,caviar,boost,token,superstition,supernatural,sadness,recorder,psyched,motivated,microwave,hallelujah,fraternity,dryer,cocoa,chewing,acceptable,unbelievably,smiled,smelling,simpler,respectable,remarks,khasinau,indication,gutter,grabs,fulfill,flashlight,ellenor,blooded,blink,blessings,beware,uhhh,turf,swings,slips,shovel,shocking,puff,mirrors,locking,heartless,fras,childish,cardiac,utterly,tuscany,ticked,stunned,statesville,sadly,purely,kiddin,jerks,hitch,flirt,fare,equals,dismiss,christening,casket,c'mere,breakup,biting,antibiotics,accusation,abducted,witchcraft,thread,runnin,punching,paramedics,newest,murdering,masks,lawndale,initials,grampa,choking,charms,careless,bushes,buns,bummed,shred,saves,saddle,rethink,regards,precinct,persuade,meds,manipulating,llanfair,leash,hearted,guarantees,fucks,disgrace,deposition,bookstore,boil,vitals,veil,trespassing,sidewalk,sensible,punishing,overtime,optimistic,obsessing,notify,mornin,jeopardy,jaffa,injection,hilarious,desires,confide,cautious,yada,where're,vindictive,vial,teeny,stroll,sittin,scrub,rebuild,posters,ordeal,nuns,intimacy,inheritance,exploded,donate,distracting,despair,crackers,wildwind,virtue,thoroughly,tails,spicy,sketches,sights,sheer,shaving,seize,scarecrow,refreshing,prosecute,platter,napkin,misplaced,merchandise,loony,jinx,heroic,frankenstein,ambitious,syrup,solitary,resemblance,reacting,premature,lavery,flashes,cheque,awright,acquainted,wrapping,untie,salute,realised,priceless,partying,lightly,lifting,kasnoff,insisting,glowing,generator,explosives,cutie,confronted,buts,blouse,ballistic,antidote,analyze,allowance,adjourned,unto,understatement,tucked,touchy,subconscious,screws,sarge,roommates,rambaldi,offend,nerd,knives,irresistible,incapable,hostility,goddammit,fuse,frat,curfew,blackmailed,walkin,starve,sleigh,sarcastic,recess,rebound,pinned,parlor,outfits,livin,heartache,haired,fundraiser,doorman,discreet,dilucca,cracks,considerate,climbed,catering,apophis,zoey,urine,strung,stitches,sordid,sark,protector,phoned,pets,hostess,flaw,flavor,deveraux,consumed,confidentiality,bourbon,straightened,specials,spaghetti,prettier,powerless,playin,playground,paranoia,instantly,havoc,exaggerating,eavesdropping,doughnuts,diversion,deepest,cutest,comb,bela,behaving,anyplace,accessory,workout,translate,stuffing,speeding,slime,royalty,polls,marital,lurking,lottery,imaginary,greetings,fairwinds,elegant,elbow,credibility,credentials,claws,chopped,bridal,bedside,babysitting,witty,unforgivable,underworld,tempt,tabs,sophomore,selfless,secrecy,restless,okey,movin,metaphor,messes,meltdown,lecter,incoming,gasoline,diefenbaker,buckle,admired,adjustment,warmth,throats,seduced,queer,parenting,noses,luckiest,graveyard,gifted,footsteps,dimeras,cynical,wedded,verbal,unpredictable,tuned,stoop,slides,sinking,rigged,plumbing,lingerie,hankey,greed,everwood,elope,dresser,chauffeur,bulletin,bugged,bouncing,temptation,strangest,slammed,sarcasm,pending,packages,orderly,obsessive,murderers,meteor,inconvenience,glimpse,froze,execute,courageous,consulate,closes,bosses,bees,amends,wuss,wolfram,wacky,unemployed,testifying,syringe,stew,startled,sorrow,sleazy,shaky,screams,rsquo,remark,poke,nutty,mentioning,mend,inspiring,impulsive,housekeeper,foam,fingernails,conditioning,baking,whine,thug,starved,sniffing,sedative,programmed,picket,paged,hound,homosexual,homo,hips,forgets,flipping,flea,flatter,dwell,dumpster,choo,assignments,ants,vile,unreasonable,tossing,thanked,steals,souvenir,scratched,psychopath,outs,obstruction,obey,lump,insists,harass,gloat,filth,edgy,didn,coroner,confessing,bruise,betraying,bailing,appealing,adebisi,wrath,wandered,waist,vain,traps,stepfather,poking,obligated,heavenly,dilemma,crazed,contagious,coaster,cheering,bundle,vomit,thingy,speeches,robbing,raft,pumped,pillows,peep,packs,neglected,m'kay,loneliness,intrude,helluva,gardener,forresters,drooling,betcha,vase,supermarket,squat,spitting,rhyme,relieve,receipts,racket,pictured,pause,overdue,motivation,morgendorffer,kidnapper,insect,horns,feminine,eyeballs,dumps,disappointing,crock,convertible,claw,clamp,canned,cambias,bathtub,avanya,artery,weep,warmer,suspense,summoned,spiders,reiber,raving,pushy,postponed,ohhhh,noooo,mold,laughter,incompetent,hugging,groceries,drip,communicating,auntie,adios,wraps,wiser,willingly,weirdest,timmih,thinner,swelling,swat,steroids,sensitivity,scrape,rehearse,prophecy,ledge,justified,insults,hateful,handles,doorway,chatting,buyer,buckaroo,bedrooms,askin,ammo,tutoring,subpoena,scratching,privileges,pager,mart,intriguing,idiotic,grape,enlighten,corrupt,brunch,bridesmaid,barking,applause,acquaintance,wretched,superficial,soak,smoothly,sensing,restraint,posing,pleading,payoff,oprah,nemo,morals,loaf,jumpy,ignorant,herbal,hangin,germs,generosity,flashing,doughnut,clumsy,chocolates,captive,behaved,apologise,vanity,stumbled,preview,poisonous,perjury,parental,onboard,mugged,minding,linen,knots,interviewing,humour,grind,greasy,goons,drastic,coop,comparing,cocky,clearer,bruised,brag,bind,worthwhile,whoop,vanquishing,tabloids,sprung,spotlight,sentencing,racist,provoke,pining,overly,locket,imply,impatient,hovering,hotter,fest,endure,dots,doren,debts,crawled,chained,brit,breaths,weirdo,warmed,wand,troubling,tok'ra,strapped,soaked,skipping,scrambled,rattle,profound,musta,mocking,misunderstand,limousine,kacl,hustle,forensic,enthusiastic,duct,drawers,devastating,conquer,clarify,chores,cheerleaders,cheaper,callin,blushing,barging,abused,yoga,wrecking,wits,waffles,virginity,vibes,uninvited,unfaithful,teller,strangled,scheming,ropes,rescuing,rave,postcard,o'reily,morphine,lotion,lads,kidneys,judgement,itch,indefinitely,grenade,glamorous,genetically,freud,discretion,delusions,crate,competent,bakery,argh,ahhhh,wedge,wager,unfit,tripping,torment,superhero,stirring,spinal,sorority,seminar,scenery,rabble,pneumonia,perks,override,ooooh,mija,manslaughter,mailed,lime,lettuce,intimidate,guarded,grieve,grad,frustration,doorbell,chinatown,authentic,arraignment,annulled,allergies,wanta,verify,vegetarian,tighter,telegram,stalk,spared,shoo,satisfying,saddam,requesting,pens,overprotective,obstacles,notified,nasedo,grandchild,genuinely,flushed,fluids,floss,escaping,ditched,cramp,corny,bunk,bitten,billions,bankrupt,yikes,wrists,ultrasound,ultimatum,thirst,sniff,shakes,salsa,retrieve,reassuring,pumps,neurotic,negotiating,needn't,monitors,millionaire,lydecker,limp,incriminating,hatchet,gracias,gordie,fills,feeds,doubting,decaf,biopsy,whiz,voluntarily,ventilator,unpack,unload,toad,spooked,snitch,schillinger,reassure,persuasive,mystical,mysteries,matrimony,mails,jock,headline,explanations,dispatch,curly,cupid,condolences,comrade,cassadines,bulb,bragging,awaits,assaulted,ambush,adolescent,abort,yank,whit,vaguely,undermine,tying,swamped,stabbing,slippers,slash,sincerely,sigh,setback,secondly,rotting,precaution,pcpd,melting,liaison,hots,hooking,headlines,haha,ganz,fury,felicity,fangs,encouragement,earring,dreidel,dory,donut,dictate,decorating,cocktails,bumps,blueberry,believable,backfired,backfire,apron,adjusting,vous,vouch,vitamins,ummm,tattoos,slimy,sibling,shhhh,renting,peculiar,parasite,paddington,marries,mailbox,magically,lovebirds,knocks,informant,exits,drazen,distractions,disconnected,dinosaurs,dashwood,crooked,conveniently,wink,warped,underestimated,tacky,shoving,seizure,reset,pushes,opener,mornings,mash,invent,indulge,horribly,hallucinating,festive,eyebrows,enjoys,desperation,dealers,darkest,daph,boragora,belts,bagel,authorization,auditions,agitated,wishful,wimp,vanish,unbearable,tonic,suffice,suction,slaying,safest,rocking,relive,puttin,prettiest,noisy,newlyweds,nauseous,misguided,mildly,midst,liable,judgmental,indy,hunted,givin,fascinated,elephants,dislike,deluded,decorate,crummy,contractions,carve,bottled,bonded,bahamas,unavailable,twenties,trustworthy,surgeons,stupidity,skies,remorse,preferably,pies,nausea,napkins,mule,mourn,melted,mashed,inherit,greatness,golly,excused,dumbo,drifting,delirious,damaging,cubicle,compelled,comm,chooses,checkup,boredom,bandages,alarms,windshield,who're,whaddya,transparent,surprisingly,sunglasses,slit,roar,reade,prognosis,probe,pitiful,persistent,peas,nosy,nagging,morons,masterpiece,martinis,limbo,liars,irritating,inclined,hump,hoynes,fiasco,eatin,cubans,concentrating,colorful,clam,cider,brochure,barto,bargaining,wiggle,welcoming,weighing,vanquished,stains,sooo,snacks,smear,sire,resentment,psychologist,pint,overhear,morality,landingham,kisser,hoot,holling,handshake,grilled,formality,elevators,depths,confirms,boathouse,accidental,westbridge,wacko,ulterior,thugs,thighs,tangled,stirred,snag,sling,sleaze,rumour,ripe,remarried,puddle,pins,perceptive,miraculous,longing,lockup,librarian,impressions,immoral,hypothetically,guarding,gourmet,gabe,faxed,extortion,downright,digest,cranberry,bygones,buzzing,burying,bikes,weary,taping,takeout,sweeping,stepmother,stale,senor,seaborn,pros,pepperoni,newborn,ludicrous,injected,geeks,forged,faults,drue,dire,dief,desi,deceiving,caterer,calmed,budge,ankles,vending,typing,tribbiani,there're,squared,snowing,shades,sexist,rewrite,regretted,raises,picky,orphan,mural,misjudged,miscarriage,memorize,leaking,jitters,invade,interruption,illegally,handicapped,glitch,gittes,finer,distraught,dispose,dishonest,digs,dads,cruelty,circling,canceling,butterflies,belongings,barbrady,amusement,alias,zombies,where've,unborn,swearing,stables,squeezed,sensational,resisting,radioactive,questionable,privileged,portofino,owning,overlook,orson,oddly,interrogate,imperative,impeccable,hurtful,hors,heap,graders,glance,disgust,devious,destruct,crazier,countdown,chump,cheeseburger,burglar,berries,ballroom,assumptions,annoyed,allergy,admirer,admirable,activate,underpants,twit,tack,strokes,stool,sham,scrap,retarded,resourceful,remarkably,refresh,pressured,precautions,pointy,nightclub,mustache,maui,lace,hunh,hubby,flare,dont,dokey,dangerously,crushing,clinging,choked,chem,cheerleading,checkbook,cashmere,calmly,blush,believer,amazingly,alas,what've,toilets,tacos,stairwell,spirited,sewing,rubbed,punches,protects,nuisance,motherfuckers,mingle,kynaston,knack,kinkle,impose,gullible,godmother,funniest,friggin,folding,fashions,eater,dysfunctional,drool,dripping,ditto,cruising,criticize,conceive,clone,cedars,caliber,brighter,blinded,birthdays,banquet,anticipate,annoy,whim,whichever,volatile,veto,vested,shroud,rests,reindeer,quarantine,pleases,painless,orphans,orphanage,offence,obliged,negotiation,narcotics,mistletoe,meddling,manifest,lookit,lilah,intrigued,injustice,homicidal,gigantic,exposing,elves,disturbance,disastrous,depended,demented,correction,cooped,cheerful,buyers,brownies,beverage,basics,arvin,weighs,upsets,unethical,swollen,sweaters,stupidest,sensation,scalpel,props,prescribed,pompous,objections,mushrooms,mulwray,manipulation,lured,internship,insignificant,inmate,incentive,fulfilled,disagreement,crypt,cornered,copied,brightest,beethoven,attendant,amaze,yogurt,wyndemere,vocabulary,tulsa,tactic,stuffy,respirator,pretends,polygraph,pennies,ordinarily,olives,necks,morally,martyr,leftovers,joints,hopping,homey,hints,heartbroken,forge,florist,firsthand,fiend,dandy,crippled,corrected,conniving,conditioner,clears,chemo,bubbly,bladder,beeper,baptism,wiring,wench,weaknesses,volunteering,violating,unlocked,tummy,surrogate,subid,stray,startle,specifics,slowing,scoot,robbers,rightful,richest,qfxmjrie,puffs,pierced,pencils,paralysis,makeover,luncheon,linksynergy,jerky,jacuzzi,hitched,hangover,fracture,flock,firemen,disgusted,darned,clams,borrowing,banged,wildest,weirder,unauthorized,stunts,sleeves,sixties,shush,shalt,retro,quits,pegged,painfully,paging,omelet,memorized,lawfully,jackets,intercept,ingredient,grownup,glued,fulfilling,enchanted,delusion,daring,compelling,carton,bridesmaids,bribed,boiling,bathrooms,bandage,awaiting,assign,arrogance,antiques,ainsley,turkeys,trashing,stockings,stalked,stabilized,skates,sedated,robes,respecting,psyche,presumptuous,prejudice,paragraph,mocha,mints,mating,mantan,lorne,loads,listener,itinerary,hepatitis,heave,guesses,fading,examining,dumbest,dishwasher,deceive,cunning,cripple,convictions,confided,compulsive,compromising,burglary,bumpy,brainwashed,benes,arnie,affirmative,adrenaline,adamant,watchin,waitresses,transgenic,toughest,tainted,surround,stormed,spree,spilling,spectacle,soaking,shreds,sewers,severed,scarce,scamming,scalp,rewind,rehearsing,pretentious,potions,overrated,obstacle,nerds,meems,mcmurphy,maternity,maneuver,loathe,fertility,eloping,ecstatic,ecstasy,divorcing,dignan,costing,clubhouse,clocks,candid,bursting,breather,braces,bending,arsonist,adored,absorb,valiant,uphold,unarmed,topolsky,thrilling,thigh,terminate,sustain,spaceship,snore,sneeze,smuggling,salty,quaint,patronize,patio,morbid,mamma,kettle,joyous,invincible,interpret,insecurities,impulses,illusions,holed,exploit,drivin,defenseless,dedicate,cradle,coupon,countless,conjure,cardboard,booking,backseat,accomplishment,wordsworth,wisely,valet,vaccine,urges,unnatural,unlucky,truths,traumatized,tasting,swears,strawberries,steaks,stats,skank,seducing,secretive,scumbag,screwdriver,schedules,rooting,rightfully,rattled,qualifies,puppets,prospects,pronto,posse,polling,pedestal,palms,muddy,morty,microscope,merci,lecturing,inject,incriminate,hygiene,grapefruit,gazebo,funnier,cuter,bossy,booby,aides,zende,winthrop,warrants,valentines,undressed,underage,truthfully,tampered,suffers,speechless,sparkling,sidelines,shrek,railing,puberty,pesky,outrage,outdoors,motions,moods,lunches,litter,kidnappers,itching,intuition,imitation,humility,hassling,gallons,drugstore,dosage,disrupt,dipping,deranged,debating,cuckoo,cremated,craziness,cooperating,circumstantial,chimney,blinking,biscuits,admiring,weeping,triad,trashy,soothing,slumber,slayers,skirts,siren,shindig,sentiment,rosco,riddance,quaid,purity,proceeding,pretzels,panicking,mckechnie,lovin,leaked,intruding,impersonating,ignorance,hamburgers,footprints,fluke,fleas,festivities,fences,feisty,evacuate,emergencies,deceived,creeping,craziest,corpses,conned,coincidences,bounced,bodyguards,blasted,bitterness,baloney,ashtray,apocalypse,zillion,watergate,wallpaper,telesave,sympathize,sweeter,startin,spades,sodas,snowed,sleepover,signor,seein,retainer,restroom,rested,repercussions,reliving,reconcile,prevail,preaching,overreact,o'neil,noose,moustache,manicure,maids,landlady,hypothetical,hopped,homesick,hives,hesitation,herbs,hectic,heartbreak,haunting,gangs,frown,fingerprint,exhausting,everytime,disregard,cling,chevron,chaperone,blinding,bitty,beads,battling,badgering,anticipation,upstanding,unprofessional,unhealthy,turmoil,truthful,toothpaste,tippin,thoughtless,tagataya,shooters,senseless,rewarding,propane,preposterous,pigeons,pastry,overhearing,obscene,negotiable,loner,jogging,itchy,insinuating,insides,hospitality,hormone,hearst,forthcoming,fists,fifties,etiquette,endings,destroys,despises,deprived,cuddy,crust,cloak,circumstance,chewed,casserole,bidder,bearer,artoo,applaud,appalling,vowed,virgins,vigilante,undone,throttle,testosterone,tailor,symptom,swoop,suitcases,stomp,sticker,stakeout,spoiling,snatched,smoochy,smitten,shameless,restraints,researching,renew,refund,reclaim,raoul,puzzles,purposely,punks,prosecuted,plaid,picturing,pickin,parasites,mysteriously,multiply,mascara,jukebox,interruptions,gunfire,furnace,elbows,duplicate,drapes,deliberate,decoy,cryptic,coupla,condemn,complicate,colossal,clerks,clarity,brushed,banished,argon,alarmed,worships,versa,uncanny,technicality,sundae,stumble,stripping,shuts,schmuck,satin,saliva,robber,relentless,reconnect,recipes,rearrange,rainy,psychiatrists,policemen,plunge,plugged,patched,overload,o'malley,mindless,menus,lullaby,lotte,leavin,killin,karinsky,invalid,hides,grownups,griff,flaws,flashy,flaming,fettes,evicted,dread,degrassi,dealings,dangers,cushion,bowel,barged,abide,abandoning,wonderfully,wait'll,violate,suicidal,stayin,sorted,slamming,sketchy,shoplifting,raiser,quizmaster,prefers,needless,motherhood,momentarily,migraine,lifts,leukemia,leftover,keepin,hinks,hellhole,gowns,goodies,gallon,futures,entertained,eighties,conspiring,cheery,benign,apiece,adjustments,abusive,abduction,wiping,whipping,welles,unspeakable,unidentified,trivial,transcripts,textbook,supervise,superstitious,stricken,stimulating,spielberg,slices,shelves,scratches,sabotaged,retrieval,repressed,rejecting,quickie,ponies,peeking,outraged,o'connell,moping,moaning,mausoleum,licked,kovich,klutz,interrogating,interfered,insulin,infested,incompetence,hyper,horrified,handedly,gekko,fraid,fractured,examiner,eloped,disoriented,dashing,crashdown,courier,cockroach,chipped,brushing,bombed,bolts,baths,baptized,astronaut,assurance,anemia,abuela,abiding,withholding,weave,wearin,weaker,suffocating,straws,straightforward,stench,steamed,starboard,sideways,shrinks,shortcut,scram,roasted,roaming,riviera,respectfully,repulsive,psychiatry,provoked,penitentiary,painkillers,ninotchka,mitzvah,milligrams,midge,marshmallows,looky,lapse,kubelik,intellect,improvise,implant,goa'ulds,giddy,geniuses,fruitcake,footing,fightin,drinkin,doork,detour,cuddle,crashes,combo,colonnade,cheats,cetera,bailiff,auditioning,assed,amused,alienate,aiding,aching,unwanted,topless,tongues,tiniest,superiors,soften,sheldrake,rawley,raisins,presses,plaster,nessa,narrowed,minions,merciful,lawsuits,intimidating,infirmary,inconvenient,imposter,hugged,honoring,holdin,hades,godforsaken,fumes,forgery,foolproof,folder,flattery,fingertips,exterminator,explodes,eccentric,dodging,disguised,crave,constructive,concealed,compartment,chute,chinpokomon,bodily,astronauts,alimony,accustomed,abdominal,wrinkle,wallow,valium,untrue,uncover,trembling,treasures,torched,toenails,timed,termites,telly,taunting,taransky,talker,succubus,smarts,sliding,sighting,semen,seizures,scarred,savvy,sauna,saddest,sacrificing,rubbish,riled,ratted,rationally,provenance,phonse,perky,pedal,overdose,nasal,nanites,mushy,movers,missus,midterm,merits,melodramatic,manure,knitting,invading,interpol,incapacitated,hotline,hauling,gunpoint,grail,ganza,framing,flannel,faded,eavesdrop,desserts,calories,breathtaking,bleak,blacked,batter,aggravated,yanked,wigand,whoah,unwind,undoubtedly,unattractive,twitch,trimester,torrance,timetable,taxpayers,strained,stared,slapping,sincerity,siding,shenanigans,shacking,sappy,samaritan,poorer,politely,paste,oysters,overruled,nightcap,mosquito,millimeter,merrier,manhood,lucked,kilos,ignition,hauled,harmed,goodwill,freshmen,fenmore,fasten,farce,exploding,erratic,drunks,ditching,d'artagnan,cramped,contacting,closets,clientele,chimp,bargained,arranging,anesthesia,amuse,altering,afternoons,accountable,abetting,wolek,waved,uneasy,toddy,tattooed,spauldings,sliced,sirens,schibetta,scatter,rinse,remedy,redemption,pleasures,optimism,oblige,mmmmm,masked,malicious,mailing,kosher,kiddies,judas,isolate,insecurity,incidentally,heals,headlights,growl,grilling,glazed,flunk,floats,fiery,fairness,exercising,excellency,disclosure,cupboard,counterfeit,condescending,conclusive,clicked,cleans,cholesterol,cashed,broccoli,brats,blueprints,blindfold,billing,attach,appalled,alrighty,wynant,unsolved,unreliable,toots,tighten,sweatshirt,steinbrenner,steamy,spouse,sonogram,slots,sleepless,shines,retaliate,rephrase,redeem,rambling,quilt,quarrel,prying,proverbial,priced,prescribe,prepped,pranks,possessive,plaintiff,pediatrics,overlooked,outcast,nightgown,mumbo,mediocre,mademoiselle,lunchtime,lifesaver,leaned,lambs,interns,hounding,hellmouth,hahaha,goner,ghoul,gardening,frenzy,foyer,extras,exaggerate,everlasting,enlightened,dialed,devote,deceitful,d'oeuvres,cosmetic,contaminated,conspired,conning,cavern,carving,butting,boiled,blurry,babysit,ascension,aaaaah,wildly,whoopee,whiny,weiskopf,walkie,vultures,vacations,upfront,unresolved,tampering,stockholders,snaps,sleepwalking,shrunk,sermon,seduction,scams,revolve,phenomenal,patrolling,paranormal,ounces,omigod,nightfall,lashing,innocents,infierno,incision,humming,haunts,gloss,gloating,frannie,fetal,feeny,entrapment,discomfort,detonator,dependable,concede,complication,commotion,commence,chulak,caucasian,casually,brainer,bolie,ballpark,anwar,analyzing,accommodations,youse,wring,wallowing,transgenics,thrive,tedious,stylish,strippers,sterile,squeezing,squeaky,sprained,solemn,snoring,shattering,shabby,seams,scrawny,revoked,residue,reeks,recite,ranting,quoting,predicament,plugs,pinpoint,petrified,pathological,passports,oughtta,nighter,navigate,kippie,intrigue,intentional,insufferable,hunky,how've,horrifying,hearty,hamptons,grazie,funerals,forks,fetched,excruciating,enjoyable,endanger,dumber,drying,diabolical,crossword,corry,comprehend,clipped,classmates,candlelight,brutally,brutality,boarded,bathrobe,authorize,assemble,aerobics,wholesome,whiff,vermin,trophies,trait,tragically,toying,testy,tasteful,stocked,spinach,sipping,sidetracked,scrubbing,scraping,sanctity,robberies,ridin,retribution,refrain,realities,radiant,protesting,projector,plutonium,payin,parting,o'reilly,nooooo,motherfucking,measly,manic,lalita,juggling,jerking,intro,inevitably,hypnosis,huddle,horrendous,hobbies,heartfelt,harlin,hairdresser,gonorrhea,fussing,furtwangler,fleeting,flawless,flashed,fetus,eulogy,distinctly,disrespectful,denies,crossbow,cregg,crabs,cowardly,contraction,contingency,confirming,condone,coffins,cleansing,cheesecake,certainty,cages,c'est,briefed,bravest,bosom,boils,binoculars,bachelorette,appetizer,ambushed,alerted,woozy,withhold,vulgar,utmost,unleashed,unholy,unhappiness,unconditional,typewriter,typed,twists,supermodel,subpoenaed,stringing,skeptical,schoolgirl,romantically,rocked,revoir,reopen,puncture,preach,polished,planetarium,penicillin,peacefully,nurturing,more'n,mmhmm,midgets,marklar,lodged,lifeline,jellyfish,infiltrate,hutch,horseback,heist,gents,frickin,freezes,forfeit,flakes,flair,fathered,eternally,epiphany,disgruntled,discouraged,delinquent,decipher,danvers,cubes,credible,coping,chills,cherished,catastrophe,bombshell,birthright,billionaire,ample,affections,admiration,abbotts,whatnot,watering,vinegar,unthinkable,unseen,unprepared,unorthodox,underhanded,uncool,timeless,thump,thermometer,theoretically,tapping,tagged,swung,stares,spiked,solves,smuggle,scarier,saucer,quitter,prudent,powdered,poked,pointers,peril,penetrate,penance,opium,nudge,nostrils,neurological,mockery,mobster,medically,loudly,insights,implicate,hypocritical,humanly,holiness,healthier,hammered,haldeman,gunman,gloom,freshly,francs,flunked,flawed,emptiness,drugging,dozer,derevko,deprive,deodorant,cryin,crocodile,coloring,colder,cognac,clocked,clippings,charades,chanting,certifiable,caterers,brute,brochures,botched,blinders,bitchin,banter,woken,ulcer,tread,thankfully,swine,swimsuit,swans,stressing,steaming,stamped,stabilize,squirm,snooze,shuffle,shredded,seafood,scratchy,savor,sadistic,rhetorical,revlon,realist,prosecuting,prophecies,polyester,petals,persuasion,paddles,o'leary,nuthin,neighbour,negroes,muster,meningitis,matron,lockers,letterman,legged,indictment,hypnotized,housekeeping,hopelessly,hallucinations,grader,goldilocks,girly,flask,envelopes,downside,doves,dissolve,discourage,disapprove,diabetic,deliveries,decorator,crossfire,criminally,containment,comrades,complimentary,chatter,catchy,cashier,cartel,caribou,cardiologist,brawl,booted,barbershop,aryan,angst,administer,zellie,wreak,whistles,vandalism,vamps,uterus,upstate,unstoppable,understudy,tristin,transcript,tranquilizer,toxins,tonsils,stempel,spotting,spectator,spatula,softer,snotty,slinging,showered,sexiest,sensual,sadder,rimbaud,restrain,resilient,remission,reinstate,rehash,recollection,rabies,popsicle,plausible,pediatric,patronizing,ostrich,ortolani,oooooh,omelette,mistrial,marseilles,loophole,laughin,kevvy,irritated,infidelity,hypothermia,horrific,groupie,grinding,graceful,goodspeed,gestures,frantic,extradition,echelon,disks,dawnie,dared,damsel,curled,collateral,collage,chant,calculating,bumping,bribes,boardwalk,blinds,blindly,bleeds,bickering,beasts,backside,avenge,apprehended,anguish,abusing,youthful,yells,yanking,whomever,when'd,vomiting,vengeful,unpacking,unfamiliar,undying,tumble,trolls,treacherous,tipping,tantrum,tanked,summons,straps,stomped,stinkin,stings,staked,squirrels,sprinkles,speculate,sorting,skinned,sicko,sicker,shootin,shatter,seeya,schnapps,s'posed,ronee,respectful,regroup,regretting,reeling,reckoned,ramifications,puddy,projections,preschool,plissken,platonic,permalash,outdone,outburst,mutants,mugging,misfortune,miserably,miraculously,medications,margaritas,manpower,lovemaking,logically,leeches,latrine,kneel,inflict,impostor,hypocrisy,hippies,heterosexual,heightened,hecuba,healer,gunned,grooming,groin,gooey,gloomy,frying,friendships,fredo,firepower,fathom,exhaustion,evils,endeavor,eggnog,dreaded,d'arcy,crotch,coughing,coronary,cookin,consummate,congrats,companionship,caved,caspar,bulletproof,brilliance,breakin,brash,blasting,aloud,airtight,advising,advertise,adultery,aches,wronged,upbeat,trillion,thingies,tending,tarts,surreal,specs,specialize,spade,shrew,shaping,selves,schoolwork,roomie,recuperating,rabid,quart,provocative,proudly,pretenses,prenatal,pharmaceuticals,pacing,overworked,originals,nicotine,murderous,mileage,mayonnaise,massages,losin,interrogated,injunction,impartial,homing,heartbreaker,hacks,glands,giver,fraizh,flips,flaunt,englishman,electrocuted,dusting,ducking,drifted,donating,cylon,crutches,crates,cowards,comfortably,chummy,chitchat,childbirth,businesswoman,brood,blatant,bethy,barring,bagged,awakened,asbestos,airplanes,worshipped,winnings,why're,visualize,unprotected,unleash,trays,thicker,therapists,takeoff,streisand,storeroom,stethoscope,stacked,spiteful,sneaks,snapping,slaughtered,slashed,simplest,silverware,shits,secluded,scruples,scrubs,scraps,ruptured,roaring,receptionist,recap,raditch,radiator,pushover,plastered,pharmacist,perverse,perpetrator,ornament,ointment,nineties,napping,nannies,mousse,moors,momentary,misunderstandings,manipulator,malfunction,laced,kivar,kickin,infuriating,impressionable,holdup,hires,hesitated,headphones,hammering,groundwork,grotesque,graces,gauze,gangsters,frivolous,freeing,fours,forwarding,ferrars,faulty,fantasizing,extracurricular,empathy,divorces,detonate,depraved,demeaning,deadlines,dalai,cursing,cufflink,crows,coupons,comforted,claustrophobic,casinos,camped,busboy,bluth,bennetts,baskets,attacker,aplastic,angrier,affectionate,zapped,wormhole,weaken,unrealistic,unravel,unimportant,unforgettable,twain,suspend,superbowl,stutter,stewardess,stepson,standin,spandex,souvenirs,sociopath,skeletons,shivering,sexier,selfishness,scrapbook,ritalin,ribbons,reunite,remarry,relaxation,rattling,rapist,psychosis,prepping,poses,pleasing,pisses,piling,persecuted,padded,operatives,negotiator,natty,menopause,mennihan,martimmys,loyalties,laynie,lando,justifies,intimately,inexperienced,impotent,immortality,horrors,hooky,hinges,heartbreaking,handcuffed,gypsies,guacamole,grovel,graziella,goggles,gestapo,fussy,ferragamo,feeble,eyesight,explosions,experimenting,enchanting,doubtful,dizziness,dismantle,detectors,deserving,defective,dangling,dancin,crumble,creamed,cramping,conceal,clockwork,chrissakes,chrissake,chopping,cabinets,brooding,bonfire,blurt,bloated,blackmailer,beforehand,bathed,bathe,barcode,banish,badges,babble,await,attentive,aroused,antibodies,animosity,ya'll,wrinkled,wonderland,willed,whisk,waltzing,waitressing,vigilant,upbringing,unselfish,uncles,trendy,trajectory,striped,stamina,stalled,staking,stacks,spoils,snuff,snooty,snide,shrinking,senora,secretaries,scoundrel,saline,salads,rundown,riddles,relapse,recommending,raspberry,plight,pecan,pantry,overslept,ornaments,niner,negligent,negligence,nailing,mucho,mouthed,monstrous,malpractice,lowly,loitering,logged,lingering,lettin,lattes,kamal,juror,jillefsky,jacked,irritate,intrusion,insatiable,infect,impromptu,icing,hmmmm,hefty,gasket,frightens,flapping,firstborn,faucet,estranged,envious,dopey,doesn,disposition,disposable,disappointments,dipped,dignified,deceit,dealership,deadbeat,curses,coven,counselors,concierge,clutches,casbah,callous,cahoots,brotherly,britches,brides,bethie,beige,autographed,attendants,attaboy,astonishing,appreciative,antibiotic,aneurysm,afterlife,affidavit,zoning,whats,whaddaya,vasectomy,unsuspecting,toula,topanga,tonio,toasted,tiring,terrorized,tenderness,tailing,sweats,suffocated,sucky,subconsciously,starvin,sprouts,spineless,sorrows,snowstorm,smirk,slicery,sledding,slander,simmer,signora,sigmund,seventies,sedate,scented,sandals,rollers,retraction,resigning,recuperate,receptive,racketeering,queasy,provoking,priors,prerogative,premed,pinched,pendant,outsiders,orbing,opportunist,olanov,neurologist,nanobot,mommies,molested,misread,mannered,laundromat,intercom,inspect,insanely,infatuation,indulgent,indiscretion,inconsiderate,hurrah,howling,herpes,hasta,harassed,hanukkah,groveling,groosalug,gander,galactica,futile,fridays,flier,fixes,exploiting,exorcism,evasive,endorse,emptied,dreary,dreamy,downloaded,dodged,doctored,disobeyed,disneyland,disable,dehydrated,contemplating,coconuts,cockroaches,clogged,chilling,chaperon,cameraman,bulbs,bucklands,bribing,brava,bracelets,bowels,bluepoint,appetizers,appendix,antics,anointed,analogy,almonds,yammering,winch,weirdness,wangler,vibrations,vendor,unmarked,unannounced,twerp,trespass,travesty,transfusion,trainee,towelie,tiresome,straightening,staggering,sonar,socializing,sinus,sinners,shambles,serene,scraped,scones,scepter,sarris,saberhagen,ridiculously,ridicule,rents,reconciled,radios,publicist,pubes,prune,prude,precrime,postponing,pluck,perish,peppermint,peeled,overdo,nutshell,nostalgic,mulan,mouthing,mistook,meddle,maybourne,martimmy,lobotomy,livelihood,lippman,likeness,kindest,kaffee,jocks,jerked,jeopardizing,jazzed,insured,inquisition,inhale,ingenious,holier,helmets,heirloom,heinous,haste,harmsway,hardship,hanky,gutters,gruesome,groping,goofing,godson,glare,finesse,figuratively,ferrie,endangerment,dreading,dozed,dorky,dmitri,divert,discredit,dialing,cufflinks,crutch,craps,corrupted,cocoon,cleavage,cannery,bystander,brushes,bruising,bribery,brainstorm,bolted,binge,ballistics,astute,arroway,adventurous,adoptive,addicts,addictive,yadda,whitelighters,wematanye,weeds,wedlock,wallets,vulnerability,vroom,vents,upped,unsettling,unharmed,trippin,trifle,tracing,tormenting,thats,syphilis,subtext,stickin,spices,sores,smacked,slumming,sinks,signore,shitting,shameful,shacked,septic,seedy,righteousness,relish,rectify,ravishing,quickest,phoebs,perverted,peeing,pedicure,pastrami,passionately,ozone,outnumbered,oregano,offender,nukes,nosed,nighty,nifty,mounties,motivate,moons,misinterpreted,mercenary,mentality,marsellus,lupus,lumbar,lovesick,lobsters,leaky,laundering,latch,jafar,instinctively,inspires,indoors,incarcerated,hundredth,handkerchief,gynecologist,guittierez,groundhog,grinning,goodbyes,geese,fullest,eyelashes,eyelash,enquirer,endlessly,elusive,disarm,detest,deluding,dangle,cotillion,corsage,conjugal,confessional,cones,commandment,coded,coals,chuckle,christmastime,cheeseburgers,chardonnay,celery,campfire,calming,burritos,brundle,broflovski,brighten,borderline,blinked,bling,beauties,bauers,battered,articulate,alienated,ahhhhh,agamemnon,accountants,y'see,wrongful,wrapper,workaholic,winnebago,whispered,warts,vacate,unworthy,unanswered,tonane,tolerated,throwin,throbbing,thrills,thorns,thereof,there've,tarot,sunscreen,stretcher,stereotype,soggy,sobbing,sizable,sightings,shucks,shrapnel,sever,senile,seaboard,scorned,saver,rebellious,rained,putty,prenup,pores,pinching,pertinent,peeping,paints,ovulating,opposites,occult,nutcracker,nutcase,newsstand,newfound,mocked,midterms,marshmallow,marbury,maclaren,leans,krudski,knowingly,keycard,junkies,juilliard,jolinar,irritable,invaluable,inuit,intoxicating,instruct,insolent,inexcusable,incubator,illustrious,hunsecker,houseguest,homosexuals,homeroom,hernia,harming,handgun,hallways,hallucination,gunshots,groupies,groggy,goiter,gingerbread,giggling,frigging,fledged,fedex,fairies,exchanging,exaggeration,esteemed,enlist,drags,dispense,disloyal,disconnect,desks,dentists,delacroix,degenerate,daydreaming,cushions,cuddly,corroborate,complexion,compensated,cobbler,closeness,chilled,checkmate,channing,carousel,calms,bylaws,benefactor,ballgame,baiting,backstabbing,artifact,airspace,adversary,actin,accuses,accelerant,abundantly,abstinence,zissou,zandt,yapping,witchy,willows,whadaya,vilandra,veiled,undress,undivided,underestimating,ultimatums,twirl,truckload,tremble,toasting,tingling,tents,tempered,sulking,stunk,sponges,spills,softly,snipers,scourge,rooftop,riana,revolting,revisit,refreshments,redecorating,recapture,raysy,pretense,prejudiced,precogs,pouting,poofs,pimple,piles,pediatrician,padre,packets,paces,orvelle,oblivious,objectivity,nighttime,nervosa,mexicans,meurice,melts,matchmaker,maeby,lugosi,lipnik,leprechaun,kissy,kafka,introductions,intestines,inspirational,insightful,inseparable,injections,inadvertently,hussy,huckabees,hittin,hemorrhaging,headin,haystack,hallowed,grudges,granilith,grandkids,grading,gracefully,godsend,gobbles,fragrance,fliers,finchley,farts,eyewitnesses,expendable,existential,dorms,delaying,degrading,deduction,darlings,danes,cylons,counsellor,contraire,consciously,conjuring,congratulating,cokes,buffay,brooch,bitching,bistro,bijou,bewitched,benevolent,bends,bearings,barren,aptitude,amish,amazes,abomination,worldly,whispers,whadda,wayward,wailing,vanishing,upscale,untouchable,unspoken,uncontrollable,unavoidable,unattended,trite,transvestite,toupee,timid,timers,terrorizing,swana,stumped,strolling,storybook,storming,stomachs,stoked,stationery,springtime,spontaneity,spits,spins,soaps,sentiments,scramble,scone,rooftops,retract,reflexes,rawdon,ragged,quirky,quantico,psychologically,prodigal,pounce,potty,pleasantries,pints,petting,perceive,onstage,notwithstanding,nibble,newmans,neutralize,mutilated,millionaires,mayflower,masquerade,mangy,macreedy,lunatics,lovable,locating,limping,lasagna,kwang,keepers,juvie,jaded,ironing,intuitive,intensely,insure,incantation,hysteria,hypnotize,humping,happenin,griet,grasping,glorified,ganging,g'night,focker,flunking,flimsy,flaunting,fixated,fitzwallace,fainting,eyebrow,exonerated,ether,electrician,egotistical,earthly,dusted,dignify,detonation,debrief,dazzling,dan'l,damnedest,daisies,crushes,crucify,contraband,confronting,collapsing,cocked,clicks,cliche,circled,chandelier,carburetor,callers,broads,breathes,bloodshed,blindsided,blabbing,bialystock,bashing,ballerina,aviva,arteries,anomaly,airstrip,agonizing,adjourn,aaaaa,yearning,wrecker,witnessing,whence,warhead,unsure,unheard,unfreeze,unfold,unbalanced,ugliest,troublemaker,toddler,tiptoe,threesome,thirties,thermostat,swipe,surgically,subtlety,stung,stumbling,stubs,stride,strangling,sprayed,socket,smuggled,showering,shhhhh,sabotaging,rumson,rounding,risotto,repairman,rehearsed,ratty,ragging,radiology,racquetball,racking,quieter,quicksand,prowl,prompt,premeditated,prematurely,prancing,porcupine,plated,pinocchio,peeked,peddle,panting,overweight,overrun,outing,outgrown,obsess,nursed,nodding,negativity,negatives,musketeers,mugger,motorcade,merrily,matured,masquerading,marvellous,maniacs,lovey,louse,linger,lilies,lawful,kudos,knuckle,juices,judgments,itches,intolerable,intermission,inept,incarceration,implication,imaginative,huckleberry,holster,heartburn,gunna,groomed,graciously,fulfillment,fugitives,forsaking,forgives,foreseeable,flavors,flares,fixation,fickle,fantasize,famished,fades,expiration,exclamation,erasing,eiffel,eerie,earful,duped,dulles,dissing,dissect,dispenser,dilated,detergent,desdemona,debriefing,damper,curing,crispina,crackpot,courting,cordial,conflicted,comprehension,commie,cleanup,chiropractor,charmer,chariot,cauldron,catatonic,bullied,buckets,brilliantly,breathed,booths,boardroom,blowout,blindness,blazing,biologically,bibles,biased,beseech,barbaric,balraj,audacity,anticipating,alcoholics,airhead,agendas,admittedly,absolution,youre,yippee,wittlesey,withheld,willful,whammy,weakest,washes,virtuous,videotapes,vials,unplugged,unpacked,unfairly,turbulence,tumbling,tricking,tremendously,traitors,torches,tinga,thyroid,teased,tawdry,taker,sympathies,swiped,sundaes,suave,strut,stepdad,spewing,spasm,socialize,slither,simulator,shutters,shrewd,shocks,semantics,schizophrenic,scans,savages,rya'c,runny,ruckus,royally,roadblocks,rewriting,revoke,repent,redecorate,recovers,recourse,ratched,ramali,racquet,quince,quiche,puppeteer,puking,puffed,problemo,praises,pouch,postcards,pooped,poised,piled,phoney,phobia,patching,parenthood,pardner,oozing,ohhhhh,numbing,nostril,nosey,neatly,nappa,nameless,mortuary,moronic,modesty,midwife,mcclane,matuka,maitre,lumps,lucid,loosened,loins,lawnmower,lamotta,kroehner,jinxy,jessep,jamming,jailhouse,jacking,intruders,inhuman,infatuated,indigestion,implore,implanted,hormonal,hoboken,hillbilly,heartwarming,headway,hatched,hartmans,harping,grapevine,gnome,forties,flyin,flirted,fingernail,exhilarating,enjoyment,embark,dumper,dubious,drell,docking,disillusioned,dishonor,disbarred,dicey,custodial,counterproductive,corned,cords,contemplate,concur,conceivable,cobblepot,chickened,checkout,carpe,cap'n,campers,buyin,bullies,braid,boxed,bouncy,blueberries,blubbering,bloodstream,bigamy,beeped,bearable,autographs,alarming,wretch,wimps,widower,whirlwind,whirl,warms,vandelay,unveiling,undoing,unbecoming,turnaround,touche,togetherness,tickles,ticker,teensy,taunt,sweethearts,stitched,standpoint,staffers,spotless,soothe,smothered,sickening,shouted,shepherds,shawl,seriousness,schooled,schoolboy,s'mores,roped,reminders,raggedy,preemptive,plucked,pheromones,particulars,pardoned,overpriced,overbearing,outrun,ohmigod,nosing,nicked,neanderthal,mosquitoes,mortified,milky,messin,mecha,markinson,marivellas,mannequin,manderley,madder,macready,lookie,locusts,lifetimes,lanna,lakhi,kholi,impersonate,hyperdrive,horrid,hopin,hogging,hearsay,harpy,harboring,hairdo,hafta,grasshopper,gobble,gatehouse,foosball,floozy,fished,firewood,finalize,felons,euphemism,entourage,elitist,elegance,drokken,drier,dredge,dossier,diseased,diarrhea,diagnose,despised,defuse,d'amour,contesting,conserve,conscientious,conjured,collars,clogs,chenille,chatty,chamomile,casing,calculator,brittle,breached,blurted,birthing,bikinis,astounding,assaulting,aroma,appliance,antsy,amnio,alienating,aliases,adolescence,xerox,wrongs,workload,willona,whistling,werewolves,wallaby,unwelcome,unseemly,unplug,undermining,ugliness,tyranny,tuesdays,trumpets,transference,ticks,tangible,tagging,swallowing,superheroes,studs,strep,stowed,stomping,steffy,sprain,spouting,sponsoring,sneezing,smeared,slink,shakin,sewed,seatbelt,scariest,scammed,sanctimonious,roasting,rightly,retinal,rethinking,resented,reruns,remover,racks,purest,progressing,presidente,preeclampsia,postponement,portals,poppa,pliers,pinning,pelvic,pampered,padding,overjoyed,ooooo,one'll,octavius,nonono,nicknames,neurosurgeon,narrows,misled,mislead,mishap,milltown,milking,meticulous,mediocrity,meatballs,machete,lurch,layin,knockin,khruschev,jurors,jumpin,jugular,jeweler,intellectually,inquiries,indulging,indestructible,indebted,imitate,ignores,hyperventilating,hyenas,hurrying,hermano,hellish,heheh,harshly,handout,grunemann,glances,giveaway,getup,gerome,furthest,frosting,frail,forwarded,forceful,flavored,flammable,flaky,fingered,fatherly,ethic,embezzlement,duffel,dotted,distressed,disobey,disappearances,dinky,diminish,diaphragm,deuces,creme,courteous,comforts,coerced,clots,clarification,chunks,chickie,chases,chaperoning,cartons,caper,calves,caged,bustin,bulging,bringin,boomhauer,blowin,blindfolded,biscotti,ballplayer,bagging,auster,assurances,aschen,arraigned,anonymity,alters,albatross,agreeable,adoring,abduct,wolfi,weirded,watchers,washroom,warheads,vincennes,urgency,understandably,uncomplicated,uhhhh,twitching,treadmill,thermos,tenorman,tangle,talkative,swarm,surrendering,summoning,strive,stilts,stickers,squashed,spraying,sparring,soaring,snort,sneezed,slaps,skanky,singin,sidle,shreck,shortness,shorthand,sharper,shamed,sadist,rydell,rusik,roulette,resumes,respiration,recount,reacts,purgatory,princesses,presentable,ponytail,plotted,pinot,pigtails,phillippe,peddling,paroled,orbed,offends,o'hara,moonlit,minefield,metaphors,malignant,mainframe,magicks,maggots,maclaine,loathing,leper,leaps,leaping,lashed,larch,larceny,lapses,ladyship,juncture,jiffy,jakov,invoke,infantile,inadmissible,horoscope,hinting,hideaway,hesitating,heddy,heckles,hairline,gripe,gratifying,governess,goebbels,freddo,foresee,fascination,exemplary,executioner,etcetera,escorts,endearing,eaters,earplugs,draped,disrupting,disagrees,dimes,devastate,detain,depositions,delicacy,darklighter,cynicism,cyanide,cutters,cronus,continuance,conquering,confiding,compartments,combing,cofell,clingy,cleanse,christmases,cheered,cheekbones,buttle,burdened,bruenell,broomstick,brained,bozos,bontecou,bluntman,blazes,blameless,bizarro,bellboy,beaucoup,barkeep,awaken,astray,assailant,appease,aphrodisiac,alleys,yesss,wrecks,woodpecker,wondrous,wimpy,willpower,wheeling,weepy,waxing,waive,videotaped,veritable,untouched,unlisted,unfounded,unforeseen,twinge,triggers,traipsing,toxin,tombstone,thumping,therein,testicles,telephones,tarmac,talby,tackled,swirling,suicides,suckered,subtitles,sturdy,strangler,stockbroker,stitching,steered,standup,squeal,sprinkler,spontaneously,splendor,spiking,spender,snipe,snagged,skimming,siddown,showroom,shovels,shotguns,shoelaces,shitload,shellfish,sharpest,shadowy,seizing,scrounge,scapegoat,sayonara,saddled,rummaging,roomful,renounce,reconsidered,recharge,realistically,radioed,quirks,quadrant,punctual,practising,pours,poolhouse,poltergeist,pocketbook,plainly,picnics,pesto,pawing,passageway,partied,oneself,numero,nostalgia,nitwit,neuro,mixer,meanest,mcbeal,matinee,margate,marce,manipulations,manhunt,manger,magicians,loafers,litvack,lightheaded,lifeguard,lawns,laughingstock,ingested,indignation,inconceivable,imposition,impersonal,imbecile,huddled,housewarming,horizons,homicides,hiccups,hearse,hardened,gushing,gushie,greased,goddamit,freelancer,forging,fondue,flustered,flung,flinch,flicker,fixin,festivus,fertilizer,farted,faggots,exonerate,evict,enormously,encrypted,emdash,embracing,duress,dupres,dowser,doormat,disfigured,disciplined,dibbs,depository,deathbed,dazzled,cuttin,cures,crowding,crepe,crammed,copycat,contradict,confidant,condemning,conceited,commute,comatose,clapping,circumference,chuppah,chore,choksondik,chestnuts,briault,bottomless,bonnet,blokes,berluti,beret,beggars,bankroll,bania,athos,arsenic,apperantly,ahhhhhh,afloat,accents,zipped,zeros,zeroes,zamir,yuppie,youngsters,yorkers,wisest,wipes,wield,whyn't,weirdos,wednesdays,vicksburg,upchuck,untraceable,unsupervised,unpleasantness,unhook,unconscionable,uncalled,trappings,tragedies,townie,thurgood,things'll,thine,tetanus,terrorize,temptations,tanning,tampons,swarming,straitjacket,steroid,startling,starry,squander,speculating,sollozzo,sneaked,slugs,skedaddle,sinker,silky,shortcomings,sellin,seasoned,scrubbed,screwup,scrapes,scarves,sandbox,salesmen,rooming,romances,revere,reproach,reprieve,rearranging,ravine,rationalize,raffle,punchy,psychobabble,provocation,profoundly,prescriptions,preferable,polishing,poached,pledges,pirelli,perverts,oversized,overdressed,outdid,nuptials,nefarious,mouthpiece,motels,mopping,mongrel,missin,metaphorically,mertin,memos,melodrama,melancholy,measles,meaner,mantel,maneuvering,mailroom,luring,listenin,lifeless,licks,levon,legwork,kneecaps,kippur,kiddie,kaput,justifiable,insistent,insidious,innuendo,innit,indecent,imaginable,horseshit,hemorrhoid,hella,healthiest,haywire,hamsters,hairbrush,grouchy,grisly,gratuitous,glutton,glimmer,gibberish,ghastly,gentler,generously,geeky,fuhrer,fronting,foolin,faxes,faceless,extinguisher,expel,etched,endangering,ducked,dodgeball,dives,dislocated,discrepancy,devour,derail,dementia,daycare,cynic,crumbling,cowardice,covet,cornwallis,corkscrew,cookbook,commandments,coincidental,cobwebs,clouded,clogging,clicking,clasp,chopsticks,chefs,chaps,cashing,carat,calmer,brazen,brainwashing,bradys,bowing,boned,bloodsucking,bleachers,bleached,bedpan,bearded,barrenger,bachelors,awwww,assures,assigning,asparagus,apprehend,anecdote,amoral,aggravation,afoot,acquaintances,accommodating,yakking,worshipping,wladek,willya,willies,wigged,whoosh,whisked,watered,warpath,volts,violates,valuables,uphill,unwise,untimely,unsavory,unresponsive,unpunished,unexplained,tubby,trolling,toxicology,tormented,toothache,tingly,timmiihh,thursdays,thoreau,terrifies,temperamental,telegrams,talkie,takers,symbiote,swirl,suffocate,stupider,strapping,steckler,springing,someway,sleepyhead,sledgehammer,slant,slams,showgirl,shoveling,shmoopy,sharkbait,shan't,scrambling,schematics,sandeman,sabbatical,rummy,reykjavik,revert,responsive,rescheduled,requisition,relinquish,rejoice,reckoning,recant,rebadow,reassurance,rattlesnake,ramble,primed,pricey,prance,pothole,pocus,persist,perpetrated,pekar,peeling,pastime,parmesan,pacemaker,overdrive,ominous,observant,nothings,noooooo,nonexistent,nodded,nieces,neglecting,nauseating,mutated,musket,mumbling,mowing,mouthful,mooseport,monologue,mistrust,meetin,masseuse,mantini,mailer,madre,lowlifes,locksmith,livid,liven,limos,liberating,lhasa,leniency,leering,laughable,lashes,lasagne,laceration,korben,katan,kalen,jittery,jammies,irreplaceable,intubate,intolerant,inhaler,inhaled,indifferent,indifference,impound,impolite,humbly,heroics,heigh,guillotine,guesthouse,grounding,grips,gossiping,goatee,gnomes,gellar,frutt,frobisher,freudian,foolishness,flagged,femme,fatso,fatherhood,fantasized,fairest,faintest,eyelids,extravagant,extraterrestrial,extraordinarily,escalator,elevate,drivel,dissed,dismal,disarray,dinnertime,devastation,dermatologist,delicately,defrost,debutante,debacle,damone,dainty,cuvee,culpa,crucified,creeped,crayons,courtship,convene,congresswoman,concocted,compromises,comprende,comma,coleslaw,clothed,clinically,chickenshit,checkin,cesspool,caskets,calzone,brothel,boomerang,bodega,blasphemy,bitsy,bicentennial,berlini,beatin,beards,barbas,barbarians,backpacking,arrhythmia,arousing,arbitrator,antagonize,angling,anesthetic,altercation,aggressor,adversity,acathla,aaahhh,wreaking,workup,wonderin,wither,wielding,what'm,what'cha,waxed,vibrating,veterinarian,venting,vasey,valor,validate,upholstery,untied,unscathed,uninterrupted,unforgiving,undies,uncut,twinkies,tucking,treatable,treasured,tranquility,townspeople,torso,tomei,tipsy,tinsel,tidings,thirtieth,tantrums,tamper,talky,swayed,swapping,suitor,stylist,stirs,standoff,sprinklers,sparkly,snobby,snatcher,smoother,sleepin,shrug,shoebox,sheesh,shackles,setbacks,sedatives,screeching,scorched,scanned,satyr,roadblock,riverbank,ridiculed,resentful,repellent,recreate,reconvene,rebuttal,realmedia,quizzes,questionnaire,punctured,pucker,prolong,professionalism,pleasantly,pigsty,penniless,paychecks,patiently,parading,overactive,ovaries,orderlies,oracles,oiled,offending,nudie,neonatal,neighborly,moops,moonlighting,mobilize,mmmmmm,milkshake,menial,meats,mayan,maxed,mangled,magua,lunacy,luckier,liters,lansbury,kooky,knowin,jeopardized,inkling,inhalation,inflated,infecting,incense,inbound,impractical,impenetrable,idealistic,i'mma,hypocrites,hurtin,humbled,hologram,hokey,hocus,hitchhiking,hemorrhoids,headhunter,hassled,harts,hardworking,haircuts,hacksaw,genitals,gazillion,gammy,gamesphere,fugue,footwear,folly,flashlights,fives,filet,extenuating,estrogen,entails,embezzled,eloquent,egomaniac,ducts,drowsy,drones,doree,donovon,disguises,diggin,deserting,depriving,defying,deductible,decorum,decked,daylights,daybreak,dashboard,damnation,cuddling,crunching,crickets,crazies,councilman,coughed,conundrum,complimented,cohaagen,clutching,clued,clader,cheques,checkpoint,chats,channeling,ceases,carasco,capisce,cantaloupe,cancelling,campsite,burglars,breakfasts,bra'tac,blueprint,bleedin,blabbed,beneficiary,basing,avert,atone,arlyn,approves,apothecary,antiseptic,aleikuum,advisement,zadir,wobbly,withnail,whattaya,whacking,wedged,wanders,vaginal,unimaginable,undeniable,unconditionally,uncharted,unbridled,tweezers,tvmegasite,trumped,triumphant,trimming,treading,tranquilizers,toontown,thunk,suture,suppressing,strays,stonewall,stogie,stepdaughter,stace,squint,spouses,splashed,speakin,sounder,sorrier,sorrel,sombrero,solemnly,softened,snobs,snippy,snare,smoothing,slump,slimeball,slaving,silently,shiller,shakedown,sensations,scrying,scrumptious,screamin,saucy,santoses,roundup,roughed,rosary,robechaux,retrospect,rescind,reprehensible,repel,remodeling,reconsidering,reciprocate,railroaded,psychics,promos,prob'ly,pristine,printout,priestess,prenuptial,precedes,pouty,phoning,peppy,pariah,parched,panes,overloaded,overdoing,nymphs,nother,notebooks,nearing,nearer,monstrosity,milady,mieke,mephesto,medicated,marshals,manilow,mammogram,m'lady,lotsa,loopy,lesion,lenient,learner,laszlo,kross,kinks,jinxed,involuntary,insubordination,ingrate,inflatable,incarnate,inane,hypoglycemia,huntin,humongous,hoodlum,honking,hemorrhage,helpin,hathor,hatching,grotto,grandmama,gorillas,godless,girlish,ghouls,gershwin,frosted,flutter,flagpole,fetching,fatter,faithfully,exert,evasion,escalate,enticing,enchantress,elopement,drills,downtime,downloading,dorks,doorways,divulge,dissociative,disgraceful,disconcerting,deteriorate,destinies,depressive,dented,denim,decruz,decidedly,deactivate,daydreams,curls,culprit,cruelest,crippling,cranberries,corvis,copped,commend,coastguard,cloning,cirque,churning,chock,chivalry,catalogues,cartwheels,carols,canister,buttered,bundt,buljanoff,bubbling,brokers,broaden,brimstone,brainless,bores,badmouthing,autopilot,ascertain,aorta,ampata,allenby,accosted,absolve,aborted,aaagh,aaaaaah,yonder,yellin,wyndham,wrongdoing,woodsboro,wigging,wasteland,warranty,waltzed,walnuts,vividly,veggie,unnecessarily,unloaded,unicorns,understated,unclean,umbrellas,twirling,turpentine,tupperware,triage,treehouse,tidbit,tickled,threes,thousandth,thingie,terminally,teething,tassel,talkies,swoon,switchboard,swerved,suspiciously,subsequentlyne,subscribe,strudel,stroking,strictest,stensland,starin,stannart,squirming,squealing,sorely,softie,snookums,sniveling,smidge,sloth,skulking,simian,sightseeing,siamese,shudder,shoppers,sharpen,shannen,semtex,secondhand,seance,scowl,scorn,safekeeping,russe,rummage,roshman,roomies,roaches,rinds,retrace,retires,resuscitate,rerun,reputations,rekall,refreshment,reenactment,recluse,ravioli,raves,raking,purses,punishable,punchline,puked,prosky,previews,poughkeepsie,poppins,polluted,placenta,pissy,petulant,perseverance,pears,pawns,pastries,partake,panky,palate,overzealous,orchids,obstructing,objectively,obituaries,obedient,nothingness,musty,motherly,mooning,momentous,mistaking,minutemen,milos,microchip,meself,merciless,menelaus,mazel,masturbate,mahogany,lysistrata,lillienfield,likable,liberate,leveled,letdown,larynx,lardass,lainey,lagged,klorel,kidnappings,keyed,karmic,jeebies,irate,invulnerable,intrusive,insemination,inquire,injecting,informative,informants,impure,impasse,imbalance,illiterate,hurled,hunts,hematoma,headstrong,handmade,handiwork,growling,gorky,getcha,gesundheit,gazing,galley,foolishly,fondness,floris,ferocious,feathered,fateful,fancies,fakes,faker,expire,ever'body,essentials,eskimos,enlightening,enchilada,emissary,embolism,elsinore,ecklie,drenched,drazi,doped,dogging,doable,dislikes,dishonesty,disengage,discouraging,derailed,deformed,deflect,defer,deactivated,crips,constellations,congressmen,complimenting,clubbing,clawing,chromium,chimes,chews,cheatin,chaste,cellblock,caving,catered,catacombs,calamari,bucking,brulee,brits,brisk,breezes,bounces,boudoir,binks,better'n,bellied,behrani,behaves,bedding,balmy,badmouth,backers,avenging,aromatherapy,armpit,armoire,anythin,anonymously,anniversaries,aftershave,affliction,adrift,admissible,adieu,acquittal,yucky,yearn,whitter,whirlpool,wendigo,watchdog,wannabes,wakey,vomited,voicemail,valedictorian,uttered,unwed,unrequited,unnoticed,unnerving,unkind,unjust,uniformed,unconfirmed,unadulterated,unaccounted,uglier,turnoff,trampled,tramell,toads,timbuktu,throwback,thimble,tasteless,tarantula,tamale,takeovers,swish,supposing,streaking,stargher,stanzi,stabs,squeamish,splattered,spiritually,spilt,speciality,smacking,skywire,skips,skaara,simpatico,shredding,showin,shortcuts,shite,shielding,shamelessly,serafine,sentimentality,seasick,schemer,scandalous,sainted,riedenschneider,rhyming,revel,retractor,retards,resurrect,remiss,reminiscing,remanded,reiben,regains,refuel,refresher,redoing,redheaded,reassured,rearranged,rapport,qumar,prowling,prejudices,precarious,powwow,pondering,plunger,plunged,pleasantville,playpen,phlegm,perfected,pancreas,paley,ovary,outbursts,oppressed,ooohhh,omoroca,offed,o'toole,nurture,nursemaid,nosebleed,necktie,muttering,munchies,mucking,mogul,mitosis,misdemeanor,miscarried,millionth,migraines,midler,manicurist,mandelbaum,manageable,malfunctioned,magnanimous,loudmouth,longed,lifestyles,liddy,lickety,leprechauns,komako,klute,kennel,justifying,irreversible,inventing,intergalactic,insinuate,inquiring,ingenuity,inconclusive,incessant,improv,impersonation,hyena,humperdinck,hubba,housework,hoffa,hither,hissy,hippy,hijacked,heparin,hellooo,hearth,hassles,hairstyle,hahahaha,hadda,guys'll,gutted,gulls,gritty,grievous,graft,gossamer,gooder,gambled,gadgets,fundamentals,frustrations,frolicking,frock,frilly,foreseen,footloose,fondly,flirtation,flinched,flatten,farthest,exposer,evading,escrow,empathize,embryos,embodiment,ellsberg,ebola,dulcinea,dreamin,drawbacks,doting,doose,doofy,disturbs,disorderly,disgusts,detox,denominator,demeanor,deliriously,decode,debauchery,croissant,cravings,cranked,coworkers,councilor,confuses,confiscate,confines,conduit,compress,combed,clouding,clamps,cinch,chinnery,celebratory,catalogs,carpenters,carnal,canin,bundys,bulldozer,buggers,bueller,brainy,booming,bookstores,bloodbath,bittersweet,bellhop,beeping,beanstalk,beady,baudelaire,bartenders,bargains,averted,armadillo,appreciating,appraised,antlers,aloof,allowances,alleyway,affleck,abject,zilch,youore,xanax,wrenching,wouldn,witted,wicca,whorehouse,whooo,whips,vouchers,victimized,vicodin,untested,unsolicited,unfocused,unfettered,unfeeling,unexplainable,understaffed,underbelly,tutorial,tryst,trampoline,towering,tirade,thieving,thang,swimmin,swayzak,suspecting,superstitions,stubbornness,streamers,strattman,stonewalling,stiffs,stacking,spout,splice,sonrisa,smarmy,slows,slicing,sisterly,shrill,shined,seeming,sedley,seatbelts,scour,scold,schoolyard,scarring,salieri,rustling,roxbury,rewire,revved,retriever,reputable,remodel,reins,reincarnation,rance,rafters,rackets,quail,pumbaa,proclaim,probing,privates,pried,prewedding,premeditation,posturing,posterity,pleasurable,pizzeria,pimps,penmanship,penchant,pelvis,overturn,overstepped,overcoat,ovens,outsmart,outed,ooohh,oncologist,omission,offhand,odour,nyazian,notarized,nobody'll,nightie,navel,nabbed,mystique,mover,mortician,morose,moratorium,mockingbird,mobsters,mingling,methinks,messengered,merde,masochist,martouf,martians,marinara,manray,majorly,magnifying,mackerel,lurid,lugging,lonnegan,loathsome,llantano,liberace,leprosy,latinos,lanterns,lamest,laferette,kraut,intestine,innocencia,inhibitions,ineffectual,indisposed,incurable,inconvenienced,inanimate,improbable,implode,hydrant,hustling,hustled,huevos,how'm,hooey,hoods,honcho,hinge,hijack,heimlich,hamunaptra,haladki,haiku,haggle,gutsy,grunting,grueling,gribbs,greevy,grandstanding,godparents,glows,glistening,gimmick,gaping,fraiser,formalities,foreigner,folders,foggy,fitty,fiends,fe'nos,favours,eyeing,extort,expedite,escalating,epinephrine,entitles,entice,eminence,eights,earthlings,eagerly,dunville,dugout,doublemeat,doling,dispensing,dispatcher,discoloration,diners,diddly,dictates,diazepam,derogatory,delights,defies,decoder,dealio,danson,cutthroat,crumbles,croissants,crematorium,craftsmanship,could'a,cordless,cools,conked,confine,concealing,complicates,communique,cockamamie,coasters,clobbered,clipping,clipboard,clemenza,cleanser,circumcision,chanukah,certainaly,cellmate,cancels,cadmium,buzzed,bumstead,bucko,browsing,broth,braver,boggling,bobbing,blurred,birkhead,benet,belvedere,bellies,begrudge,beckworth,banky,baldness,baggy,babysitters,aversion,astonished,assorted,appetites,angina,amiss,ambulances,alibis,airway,admires,adhesive,yoyou,xxxxxx,wreaked,wracking,woooo,wooing,wised,wilshire,wedgie,waging,violets,vincey,uplifting,untrustworthy,unmitigated,uneventful,undressing,underprivileged,unburden,umbilical,tweaking,turquoise,treachery,tosses,torching,toothpick,toasts,thickens,tereza,tenacious,teldar,taint,swill,sweatin,subtly,subdural,streep,stopwatch,stockholder,stillwater,stalkers,squished,squeegee,splinters,spliced,splat,spied,spackle,sophistication,snapshots,smite,sluggish,slithered,skeeters,sidewalks,sickly,shrugs,shrubbery,shrieking,shitless,settin,sentinels,selfishly,scarcely,sangria,sanctum,sahjhan,rustle,roving,rousing,rosomorf,riddled,responsibly,renoir,remoray,remedial,refundable,redirect,recheck,ravenwood,rationalizing,ramus,ramelle,quivering,pyjamas,psychos,provocations,prouder,protestors,prodded,proctologist,primordial,pricks,prickly,precedents,pentangeli,pathetically,parka,parakeet,panicky,overthruster,outsmarted,orthopedic,oncoming,offing,nutritious,nuthouse,nourishment,nibbling,newlywed,narcissist,mutilation,mundane,mummies,mumble,mowed,morvern,mortem,mopes,molasses,misplace,miscommunication,miney,midlife,menacing,memorizing,massaging,masking,magnets,luxuries,lounging,lothario,liposuction,lidocaine,libbets,levitate,leeway,launcelot,larek,lackeys,kumbaya,kryptonite,knapsack,keyhole,katarangura,juiced,jakey,ironclad,invoice,intertwined,interlude,interferes,injure,infernal,indeedy,incur,incorrigible,incantations,impediment,igloo,hysterectomy,hounded,hollering,hindsight,heebie,havesham,hasenfuss,hankering,hangers,hakuna,gutless,gusto,grubbing,grrrr,grazed,gratification,grandeur,gorak,godammit,gnawing,glanced,frostbite,frees,frazzled,fraulein,fraternizing,fortuneteller,formaldehyde,followup,foggiest,flunky,flickering,firecrackers,figger,fetuses,fates,eyeliner,extremities,extradited,expires,exceedingly,evaporate,erupt,epileptic,entrails,emporium,egregious,eggshells,easing,duwayne,droll,dreyfuss,dovey,doubly,doozy,donkeys,donde,distrust,distressing,disintegrate,discreetly,decapitated,dealin,deader,dashed,darkroom,dares,daddies,dabble,cushy,cupcakes,cuffed,croupier,croak,crapped,coursing,coolers,contaminate,consummated,construed,condos,concoction,compulsion,commish,coercion,clemency,clairvoyant,circulate,chesterton,checkered,charlatan,chaperones,categorically,cataracts,carano,capsules,capitalize,burdon,bullshitting,brewed,breathless,breasted,brainstorming,bossing,borealis,bonsoir,bobka,boast,blimp,bleep,bleeder,blackouts,bisque,billboards,beatings,bayberry,bashed,bamboozled,balding,baklava,baffled,backfires,babak,awkwardness,attest,attachments,apologizes,anyhoo,antiquated,alcante,advisable,aahhh,aaahh,zatarc,yearbooks,wuddya,wringing,womanhood,witless,winging,whatsa,wetting,waterproof,wastin,vogelman,vocation,vindicated,vigilance,vicariously,venza,vacuuming,utensils,uplink,unveil,unloved,unloading,uninhibited,unattached,tweaked,turnips,trinkets,toughen,toting,topside,terrors,terrify,technologically,tarnish,tagliati,szpilman,surly,supple,summation,suckin,stepmom,squeaking,splashmore,souffle,solitaire,solicitation,solarium,smokers,slugged,slobbering,skylight,skimpy,sinuses,silenced,sideburns,shrinkage,shoddy,shhhhhh,shelled,shareef,shangri,seuss,serenade,scuffle,scoff,scanners,sauerkraut,sardines,sarcophagus,salvy,rusted,russells,rowboat,rolfsky,ringside,respectability,reparations,renegotiate,reminisce,reimburse,regimen,raincoat,quibble,puzzled,purposefully,pubic,proofing,prescribing,prelim,poisons,poaching,personalized,personable,peroxide,pentonville,payphone,payoffs,paleontology,overflowing,oompa,oddest,objecting,o'hare,o'daniel,notches,nobody'd,nightstand,neutralized,nervousness,nerdy,needlessly,naquadah,nappy,nantucket,nambla,mountaineer,motherfuckin,morrie,monopolizing,mohel,mistreated,misreading,misbehave,miramax,minivan,milligram,milkshakes,metamorphosis,medics,mattresses,mathesar,matchbook,matata,marys,malucci,magilla,lymphoma,lowers,lordy,linens,lindenmeyer,limelight,leapt,laxative,lather,lapel,lamppost,laguardia,kindling,kegger,kawalsky,juries,jokin,jesminder,interning,innermost,injun,infallible,industrious,indulgence,incinerator,impossibility,impart,illuminate,iguanas,hypnotic,hyped,hospitable,hoses,homemaker,hirschmuller,helpers,headset,guardianship,guapo,grubby,granola,granddaddy,goren,goblet,gluttony,globes,giorno,getter,geritol,gassed,gaggle,foxhole,fouled,foretold,floorboards,flippers,flaked,fireflies,feedings,fashionably,farragut,fallback,facials,exterminate,excites,everything'll,evenin,ethically,ensue,enema,empath,eluded,eloquently,eject,edema,dumpling,droppings,dolled,distasteful,disputing,displeasure,disdain,deterrent,dehydration,defied,decomposing,dawned,dailies,custodian,crusts,crucifix,crowning,crier,crept,craze,crawls,couldn,correcting,corkmaster,copperfield,cooties,contraption,consumes,conspire,consenting,consented,conquers,congeniality,complains,communicator,commendable,collide,coladas,colada,clout,clooney,classifieds,clammy,civility,cirrhosis,chink,catskills,carvers,carpool,carelessness,cardio,carbs,capades,butabi,busmalis,burping,burdens,bunks,buncha,bulldozers,browse,brockovich,breakthroughs,bravado,boogety,blossoms,blooming,bloodsucker,blight,betterton,betrayer,belittle,beeps,bawling,barts,bartending,bankbooks,babish,atropine,assertive,armbrust,anyanka,annoyance,anemic,anago,airwaves,aimlessly,aaargh,aaand,yoghurt,writhing,workable,winking,winded,widen,whooping,whiter,whatya,wazoo,voila,virile,vests,vestibule,versed,vanishes,urkel,uproot,unwarranted,unscheduled,unparalleled,undergrad,tweedle,turtleneck,turban,trickery,transponder,toyed,townhouse,thyself,thunderstorm,thinning,thawed,tether,technicalities,tau'ri,tarnished,taffeta,tacked,systolic,swerve,sweepstakes,swabs,suspenders,superwoman,sunsets,succulent,subpoenas,stumper,stosh,stomachache,stewed,steppin,stepatech,stateside,spicoli,sparing,soulless,sonnets,sockets,snatching,smothering,slush,sloman,slashing,sitters,simpleton,sighs,sidra,sickens,shunned,shrunken,showbiz,shopped,shimmering,shagging,semblance,segue,sedation,scuzzlebutt,scumbags,screwin,scoundrels,scarsdale,scabs,saucers,saintly,saddened,runaways,runaround,rheya,resenting,rehashing,rehabilitated,regrettable,refreshed,redial,reconnecting,ravenous,raping,rafting,quandary,pylea,putrid,puffing,psychopathic,prunes,probate,prayin,pomegranate,plummeting,planing,plagues,pinata,pithy,perversion,personals,perched,peeps,peckish,pavarotti,pajama,packin,pacifier,overstepping,okama,obstetrician,nutso,nuance,normalcy,nonnegotiable,nomak,ninny,nines,nicey,newsflash,neutered,nether,negligee,necrosis,navigating,narcissistic,mylie,muses,momento,moisturizer,moderation,misinformed,misconception,minnifield,mikkos,methodical,mebbe,meager,maybes,matchmaking,masry,markovic,malakai,luzhin,lusting,lumberjack,loopholes,loaning,lightening,leotard,launder,lamaze,kubla,kneeling,kibosh,jumpsuit,joliet,jogger,janover,jakovasaurs,irreparable,innocently,inigo,infomercial,inexplicable,indispensable,impregnated,impossibly,imitating,hunches,hummus,houmfort,hothead,hostiles,hooves,hooligans,homos,homie,hisself,heyyy,hesitant,hangout,handsomest,handouts,hairless,gwennie,guzzling,guinevere,grungy,goading,glaring,gavel,gardino,gangrene,fruitful,friendlier,freckle,freakish,forthright,forearm,footnote,flops,fixer,firecracker,finito,figgered,fezzik,fastened,farfetched,fanciful,familiarize,faire,fahrenheit,extravaganza,exploratory,explanatory,everglades,eunuch,estas,escapade,erasers,emptying,embarassing,dweeb,dutiful,dumplings,dries,drafty,dollhouse,dismissing,disgraced,discrepancies,disbelief,disagreeing,digestion,didnt,deviled,deviated,demerol,delectable,decaying,decadent,dears,dateless,d'algout,cultivating,cryto,crumpled,crumbled,cronies,crease,craves,cozying,corduroy,congratulated,confidante,compressions,complicating,compadre,coerce,classier,chums,chumash,chivalrous,chinpoko,charred,chafing,celibacy,carted,carryin,carpeting,carotid,cannibals,candor,butterscotch,busts,busier,bullcrap,buggin,brookside,brodski,brassiere,brainwash,brainiac,botrelle,bonbon,boatload,blimey,blaring,blackness,bipartisan,bimbos,bigamist,biebe,biding,betrayals,bestow,bellerophon,bedpans,bassinet,basking,barzini,barnyard,barfed,backups,audited,asinine,asalaam,arouse,applejack,annoys,anchovies,ampule,alameida,aggravate,adage,accomplices,yokel,y'ever,wringer,witwer,withdrawals,windward,willfully,whorfin,whimsical,whimpering,weddin,weathered,warmest,wanton,volant,visceral,vindication,veggies,urinate,uproar,unwritten,unwrap,unsung,unsubstantiated,unspeakably,unscrupulous,unraveling,unquote,unqualified,unfulfilled,undetectable,underlined,unattainable,unappreciated,ummmm,ulcers,tylenol,tweak,turnin,tuatha,tropez,trellis,toppings,tootin,toodle,tinkering,thrives,thespis,theatrics,thatherton,tempers,tavington,tartar,tampon,swelled,sutures,sustenance,sunflowers,sublet,stubbins,strutting,strewn,stowaway,stoic,sternin,stabilizing,spiraling,spinster,speedometer,speakeasy,soooo,soiled,sneakin,smithereens,smelt,smacks,slaughterhouse,slacks,skids,sketching,skateboards,sizzling,sixes,sirree,simplistic,shouts,shorted,shoelace,sheeit,shards,shackled,sequestered,selmak,seduces,seclusion,seamstress,seabeas,scoops,scooped,scavenger,satch,s'more,rudeness,romancing,rioja,rifkin,rieper,revise,reunions,repugnant,replicating,repaid,renewing,relaxes,rekindle,regrettably,regenerate,reels,reciting,reappear,readin,ratting,rapes,rancher,rammed,rainstorm,railroading,queers,punxsutawney,punishes,pssst,prudy,proudest,protectors,procrastinating,proactive,priss,postmortem,pompoms,poise,pickings,perfectionist,peretti,people'll,pecking,patrolman,paralegal,paragraphs,paparazzi,pankot,pampering,overstep,overpower,outweigh,omnipotent,odious,nuwanda,nurtured,newsroom,neeson,needlepoint,necklaces,neato,muggers,muffler,mousy,mourned,mosey,mopey,mongolians,moldy,misinterpret,minibar,microfilm,mendola,mended,melissande,masturbating,masbath,manipulates,maimed,mailboxes,magnetism,m'lord,m'honey,lymph,lunge,lovelier,lefferts,leezak,ledgers,larraby,laloosh,kundun,kozinski,knockoff,kissin,kiosk,kennedys,kellman,karlo,kaleidoscope,jeffy,jaywalking,instructing,infraction,informer,infarction,impulsively,impressing,impersonated,impeach,idiocy,hyperbole,hurray,humped,huhuh,hsing,hordes,hoodlums,honky,hitchhiker,hideously,heaving,heathcliff,headgear,headboard,hazing,harem,handprint,hairspray,gutiurrez,goosebumps,gondola,glitches,gasping,frolic,freeways,frayed,fortitude,forgetful,forefathers,fonder,foiled,foaming,flossing,flailing,fitzgeralds,firehouse,finders,fiftieth,fellah,fawning,farquaad,faraway,fancied,extremists,exorcist,exhale,ethros,entrust,ennui,energized,encephalitis,embezzling,elster,elixir,electrolytes,duplex,dryers,drexl,dredging,drawback,don'ts,dobisch,divorcee,disrespected,disprove,disobeying,disinfectant,dingy,digress,dieting,dictating,devoured,devise,detonators,desist,deserter,derriere,deron,deceptive,debilitating,deathwok,daffodils,curtsy,cursory,cuppa,cumin,cronkite,cremation,credence,cranking,coverup,courted,countin,counselling,cornball,contentment,consensual,compost,cluett,cleverly,cleansed,cleanliness,chopec,chomp,chins,chime,cheswick,chessler,cheapest,chatted,cauliflower,catharsis,catchin,caress,camcorder,calorie,cackling,bystanders,buttoned,buttering,butted,buries,burgel,buffoon,brogna,bragged,boutros,bogeyman,blurting,blurb,blowup,bloodhound,blissful,birthmark,bigot,bestest,belted,belligerent,beggin,befall,beeswax,beatnik,beaming,barricade,baggoli,badness,awoke,artsy,artful,aroun,armpits,arming,annihilate,anise,angiogram,anaesthetic,amorous,ambiance,alligators,adoration,admittance,adama,abydos,zonked,zhivago,yorkin,wrongfully,writin,wrappers,worrywart,woops,wonderfalls,womanly,wickedness,whoopie,wholeheartedly,whimper,which'll,wheelchairs,what'ya,warranted,wallop,wading,wacked,virginal,vermouth,vermeil,verger,ventriss,veneer,vampira,utero,ushers,urgently,untoward,unshakable,unsettled,unruly,unlocks,ungodly,undue,uncooperative,uncontrollably,unbeatable,twitchy,tumbler,truest,triumphs,triplicate,tribbey,tortures,tongaree,tightening,thorazine,theres,testifies,teenaged,tearful,taxing,taldor,syllabus,swoops,swingin,suspending,sunburn,stuttering,stupor,strides,strategize,strangulation,stooped,stipulation,stingy,stapled,squeaks,squawking,spoilsport,splicing,spiel,spencers,spasms,spaniard,softener,sodding,soapbox,smoldering,smithbauer,skittish,sifting,sickest,sicilians,shuffling,shrivel,segretti,seeping,securely,scurrying,scrunch,scrote,screwups,schenkman,sawing,savin,satine,sapiens,salvaging,salmonella,sacrilege,rumpus,ruffle,roughing,rotted,rondall,ridding,rickshaw,rialto,rhinestone,restrooms,reroute,requisite,repress,rednecks,redeeming,rayed,ravell,raked,raincheck,raffi,racked,pushin,profess,prodding,procure,presuming,preppy,prednisone,potted,posttraumatic,poorhouse,podiatrist,plowed,pledging,playroom,plait,placate,pinback,picketing,photographing,pharoah,petrak,petal,persecuting,perchance,pellets,peeved,peerless,payable,pauses,pathologist,pagliacci,overwrought,overreaction,overqualified,overheated,outcasts,otherworldly,opinionated,oodles,oftentimes,occured,obstinate,nutritionist,numbness,nubile,nooooooo,nobodies,nepotism,neanderthals,mushu,mucus,mothering,mothballs,monogrammed,molesting,misspoke,misspelled,misconstrued,miscalculated,minimums,mince,mildew,mighta,middleman,mementos,mellowed,mayol,mauled,massaged,marmalade,mardi,makings,lundegaard,lovingly,loudest,lotto,loosing,loompa,looming,longs,loathes,littlest,littering,lifelike,legalities,laundered,lapdog,lacerations,kopalski,knobs,knitted,kittridge,kidnaps,kerosene,karras,jungles,jockeys,iranoff,invoices,invigorating,insolence,insincere,insectopia,inhumane,inhaling,ingrates,infestation,individuality,indeterminate,incomprehensible,inadequacy,impropriety,importer,imaginations,illuminating,ignite,hysterics,hypodermic,hyperventilate,hyperactive,humoring,honeymooning,honed,hoist,hoarding,hitching,hiker,hightail,hemoglobin,hell'd,heinie,growin,grasped,grandparent,granddaughters,gouged,goblins,gleam,glades,gigantor,get'em,geriatric,gatekeeper,gargoyles,gardenias,garcon,garbo,gallows,gabbing,futon,fulla,frightful,freshener,fortuitous,forceps,fogged,fodder,foamy,flogging,flaun,flared,fireplaces,feverish,favell,fattest,fattening,fallow,extraordinaire,evacuating,errant,envied,enchant,enamored,egocentric,dussander,dunwitty,dullest,dropout,dredged,dorsia,doornail,donot,dongs,dogged,dodgy,ditty,dishonorable,discriminating,discontinue,dings,dilly,dictation,dialysis,delly,delightfully,daryll,dandruff,cruddy,croquet,cringe,crimp,credo,crackling,courtside,counteroffer,counterfeiting,corrupting,copping,conveyor,contusions,contusion,conspirator,consoling,connoisseur,confetti,composure,compel,colic,coddle,cocksuckers,coattails,cloned,claustrophobia,clamoring,churn,chugga,chirping,chasin,chapped,chalkboard,centimeter,caymans,catheter,casings,caprica,capelli,cannolis,cannoli,camogli,camembert,butchers,butchered,busboys,bureaucrats,buckled,bubbe,brownstone,bravely,brackley,bouquets,botox,boozing,boosters,bodhi,blunders,blunder,blockage,biocyte,betrays,bested,beryllium,beheading,beggar,begbie,beamed,bastille,barstool,barricades,barbecues,barbecued,bandwagon,backfiring,bacarra,avenged,autopsies,aunties,associating,artichoke,arrowhead,appendage,apostrophe,antacid,ansel,annul,amuses,amped,amicable,amberg,alluring,adversaries,admirers,adlai,acupuncture,abnormality,aaaahhhh,zooming,zippity,zipping,zeroed,yuletide,yoyodyne,yengeese,yeahhh,wrinkly,wracked,withered,winks,windmills,whopping,wendle,weigart,waterworks,waterbed,watchful,wantin,wagging,waaah,vying,ventricle,varnish,vacuumed,unreachable,unprovoked,unmistakable,unfriendly,unfolding,underpaid,uncuff,unappealing,unabomber,typhoid,tuxedos,tushie,turds,tumnus,troubadour,trinium,treaters,treads,transpired,transgression,tought,thready,thins,thinners,techs,teary,tattaglia,tassels,tarzana,tanking,tablecloths,synchronize,symptomatic,sycophant,swimmingly,sweatshop,surfboard,superpowers,sunroom,sunblock,sugarplum,stupidly,strumpet,strapless,stooping,stools,stealthy,stalks,stairmaster,staffer,sshhh,squatting,squatters,spectacularly,sorbet,socked,sociable,snubbed,snorting,sniffles,snazzy,snakebite,smuggler,smorgasbord,smooching,slurping,slouch,slingshot,slaved,skimmed,sisterhood,silliest,sidarthur,sheraton,shebang,sharpening,shanghaied,shakers,sendoff,scurvy,scoliosis,scaredy,scagnetti,sawchuk,saugus,sasquatch,sandbag,saltines,s'pose,roston,rostle,riveting,ristle,rifling,revulsion,reverently,retrograde,restful,resents,reptilian,reorganize,renovating,reiterate,reinvent,reinmar,reibers,reechard,recuse,reconciling,recognizance,reclaiming,recitation,recieved,rebate,reacquainted,rascals,railly,quintuplets,quahog,pygmies,puzzling,punctuality,prosthetic,proms,probie,preys,preserver,preppie,poachers,plummet,plumbers,plannin,pitying,pitfalls,piqued,pinecrest,pinches,pillage,pigheaded,physique,pessimistic,persecute,perjure,percentile,pentothal,pensky,penises,peini,pazzi,pastels,parlour,paperweight,pamper,pained,overwhelm,overalls,outrank,outpouring,outhouse,outage,ouija,obstructed,obsessions,obeying,obese,o'riley,o'higgins,nosebleeds,norad,noooooooo,nononono,nonchalant,nippy,neurosis,nekhorvich,necronomicon,naquada,n'est,mystik,mystified,mumps,muddle,mothership,moped,monumentally,monogamous,mondesi,misogynistic,misinterpreting,mindlock,mending,megaphone,meeny,medicating,meanie,masseur,markstrom,marklars,margueritas,manifesting,maharajah,lukewarm,loveliest,loran,lizardo,liquored,lipped,lingers,limey,lemkin,leisurely,lathe,latched,lapping,ladle,krevlorneswath,kosygin,khakis,kenaru,keats,kaitlan,julliard,jollies,jaundice,jargon,jackals,invisibility,insipid,inflamed,inferiority,inexperience,incinerated,incinerate,incendiary,incan,inbred,implicating,impersonator,hunks,horsing,hooded,hippopotamus,hiked,hetson,hetero,hessian,henslowe,hendler,hellstrom,headstone,hayloft,harbucks,handguns,hallucinate,haldol,haggling,gynaecologist,gulag,guilder,guaranteeing,groundskeeper,grindstone,grimoir,grievance,griddle,gribbit,greystone,graceland,gooders,goeth,gentlemanly,gelatin,gawking,ganged,fukes,fromby,frenchmen,foursome,forsley,forbids,footwork,foothold,floater,flinging,flicking,fittest,fistfight,fireballs,fillings,fiddling,fennyman,felonious,felonies,feces,favoritism,fatten,fanatics,faceman,excusing,excepted,entwined,entree,ensconced,eladio,ehrlichman,easterland,dueling,dribbling,drape,downtrodden,doused,dosed,dorleen,dokie,distort,displeased,disown,dismount,disinherited,disarmed,disapproves,diperna,dined,diligent,dicaprio,depress,decoded,debatable,dealey,darsh,damsels,damning,dad'll,d'oeuvre,curlers,curie,cubed,crikey,crepes,countrymen,cornfield,coppers,copilot,copier,cooing,conspiracies,consigliere,condoning,commoner,commies,combust,comas,colds,clawed,clamped,choosy,chomping,chimps,chigorin,chianti,cheep,checkups,cheaters,celibate,cautiously,cautionary,castell,carpentry,caroling,carjacking,caritas,caregiver,cardiology,candlesticks,canasta,cain't,burro,burnin,bunking,bumming,bullwinkle,brummel,brooms,brews,breathin,braslow,bracing,botulism,boorish,bloodless,blayne,blatantly,blankie,bedbugs,becuase,barmaid,bared,baracus,banal,bakes,backpacks,attentions,atrocious,ativan,athame,asunder,astound,assuring,aspirins,asphyxiation,ashtrays,aryans,arnon,apprehension,applauding,anvil,antiquing,antidepressants,annoyingly,amputate,altruistic,alotta,alerting,afterthought,affront,affirm,actuality,abysmal,absentee,yeller,yakushova,wuzzy,wriggle,worrier,woogyman,womanizer,windpipe,windbag,willin,whisking,whimsy,wendall,weeny,weensy,weasels,watery,watcha,wasteful,waski,washcloth,waaay,vouched,viznick,ventriloquist,vendettas,veils,vayhue,vamanos,vadimus,upstage,uppity,unsaid,unlocking,unintentionally,undetected,undecided,uncaring,unbearably,tween,tryout,trotting,trini,trimmings,trickier,treatin,treadstone,trashcan,transcendent,tramps,townsfolk,torturous,torrid,toothpicks,tolerable,tireless,tiptoeing,timmay,tillinghouse,tidying,tibia,thumbing,thrusters,thrashing,these'll,thatos,testicular,teriyaki,tenors,tenacity,tellers,telemetry,tarragon,switchblade,swicker,swells,sweatshirts,swatches,surging,supremely,sump'n,succumb,subsidize,stumbles,stuffs,stoppin,stipulate,stenographer,steamroll,stasis,stagger,squandered,splint,splendidly,splashy,splashing,specter,sorcerers,somewheres,somber,snuggled,snowmobile,sniffed,snags,smugglers,smudged,smirking,smearing,slings,sleet,sleepovers,sleek,slackers,siree,siphoning,singed,sincerest,sickened,shuffled,shriveled,shorthanded,shittin,shish,shipwrecked,shins,sheetrock,shawshank,shamu,sha're,servitude,sequins,seascape,scrapings,scoured,scorching,sandpaper,saluting,salud,ruffled,roughnecks,rougher,rosslyn,rosses,roost,roomy,romping,revolutionize,reprimanded,refute,refrigerated,reeled,redundancies,rectal,recklessly,receding,reassignment,reapers,readout,ration,raring,ramblings,raccoons,quarantined,purging,punters,psychically,premarital,pregnancies,predisposed,precautionary,pollute,podunk,plums,plaything,pixilated,pitting,piranhas,pieced,piddles,pickled,photogenic,phosphorous,pffft,pestilence,pessimist,perspiration,perps,penticoff,passageways,pardons,panics,pancamo,paleontologist,overwhelms,overstating,overpaid,overdid,outlive,orthodontist,orgies,oreos,ordover,ordinates,ooooooh,oooohhh,omelettes,officiate,obtuse,obits,nymph,novocaine,noooooooooo,nipping,nilly,nightstick,negate,neatness,natured,narcotic,narcissism,namun,nakatomi,murky,muchacho,mouthwash,motzah,morsel,morph,morlocks,mooch,moloch,molest,mohra,modus,modicum,mockolate,misdemeanors,miscalculation,middies,meringue,mercilessly,meditating,mayakovsky,maximillian,marlee,markovski,maniacal,maneuvered,magnificence,maddening,lutze,lunged,lovelies,lorry,loosening,lookee,littered,lilac,lightened,laces,kurzon,kurtzweil,kind've,kimono,kenji,kembu,keanu,kazuo,jonesing,jilted,jiggling,jewelers,jewbilee,jacqnoud,jacksons,ivories,insurmountable,innocuous,innkeeper,infantery,indulged,indescribable,incoherent,impervious,impertinent,imperfections,hunnert,huffy,horsies,horseradish,hollowed,hogwash,hockley,hissing,hiromitsu,hidin,hereafter,helpmann,hehehe,haughty,happenings,hankie,handsomely,halliwells,haklar,haise,gunsights,grossly,grope,grocer,grits,gripping,grabby,glorificus,gizzard,gilardi,gibarian,geminon,gasses,garnish,galloping,gairwyn,futterman,futility,fumigated,fruitless,friendless,freon,foregone,forego,floored,flighty,flapjacks,fizzled,ficus,festering,farbman,fabricate,eyghon,extricate,exalted,eventful,esophagus,enterprising,entail,endor,emphatically,embarrasses,electroshock,easel,duffle,drumsticks,dissection,dissected,disposing,disparaging,disorientation,disintegrated,disarming,devoting,dessaline,deprecating,deplorable,delve,degenerative,deduct,decomposed,deathly,dearie,daunting,dankova,cyclotron,cyberspace,cutbacks,culpable,cuddled,crumpets,cruelly,crouching,cranium,cramming,cowering,couric,cordesh,conversational,conclusively,clung,clotting,cleanest,chipping,chimpanzee,chests,cheapen,chainsaws,censure,catapult,caravaggio,carats,captivating,calrissian,butlers,busybody,bussing,bunion,bulimic,budging,brung,browbeat,brokenhearted,brecher,breakdowns,bracebridge,boning,blowhard,blisters,blackboard,bigotry,bialy,bhamra,bended,begat,battering,baste,basquiat,barricaded,barometer,balled,baited,badenweiler,backhand,ascenscion,argumentative,appendicitis,apparition,anxiously,antagonistic,angora,anacott,amniotic,ambience,alonna,aleck,akashic,ageless,abouts,aawwww,aaaaarrrrrrggghhh,aaaaaa,zendi,yuppies,yodel,y'hear,wrangle,wombosi,wittle,withstanding,wisecracks,wiggling,wierd,whittlesley,whipper,whattya,whatsamatter,whatchamacallit,whassup,whad'ya,weakling,warfarin,waponis,wampum,wadn't,vorash,vizzini,virtucon,viridiana,veracity,ventilated,varicose,varcon,vandalized,vamos,vamoose,vaccinated,vacationing,usted,urinal,uppers,unwittingly,unsealed,unplanned,unhinged,unhand,unfathomable,unequivocally,unbreakable,unadvisedly,udall,tynacorp,tuxes,tussle,turati,tunic,tsavo,trussed,troublemakers,trollop,tremors,transsexual,transfusions,toothbrushes,toned,toddlers,tinted,tightened,thundering,thorpey,this'd,thespian,thaddius,tenuous,tenths,tenement,telethon,teleprompter,teaspoon,taunted,tattle,tardiness,taraka,tappy,tapioca,tapeworm,talcum,tacks,swivel,swaying,superpower,summarize,sumbitch,sultry,suburbia,styrofoam,stylings,strolls,strobe,stockpile,stewardesses,sterilized,sterilize,stealin,stakeouts,squawk,squalor,squabble,sprinkled,sportsmanship,spokes,spiritus,sparklers,spareribs,sowing,sororities,sonovabitch,solicit,softy,softness,softening,snuggling,snatchers,snarling,snarky,snacking,smears,slumped,slowest,slithering,sleazebag,slayed,slaughtering,skidded,skated,sivapathasundaram,sissies,silliness,silences,sidecar,sicced,shylock,shtick,shrugged,shriek,shoves,should'a,shortcake,shockingly,shirking,shaves,shatner,sharpener,shapely,shafted,sexless,septum,selflessness,seabea,scuff,screwball,scoping,scooch,scolding,schnitzel,schemed,scalper,santy,sankara,sanest,salesperson,sakulos,safehouse,sabers,runes,rumblings,rumbling,ruijven,ringers,righto,rhinestones,retrieving,reneging,remodelling,relentlessly,regurgitate,refills,reeking,reclusive,recklessness,recanted,ranchers,rafer,quaking,quacks,prophesied,propensity,profusely,problema,prided,prays,postmark,popsicles,poodles,pollyanna,polaroids,pokes,poconos,pocketful,plunging,plugging,pleeease,platters,pitied,pinetti,piercings,phooey,phonies,pestering,periscope,pentagram,pelts,patronized,paramour,paralyze,parachutes,pales,paella,paducci,owatta,overdone,overcrowded,overcompensating,ostracized,ordinate,optometrist,operandi,omens,okayed,oedipal,nuttier,nuptial,nunheim,noxious,nourish,notepad,nitroglycerin,nibblet,neuroses,nanosecond,nabbit,mythic,munchkins,multimillion,mulroney,mucous,muchas,mountaintop,morlin,mongorians,moneybags,mom'll,molto,mixup,misgivings,mindset,michalchuk,mesmerized,merman,mensa,meaty,mbwun,materialize,materialistic,masterminded,marginally,mapuhe,malfunctioning,magnify,macnamara,macinerney,machinations,macadamia,lysol,lurks,lovelorn,lopsided,locator,litback,litany,linea,limousines,limes,lighters,liebkind,levity,levelheaded,letterhead,lesabre,leron,lepers,lefts,leftenant,laziness,layaway,laughlan,lascivious,laryngitis,lapsed,landok,laminated,kurten,kobol,knucklehead,knowed,knotted,kirkeby,kinsa,karnovsky,jolla,jimson,jettison,jeric,jawed,jankis,janitors,jango,jalopy,jailbreak,jackers,jackasses,invalidate,intercepting,intercede,insinuations,infertile,impetuous,impaled,immerse,immaterial,imbeciles,imagines,idyllic,idolized,icebox,i'd've,hypochondriac,hyphen,hurtling,hurried,hunchback,hullo,horsting,hoooo,homeboys,hollandaise,hoity,hijinks,hesitates,herrero,herndorff,helplessly,heeyy,heathen,hearin,headband,harrassment,harpies,halstrom,hahahahaha,hacer,grumbling,grimlocks,grift,greets,grandmothers,grander,grafts,gordievsky,gondorff,godorsky,glscripts,gaudy,gardeners,gainful,fuses,fukienese,frizzy,freshness,freshening,fraught,frantically,foxbooks,fortieth,forked,foibles,flunkies,fleece,flatbed,fisted,firefight,fingerpaint,filibuster,fhloston,fenceline,femur,fatigues,fanucci,fantastically,familiars,falafel,fabulously,eyesore,expedient,ewwww,eviscerated,erogenous,epidural,enchante,embarassed,embarass,embalming,elude,elspeth,electrocute,eigth,eggshell,echinacea,eases,earpiece,earlobe,dumpsters,dumbshit,dumbasses,duloc,duisberg,drummed,drinkers,dressy,dorma,doily,divvy,diverting,dissuade,disrespecting,displace,disorganized,disgustingly,discord,disapproving,diligence,didja,diced,devouring,detach,destructing,desolate,demerits,delude,delirium,degrade,deevak,deemesa,deductions,deduce,debriefed,deadbeats,dateline,darndest,damnable,dalliance,daiquiri,d'agosta,cussing,cryss,cripes,cretins,crackerjack,cower,coveting,couriers,countermission,cotswolds,convertibles,conversationalist,consorting,consoled,consarn,confides,confidentially,commited,commiserate,comme,comforter,comeuppance,combative,comanches,colosseum,colling,coexist,coaxing,cliffside,chutes,chucked,chokes,childlike,childhoods,chickening,chenowith,charmingly,changin,catsup,captioning,capsize,cappucino,capiche,candlewell,cakewalk,cagey,caddie,buxley,bumbling,bulky,buggered,brussel,brunettes,brumby,brotha,bronck,brisket,bridegroom,braided,bovary,bookkeeper,bluster,bloodline,blissfully,blase,billionaires,bicker,berrisford,bereft,berating,berate,bendy,belive,belated,beikoku,beens,bedspread,bawdy,barreling,baptize,banya,balthazar,balmoral,bakshi,bails,badgered,backstreet,awkwardly,auras,attuned,atheists,astaire,assuredly,arrivederci,appetit,appendectomy,apologetic,antihistamine,anesthesiologist,amulets,albie,alarmist,aiight,adstream,admirably,acquaint,abound,abominable,aaaaaaah,zekes,zatunica,wussy,worded,wooed,woodrell,wiretap,windowsill,windjammer,windfall,whisker,whims,whatiya,whadya,weirdly,weenies,waunt,washout,wanto,waning,victimless,verdad,veranda,vandaley,vancomycin,valise,vaguest,upshot,unzip,unwashed,untrained,unstuck,unprincipled,unmentionables,unjustly,unfolds,unemployable,uneducated,unduly,undercut,uncovering,unconsciousness,unconsciously,tyndareus,turncoat,turlock,tulle,tryouts,trouper,triplette,trepkos,tremor,treeger,trapeze,traipse,tradeoff,trach,torin,tommorow,tollan,toity,timpani,thumbprint,thankless,tell'em,telepathy,telemarketing,telekinesis,teevee,teeming,tarred,tambourine,talentless,swooped,switcheroo,swirly,sweatpants,sunstroke,suitors,sugarcoat,subways,subterfuge,subservient,subletting,stunningly,strongbox,striptease,stravanavitch,stradling,stoolie,stodgy,stocky,stifle,stealer,squeezes,squatter,squarely,sprouted,spool,spindly,speedos,soups,soundly,soulmates,somebody'll,soliciting,solenoid,sobering,snowflakes,snowballs,snores,slung,slimming,skulk,skivvies,skewered,skewer,sizing,sistine,sidebar,sickos,shushing,shunt,shugga,shone,shol'va,sharpened,shapeshifter,shadowing,shadoe,selectman,sefelt,seared,scrounging,scribbling,scooping,scintillating,schmoozing,scallops,sapphires,sanitarium,sanded,safes,rudely,roust,rosebush,rosasharn,rondell,roadhouse,riveted,rewrote,revamp,retaliatory,reprimand,replicators,replaceable,remedied,relinquishing,rejoicing,reincarnated,reimbursed,reevaluate,redid,redefine,recreating,reconnected,rebelling,reassign,rearview,rayne,ravings,ratso,rambunctious,radiologist,quiver,quiero,queef,qualms,pyrotechnics,pulsating,psychosomatic,proverb,promiscuous,profanity,prioritize,preying,predisposition,precocious,precludes,prattling,prankster,povich,potting,postpartum,porridge,polluting,plowing,pistachio,pissin,pickpocket,physicals,peruse,pertains,personified,personalize,perjured,perfecting,pepys,pepperdine,pembry,peering,peels,pedophile,patties,passkey,paratrooper,paraphernalia,paralyzing,pandering,paltry,palpable,pagers,pachyderm,overstay,overestimated,overbite,outwit,outgrow,outbid,ooops,oomph,oohhh,oldie,obliterate,objectionable,nygma,notting,noches,nitty,nighters,newsstands,newborns,neurosurgery,nauseated,nastiest,narcolepsy,mutilate,muscled,murmur,mulva,mulling,mukada,muffled,morgues,moonbeams,monogamy,molester,molestation,molars,moans,misprint,mismatched,mirth,mindful,mimosas,millander,mescaline,menstrual,menage,mellowing,medevac,meddlesome,matey,manicures,malevolent,madmen,macaroons,lydell,lycra,lunchroom,lunching,lozenges,looped,litigious,liquidate,linoleum,lingk,limitless,limber,lilacs,ligature,liftoff,lemmiwinks,leggo,learnin,lazarre,lawyered,lactose,knelt,kenosha,kemosabe,jussy,junky,jordy,jimmies,jeriko,jakovasaur,issacs,isabela,irresponsibility,ironed,intoxication,insinuated,inherits,ingest,ingenue,inflexible,inflame,inevitability,inedible,inducement,indignant,indictments,indefensible,incomparable,incommunicado,improvising,impounded,illogical,ignoramus,hydrochloric,hydrate,hungover,humorless,humiliations,hugest,hoverdrone,hovel,hmmph,hitchhike,hibernating,henchman,helloooo,heirlooms,heartsick,headdress,hatches,harebrained,hapless,hanen,handsomer,hallows,habitual,guten,gummy,guiltier,guidebook,gstaad,gruff,griss,grieved,grata,gorignak,goosed,goofed,glowed,glitz,glimpses,glancing,gilmores,gianelli,geraniums,garroway,gangbusters,gamblers,galls,fuddy,frumpy,frowning,frothy,fro'tak,frere,fragrances,forgettin,follicles,flowery,flophouse,floatin,flirts,flings,flatfoot,fingerprinting,fingerprinted,fingering,finald,fillet,fianc,femoral,federales,fawkes,fascinates,farfel,fambly,falsified,fabricating,exterminators,expectant,excusez,excrement,excercises,evian,etins,esophageal,equivalency,equate,equalizer,entrees,enquire,endearment,empathetic,emailed,eggroll,earmuffs,dyslexic,duper,duesouth,drunker,druggie,dreadfully,dramatics,dragline,downplay,downers,dominatrix,doers,docket,docile,diversify,distracts,disloyalty,disinterested,discharging,disagreeable,dirtier,dinghy,dimwitted,dimoxinil,dimmy,diatribe,devising,deviate,detriment,desertion,depressants,depravity,deniability,delinquents,defiled,deepcore,deductive,decimate,deadbolt,dauthuille,dastardly,daiquiris,daggers,dachau,curiouser,curdled,cucamonga,cruller,cruces,crosswalk,crinkle,crescendo,cremate,counseled,couches,cornea,corday,copernicus,contrition,contemptible,constipated,conjoined,confounded,condescend,concoct,conch,compensating,committment,commandeered,comely,coddled,cockfight,cluttered,clunky,clownfish,cloaked,clenched,cleanin,civilised,circumcised,cimmeria,cilantro,chutzpah,chucking,chiseled,chicka,chattering,cervix,carrey,carpal,carnations,cappuccinos,candied,calluses,calisthenics,bushy,burners,budington,buchanans,brimming,braids,boycotting,bouncers,botticelli,botherin,bookkeeping,bogyman,bogged,bloodthirsty,blintzes,blanky,binturong,billable,bigboote,bewildered,betas,bequeath,behoove,befriend,bedpost,bedded,baudelaires,barreled,barboni,barbeque,bangin,baltus,bailout,backstabber,baccarat,awning,augie,arguillo,archway,apricots,apologising,annyong,anchorman,amenable,amazement,allspice,alannis,airfare,airbags,ahhhhhhhhh,ahhhhhhhh,ahhhhhhh,agitator,adrenal,acidosis,achoo,accessorizing,accentuate,abrasions,abductor,aaaahhh,aaaaaaaa,aaaaaaa,zeroing,zelner,zeldy,yevgeny,yeska,yellows,yeesh,yeahh,yamuri,wouldn't've,workmanship,woodsman,winnin,winked,wildness,whoring,whitewash,whiney,when're,wheezer,wheelman,wheelbarrow,westerburg,weeding,watermelons,washboard,waltzes,wafting,voulez,voluptuous,vitone,vigilantes,videotaping,viciously,vices,veruca,vermeer,verifying,vasculitis,valets,upholstered,unwavering,untold,unsympathetic,unromantic,unrecognizable,unpredictability,unmask,unleashing,unintentional,unglued,unequivocal,underrated,underfoot,unchecked,unbutton,unbind,unbiased,unagi,uhhhhh,tugging,triads,trespasses,treehorn,traviata,trappers,transplants,trannie,tramping,tracheotomy,tourniquet,tooty,toothless,tomarrow,toasters,thruster,thoughtfulness,thornwood,tengo,tenfold,telltale,telephoto,telephoned,telemarketer,tearin,tastic,tastefully,tasking,taser,tamed,tallow,taketh,taillight,tadpoles,tachibana,syringes,sweated,swarthy,swagger,surges,supermodels,superhighway,sunup,sun'll,sulfa,sugarless,sufficed,subside,strolled,stringy,strengthens,straightest,straightens,storefront,stopper,stockpiling,stimulant,stiffed,steyne,sternum,stepladder,stepbrother,steers,steelheads,steakhouse,stathis,stankylecartmankennymr,standoffish,stalwart,squirted,spritz,sprig,sprawl,spousal,sphincter,spenders,spearmint,spatter,spangled,southey,soured,sonuvabitch,somethng,snuffed,sniffs,smokescreen,smilin,slobs,sleepwalker,sleds,slays,slayage,skydiving,sketched,skanks,sixed,siphoned,siphon,simpering,sigfried,sidearm,siddons,sickie,shuteye,shuffleboard,shrubberies,shrouded,showmanship,shouldn't've,shoplift,shiatsu,sentries,sentance,sensuality,seething,secretions,searing,scuttlebutt,sculpt,scowling,scouring,scorecard,schoolers,schmucks,scepters,scaly,scalps,scaffolding,sauces,sartorius,santen,salivating,sainthood,saget,saddens,rygalski,rusting,ruination,rueland,rudabaga,rottweiler,roofies,romantics,rollerblading,roldy,roadshow,rickets,rible,rheza,revisiting,retentive,resurface,restores,respite,resounding,resorting,resists,repulse,repressing,repaying,reneged,refunds,rediscover,redecorated,reconstructive,recommitted,recollect,receptacle,reassess,reanimation,realtors,razinin,rationalization,ratatouille,rashum,rasczak,rancheros,rampler,quizzing,quips,quartered,purring,pummeling,puede,proximo,prospectus,pronouncing,prolonging,procreation,proclamations,principled,prides,preoccupation,prego,precog,prattle,pounced,potshots,potpourri,porque,pomegranates,polenta,plying,pluie,plesac,playmates,plantains,pillowcase,piddle,pickers,photocopied,philistine,perpetuate,perpetually,perilous,pawned,pausing,pauper,parter,parlez,parlay,pally,ovulation,overtake,overstate,overpowering,overpowered,overconfident,overbooked,ovaltine,outweighs,outings,ottos,orrin,orifice,orangutan,oopsy,ooooooooh,oooooo,ooohhhh,ocular,obstruct,obscenely,o'dwyer,nutjob,nunur,notifying,nostrand,nonny,nonfat,noblest,nimble,nikes,nicht,newsworthy,nestled,nearsighted,ne'er,nastier,narco,nakedness,muted,mummified,mudda,mozzarella,moxica,motivator,motility,mothafucka,mortmain,mortgaged,mores,mongers,mobbed,mitigating,mistah,misrepresented,mishke,misfortunes,misdirection,mischievous,mineshaft,millaney,microwaves,metzenbaum,mccovey,masterful,masochistic,marliston,marijawana,manya,mantumbi,malarkey,magnifique,madrona,madox,machida,m'hidi,lullabies,loveliness,lotions,looka,lompoc,litterbug,litigator,lithe,liquorice,linds,limericks,lightbulb,lewises,letch,lemec,layover,lavatory,laurels,lateness,laparotomy,laboring,kuato,kroff,krispy,krauts,knuckleheads,kitschy,kippers,kimbrow,keypad,keepsake,kebab,karloff,junket,judgemental,jointed,jezzie,jetting,jeeze,jeeter,jeesus,jeebs,janeane,jails,jackhammer,ixnay,irritates,irritability,irrevocable,irrefutable,irked,invoking,intricacies,interferon,intents,insubordinate,instructive,instinctive,inquisitive,inlay,injuns,inebriated,indignity,indecisive,incisors,incacha,inalienable,impresses,impregnate,impregnable,implosion,idolizes,hypothyroidism,hypoglycemic,huseni,humvee,huddling,honing,hobnobbing,hobnob,histrionics,histamine,hirohito,hippocratic,hindquarters,hikita,hikes,hightailed,hieroglyphics,heretofore,herbalist,hehey,hedriks,heartstrings,headmistress,headlight,hardheaded,happend,handlebars,hagitha,habla,gyroscope,guys'd,guy'd,guttersnipe,grump,growed,grovelling,groan,greenbacks,gravedigger,grating,grasshoppers,grandiose,grandest,grafted,gooood,goood,gooks,godsakes,goaded,glamorama,giveth,gingham,ghostbusters,germane,georgy,gazzo,gazelles,gargle,garbled,galgenstein,gaffe,g'day,fyarl,furnish,furies,fulfills,frowns,frowned,frighteningly,freebies,freakishly,forewarned,foreclose,forearms,fordson,fonics,flushes,flitting,flemmer,flabby,fishbowl,fidgeting,fevers,feigning,faxing,fatigued,fathoms,fatherless,fancier,fanatical,factored,eyelid,eyeglasses,expresso,expletive,expectin,excruciatingly,evidentiary,ever'thing,eurotrash,eubie,estrangement,erlich,epitome,entrap,enclose,emphysema,embers,emasculating,eighths,eardrum,dyslexia,duplicitous,dumpty,dumbledore,dufus,duddy,duchamp,drunkenness,drumlin,drowns,droid,drinky,drifts,drawbridge,dramamine,douggie,douchebag,dostoyevsky,doodling,don'tcha,domineering,doings,dogcatcher,doctoring,ditzy,dissimilar,dissecting,disparage,disliking,disintegrating,dishwalla,dishonored,dishing,disengaged,disavowed,dippy,diorama,dimmed,dilate,digitalis,diggory,dicing,diagnosing,devola,desolation,dennings,denials,deliverance,deliciously,delicacies,degenerates,degas,deflector,defile,deference,decrepit,deciphered,dawdle,dauphine,daresay,dangles,dampen,damndest,cucumbers,cucaracha,cryogenically,croaks,croaked,criticise,crisper,creepiest,creams,crackle,crackin,covertly,counterintelligence,corrosive,cordially,cops'll,convulsions,convoluted,conversing,conga,confrontational,confab,condolence,condiments,complicit,compiegne,commodus,comings,cometh,collusion,collared,cockeyed,clobber,clemonds,clarithromycin,cienega,christmasy,christmassy,chloroform,chippie,chested,cheeco,checklist,chauvinist,chandlers,chambermaid,chakras,cellophane,caveat,cataloguing,cartmanland,carples,carny,carded,caramels,cappy,caped,canvassing,callback,calibrated,calamine,buttermilk,butterfingers,bunsen,bulimia,bukatari,buildin,budged,brobich,bringer,brendell,brawling,bratty,braised,boyish,boundless,botch,boosh,bookies,bonbons,bodes,bobunk,bluntly,blossoming,bloomers,bloodstains,bloodhounds,blech,biter,biometric,bioethics,bijan,bigoted,bicep,bereaved,bellowing,belching,beholden,beached,batmobile,barcodes,barch,barbecuing,bandanna,backwater,backtrack,backdraft,augustino,atrophy,atrocity,atley,atchoo,asthmatic,assoc,armchair,arachnids,aptly,appetizing,antisocial,antagonizing,anorexia,anini,andersons,anagram,amputation,alleluia,airlock,aimless,agonized,agitate,aggravating,aerosol,acing,accomplishing,accidently,abuser,abstain,abnormally,aberration,aaaaahh,zlotys,zesty,zerzura,zapruder,zantopia,yelburton,yeess,y'knowwhati'msayin,wwhat,wussies,wrenched,would'a,worryin,wormser,wooooo,wookiee,wolchek,wishin,wiseguys,windbreaker,wiggy,wieners,wiedersehen,whoopin,whittled,wherefore,wharvey,welts,wellstone,wedges,wavered,watchit,wastebasket,wango,waken,waitressed,wacquiem,vrykolaka,voula,vitally,visualizing,viciousness,vespers,vertes,verily,vegetarians,vater,vaporize,vannacutt,vallens,ussher,urinating,upping,unwitting,untangle,untamed,unsanitary,unraveled,unopened,unisex,uninvolved,uninteresting,unintelligible,unimaginative,undeserving,undermines,undergarments,unconcerned,tyrants,typist,tykes,tybalt,twosome,twits,tutti,turndown,tularemia,tuberculoma,tsimshian,truffaut,truer,truant,trove,triumphed,tripe,trigonometry,trifled,trifecta,tribulations,tremont,tremoille,transcends,trafficker,touchin,tomfoolery,tinkered,tinfoil,tightrope,thousan,thoracotomy,thesaurus,thawing,thatta,tessio,temps,taxidermist,tator,tachycardia,t'akaya,swelco,sweetbreads,swatting,supercollider,sunbathing,summarily,suffocation,sueleen,succinct,subsided,submissive,subjecting,subbing,subatomic,stupendous,stunted,stubble,stubbed,streetwalker,strategizing,straining,straightaway,stoli,stiffer,stickup,stens,steamroller,steadwell,steadfast,stateroom,stans,sshhhh,squishing,squinting,squealed,sprouting,sprimp,spreadsheets,sprawled,spotlights,spooning,spirals,speedboat,spectacles,speakerphone,southglen,souse,soundproof,soothsayer,sommes,somethings,solidify,soars,snorted,snorkeling,snitches,sniping,snifter,sniffin,snickering,sneer,snarl,smila,slinking,slanted,slanderous,slammin,skimp,skilosh,siteid,sirloin,singe,sighing,sidekicks,sicken,showstopper,shoplifter,shimokawa,sherborne,shavadai,sharpshooters,sharking,shagged,shaddup,senorita,sesterces,sensuous,seahaven,scullery,scorcher,schotzie,schnoz,schmooze,schlep,schizo,scents,scalping,scalped,scallop,scalding,sayeth,saybrooke,sawed,savoring,sardine,sandstorm,sandalwood,salutations,sagman,s'okay,rsvp'd,rousted,rootin,romper,romanovs,rollercoaster,rolfie,robinsons,ritzy,ritualistic,ringwald,rhymed,rheingold,rewrites,revoking,reverts,retrofit,retort,retinas,respirations,reprobate,replaying,repaint,renquist,renege,relapsing,rekindled,rejuvenating,rejuvenated,reinstating,recriminations,rechecked,reassemble,rears,reamed,reacquaint,rayanne,ravish,rathole,raspail,rarest,rapists,rants,racketeer,quittin,quitters,quintessential,queremos,quellek,quelle,quasimodo,pyromaniac,puttanesca,puritanical,purer,puree,pungent,pummel,puedo,psychotherapist,prosecutorial,prosciutto,propositioning,procrastination,probationary,primping,preventative,prevails,preservatives,preachy,praetorians,practicality,powders,potus,postop,positives,poser,portolano,portokalos,poolside,poltergeists,pocketed,poach,plummeted,plucking,plimpton,playthings,plastique,plainclothes,pinpointed,pinkus,pinks,pigskin,piffle,pictionary,piccata,photocopy,phobias,perignon,perfumes,pecks,pecked,patently,passable,parasailing,paramus,papier,paintbrush,pacer,paaiint,overtures,overthink,overstayed,overrule,overestimate,overcooked,outlandish,outgrew,outdoorsy,outdo,orchestrate,oppress,opposable,oooohh,oomupwah,okeydokey,okaaay,ohashi,of'em,obscenities,oakie,o'gar,nurection,nostradamus,norther,norcom,nooch,nonsensical,nipped,nimbala,nervously,neckline,nebbleman,narwhal,nametag,n'n't,mycenae,muzak,muumuu,mumbled,mulvehill,muggings,muffet,mouthy,motivates,motaba,moocher,mongi,moley,moisturize,mohair,mocky,mmkay,mistuh,missis,misdeeds,mincemeat,miggs,miffed,methadone,messieur,menopausal,menagerie,mcgillicuddy,mayflowers,matrimonial,matick,masai,marzipan,maplewood,manzelle,mannequins,manhole,manhandle,malfunctions,madwoman,machiavelli,lynley,lynched,lurconis,lujack,lubricant,looove,loons,loofah,lonelyhearts,lollipops,lineswoman,lifers,lexter,lepner,lemony,leggy,leafy,leadeth,lazerus,lazare,lawford,languishing,lagoda,ladman,kundera,krinkle,krendler,kreigel,kowolski,knockdown,knifed,kneed,kneecap,kids'll,kennie,kenmore,keeled,kazootie,katzenmoyer,kasdan,karak,kapowski,kakistos,julyan,jockstrap,jobless,jiggly,jaunt,jarring,jabbering,irrigate,irrevocably,irrationally,ironies,invitro,intimated,intently,intentioned,intelligently,instill,instigator,instep,inopportune,innuendoes,inflate,infects,infamy,indiscretions,indiscreet,indio,indignities,indict,indecision,inconspicuous,inappropriately,impunity,impudent,impotence,implicates,implausible,imperfection,impatience,immutable,immobilize,idealist,iambic,hysterically,hyperspace,hygienist,hydraulics,hydrated,huzzah,husks,hunched,huffed,hubris,hubbub,hovercraft,houngan,hosed,horoscopes,hopelessness,hoodwinked,honorably,honeysuckle,homegirl,holiest,hippity,hildie,hieroglyphs,hexton,herein,heckle,heaping,healthilizer,headfirst,hatsue,harlot,hardwired,halothane,hairstyles,haagen,haaaaa,gutting,gummi,groundless,groaning,gristle,grills,graynamore,grabbin,goodes,goggle,glittering,glint,gleaming,glassy,girth,gimbal,giblets,gellers,geezers,geeze,garshaw,gargantuan,garfunkel,gangway,gandarium,gamut,galoshes,gallivanting,gainfully,gachnar,fusionlips,fusilli,furiously,frugal,fricking,frederika,freckling,frauds,fountainhead,forthwith,forgo,forgettable,foresight,foresaw,fondling,fondled,fondle,folksy,fluttering,fluffing,floundering,flirtatious,flexing,flatterer,flaring,fixating,finchy,figurehead,fiendish,fertilize,ferment,fending,fellahs,feelers,fascinate,fantabulous,falsify,fallopian,faithless,fairer,fainter,failings,facetious,eyepatch,exxon,extraterrestrials,extradite,extracurriculars,extinguish,expunged,expelling,exorbitant,exhilarated,exertion,exerting,excercise,everbody,evaporated,escargot,escapee,erases,epizootics,epithelials,ephrum,entanglements,enslave,engrossed,emphatic,emeralds,ember,emancipated,elevates,ejaculate,effeminate,eccentricities,easygoing,earshot,dunks,dullness,dulli,dulled,drumstick,dropper,driftwood,dregs,dreck,dreamboat,draggin,downsizing,donowitz,dominoes,diversions,distended,dissipate,disraeli,disqualify,disowned,dishwashing,disciplining,discerning,disappoints,dinged,digested,dicking,detonating,despising,depressor,depose,deport,dents,defused,deflecting,decryption,decoys,decoupage,decompress,decibel,decadence,deafening,dawning,dater,darkened,dappy,dallying,dagon,czechoslovakians,cuticles,cuteness,cupboards,culottes,cruisin,crosshairs,cronyn,criminalistics,creatively,creaming,crapping,cranny,cowed,contradicting,constipation,confining,confidences,conceiving,conceivably,concealment,compulsively,complainin,complacent,compels,communing,commode,comming,commensurate,columnists,colonoscopy,colchicine,coddling,clump,clubbed,clowning,cliffhanger,clang,cissy,choosers,choker,chiffon,channeled,chalet,cellmates,cathartic,caseload,carjack,canvass,canisters,candlestick,candlelit,camry,calzones,calitri,caldy,byline,butterball,bustier,burlap,bureaucrat,buffoons,buenas,brookline,bronzed,broiled,broda,briss,brioche,briar,breathable,brays,brassieres,boysenberry,bowline,boooo,boonies,booklets,bookish,boogeyman,boogey,bogas,boardinghouse,bluuch,blundering,bluer,blowed,blotchy,blossomed,bloodwork,bloodied,blithering,blinks,blathering,blasphemous,blacking,birdson,bings,bfmid,bfast,bettin,berkshires,benjamins,benevolence,benched,benatar,bellybutton,belabor,behooves,beddy,beaujolais,beattle,baxworth,baseless,barfing,bannish,bankrolled,banek,ballsy,ballpoint,baffling,badder,badda,bactine,backgammon,baako,aztreonam,authoritah,auctioning,arachtoids,apropos,aprons,apprised,apprehensive,anythng,antivenin,antichrist,anorexic,anoint,anguished,angioplasty,angio,amply,ampicillin,amphetamines,alternator,alcove,alabaster,airlifted,agrabah,affidavits,admonished,admonish,addled,addendum,accuser,accompli,absurdity,absolved,abrusso,abreast,aboot,abductions,abducting,aback,ababwa,aaahhhh,zorin,zinthar,zinfandel,zillions,zephyrs,zatarcs,zacks,youuu,yokels,yardstick,yammer,y'understand,wynette,wrung,wreaths,wowed,wouldn'ta,worming,wormed,workday,woodsy,woodshed,woodchuck,wojadubakowski,withering,witching,wiseass,wiretaps,wining,willoby,wiccaning,whupped,whoopi,whoomp,wholesaler,whiteness,whiner,whatchya,wharves,wenus,weirdoes,weaning,watusi,waponi,waistband,wackos,vouching,votre,vivica,viveca,vivant,vivacious,visor,visitin,visage,vicrum,vetted,ventriloquism,venison,varnsen,vaporized,vapid,vanstock,uuuuh,ushering,urologist,urination,upstart,uprooted,unsubtitled,unspoiled,unseat,unseasonably,unseal,unsatisfying,unnerve,unlikable,unleaded,uninsured,uninspired,unicycle,unhooked,unfunny,unfreezing,unflattering,unfairness,unexpressed,unending,unencumbered,unearth,undiscovered,undisciplined,understan,undershirt,underlings,underline,undercurrent,uncivilized,uncharacteristic,umpteenth,uglies,tuney,trumps,truckasaurus,trubshaw,trouser,tringle,trifling,trickster,trespassers,trespasser,traumas,trattoria,trashes,transgressions,trampling,tp'ed,toxoplasmosis,tounge,tortillas,topsy,topple,topnotch,tonsil,tions,timmuh,timithious,tilney,tighty,tightness,tightens,tidbits,ticketed,thyme,threepio,thoughtfully,thorkel,thommo,thing'll,thefts,that've,thanksgivings,tetherball,testikov,terraforming,tepid,tendonitis,tenboom,telex,teenybopper,tattered,tattaglias,tanneke,tailspin,tablecloth,swooping,swizzle,swiping,swindled,swilling,swerving,sweatshops,swaddling,swackhammer,svetkoff,supossed,superdad,sumptuous,sugary,sugai,subvert,substantiate,submersible,sublimating,subjugation,stymied,strychnine,streetlights,strassmans,stranglehold,strangeness,straddling,straddle,stowaways,stotch,stockbrokers,stifling,stepford,steerage,steena,statuary,starlets,staggeringly,ssshhh,squaw,spurt,spungeon,spritzer,sprightly,sprays,sportswear,spoonful,splittin,splitsville,speedily,specialise,spastic,sparrin,souvlaki,southie,sourpuss,soupy,soundstage,soothes,somebody'd,softest,sociopathic,socialized,snyders,snowmobiles,snowballed,snatches,smugness,smoothest,smashes,sloshed,sleight,skyrocket,skied,skewed,sixpence,sipowicz,singling,simulates,shyness,shuvanis,showoff,shortsighted,shopkeeper,shoehorn,shithouse,shirtless,shipshape,shifu,shelve,shelbyville,sheepskin,sharpens,shaquille,shanshu,servings,sequined,seizes,seashells,scrambler,scopes,schnauzer,schmo,schizoid,scampered,savagely,saudis,santas,sandovals,sanding,saleswoman,sagging,s'cuse,rutting,ruthlessly,runneth,ruffians,rubes,rosalita,rollerblades,rohypnol,roasts,roadies,ritten,rippling,ripples,rigoletto,richardo,rethought,reshoot,reserving,reseda,rescuer,reread,requisitions,repute,reprogram,replenish,repetitious,reorganizing,reinventing,reinvented,reheat,refrigerators,reenter,recruiter,recliner,rawdy,rashes,rajeski,raison,raisers,rages,quinine,questscape,queller,pygmalion,pushers,pusan,purview,pumpin,pubescent,prudes,provolone,propriety,propped,procrastinate,processional,preyed,pretrial,portent,pooling,poofy,polloi,policia,poacher,pluses,pleasuring,platitudes,plateaued,plaguing,pittance,pinheads,pincushion,pimply,pimped,piggyback,piecing,phillipe,philipse,philby,pharaohs,petyr,petitioner,peshtigo,pesaram,persnickety,perpetrate,percolating,pepto,penne,penell,pemmican,peeks,pedaling,peacemaker,pawnshop,patting,pathologically,patchouli,pasts,pasties,passin,parlors,paltrow,palamon,padlock,paddling,oversleep,overheating,overdosed,overcharge,overblown,outrageously,ornery,opportune,oooooooooh,oohhhh,ohhhhhh,ogres,odorless,obliterated,nyong,nymphomaniac,ntozake,novocain,nough,nonnie,nonissue,nodules,nightmarish,nightline,niceties,newsman,needra,nedry,necking,navour,nauseam,nauls,narim,namath,nagged,naboo,n'sync,myslexia,mutator,mustafi,musketeer,murtaugh,murderess,munching,mumsy,muley,mouseville,mortifying,morgendorffers,moola,montel,mongoloid,molestered,moldings,mocarbies,mo'ss,mixers,misrell,misnomer,misheard,mishandled,miscreant,misconceptions,miniscule,millgate,mettle,metricconverter,meteors,menorah,mengele,melding,meanness,mcgruff,mcarnold,matzoh,matted,mastectomy,massager,marveling,marooned,marmaduke,marick,manhandled,manatees,man'll,maltin,maliciously,malfeasance,malahide,maketh,makeovers,maiming,machismo,lumpectomy,lumbering,lucci,lording,lorca,lookouts,loogie,loners,loathed,lissen,lighthearted,lifer,lickin,lewen,levitation,lestercorp,lessee,lentils,legislate,legalizing,lederhosen,lawmen,lasskopf,lardner,lambeau,lamagra,ladonn,lactic,lacquer,labatier,krabappel,kooks,knickknacks,klutzy,kleynach,klendathu,kinross,kinkaid,kind'a,ketch,kesher,karikos,karenina,kanamits,junshi,jumbled,joust,jotted,jobson,jingling,jigalong,jerries,jellies,jeeps,javna,irresistable,internist,intercranial,inseminated,inquisitor,infuriate,inflating,infidelities,incessantly,incensed,incase,incapacitate,inasmuch,inaccuracies,imploding,impeding,impediments,immaturity,illegible,iditarod,icicles,ibuprofen,i'i'm,hymie,hydrolase,hunker,humps,humons,humidor,humdinger,humbling,huggin,huffing,housecleaning,hothouse,hotcakes,hosty,hootenanny,hootchie,hoosegow,honks,honeymooners,homily,homeopathic,hitchhikers,hissed,hillnigger,hexavalent,hewwo,hershe,hermey,hergott,henny,hennigans,henhouse,hemolytic,helipad,heifer,hebrews,hebbing,heaved,headlock,harrowing,harnessed,hangovers,handi,handbasket,halfrek,hacene,gyges,guys're,gundersons,gumption,gruntmaster,grubs,grossie,groped,grins,greaseball,gravesite,gratuity,granma,grandfathers,grandbaby,gradski,gracing,gossips,gooble,goners,golitsyn,gofer,godsake,goddaughter,gnats,gluing,glares,givers,ginza,gimmie,gimmee,gennero,gemme,gazpacho,gazed,gassy,gargling,gandhiji,galvanized,gallbladder,gaaah,furtive,fumigation,fucka,fronkonsteen,frills,freezin,freewald,freeloader,frailty,forger,foolhardy,fondest,fomin,followin,follicle,flotation,flopping,floodgates,flogged,flicked,flenders,fleabag,fixings,fixable,fistful,firewater,firelight,fingerbang,finalizing,fillin,filipov,fiderer,felling,feldberg,feign,faunia,fatale,farkus,fallible,faithfulness,factoring,eyeful,extramarital,exterminated,exhume,exasperated,eviscerate,estoy,esmerelda,escapades,epoxy,enticed,enthused,entendre,engrossing,endorphins,emptive,emmys,eminently,embezzler,embarressed,embarrassingly,embalmed,eludes,eling,elated,eirie,egotitis,effecting,eerily,eecom,eczema,earthy,earlobes,eally,dyeing,dwells,duvet,duncans,dulcet,droves,droppin,drools,drey'auc,downriver,domesticity,dollop,doesnt,dobler,divulged,diversionary,distancing,dispensers,disorienting,disneyworld,dismissive,disingenuous,disheveled,disfiguring,dinning,dimming,diligently,dilettante,dilation,dickensian,diaphragms,devastatingly,destabilize,desecrate,deposing,deniece,demony,delving,delicates,deigned,defraud,deflower,defibrillator,defiantly,defenceless,defacing,deconstruction,decompose,deciphering,decibels,deceptively,deceptions,decapitation,debutantes,debonair,deadlier,dawdling,davic,darwinism,darnit,darks,danke,danieljackson,dangled,cytoxan,cutout,cutlery,curveball,curfews,cummerbund,crunches,crouched,crisps,cripples,crilly,cribs,crewman,creepin,creeds,credenza,creak,crawly,crawlin,crawlers,crated,crackheads,coworker,couldn't've,corwins,coriander,copiously,convenes,contraceptives,contingencies,contaminating,conniption,condiment,concocting,comprehending,complacency,commendatore,comebacks,com'on,collarbone,colitis,coldly,coiffure,coffers,coeds,codependent,cocksucking,cockney,cockles,clutched,closeted,cloistered,cleve,cleats,clarifying,clapped,cinnabar,chunnel,chumps,cholinesterase,choirboy,chocolatey,chlamydia,chigliak,cheesie,chauvinistic,chasm,chartreuse,charo,charnier,chapil,chalked,chadway,certifiably,cellulite,celled,cavalcade,cataloging,castrated,cassio,cashews,cartouche,carnivore,carcinogens,capulet,captivated,capt'n,cancellations,campin,callate,callar,caffeinated,cadavers,cacophony,cackle,buzzes,buttoning,busload,burglaries,burbs,buona,bunions,bullheaded,buffs,bucyk,buckling,bruschetta,browbeating,broomsticks,broody,bromly,brolin,briefings,brewskies,breathalyzer,breakups,bratwurst,brania,braiding,brags,braggin,bradywood,bottomed,bossa,bordello,bookshelf,boogida,bondsman,bolder,boggles,bludgeoned,blowtorch,blotter,blips,blemish,bleaching,blainetologists,blading,blabbermouth,birdseed,bimmel,biloxi,biggly,bianchinni,betadine,berenson,belus,belloq,begets,befitting,beepers,beelzebub,beefed,bedridden,bedevere,beckons,beaded,baubles,bauble,battleground,bathrobes,basketballs,basements,barroom,barnacle,barkin,barked,baretta,bangles,bangler,banality,bambang,baltar,ballplayers,bagman,baffles,backroom,babysat,baboons,averse,audiotape,auctioneer,atten,atcha,astonishment,arugula,arroz,antihistamines,annoyances,anesthesiology,anatomically,anachronism,amiable,amaretto,allahu,alight,aimin,ailment,afterglow,affronte,advil,adrenals,actualization,acrost,ached,accursed,accoutrements,absconded,aboveboard,abetted,aargh,aaaahh,zuwicky,zolda,ziploc,zakamatak,youve,yippie,yesterdays,yella,yearns,yearnings,yearned,yawning,yalta,yahtzee,y'mean,y'are,wuthering,wreaks,worrisome,workiiing,wooooooo,wonky,womanizing,wolodarsky,wiwith,withdraws,wishy,wisht,wipers,wiper,winos,windthorne,windsurfing,windermere,wiggled,wiggen,whwhat,whodunit,whoaaa,whittling,whitesnake,whereof,wheezing,wheeze,whatd'ya,whataya,whammo,whackin,wellll,weightless,weevil,wedgies,webbing,weasly,wayside,waxes,waturi,washy,washrooms,wandell,waitaminute,waddya,waaaah,vornac,vishnoor,virulent,vindictiveness,vinceres,villier,vigeous,vestigial,ventilate,vented,venereal,veering,veered,veddy,vaslova,valosky,vailsburg,vaginas,vagas,urethra,upstaged,uploading,unwrapping,unwieldy,untapped,unsatisfied,unquenchable,unnerved,unmentionable,unlovable,unknowns,uninformed,unimpressed,unhappily,unguarded,unexplored,undergarment,undeniably,unclench,unclaimed,uncharacteristically,unbuttoned,unblemished,ululd,uhhhm,tweeze,tutsami,tushy,tuscarora,turkle,turghan,turbinium,tubers,trucoat,troxa,tropicana,triquetra,trimmers,triceps,trespassed,traya,traumatizing,transvestites,trainors,tradin,trackers,townies,tourelles,toucha,tossin,tortious,topshop,topes,tonics,tongs,tomsk,tomorrows,toiling,toddle,tizzy,tippers,timmi,thwap,thusly,ththe,thrusts,throwers,throwed,throughway,thickening,thermonuclear,thelwall,thataway,terrifically,tendons,teleportation,telepathically,telekinetic,teetering,teaspoons,tarantulas,tapas,tanned,tangling,tamales,tailors,tahitian,tactful,tachy,tablespoon,syrah,synchronicity,synch,synapses,swooning,switchman,swimsuits,sweltering,sweetly,suvolte,suslov,surfed,supposition,suppertime,supervillains,superfluous,superego,sunspots,sunning,sunless,sundress,suckah,succotash,sublevel,subbasement,studious,striping,strenuously,straights,stonewalled,stillness,stilettos,stevesy,steno,steenwyck,stargates,stammering,staedert,squiggly,squiggle,squashing,squaring,spreadsheet,spramp,spotters,sporto,spooking,splendido,spittin,spirulina,spiky,spate,spartacus,spacerun,soonest,something'll,someth,somepin,someone'll,sofas,soberly,sobered,snowmen,snowbank,snowballing,snivelling,sniffling,snakeskin,snagging,smush,smooter,smidgen,smackers,slumlord,slossum,slimmer,slighted,sleepwalk,sleazeball,skokie,skeptic,sitarides,sistah,sipped,sindell,simpletons,simony,silkwood,silks,silken,sightless,sideboard,shuttles,shrugging,shrouds,showy,shoveled,shouldn'ta,shoplifters,shitstorm,sheeny,shapetype,shaming,shallows,shackle,shabbily,shabbas,seppuku,senility,semite,semiautomatic,selznick,secretarial,sebacio,scuzzy,scummy,scrutinized,scrunchie,scribbled,scotches,scolded,scissor,schlub,scavenging,scarin,scarfing,scallions,scald,savour,savored,saute,sarcoidosis,sandbar,saluted,salish,saith,sailboats,sagittarius,sacre,saccharine,sacamano,rushdie,rumpled,rumba,rulebook,rubbers,roughage,rotisserie,rootie,roofy,roofie,romanticize,rittle,ristorante,rippin,rinsing,ringin,rincess,rickety,reveling,retest,retaliating,restorative,reston,restaurateur,reshoots,resetting,resentments,reprogramming,repossess,repartee,renzo,remore,remitting,remeber,relaxants,rejuvenate,rejections,regenerated,refocus,referrals,reeno,recycles,recrimination,reclining,recanting,reattach,reassigning,razgul,raved,rattlesnakes,rattles,rashly,raquetball,ransack,raisinettes,raheem,radisson,radishes,raban,quoth,qumari,quints,quilts,quilting,quien,quarreled,purty,purblind,punchbowl,publically,psychotics,psychopaths,psychoanalyze,pruning,provasik,protectin,propping,proportioned,prophylactic,proofed,prompter,procreate,proclivities,prioritizing,prinze,pricked,press'll,presets,prescribes,preocupe,prejudicial,prefex,preconceived,precipice,pralines,pragmatist,powerbar,pottie,pottersville,potsie,potholes,posses,posies,portkey,porterhouse,pornographers,poring,poppycock,poppers,pomponi,pokin,poitier,podiatry,pleeze,pleadings,playbook,platelets,plane'arium,placebos,place'll,pistachios,pirated,pinochle,pineapples,pinafore,pimples,piggly,piddling,picon,pickpockets,picchu,physiologically,physic,phobic,philandering,phenomenally,pheasants,pewter,petticoat,petronis,petitioning,perturbed,perpetuating,permutat,perishable,perimeters,perfumed,percocet,per'sus,pepperjack,penalize,pelting,pellet,peignoir,pedicures,peckers,pecans,pawning,paulsson,pattycake,patrolmen,patois,pathos,pasted,parishioner,parcheesi,parachuting,papayas,pantaloons,palpitations,palantine,paintballing,overtired,overstress,oversensitive,overnights,overexcited,overanxious,overachiever,outwitted,outvoted,outnumber,outlast,outlander,out've,orphey,orchestrating,openers,ooooooo,okies,ohhhhhhhhh,ohhhhhhhh,ogling,offbeat,obsessively,obeyed,o'hana,o'bannon,o'bannion,numpce,nummy,nuked,nuances,nourishing,nosedive,norbu,nomlies,nomine,nixed,nihilist,nightshift,newmeat,neglectful,neediness,needin,naphthalene,nanocytes,nanite,naivete,n'yeah,mystifying,myhnegon,mutating,musing,mulled,muggy,muerto,muckraker,muchachos,mountainside,motherless,mosquitos,morphed,mopped,moodoo,moncho,mollem,moisturiser,mohicans,mocks,mistresses,misspent,misinterpretation,miscarry,minuses,mindee,mimes,millisecond,milked,mightn't,mightier,mierzwiak,microchips,meyerling,mesmerizing,mershaw,meecrob,medicate,meddled,mckinnons,mcgewan,mcdunnough,mcats,mbien,matzah,matriarch,masturbated,masselin,martialed,marlboros,marksmanship,marinate,marchin,manicured,malnourished,malign,majorek,magnon,magnificently,macking,machiavellian,macdougal,macchiato,macaws,macanaw,m'self,lydells,lusts,lucite,lubricants,lopper,lopped,loneliest,lonelier,lomez,lojack,loath,liquefy,lippy,limps,likin,lightness,liesl,liebchen,licious,libris,libation,lhamo,leotards,leanin,laxatives,lavished,latka,lanyard,lanky,landmines,lameness,laddies,lacerated,labored,l'amour,kreskin,kovitch,kournikova,kootchy,konoss,knknow,knickety,knackety,kmart,klicks,kiwanis,kissable,kindergartners,kilter,kidnet,kid'll,kicky,kickbacks,kickback,kholokov,kewpie,kendo,katra,kareoke,kafelnikov,kabob,junjun,jumba,julep,jordie,jondy,jolson,jenoff,jawbone,janitorial,janiro,ipecac,invigorated,intruded,intros,intravenously,interruptus,interrogations,interject,interfacing,interestin,insuring,instilled,insensitivity,inscrutable,inroads,innards,inlaid,injector,ingratitude,infuriates,infra,infliction,indelicate,incubators,incrimination,inconveniencing,inconsolable,incestuous,incas,incarcerate,inbreeding,impudence,impressionists,impeached,impassioned,imipenem,idling,idiosyncrasies,icebergs,hypotensive,hydrochloride,hushed,humus,humph,hummm,hulking,hubcaps,hubald,howya,howbout,how'll,housebroken,hotwire,hotspots,hotheaded,horrace,hopsfield,honto,honkin,honeymoons,homewrecker,hombres,hollers,hollerin,hoedown,hoboes,hobbling,hobble,hoarse,hinky,highlighters,hexes,heru'ur,hernias,heppleman,hell're,heighten,heheheheheh,heheheh,hedging,heckling,heckled,heavyset,heatshield,heathens,heartthrob,headpiece,hayseed,haveo,hauls,hasten,harridan,harpoons,hardens,harcesis,harbouring,hangouts,halkein,haleh,halberstam,hairnet,hairdressers,hacky,haaaa,h'yah,gusta,gushy,gurgling,guilted,gruel,grudging,grrrrrr,grosses,groomsmen,griping,gravest,gratified,grated,goulash,goopy,goona,goodly,godliness,godawful,godamn,glycerin,glutes,glowy,globetrotters,glimpsed,glenville,glaucoma,girlscout,giraffes,gilbey,gigglepuss,ghora,gestating,gelato,geishas,gearshift,gayness,gasped,gaslighting,garretts,garba,gablyczyck,g'head,fumigating,fumbling,fudged,fuckwad,fuck're,fuchsia,fretting,freshest,frenchies,freezers,fredrica,fraziers,fraidy,foxholes,fourty,fossilized,forsake,forfeits,foreclosed,foreal,footsies,florists,flopped,floorshow,floorboard,flinching,flecks,flaubert,flatware,flatulence,flatlined,flashdance,flail,flagging,fiver,fitzy,fishsticks,finetti,finelli,finagle,filko,fieldstone,fibber,ferrini,feedin,feasting,favore,fathering,farrouhk,farmin,fairytale,fairservice,factoid,facedown,fabled,eyeballin,extortionist,exquisitely,expedited,exorcise,existentialist,execs,exculpatory,exacerbate,everthing,eventuality,evander,euphoric,euphemisms,estamos,erred,entitle,enquiries,enormity,enfants,endive,encyclopedias,emulating,embittered,effortless,ectopic,ecirc,easely,earphones,earmarks,dweller,durslar,durned,dunois,dunking,dunked,dumdum,dullard,dudleys,druthers,druggist,drossos,drooled,driveways,drippy,dreamless,drawstring,drang,drainpipe,dozing,dotes,dorkface,doorknobs,doohickey,donnatella,doncha,domicile,dokos,dobermans,dizzying,divola,ditsy,distaste,disservice,dislodged,dislodge,disinherit,disinformation,discounting,dinka,dimly,digesting,diello,diddling,dictatorships,dictators,diagnostician,devours,devilishly,detract,detoxing,detours,detente,destructs,desecrated,derris,deplore,deplete,demure,demolitions,demean,delish,delbruck,delaford,degaulle,deftly,deformity,deflate,definatly,defector,decrypted,decontamination,decapitate,decanter,dardis,dampener,damme,daddy'll,dabbling,dabbled,d'etre,d'argent,d'alene,d'agnasti,czechoslovakian,cymbal,cyberdyne,cutoffs,cuticle,curvaceous,curiousity,crowing,crowed,croutons,cropped,criminy,crescentis,crashers,cranwell,coverin,courtrooms,countenance,cosmically,cosign,corroboration,coroners,cornflakes,copperpot,copperhead,copacetic,coordsize,convulsing,consults,conjures,congenial,concealer,compactor,commercialism,cokey,cognizant,clunkers,clumsily,clucking,cloves,cloven,cloths,clothe,clods,clocking,clings,clavicle,classless,clashing,clanking,clanging,clamping,civvies,citywide,circulatory,circuited,chronisters,chromic,choos,chloroformed,chillun,cheesed,chatterbox,chaperoned,channukah,cerebellum,centerpieces,centerfold,ceecee,ccedil,cavorting,cavemen,cauterized,cauldwell,catting,caterine,cassiopeia,carves,cartwheel,carpeted,carob,caressing,carelessly,careening,capricious,capitalistic,capillaries,candidly,camaraderie,callously,calfskin,caddies,buttholes,busywork,busses,burps,burgomeister,bunkhouse,bungchow,bugler,buffets,buffed,brutish,brusque,bronchitis,bromden,brolly,broached,brewskis,brewin,brean,breadwinner,brana,bountiful,bouncin,bosoms,borgnine,bopping,bootlegs,booing,bombosity,bolting,boilerplate,bluey,blowback,blouses,bloodsuckers,bloodstained,bloat,bleeth,blackface,blackest,blackened,blacken,blackballed,blabs,blabbering,birdbrain,bipartisanship,biodegradable,biltmore,bilked,big'uns,bidet,besotted,bernheim,benegas,bendiga,belushi,bellboys,belittling,behinds,begone,bedsheets,beckoning,beaute,beaudine,beastly,beachfront,bathes,batak,baser,baseballs,barbella,bankrolling,bandaged,baerly,backlog,backin,babying,azkaban,awwwww,aviary,authorizes,austero,aunty,attics,atreus,astounded,astonish,artemus,arses,arintero,appraiser,apathetic,anybody'd,anxieties,anticlimactic,antar,anglos,angleman,anesthetist,androscoggin,andolini,andale,amway,amuck,amniocentesis,amnesiac,americano,amara,alvah,altruism,alternapalooza,alphabetize,alpaca,allus,allergist,alexandros,alaikum,akimbo,agoraphobia,agides,aggrhh,aftertaste,adoptions,adjuster,addictions,adamantium,activator,accomplishes,aberrant,aaaaargh,aaaaaaaaaaaaa,a'ight,zzzzzzz,zucchini,zookeeper,zirconia,zippers,zequiel,zellary,zeitgeist,zanuck,zagat,you'n,ylang,yes'm,yenta,yecchh,yecch,yawns,yankin,yahdah,yaaah,y'got,xeroxed,wwooww,wristwatch,wrangled,wouldst,worthiness,worshiping,wormy,wormtail,wormholes,woosh,wollsten,wolfing,woefully,wobbling,wintry,wingding,windstorm,windowtext,wiluna,wilting,wilted,willick,willenholly,wildflowers,wildebeest,whyyy,whoppers,whoaa,whizzing,whizz,whitest,whistled,whist,whinny,wheelies,whazzup,whatwhatwhaaat,whato,whatdya,what'dya,whacks,wewell,wetsuit,welluh,weeps,waylander,wavin,wassail,wasnt,warneford,warbucks,waltons,wallbanger,waiving,waitwait,vowing,voucher,vornoff,vorhees,voldemort,vivre,vittles,vindaloo,videogames,vichyssoise,vicarious,vesuvius,verguenza,ven't,velveteen,velour,velociraptor,vastness,vasectomies,vapors,vanderhof,valmont,validates,valiantly,vacuums,usurp,usernum,us'll,urinals,unyielding,unvarnished,unturned,untouchables,untangled,unsecured,unscramble,unreturned,unremarkable,unpretentious,unnerstand,unmade,unimpeachable,unfashionable,underwrite,underlining,underling,underestimates,underappreciated,uncouth,uncork,uncommonly,unclog,uncircumcised,unchallenged,uncas,unbuttoning,unapproved,unamerican,unafraid,umpteen,umhmm,uhwhy,ughuh,typewriters,twitches,twitched,twirly,twinkling,twinges,twiddling,turners,turnabout,tumblin,tryed,trowel,trousseau,trivialize,trifles,tribianni,trenchcoat,trembled,traumatize,transitory,transients,transfuse,transcribing,tranq,trampy,traipsed,trainin,trachea,traceable,touristy,toughie,toscanini,tortola,tortilla,torreon,toreador,tommorrow,tollbooth,tollans,toidy,togas,tofurkey,toddling,toddies,toasties,toadstool,to've,tingles,timin,timey,timetables,tightest,thuggee,thrusting,thrombus,throes,thrifty,thornharts,thinnest,thicket,thetas,thesulac,tethered,testaburger,tersenadine,terrif,terdlington,tepui,temping,tector,taxidermy,tastebuds,tartlets,tartabull,tar'd,tantamount,tangy,tangles,tamer,tabula,tabletops,tabithia,szechwan,synthedyne,svenjolly,svengali,survivalists,surmise,surfboards,surefire,suprise,supremacists,suppositories,superstore,supercilious,suntac,sunburned,summercliff,sullied,sugared,suckle,subtleties,substantiated,subsides,subliminal,subhuman,strowman,stroked,stroganoff,streetlight,straying,strainer,straighter,straightener,stoplight,stirrups,stewing,stereotyping,stepmommy,stephano,stashing,starshine,stairwells,squatsie,squandering,squalid,squabbling,squab,sprinkling,spreader,spongy,spokesmen,splintered,spittle,spitter,spiced,spews,spendin,spect,spearchucker,spatulas,southtown,soused,soshi,sorter,sorrowful,sooth,some'in,soliloquy,soiree,sodomized,sobriki,soaping,snows,snowcone,snitching,snitched,sneering,snausages,snaking,smoothed,smoochies,smarten,smallish,slushy,slurring,sluman,slithers,slippin,sleuthing,sleeveless,skinless,skillfully,sketchbook,skagnetti,sista,sinning,singularly,sinewy,silverlake,siguto,signorina,sieve,sidearms,shying,shunning,shtud,shrieks,shorting,shortbread,shopkeepers,shmancy,shizzit,shitheads,shitfaced,shipmates,shiftless,shelving,shedlow,shavings,shatters,sharifa,shampoos,shallots,shafter,sha'nauc,sextant,serviceable,sepsis,senores,sendin,semis,semanski,selflessly,seinfelds,seers,seeps,seductress,secaucus,sealant,scuttling,scusa,scrunched,scissorhands,schreber,schmancy,scamps,scalloped,savoir,savagery,sarong,sarnia,santangel,samool,sallow,salino,safecracker,sadism,sacrilegious,sabrini,sabath,s'aright,ruttheimer,rudest,rubbery,rousting,rotarian,roslin,roomed,romari,romanica,rolltop,rolfski,rockettes,roared,ringleader,riffing,ribcage,rewired,retrial,reting,resuscitated,restock,resale,reprogrammed,replicant,repentant,repellant,repays,repainting,renegotiating,rendez,remem,relived,relinquishes,relearn,relaxant,rekindling,rehydrate,refueled,refreshingly,refilling,reexamine,reeseman,redness,redeemable,redcoats,rectangles,recoup,reciprocated,reassessing,realy,realer,reachin,re'kali,rawlston,ravages,rappaports,ramoray,ramming,raindrops,rahesh,radials,racists,rabartu,quiches,quench,quarreling,quaintly,quadrants,putumayo,put'em,purifier,pureed,punitis,pullout,pukin,pudgy,puddings,puckering,pterodactyl,psychodrama,psats,protestations,protectee,prosaic,propositioned,proclivity,probed,printouts,prevision,pressers,preset,preposition,preempt,preemie,preconceptions,prancan,powerpuff,potties,potpie,poseur,porthole,poops,pooping,pomade,polyps,polymerized,politeness,polisher,polack,pocketknife,poatia,plebeian,playgroup,platonically,platitude,plastering,plasmapheresis,plaids,placemats,pizzazz,pintauro,pinstripes,pinpoints,pinkner,pincer,pimento,pileup,pilates,pigmen,pieeee,phrased,photocopies,phoebes,philistines,philanderer,pheromone,phasers,pfeffernuesse,pervs,perspire,personify,perservere,perplexed,perpetrating,perkiness,perjurer,periodontist,perfunctory,perdido,percodan,pentameter,pentacle,pensive,pensione,pennybaker,pennbrooke,penhall,pengin,penetti,penetrates,pegnoir,peeve,peephole,pectorals,peckin,peaky,peaksville,paxcow,paused,patted,parkishoff,parkers,pardoning,paraplegic,paraphrasing,paperers,papered,pangs,paneling,palooza,palmed,palmdale,palatable,pacify,pacified,owwwww,oversexed,overrides,overpaying,overdrawn,overcompensate,overcomes,overcharged,outmaneuver,outfoxed,oughtn't,ostentatious,oshun,orthopedist,or'derves,ophthalmologist,operagirl,oozes,oooooooh,onesie,omnis,omelets,oktoberfest,okeydoke,ofthe,ofher,obstetrical,obeys,obeah,o'henry,nyquil,nyanyanyanyah,nuttin,nutsy,nutball,nurhachi,numbskull,nullifies,nullification,nucking,nubbin,nourished,nonspecific,noing,noinch,nohoho,nobler,nitwits,newsprint,newspaperman,newscaster,neuropathy,netherworld,neediest,navasky,narcissists,napped,nafta,mache,mykonos,mutilating,mutherfucker,mutha,mutates,mutate,musn't,murchy,multitasking,mujeeb,mudslinging,muckraking,mousetrap,mourns,mournful,motherf,mostro,morphing,morphate,moralistic,moochy,mooching,monotonous,monopolize,monocle,molehill,moland,mofet,mockup,mobilizing,mmmmmmm,mitzvahs,mistreating,misstep,misjudge,misinformation,misdirected,miscarriages,miniskirt,mindwarped,minced,milquetoast,miguelito,mightily,midstream,midriff,mideast,microbe,methuselah,mesdames,mescal,men'll,memma,megaton,megara,megalomaniac,meeee,medulla,medivac,meaninglessness,mcnuggets,mccarthyism,maypole,may've,mauve,mateys,marshack,markles,marketable,mansiere,manservant,manse,manhandling,mallomars,malcontent,malaise,majesties,mainsail,mailmen,mahandra,magnolias,magnified,magev,maelstrom,machu,macado,m'boy,m'appelle,lustrous,lureen,lunges,lumped,lumberyard,lulled,luego,lucks,lubricated,loveseat,loused,lounger,loski,lorre,loora,looong,loonies,loincloth,lofts,lodgers,lobbing,loaner,livered,liqueur,ligourin,lifesaving,lifeguards,lifeblood,liaisons,let'em,lesbianism,lence,lemonlyman,legitimize,leadin,lazars,lazarro,lawyering,laugher,laudanum,latrines,lations,laters,lapels,lakefront,lahit,lafortunata,lachrymose,l'italien,kwaini,kruczynski,kramerica,kowtow,kovinsky,korsekov,kopek,knowakowski,knievel,knacks,kiowas,killington,kickball,keyworth,keymaster,kevie,keveral,kenyons,keggers,keepsakes,kechner,keaty,kavorka,karajan,kamerev,kaggs,jujyfruit,jostled,jonestown,jokey,joists,jocko,jimmied,jiggled,jests,jenzen,jenko,jellyman,jedediah,jealitosis,jaunty,jarmel,jankle,jagoff,jagielski,jackrabbits,jabbing,jabberjaw,izzat,irresponsibly,irrepressible,irregularity,irredeemable,inuvik,intuitions,intubated,intimates,interminable,interloper,intercostal,instyle,instigate,instantaneously,ining,ingrown,ingesting,infusing,infringe,infinitum,infact,inequities,indubitably,indisputable,indescribably,indentation,indefinable,incontrovertible,inconsequential,incompletes,incoherently,inclement,incidentals,inarticulate,inadequacies,imprudent,improprieties,imprison,imprinted,impressively,impostors,importante,imperious,impale,immodest,immobile,imbedded,imbecilic,illegals,idn't,hysteric,hypotenuse,hygienic,hyeah,hushpuppies,hunhh,humpback,humored,hummed,humiliates,humidifier,huggy,huggers,huckster,hotbed,hosing,hosers,horsehair,homebody,homebake,holing,holies,hoisting,hogwallop,hocks,hobbits,hoaxes,hmmmmm,hisses,hippest,hillbillies,hilarity,heurh,herniated,hermaphrodite,hennifer,hemlines,hemline,hemery,helplessness,helmsley,hellhound,heheheheh,heeey,hedda,heartbeats,heaped,healers,headstart,headsets,headlong,hawkland,havta,haulin,harvey'll,hanta,hansom,hangnail,handstand,handrail,handoff,hallucinogen,hallor,halitosis,haberdashery,gypped,guy'll,gumbel,guerillas,guava,guardrail,grunther,grunick,groppi,groomer,grodin,gripes,grinds,grifters,gretch,greevey,greasing,graveyards,grandkid,grainy,gouging,gooney,googly,goldmuff,goldenrod,goingo,godly,gobbledygook,gobbledegook,glues,gloriously,glengarry,glassware,glamor,gimmicks,giggly,giambetti,ghoulish,ghettos,ghali,gether,geriatrics,gerbils,geosynchronous,georgio,gente,gendarme,gelbman,gazillionth,gayest,gauging,gastro,gaslight,gasbag,garters,garish,garas,gantu,gangy,gangly,gangland,galling,gadda,furrowed,funnies,funkytown,fugimotto,fudging,fuckeen,frustrates,froufrou,froot,fromberge,frizzies,fritters,frightfully,friendliest,freeloading,freelancing,freakazoid,fraternization,framers,fornication,fornicating,forethought,footstool,foisting,focussing,focking,flurries,fluffed,flintstones,fledermaus,flayed,flawlessly,flatters,flashbang,flapped,fishies,firmer,fireproof,firebug,fingerpainting,finessed,findin,financials,finality,fillets,fiercest,fiefdom,fibbing,fervor,fentanyl,fenelon,fedorchuk,feckless,feathering,faucets,farewells,fantasyland,fanaticism,faltered,faggy,faberge,extorting,extorted,exterminating,exhumation,exhilaration,exhausts,exfoliate,excels,exasperating,exacting,everybody'd,evasions,espressos,esmail,errrr,erratically,eroding,ernswiler,epcot,enthralled,ensenada,enriching,enrage,enhancer,endear,encrusted,encino,empathic,embezzle,emanates,electricians,eking,egomaniacal,egging,effacing,ectoplasm,eavesdropped,dummkopf,dugray,duchaisne,drunkard,drudge,droop,droids,drips,dripped,dribbles,drazens,downy,downsize,downpour,dosages,doppelganger,dopes,doohicky,dontcha,doneghy,divining,divest,diuretics,diuretic,distrustful,disrupts,dismemberment,dismember,disinfect,disillusionment,disheartening,discourteous,discotheque,discolored,dirtiest,diphtheria,dinks,dimpled,didya,dickwad,diatribes,diathesis,diabetics,deviants,detonates,detests,detestable,detaining,despondent,desecration,derision,derailing,deputized,depressors,dependant,dentures,denominators,demur,demonology,delts,dellarte,delacour,deflated,defib,defaced,decorators,deaqon,davola,datin,darwinian,darklighters,dandelions,dampened,damaskinos,dalrimple,d'peshu,d'hoffryn,d'astier,cynics,cutesy,cutaway,curmudgeon,curdle,culpability,cuisinart,cuffing,crypts,cryptid,crunched,crumblers,crudely,crosscheck,croon,crissake,crevasse,creswood,creepo,creases,creased,creaky,cranks,crabgrass,coveralls,couple'a,coughs,coslaw,corporeal,cornucopia,cornering,corks,cordoned,coolly,coolin,cookbooks,contrite,contented,constrictor,confound,confit,confiscating,condoned,conditioners,concussions,comprendo,comers,combustible,combusted,collingswood,coldness,coitus,codicil,coasting,clydesdale,cluttering,clunker,clunk,clumsiness,clotted,clothesline,clinches,clincher,cleverness,clench,clein,cleanses,claymores,clammed,chugging,chronically,christsakes,choque,chompers,chiseling,chirpy,chirp,chinks,chingachgook,chickenpox,chickadee,chewin,chessboard,chargin,chanteuse,chandeliers,chamdo,chagrined,chaff,certs,certainties,cerreno,cerebrum,censured,cemetary,caterwauling,cataclysmic,casitas,cased,carvel,carting,carrear,carolling,carolers,carnie,cardiogram,carbuncle,capulets,canines,candaules,canape,caldecott,calamitous,cadillacs,cachet,cabeza,cabdriver,buzzards,butai,businesswomen,bungled,bumpkins,bummers,bulldoze,buffybot,bubut,bubbies,brrrrr,brownout,brouhaha,bronzing,bronchial,broiler,briskly,briefcases,bricked,breezing,breeher,breakable,breadstick,bravenet,braved,brandies,brainwaves,brainiest,braggart,bradlee,boys're,boys'll,boys'd,boutonniere,bossed,bosomy,borans,boosts,bookshelves,bookends,boneless,bombarding,bollo,boinked,boink,bluest,bluebells,bloodshot,blockhead,blockbusters,blithely,blather,blankly,bladders,blackbeard,bitte,bippy,biogenetics,bilge,bigglesworth,bicuspids,beususe,betaseron,besmirch,bernece,bereavement,bentonville,benchley,benching,bembe,bellyaching,bellhops,belie,beleaguered,behrle,beginnin,begining,beenie,beefs,beechwood,becau,beaverhausen,beakers,bazillion,baudouin,barrytown,barringtons,barneys,barbs,barbers,barbatus,bankrupted,bailiffs,backslide,baby'd,baaad,b'fore,awwwk,aways,awakes,automatics,authenticate,aught,aubyn,attired,attagirl,atrophied,asystole,astroturf,assertiveness,artichokes,arquillians,aright,archenemy,appraise,appeased,antin,anspaugh,anesthetics,anaphylactic,amscray,ambivalence,amalio,alriiight,alphabetized,alpena,alouette,allora,alliteration,allenwood,allegiances,algerians,alcerro,alastor,ahaha,agitators,aforethought,advertises,admonition,adirondacks,adenoids,acupuncturist,acula,actuarial,activators,actionable,achingly,accusers,acclimated,acclimate,absurdly,absorbent,absolvo,absolutes,absences,abdomenizer,aaaaaaaaah,aaaaaaaaaa,a'right".split(","), +male_names:"james,john,robert,michael,william,david,richard,charles,joseph,thomas,christopher,daniel,paul,mark,donald,george,kenneth,steven,edward,brian,ronald,anthony,kevin,jason,matthew,gary,timothy,jose,larry,jeffrey,frank,scott,eric,stephen,andrew,raymond,gregory,joshua,jerry,dennis,walter,patrick,peter,harold,douglas,henry,carl,arthur,ryan,roger,joe,juan,jack,albert,jonathan,justin,terry,gerald,keith,samuel,willie,ralph,lawrence,nicholas,roy,benjamin,bruce,brandon,adam,harry,fred,wayne,billy,steve,louis,jeremy,aaron,randy,eugene,carlos,russell,bobby,victor,ernest,phillip,todd,jesse,craig,alan,shawn,clarence,sean,philip,chris,johnny,earl,jimmy,antonio,danny,bryan,tony,luis,mike,stanley,leonard,nathan,dale,manuel,rodney,curtis,norman,marvin,vincent,glenn,jeffery,travis,jeff,chad,jacob,melvin,alfred,kyle,francis,bradley,jesus,herbert,frederick,ray,joel,edwin,don,eddie,ricky,troy,randall,barry,bernard,mario,leroy,francisco,marcus,micheal,theodore,clifford,miguel,oscar,jay,jim,tom,calvin,alex,jon,ronnie,bill,lloyd,tommy,leon,derek,darrell,jerome,floyd,leo,alvin,tim,wesley,dean,greg,jorge,dustin,pedro,derrick,dan,zachary,corey,herman,maurice,vernon,roberto,clyde,glen,hector,shane,ricardo,sam,rick,lester,brent,ramon,tyler,gilbert,gene,marc,reginald,ruben,brett,nathaniel,rafael,edgar,milton,raul,ben,cecil,duane,andre,elmer,brad,gabriel,ron,roland,jared,adrian,karl,cory,claude,erik,darryl,neil,christian,javier,fernando,clinton,ted,mathew,tyrone,darren,lonnie,lance,cody,julio,kurt,allan,clayton,hugh,max,dwayne,dwight,armando,felix,jimmie,everett,ian,ken,bob,jaime,casey,alfredo,alberto,dave,ivan,johnnie,sidney,byron,julian,isaac,clifton,willard,daryl,virgil,andy,salvador,kirk,sergio,seth,kent,terrance,rene,eduardo,terrence,enrique,freddie,stuart,fredrick,arturo,alejandro,joey,nick,luther,wendell,jeremiah,evan,julius,donnie,otis,trevor,luke,homer,gerard,doug,kenny,hubert,angelo,shaun,lyle,matt,alfonso,orlando,rex,carlton,ernesto,pablo,lorenzo,omar,wilbur,blake,horace,roderick,kerry,abraham,rickey,ira,andres,cesar,johnathan,malcolm,rudolph,damon,kelvin,rudy,preston,alton,archie,marco,pete,randolph,garry,geoffrey,jonathon,felipe,bennie,gerardo,dominic,loren,delbert,colin,guillermo,earnest,benny,noel,rodolfo,myron,edmund,salvatore,cedric,lowell,gregg,sherman,devin,sylvester,roosevelt,israel,jermaine,forrest,wilbert,leland,simon,irving,owen,rufus,woodrow,sammy,kristopher,levi,marcos,gustavo,jake,lionel,marty,gilberto,clint,nicolas,laurence,ismael,orville,drew,ervin,dewey,wilfred,josh,hugo,ignacio,caleb,tomas,sheldon,erick,frankie,darrel,rogelio,terence,alonzo,elias,bert,elbert,ramiro,conrad,noah,grady,phil,cornelius,lamar,rolando,clay,percy,bradford,merle,darin,amos,terrell,moses,irvin,saul,roman,darnell,randal,tommie,timmy,darrin,brendan,toby,van,abel,dominick,emilio,elijah,cary,domingo,aubrey,emmett,marlon,emanuel,jerald,edmond,emil,dewayne,otto,teddy,reynaldo,bret,jess,trent,humberto,emmanuel,stephan,louie,vicente,lamont,garland,micah,efrain,heath,rodger,demetrius,ethan,eldon,rocky,pierre,eli,bryce,antoine,robbie,kendall,royce,sterling,grover,elton,cleveland,dylan,chuck,damian,reuben,stan,leonardo,russel,erwin,benito,hans,monte,blaine,ernie,curt,quentin,agustin,jamal,devon,adolfo,tyson,wilfredo,bart,jarrod,vance,denis,damien,joaquin,harlan,desmond,elliot,darwin,gregorio,kermit,roscoe,esteban,anton,solomon,norbert,elvin,nolan,carey,rod,quinton,hal,brain,rob,elwood,kendrick,darius,moises,marlin,fidel,thaddeus,cliff,marcel,ali,raphael,bryon,armand,alvaro,jeffry,dane,joesph,thurman,ned,sammie,rusty,michel,monty,rory,fabian,reggie,kris,isaiah,gus,avery,loyd,diego,adolph,millard,rocco,gonzalo,derick,rodrigo,gerry,rigoberto,alphonso,rickie,noe,vern,elvis,bernardo,mauricio,hiram,donovan,basil,nickolas,scot,vince,quincy,eddy,sebastian,federico,ulysses,heriberto,donnell,denny,gavin,emery,romeo,jayson,dion,dante,clement,coy,odell,jarvis,bruno,issac,dudley,sanford,colby,carmelo,nestor,hollis,stefan,donny,linwood,beau,weldon,galen,isidro,truman,delmar,johnathon,silas,frederic,irwin,merrill,charley,marcelino,carlo,trenton,kurtis,aurelio,winfred,vito,collin,denver,leonel,emory,pasquale,mohammad,mariano,danial,landon,dirk,branden,adan,numbers,clair,buford,bernie,wilmer,emerson,zachery,jacques,errol,josue,edwardo,wilford,theron,raymundo,daren,tristan,robby,lincoln,jame,genaro,octavio,cornell,hung,arron,antony,herschel,alva,giovanni,garth,cyrus,cyril,ronny,stevie,lon,kennith,carmine,augustine,erich,chadwick,wilburn,russ,myles,jonas,mitchel,mervin,zane,jamel,lazaro,alphonse,randell,johnie,jarrett,ariel,abdul,dusty,luciano,seymour,scottie,eugenio,mohammed,arnulfo,lucien,ferdinand,thad,ezra,aldo,rubin,mitch,earle,abe,marquis,lanny,kareem,jamar,boris,isiah,emile,elmo,aron,leopoldo,everette,josef,eloy,dorian,rodrick,reinaldo,lucio,jerrod,weston,hershel,lemuel,lavern,burt,jules,gil,eliseo,ahmad,nigel,efren,antwan,alden,margarito,refugio,dino,osvaldo,les,deandre,normand,kieth,ivory,trey,norberto,napoleon,jerold,fritz,rosendo,milford,sang,deon,christoper,alfonzo,lyman,josiah,brant,wilton,rico,jamaal,dewitt,brenton,yong,olin,faustino,claudio,judson,gino,edgardo,alec,jarred,donn,trinidad,tad,porfirio,odis,lenard,chauncey,tod,mel,marcelo,kory,augustus,keven,hilario,bud,sal,orval,mauro,dannie,zachariah,olen,anibal,milo,jed,thanh,amado,lenny,tory,richie,horacio,brice,mohamed,delmer,dario,mac,jonah,jerrold,robt,hank,sung,rupert,rolland,kenton,damion,chi,antone,waldo,fredric,bradly,kip,burl,tyree,jefferey,ahmed,willy,stanford,oren,moshe,mikel,enoch,brendon,quintin,jamison,florencio,darrick,tobias,minh,hassan,giuseppe,demarcus,cletus,tyrell,lyndon,keenan,werner,theo,geraldo,columbus,chet,bertram,markus,huey,hilton,dwain,donte,tyron,omer,isaias,hipolito,fermin,chung,adalberto,jamey,teodoro,mckinley,maximo,raleigh,lawerence,abram,rashad,emmitt,daron,chong,samual,otha,miquel,eusebio,dong,domenic,darron,wilber,renato,hoyt,haywood,ezekiel,chas,florentino,elroy,clemente,arden,neville,edison,deshawn,carrol,shayne,nathanial,jordon,danilo,claud,sherwood,raymon,rayford,cristobal,ambrose,titus,hyman,felton,ezequiel,erasmo,lonny,milan,lino,jarod,herb,andreas,rhett,jude,douglass,cordell,oswaldo,ellsworth,virgilio,toney,nathanael,benedict,mose,hong,isreal,garret,fausto,arlen,zack,modesto,francesco,manual,gaylord,gaston,filiberto,deangelo,michale,granville,malik,zackary,tuan,nicky,cristopher,antione,malcom,korey,jospeh,colton,waylon,hosea,shad,santo,rudolf,rolf,renaldo,marcellus,lucius,kristofer,harland,arnoldo,rueben,leandro,kraig,jerrell,jeromy,hobert,cedrick,arlie,winford,wally,luigi,keneth,jacinto,graig,franklyn,edmundo,leif,jeramy,willian,vincenzo,shon,michal,lynwood,jere,elden,darell,broderick,alonso".split(",")},module.exports=frequency_lists; + +},{}],4:[function(require,module,exports){ +var feedback,matching,scoring,time,time_estimates,zxcvbn;matching=require("./matching"),scoring=require("./scoring"),time_estimates=require("./time_estimates"),feedback=require("./feedback"),time=function(){return(new Date).getTime()},zxcvbn=function(e,t){var i,n,c,s,a,r,m,o,u,g,_;for(null==t&&(t=[]),g=time(),u=[],c=0,s=t.length;s>c;c++)i=t[c],"string"!=(m=typeof i)&&"number"!==m&&"boolean"!==m||u.push(i.toString().toLowerCase());matching.set_user_input_dictionary(u),a=matching.omnimatch(e),o=scoring.most_guessable_match_sequence(e,a),o.calc_time=time()-g,n=time_estimates.estimate_attack_times(o.guesses);for(r in n)_=n[r],o[r]=_;return o.feedback=feedback.get_feedback(o.score,o.sequence),o},module.exports=zxcvbn; + +},{"./feedback":2,"./matching":5,"./scoring":6,"./time_estimates":7}],5:[function(require,module,exports){ +var DATE_MAX_YEAR,DATE_MIN_YEAR,DATE_SPLITS,GRAPHS,L33T_TABLE,RANKED_DICTIONARIES,REGEXEN,adjacency_graphs,build_ranked_dict,frequency_lists,lst,matching,name,scoring;frequency_lists=require("./frequency_lists"),adjacency_graphs=require("./adjacency_graphs"),scoring=require("./scoring"),build_ranked_dict=function(e){var t,n,r,i,a;for(i={},t=1,r=0,n=e.length;n>r;r++)a=e[r],i[a]=t,t+=1;return i},RANKED_DICTIONARIES={};for(name in frequency_lists)lst=frequency_lists[name],RANKED_DICTIONARIES[name]=build_ranked_dict(lst);GRAPHS={qwerty:adjacency_graphs.qwerty,dvorak:adjacency_graphs.dvorak,keypad:adjacency_graphs.keypad,mac_keypad:adjacency_graphs.mac_keypad},L33T_TABLE={a:["4","@"],b:["8"],c:["(","{","[","<"],e:["3"],g:["6","9"],i:["1","!","|"],l:["1","|","7"],o:["0"],s:["$","5"],t:["+","7"],x:["%"],z:["2"]},REGEXEN={recent_year:/19\d\d|200\d|201\d/g},DATE_MAX_YEAR=2050,DATE_MIN_YEAR=1e3,DATE_SPLITS={4:[[1,2],[2,3]],5:[[1,3],[2,3]],6:[[1,2],[2,4],[4,5]],7:[[1,3],[2,3],[4,5],[4,6]],8:[[2,4],[4,6]]},matching={empty:function(e){var t;return 0===function(){var n;n=[];for(t in e)n.push(t);return n}().length},extend:function(e,t){return e.push.apply(e,t)},translate:function(e,t){var n;return function(){var r,i,a,s;for(a=e.split(""),s=[],i=0,r=a.length;r>i;i++)n=a[i],s.push(t[n]||n);return s}().join("")},mod:function(e,t){return(e%t+t)%t},sorted:function(e){return e.sort(function(e,t){return e.i-t.i||e.j-t.j})},omnimatch:function(e){var t,n,r,i,a;for(i=[],r=[this.dictionary_match,this.reverse_dictionary_match,this.l33t_match,this.spatial_match,this.repeat_match,this.sequence_match,this.regex_match,this.date_match],a=0,t=r.length;t>a;a++)n=r[a],this.extend(i,n.call(this,e));return this.sorted(i)},dictionary_match:function(e,t){var n,r,i,a,s,o,h,u,c,l,_,f,d,p;null==t&&(t=RANKED_DICTIONARIES),s=[],a=e.length,u=e.toLowerCase();for(n in t)for(l=t[n],r=o=0,_=a;_>=0?_>o:o>_;r=_>=0?++o:--o)for(i=h=f=r,d=a;d>=f?d>h:h>d;i=d>=f?++h:--h)u.slice(r,+i+1||9e9)in l&&(p=u.slice(r,+i+1||9e9),c=l[p],s.push({pattern:"dictionary",i:r,j:i,token:e.slice(r,+i+1||9e9),matched_word:p,rank:c,dictionary_name:n,reversed:!1,l33t:!1}));return this.sorted(s)},reverse_dictionary_match:function(e,t){var n,r,i,a,s,o;for(null==t&&(t=RANKED_DICTIONARIES),o=e.split("").reverse().join(""),i=this.dictionary_match(o,t),a=0,n=i.length;n>a;a++)r=i[a],r.token=r.token.split("").reverse().join(""),r.reversed=!0,s=[e.length-1-r.j,e.length-1-r.i],r.i=s[0],r.j=s[1];return this.sorted(i)},set_user_input_dictionary:function(e){return RANKED_DICTIONARIES.user_inputs=build_ranked_dict(e.slice())},relevant_l33t_subtable:function(e,t){var n,r,i,a,s,o,h,u,c,l;for(s={},o=e.split(""),a=0,r=o.length;r>a;a++)n=o[a],s[n]=!0;l={};for(i in t)c=t[i],h=function(){var e,t,n;for(n=[],t=0,e=c.length;e>t;t++)u=c[t],u in s&&n.push(u);return n}(),h.length>0&&(l[i]=h);return l},enumerate_l33t_subs:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p;a=function(){var t;t=[];for(i in e)t.push(i);return t}(),p=[[]],n=function(e){var t,n,r,a,s,o,h,u;for(n=[],s={},o=0,a=e.length;a>o;o++)h=e[o],t=function(){var e,t,n;for(n=[],u=t=0,e=h.length;e>t;u=++t)i=h[u],n.push([i,u]);return n}(),t.sort(),r=function(){var e,n,r;for(r=[],u=n=0,e=t.length;e>n;u=++n)i=t[u],r.push(i+","+u);return r}().join("-"),r in s||(s[r]=!0,n.push(h));return n},r=function(t){var i,a,s,o,h,u,c,l,_,f,d,g,m,A,E,y;if(t.length){for(a=t[0],m=t.slice(1),c=[],d=e[a],l=0,h=d.length;h>l;l++)for(o=d[l],_=0,u=p.length;u>_;_++){for(A=p[_],i=-1,s=f=0,g=A.length;g>=0?g>f:f>g;s=g>=0?++f:--f)if(A[s][0]===o){i=s;break}-1===i?(y=A.concat([[o,a]]),c.push(y)):(E=A.slice(0),E.splice(i,1),E.push([o,a]),c.push(A),c.push(E))}return p=n(c),r(m)}},r(a),d=[];for(u=0,o=p.length;o>u;u++){for(_=p[u],f={},c=0,h=_.length;h>c;c++)l=_[c],s=l[0],t=l[1],f[s]=t;d.push(f)}return d},l33t_match:function(e,t,n){var r,i,a,s,o,h,u,c,l,_,f,d,p,g,m,A;for(null==t&&(t=RANKED_DICTIONARIES),null==n&&(n=L33T_TABLE),u=[],_=this.enumerate_l33t_subs(this.relevant_l33t_subtable(e,n)),c=0,a=_.length;a>c&&(d=_[c],!this.empty(d));c++)for(g=this.translate(e,d),f=this.dictionary_match(g,t),l=0,s=f.length;s>l;l++)if(o=f[l],m=e.slice(o.i,+o.j+1||9e9),m.toLowerCase()!==o.matched_word){h={};for(p in d)r=d[p],-1!==m.indexOf(p)&&(h[p]=r);o.l33t=!0,o.token=m,o.sub=h,o.sub_display=function(){var e;e=[];for(i in h)A=h[i],e.push(i+" -> "+A);return e}().join(", "),u.push(o)}return this.sorted(u.filter(function(e){return e.token.length>1}))},spatial_match:function(e,t){var n,r,i;null==t&&(t=GRAPHS),i=[];for(r in t)n=t[r],this.extend(i,this.spatial_match_helper(e,n,r));return this.sorted(i)},SHIFTED_RX:/[~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?]/,spatial_match_helper:function(e,t,n){var r,i,a,s,o,h,u,c,l,_,f,d,p,g,m;for(f=[],u=0;u<e.length-1;)for(c=u+1,l=null,m=0,g="qwerty"!==n&&"dvorak"!==n||!this.SHIFTED_RX.exec(e.charAt(u))?0:1;;){if(p=e.charAt(c-1),o=!1,h=-1,s=-1,i=t[p]||[],c<e.length)for(a=e.charAt(c),d=0,_=i.length;_>d;d++)if(r=i[d],s+=1,r&&-1!==r.indexOf(a)){o=!0,h=s,1===r.indexOf(a)&&(g+=1),l!==h&&(m+=1,l=h);break}if(!o){c-u>2&&f.push({pattern:"spatial",i:u,j:c-1,token:e.slice(u,c),graph:n,turns:m,shifted_count:g}),u=c;break}c+=1}return f},repeat_match:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p;for(d=[],a=/(.+)\1+/g,c=/(.+?)\1+/g,l=/^(.+?)\1+$/,u=0;u<e.length&&(a.lastIndex=c.lastIndex=u,s=a.exec(e),_=c.exec(e),null!=s);)s[0].length>_[0].length?(f=s,i=l.exec(f[0])[1]):(f=_,i=f[1]),p=[f.index,f.index+f[0].length-1],o=p[0],h=p[1],t=scoring.most_guessable_match_sequence(i,this.omnimatch(i)),r=t.match_sequence,n=t.guesses,d.push({pattern:"repeat",i:o,j:h,token:f[0],base_token:i,base_guesses:n,base_matches:r,repeat_count:f[0].length/i.length}),u=h+1;return d},MAX_DELTA:5,sequence_match:function(e){var t,n,r,i,a,s,o,h,u;if(1===e.length)return[];for(u=function(t){return function(n,r,i){var a,s,o,u;return(r-n>1||1===Math.abs(i))&&0<(a=Math.abs(i))&&a<=t.MAX_DELTA?(u=e.slice(n,+r+1||9e9),/^[a-z]+$/.test(u)?(s="lower",o=26):/^[A-Z]+$/.test(u)?(s="upper",o=26):/^\d+$/.test(u)?(s="digits",o=10):(s="unicode",o=26),h.push({pattern:"sequence",i:n,j:r,token:e.slice(n,+r+1||9e9),sequence_name:s,sequence_space:o,ascending:i>0})):void 0}}(this),h=[],n=0,a=null,i=s=1,o=e.length;o>=1?o>s:s>o;i=o>=1?++s:--s)t=e.charCodeAt(i)-e.charCodeAt(i-1),null==a&&(a=t),t!==a&&(r=i-1,u(n,r,a),n=r,a=t);return u(n,e.length-1,a),h},regex_match:function(e,t){var n,r,i,a;null==t&&(t=REGEXEN),n=[];for(name in t)for(r=t[name],r.lastIndex=0;i=r.exec(e);)a=i[0],n.push({pattern:"regex",token:a,i:i.index,j:i.index+i[0].length-1,regex_name:name,regex_match:i});return this.sorted(n)},date_match:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p,g,m,A,E,y,v,I,R,T,D,k,x,j,b,N,S,q,L,M;for(_=[],f=/^\d{4,8}$/,d=/^(\d{1,4})([\s\/\\_.-])(\d{1,2})\2(\d{1,4})$/,s=m=0,v=e.length-4;v>=0?v>=m:m>=v;s=v>=0?++m:--m)for(o=A=I=s+3,R=s+7;(R>=I?R>=A:A>=R)&&!(o>=e.length);o=R>=I?++A:--A)if(M=e.slice(s,+o+1||9e9),f.exec(M)){for(r=[],T=DATE_SPLITS[M.length],E=0,c=T.length;c>E;E++)D=T[E],h=D[0],u=D[1],a=this.map_ints_to_dmy([parseInt(M.slice(0,h)),parseInt(M.slice(h,u)),parseInt(M.slice(u))]),null!=a&&r.push(a);if(r.length>0){for(t=r[0],p=function(e){return Math.abs(e.year-scoring.REFERENCE_YEAR)},g=p(r[0]),k=r.slice(1),y=0,l=k.length;l>y;y++)n=k[y],i=p(n),g>i&&(x=[n,i],t=x[0],g=x[1]);_.push({pattern:"date",token:M,i:s,j:o,separator:"",year:t.year,month:t.month,day:t.day})}}for(s=q=0,j=e.length-6;j>=0?j>=q:q>=j;s=j>=0?++q:--q)for(o=L=b=s+5,N=s+9;(N>=b?N>=L:L>=N)&&!(o>=e.length);o=N>=b?++L:--L)M=e.slice(s,+o+1||9e9),S=d.exec(M),null!=S&&(a=this.map_ints_to_dmy([parseInt(S[1]),parseInt(S[3]),parseInt(S[4])]),null!=a&&_.push({pattern:"date",token:M,i:s,j:o,separator:S[2],year:a.year,month:a.month,day:a.day}));return this.sorted(_.filter(function(e){var t,n,r,i;for(t=!1,i=0,n=_.length;n>i;i++)if(r=_[i],e!==r&&r.i<=e.i&&r.j>=e.j){t=!0;break}return!t}))},map_ints_to_dmy:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p,g;if(!(e[1]>31||e[1]<=0)){for(o=0,h=0,p=0,s=0,r=e.length;r>s;s++){if(n=e[s],n>99&&DATE_MIN_YEAR>n||n>DATE_MAX_YEAR)return;n>31&&(h+=1),n>12&&(o+=1),0>=n&&(p+=1)}if(!(h>=2||3===o||p>=2)){for(c=[[e[2],e.slice(0,2)],[e[0],e.slice(1,3)]],u=0,i=c.length;i>u;u++)if(_=c[u],g=_[0],d=_[1],g>=DATE_MIN_YEAR&&DATE_MAX_YEAR>=g)return t=this.map_ints_to_dm(d),null!=t?{year:g,month:t.month,day:t.day}:void 0;for(l=0,a=c.length;a>l;l++)if(f=c[l],g=f[0],d=f[1],t=this.map_ints_to_dm(d),null!=t)return g=this.two_to_four_digit_year(g),{year:g,month:t.month,day:t.day}}}},map_ints_to_dm:function(e){var t,n,r,i,a,s;for(a=[e,e.slice().reverse()],i=0,n=a.length;n>i;i++)if(s=a[i],t=s[0],r=s[1],t>=1&&31>=t&&r>=1&&12>=r)return{day:t,month:r}},two_to_four_digit_year:function(e){return e>99?e:e>50?e+1900:e+2e3}},module.exports=matching; + +},{"./adjacency_graphs":1,"./frequency_lists":3,"./scoring":6}],6:[function(require,module,exports){ +var BRUTEFORCE_CARDINALITY,MIN_GUESSES_BEFORE_GROWING_SEQUENCE,MIN_SUBMATCH_GUESSES_MULTI_CHAR,MIN_SUBMATCH_GUESSES_SINGLE_CHAR,adjacency_graphs,calc_average_degree,k,scoring,v;adjacency_graphs=require("./adjacency_graphs"),calc_average_degree=function(e){var t,r,n,s,a,u;t=0;for(n in e)a=e[n],t+=function(){var e,t,r;for(r=[],t=0,e=a.length;e>t;t++)s=a[t],s&&r.push(s);return r}().length;return t/=function(){var t;t=[];for(r in e)u=e[r],t.push(r);return t}().length},BRUTEFORCE_CARDINALITY=10,MIN_GUESSES_BEFORE_GROWING_SEQUENCE=1e4,MIN_SUBMATCH_GUESSES_SINGLE_CHAR=10,MIN_SUBMATCH_GUESSES_MULTI_CHAR=50,scoring={nCk:function(e,t){var r,n,s,a;if(t>e)return 0;if(0===t)return 1;for(s=1,r=n=1,a=t;a>=1?a>=n:n>=a;r=a>=1?++n:--n)s*=e,s/=r,e-=1;return s},log10:function(e){return Math.log(e)/Math.log(10)},log2:function(e){return Math.log(e)/Math.log(2)},factorial:function(e){var t,r,n,s;if(2>e)return 1;for(t=1,r=n=2,s=e;s>=2?s>=n:n>=s;r=s>=2?++n:--n)t*=r;return t},most_guessable_match_sequence:function(e,t,r){var n,s,a,u,i,_,o,h,E,c,g,f,l,p,A,S,R,v,I,M;for(null==r&&(r=!1),g=e.length,c=function(){var e,t,r;for(r=[],n=e=0,t=g;t>=0?t>e:e>t;n=t>=0?++e:--e)r.push([]);return r}(),f=0,_=t.length;_>f;f++)h=t[f],c[h.j].push(h);for(l={m:function(){var e,t,r;for(r=[],n=e=0,t=g;t>=0?t>e:e>t;n=t>=0?++e:--e)r.push({});return r}(),pi:function(){var e,t,r;for(r=[],n=e=0,t=g;t>=0?t>e:e>t;n=t>=0?++e:--e)r.push({});return r}(),g:function(){var e,t,r;for(r=[],n=e=0,t=g;t>=0?t>e:e>t;n=t>=0?++e:--e)r.push(1/0);return r}(),l:function(){var e,t,r;for(r=[],n=e=0,t=g;t>=0?t>e:e>t;n=t>=0?++e:--e)r.push(0);return r}()},M=function(t){return function(n,s){var a,u,i;return u=n.j,i=t.estimate_guesses(n,e),s>1&&(i*=l.pi[n.i-1][s-1]),a=t.factorial(s)*i,r||(a+=Math.pow(MIN_GUESSES_BEFORE_GROWING_SEQUENCE,s-1)),a<l.g[u]?(l.g[u]=a,l.l[u]=s,l.m[u][s]=n,l.pi[u][s]=i):void 0}}(this),s=function(e){return function(e){var t,r,n,s;if(h=E(0,e),M(h,1),0!==e){n=l.m[e-1],s=[];for(t in n)r=n[t],t=parseInt(t),"bruteforce"===r.pattern?(h=E(r.i,e),s.push(M(h,t))):(h=E(e,e),s.push(M(h,t+1)));return s}}}(this),E=function(t){return function(t,r){return{pattern:"bruteforce",token:e.slice(t,+r+1||9e9),i:t,j:r}}}(this),I=function(e){return function(e){var t,r,n;for(n=[],t=e-1,r=l.l[t];t>=0;)h=l.m[t][r],n.unshift(h),t=h.i-1,r--;return n}}(this),u=A=0,S=g;S>=0?S>A:A>S;u=S>=0?++A:--A){for(R=c[u],v=0,o=R.length;o>v;v++)if(h=R[v],h.i>0)for(i in l.m[h.i-1])i=parseInt(i),M(h,i+1);else M(h,1);s(u)}return p=I(g),a=0===e.length?1:l.g[g-1],{password:e,guesses:a,guesses_log10:this.log10(a),sequence:p}},estimate_guesses:function(e,t){var r,n,s;return null!=e.guesses?e.guesses:(s=1,e.token.length<t.length&&(s=1===e.token.length?MIN_SUBMATCH_GUESSES_SINGLE_CHAR:MIN_SUBMATCH_GUESSES_MULTI_CHAR),r={bruteforce:this.bruteforce_guesses,dictionary:this.dictionary_guesses,spatial:this.spatial_guesses,repeat:this.repeat_guesses,sequence:this.sequence_guesses,regex:this.regex_guesses,date:this.date_guesses},n=r[e.pattern].call(this,e),e.guesses=Math.max(n,s),e.guesses_log10=this.log10(e.guesses),e.guesses)},bruteforce_guesses:function(e){var t,r;return t=Math.pow(BRUTEFORCE_CARDINALITY,e.token.length),r=1===e.token.length?MIN_SUBMATCH_GUESSES_SINGLE_CHAR+1:MIN_SUBMATCH_GUESSES_MULTI_CHAR+1,Math.max(t,r)},repeat_guesses:function(e){return e.base_guesses*e.repeat_count},sequence_guesses:function(e){var t,r;return r=e.token.charAt(0),t="a"===r||"A"===r||"z"===r||"Z"===r||"0"===r||"1"===r||"9"===r?4:r.match(/\d/)?10:26,e.ascending||(t*=2),t*e.token.length},MIN_YEAR_SPACE:20,REFERENCE_YEAR:2016,regex_guesses:function(e){var t,r;if(t={alpha_lower:26,alpha_upper:26,alpha:52,alphanumeric:62,digits:10,symbols:33},e.regex_name in t)return Math.pow(t[e.regex_name],e.token.length);switch(e.regex_name){case"recent_year":return r=Math.abs(parseInt(e.regex_match[0])-this.REFERENCE_YEAR),r=Math.max(r,this.MIN_YEAR_SPACE)}},date_guesses:function(e){var t,r;return r=Math.max(Math.abs(e.year-this.REFERENCE_YEAR),this.MIN_YEAR_SPACE),t=365*r,e.has_full_year&&(t*=2),e.separator&&(t*=4),t},KEYBOARD_AVERAGE_DEGREE:calc_average_degree(adjacency_graphs.qwerty),KEYPAD_AVERAGE_DEGREE:calc_average_degree(adjacency_graphs.keypad),KEYBOARD_STARTING_POSITIONS:function(){var e,t;e=adjacency_graphs.qwerty,t=[];for(k in e)v=e[k],t.push(k);return t}().length,KEYPAD_STARTING_POSITIONS:function(){var e,t;e=adjacency_graphs.keypad,t=[];for(k in e)v=e[k],t.push(k);return t}().length,spatial_guesses:function(e){var t,r,n,s,a,u,i,_,o,h,E,c,g,f,l,p,A,S;for("qwerty"===(E=e.graph)||"dvorak"===E?(l=this.KEYBOARD_STARTING_POSITIONS,s=this.KEYBOARD_AVERAGE_DEGREE):(l=this.KEYPAD_STARTING_POSITIONS,s=this.KEYPAD_AVERAGE_DEGREE),a=0,t=e.token.length,A=e.turns,u=_=2,c=t;c>=2?c>=_:_>=c;u=c>=2?++_:--_)for(o=Math.min(A,u-1),i=h=1,g=o;g>=1?g>=h:h>=g;i=g>=1?++h:--h)a+=this.nCk(u-1,i-1)*l*Math.pow(s,i);if(e.shifted_count)if(r=e.shifted_count,n=e.token.length-e.shifted_count,0===r||0===n)a*=2;else{for(p=0,u=S=1,f=Math.min(r,n);f>=1?f>=S:S>=f;u=f>=1?++S:--S)p+=this.nCk(r+n,u);a*=p}return a},dictionary_guesses:function(e){var t;return e.base_guesses=e.rank,e.uppercase_variations=this.uppercase_variations(e),e.l33t_variations=this.l33t_variations(e),t=e.reversed&&2||1,e.base_guesses*e.uppercase_variations*e.l33t_variations*t},START_UPPER:/^[A-Z][^A-Z]+$/,END_UPPER:/^[^A-Z]+[A-Z]$/,ALL_UPPER:/^[^a-z]+$/,ALL_LOWER:/^[^A-Z]+$/,uppercase_variations:function(e){var t,r,n,s,a,u,i,_,o,h,E,c;if(c=e.token,c.match(this.ALL_LOWER)||c.toLowerCase()===c)return 1;for(_=[this.START_UPPER,this.END_UPPER,this.ALL_UPPER],u=0,a=_.length;a>u;u++)if(h=_[u],c.match(h))return 2;for(r=function(){var e,t,r,s;for(r=c.split(""),s=[],t=0,e=r.length;e>t;t++)n=r[t],n.match(/[A-Z]/)&&s.push(n);return s}().length,t=function(){var e,t,r,s;for(r=c.split(""),s=[],t=0,e=r.length;e>t;t++)n=r[t],n.match(/[a-z]/)&&s.push(n);return s}().length,E=0,s=i=1,o=Math.min(r,t);o>=1?o>=i:i>=o;s=o>=1?++i:--i)E+=this.nCk(r+t,s);return E},l33t_variations:function(e){var t,r,n,s,a,u,i,_,o,h,E,c,g;if(!e.l33t)return 1;g=1,o=e.sub;for(E in o)if(c=o[E],s=e.token.toLowerCase().split(""),t=function(){var e,t,r;for(r=[],t=0,e=s.length;e>t;t++)n=s[t],n===E&&r.push(n);return r}().length,r=function(){var e,t,r;for(r=[],t=0,e=s.length;e>t;t++)n=s[t],n===c&&r.push(n);return r}().length,0===t||0===r)g*=2;else{for(i=Math.min(r,t),_=0,a=u=1,h=i;h>=1?h>=u:u>=h;a=h>=1?++u:--u)_+=this.nCk(r+t,a);g*=_}return g}},module.exports=scoring; + +},{"./adjacency_graphs":1}],7:[function(require,module,exports){ +var time_estimates;time_estimates={estimate_attack_times:function(e){var t,n,s,o;n={online_throttling_100_per_hour:e/(100/3600),online_no_throttling_10_per_second:e/10,offline_slow_hashing_1e4_per_second:e/1e4,offline_fast_hashing_1e10_per_second:e/1e10},t={};for(s in n)o=n[s],t[s]=this.display_time(o);return{crack_times_seconds:n,crack_times_display:t,score:this.guesses_to_score(e)}},guesses_to_score:function(e){var t;return t=5,1e3+t>e?0:1e6+t>e?1:1e8+t>e?2:1e10+t>e?3:4},display_time:function(e){var t,n,s,o,_,r,i,a,u,c;return i=60,r=60*i,s=24*r,a=31*s,c=12*a,n=100*c,u=1>e?[null,"less than a second"]:i>e?(t=Math.round(e),[t,t+" second"]):r>e?(t=Math.round(e/i),[t,t+" minute"]):s>e?(t=Math.round(e/r),[t,t+" hour"]):a>e?(t=Math.round(e/s),[t,t+" day"]):c>e?(t=Math.round(e/a),[t,t+" month"]):n>e?(t=Math.round(e/c),[t,t+" year"]):[null,"centuries"],o=u[0],_=u[1],null!=o&&1!==o&&(_+="s"),_}},module.exports=time_estimates; + +},{}]},{},[4])(4) +}); +//# sourceMappingURL=zxcvbn.js.map \ No newline at end of file diff --git a/src/main/resources/static/sg/login.html b/src/main/resources/static/sg/login.html new file mode 100644 index 0000000..5a42d51 --- /dev/null +++ b/src/main/resources/static/sg/login.html @@ -0,0 +1,365 @@ +<!DOCTYPE> +<html> +<head> + <title>绠¢亾鍩虹澶ф暟鎹钩鍙版湇鍔�-鐧诲綍</title> + <meta charset="utf-8" /> + <meta http-equiv="pragma" content="no-cache" /> + <meta http-equiv="cache-control" content="no-cache" /> + <meta http-equiv="expires" content="0" /> + <link href="../favicon.ico" rel="icon" type="image/x-icon" /> + <link href="../css/style.css" rel="stylesheet" /> + <script src="../js/jquery.min.js"></script> + <script src="../js/jquery.cookie.min.js"></script> + <script src="../js/zxcvbn.js"></script> + <script src="../js/rsa.min.js"></script> +</head> +<body style="background-color: #0059cf; overflow-y: hidden !important;"> + <form method="post" id="fm1" class="fm-v clearfix" action="/sign/login"> + <div class="loginheader" style='display: none;'> + <span class="loginname">鍗曠偣鐧诲綍</span> + <img class="devline" src="../images/login/loginline.png" /><span class="lognameE">Log in</span> + </div> + <div id="topBg" style="background-color: #1a65c9; height: 30%; display: none;"></div> + <div id='div_middle' class="loginmain"> + <div id='div_loginTitle' class="logintitle" style="display: none;"></div> + <div id="topBgColor" style="background-color: #1a65c9; height: 19%; display: none;"></div> + <div id='div_loginBox' class="logintable"> + <div id="loginBox_Title" style="height: 60px; line-height: 60px;"> + <span style="color: #fff; font-size: 50px; font-family: initial; font-weight: 700;">鐢ㄦ埛鐧诲綍</span> + </div> + <!-- 鐢ㄦ埛鍚� --> + <div class="loginid" style='width: 400px; margin-right: 50px; margin-top: 45px; border-bottom: 1px solid #fff;'> + <label for="username"></label> + <input class="required" id="username" placeholder="璇疯緭鍏ョ敤鎴峰悕" size="20" tabindex="1" + type="text" accesskey="n" autocomplete="off" name="username" value="" /> + </div> + <!-- 瀵嗙爜 --> + <section> + <div class="loginpwd" style='width: 400px; margin-right: 20px; margin-top: 30px; border-bottom: 1px solid #fff;'> + <label for="password"></label> + <input class="required" placeholder="璇疯緭鍏ュ瘑鐮�" type="password" id="password" size="20" tabindex="2" + accesskey="p" autocomplete="off" name="password" value="" /><span id="capslock-on" style="display: none;"> + <i class="fa fa-exclamation-circle"></i> + <span>CAPSLOCK key is turned on!</span> + </span> + </div> + </section> + <section class="row check"> + </section> + <!-- 楠岃瘉鐮� --> + <section> + <div class="loginvalifield" style="width: 400px; margin-right: 20px; margin-top: 30px; border-bottom: 1px solid #fff;"> + <div class="loginvalicode"> + <label for="inputCode"></label> + <input id="inputCode" placeholder="璇疯緭鍏ラ獙璇佺爜" name="inputCode" class="required" tabindex="3" accesskey="v" type="text" value="" size="35" autocomplete="off" maxlength="6"> + </div> + <span class="code" id="checkCode" onclick="createCode()"></span> + </div> + </section> + <section> + <div id="eMsg" style="color: red; height: 40px; line-height: 40px; font-size: 15px; margin-bottom: -20px; margin-left: 45px;"></div> + </section> + <!-- 鐧诲綍鎸夐挳 --> + <section> + <input class="loginbtn" style="margin-top: 25px;" name="submit" accesskey="l" value="" tabindex="5" type="button" onclick="sysLogin();"> + </section> + </div> + </div> + <div id='div_foot' style="display: none;"> + <span>鎶�鏈敮鎸侊細鍥藉娴锋磱淇℃伅涓績</span> + </div> + </form> + <script> + var code; + function createCode() { + code = ""; + var codeLength = 4; //楠岃瘉鐮佺殑闀垮害 + var checkCode = document.getElementById("checkCode"); + /* var codeChars = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z', + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'); */ + var codeChars = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9); + for (var i = 0; i < codeLength; i++) { + var charNum = Math.floor(Math.random() * 10); + code += codeChars[charNum]; + } + if (checkCode) { + checkCode.className = "code"; + checkCode.innerHTML = code; + } + } + + var leftoffset = 474; + + // 绂佹鍦╥frame鎵撳紑 + function noIframe() { + if (top.location != self.location) { + window.top.location = self.location.href.split("?")[0]; + } + } + + function autoResize() { + var div_obj = document.getElementById("div_middle"); + //瀹藉害鑷�傚簲 + var fullWidth = document.body.offsetWidth; + var div_loginBox = document.getElementById("div_loginBox"); + var boxWidth = div_loginBox.offsetWidth; + var myWidth = div_obj.offsetWidth; + //if (fullWidth > 1920) { fullWidth = 1920; } + + var winWidht = window.innerWidth; + var winHeight = window.innerHeight - 100; + var bgHeight = 1080; + winWidht += 150; + if (winWidht >= 1920) { + $("#div_middle").css("background", "url(../images/NewGJXJlogin/1920/2bg.jpg) no-repeat").css("background-position", "center bottom").css("height", "800px"); + $("#div_middle").css("height", "980px"); + $(".logintable").css("margin-top", "170px"); + div_loginBox.style.left = ((fullWidth - 410) / 2 + 474) + "px"; + bgHeight = 980; //1080 + } else if (winWidht >= 1600) { + $("#div_middle").css("background", "url(../images/NewGJXJlogin/1600/2bg.jpg) no-repeat").css("background-position", "center bottom").css("height", "800px"); + $("#loginBox_Title span").css("font-size", "40px"); + $(".loginid").css("margin-top", "35px").css("height", "45px").css("width", "350px").css("background", "url(../images/NewGJXJlogin/1600/user.png) no-repeat").css("background-position", "3% 40%"); + $(".loginid input").css("width", "306px").css("margin-left", "45px").css("font-size", "18px"); + $(".loginpwd").css("margin-top", "20px").css("height", "45px").css("width", "350px").css("background", "url(../images/NewGJXJlogin/1600/password.png) no-repeat").css("background-position", "3% 40%"); + $(".loginpwd input").css("width", "306px").css("margin-left", "45px").css("font-size", "18px"); + $(".loginvalicode").css("height", "45px").css("width", "270px").css("background", "url(../images/NewGJXJlogin/1600/code.png) no-repeat").css("background-position", "4.5% 40%"); + $(".loginvalicode input").css("width", "215px").css("margin-left", "49px").css("font-size", "18px"); + $(".loginvalifield").css("margin-top", "20px").css("width", "350px").css("height", "45px"); + $("#inputCode").css("margin-left", "46px"); + $(".logintable").css("margin-top", "113px").css("width", "350px").css("height", "470px"); + //$(".logintable").css("margin-top", "210px").css("width", "350px").css("height", "470px"); + $("#carLink div").css("background", "url(../images/NewGJXJlogin/1600/add.png) no-repeat").css("background-position", "3% 40%"); + $("#carLink a").css("margin-left", "50px").css("font-size", "16px"); + $(".loginbtn").css("margin-top", "25px"); + leftoffset = 404; + bgHeight = 800; //900 + div_loginBox.style.left = ((fullWidth - 360) / 2 + leftoffset) + "px"; + } else if (winWidht >= 1440) { + $("#div_middle").css("background", "url(../images/NewGJXJlogin/1440/2bg.jpg) no-repeat").css("background-position", "center bottom").css("height", "810px"); + $("#loginBox_Title").css("height", "50px").css("line-height", "50px"); + $("#loginBox_Title span").css("font-size", "36px"); + $(".loginid").css("margin-top", "20px").css("height", "45px").css("width", "320px").css("background", "url(../images/NewGJXJlogin/1440/user.png) no-repeat").css("background-position", "3% 40%"); + $(".loginid input").css("width", "276px").css("margin-left", "45px").css("font-size", "16px"); + $(".loginpwd").css("margin-top", "20px").css("height", "45px").css("width", "320px").css("background", "url(../images/NewGJXJlogin/1440/password.png) no-repeat").css("background-position", "3% 40%"); + $(".loginpwd input").css("width", "276px").css("margin-left", "45px").css("font-size", "16px"); + $(".loginvalicode").css("height", "45px").css("width", "240px").css("background", "url(../images/NewGJXJlogin/1440/code.png) no-repeat").css("background-position", "4.5% 40%"); + $(".loginvalicode input").css("width", "185px").css("margin-left", "49px").css("font-size", "16px"); + $(".loginvalifield").css("margin-top", "20px").css("width", "320px").css("height", "45px"); + $(".logintable").css("margin-top", "201px").css("width", "320px").css("height", "420px"); + $("#carLink div").css("background", "url(../images/NewGJXJlogin/1440/add.png) no-repeat").css("background-position", "3.5% 40%").css("margin-top", "25px").css("height", "30px").css("line-height", "30px"); + $("#carLink a").css("margin-left", "50px").css("font-size", "16px"); + $(".loginbtn").css("margin-top", "25px").css("height", "50px"); + leftoffset = 357; + bgHeight = 810; + div_loginBox.style.left = ((fullWidth - 320) / 2 + leftoffset) + "px"; + } else if (winWidht >= 1366) { + $("#div_middle").css("background", "url(../images/NewGJXJlogin/1366/2bg.jpg) no-repeat").css("background-position", "center bottom").css("height", "668px"); + $("#loginBox_Title").css("height", "50px").css("line-height", "50px"); + $("#loginBox_Title span").css("font-size", "32px"); + $(".loginid").css("margin-top", "35px").css("height", "40px").css("width", "300px").css("background", "url(../images/NewGJXJlogin/1366/user.png) no-repeat").css("background-position", "3% 50%"); + $(".loginid input").css("width", "256px").css("margin-left", "45px").css("font-size", "14px"); + $(".loginpwd").css("margin-top", "20px").css("height", "40px").css("width", "300px").css("background", "url(../images/NewGJXJlogin/1366/password.png) no-repeat").css("background-position", "3% 50%"); + $(".loginpwd input").css("width", "256px").css("margin-left", "45px").css("font-size", "14px"); + $(".loginvalicode").css("height", "40px").css("width", "220px").css("background", "url(../images/NewGJXJlogin/1366/code.png) no-repeat").css("background-position", "4.5% 50%"); + $(".loginvalicode input").css("width", "165px").css("margin-left", "46px").css("font-size", "14px"); + $(".loginvalifield").css("margin-top", "20px").css("width", "300px").css("height", "40px"); + $(".logintable").css("margin-top", "83px").css("width", "300px").css("height", "390px"); + //$(".logintable").css("margin-top", "135px").css("width", "300px").css("height", "390px"); + $("#carLink div").css("background", "url(../images/NewGJXJlogin/1366/add.png) no-repeat").css("background-position", "3.5% 50%").css("margin-top", "25px").css("height", "30px").css("line-height", "30px"); + $("#carLink a").css("margin-left", "50px").css("font-size", "14px"); + $(".loginbtn").css("margin-top", "10px").css("height", "56px"); + leftoffset = 338; + bgHeight = 668; //731 + div_loginBox.style.left = ((fullWidth - 300) / 2 + leftoffset) + "px"; + } else { + //fullWidth = 1280; + $("#div_middle").css("background", "url(../images/NewGJXJlogin/1280/2bg.jpg) no-repeat").css("background-position", "center bottom").css("height", "620px"); + $("#loginBox_Title").css("height", "50px").css("line-height", "50px"); + $("#loginBox_Title span").css("font-size", "32px"); + $(".loginid").css("margin-top", "27px").css("height", "40px").css("width", "280px").css("background", "url(../images/NewGJXJlogin/1280/user.png) no-repeat").css("background-position", "3% 50%"); + $(".loginid input").css("width", "236px").css("margin-left", "45px").css("font-size", "14px"); + $(".loginpwd").css("margin-top", "20px").css("height", "40px").css("width", "280px").css("background", "url(../images/NewGJXJlogin/1280/password.png) no-repeat").css("background-position", "3% 50%"); + $(".loginpwd input").css("width", "236px").css("margin-left", "45px").css("font-size", "14px"); + $(".loginvalicode").css("height", "40px").css("width", "200px").css("background", "url(../images/NewGJXJlogin/1280/code.png) no-repeat").css("background-position", "4.5% 50%"); + $(".loginvalicode input").css("width", "145px").css("margin-left", "46px").css("font-size", "14px"); + $(".loginvalifield").css("margin-top", "20px").css("width", "280px").css("height", "40px"); + $(".logintable").css("margin-top", "70px").css("width", "280px").css("height", "380px"); + $("#carLink div").css("background", "url(../images/NewGJXJlogin/1280/add.png) no-repeat").css("background-position", "3.5% 50%").css("margin-top", "25px").css("height", "30px").css("line-height", "30px"); + $("#carLink a").css("margin-left", "50px").css("font-size", "14px"); + $(".loginbtn").css("margin-top", "0px").css("height", "50px"); + leftoffset = 314; + bgHeight = 620; + div_loginBox.style.left = ((fullWidth - 280) / 2 + leftoffset) + "px"; + $("body").css("overflow", "hidden"); + } + div_obj.style.width = fullWidth + "px"; + if (winHeight > bgHeight) { + div_obj.style.height = winHeight + "px"; + var marginTop = parseFloat($(".logintable").css("margin-top").replace("px")) + (winHeight - bgHeight); + $(".logintable").css("margin-top", marginTop + "px"); + } + //楂樺害鑷�傚簲 + var fullHeight = document.body.offsetHeight; + var myHeight = div_obj.offsetHeight; + if (fullHeight > myHeight) { + //div_obj.style.marginTop = ((fullHeight - myHeight) / 2) + "px"; + } + var div_loginTitle = document.getElementById("div_loginTitle"); + var titleWidth = div_loginTitle.offsetWidth; + div_loginTitle.style.left = (fullWidth - titleWidth) / 2 + "px"; + } + + window.onload = function () { + noIframe(); + createCode(); + autoResize(); + getPublicKey(); + $(window).on("resize", autoResize); + document.getElementById('username').focus(); + } + </script> + <script> + function getPublicKey() { + $.get("getPublicKey", function (rs) { + if (rs && rs.code == 200) { + window.encrypt = new JSEncrypt(); + encrypt.setPublicKey(rs.result); + } + }); + } + + function sysValidate() { + // 楠岃瘉鐢ㄦ埛鍚嶄笌瀵嗙爜 + var theUsername = document.getElementById("username").value; + if (theUsername.length <= 0) { + $("#eMsg").html("鎻愮ず锛氳杈撳叆鐢ㄦ埛鍚嶏紒"); + $("#username").focus(); + return false; + } + var thePassword = document.getElementById("password").value; + if (thePassword.length <= 0) { + $("#eMsg").html("鎻愮ず锛氳杈撳叆瀵嗙爜锛�"); + $("#password").focus(); + return false; + } + if (!isValid(thePassword)) { + $("#eMsg").html("鎻愮ず锛氬瘑鐮佷负8-20浣嶅寘鍚瓧姣嶃�佹暟瀛楀拰鐗规畩瀛楃锛�"); + $("#password").focus(); + return false; + } + + // 楠岃瘉楠岃瘉鐮� + var inputCode = document.getElementById("inputCode").value; + if (inputCode.length <= 0) { + $("#eMsg").html("鎻愮ず锛氳杈撳叆楠岃瘉鐮侊紒"); + $("#inputCode").focus(); + return false; + } + if (inputCode.toUpperCase() != code.toUpperCase()) { + $("#eMsg").html("鎻愮ず锛氶獙璇佺爜杈撳叆鏈夎锛�"); + $("#inputCode").val("").focus(); + createCode(); + return false; + } + + return true; + } + + window.isBusy = false; + + function sysLogin() { + if (isBusy || !sysValidate()) { + return; + } + + isBusy = true; + var username = $.trim($("#username").val()); + var password = $("#password").val(); + var service = getQueryStr("service"); + + var data = { + "uid": encrypt.encrypt(username), + "pwd": encrypt.encrypt(password) + }; + + $.ajax({ + url: "login", + type: "POST", + data: JSON.stringify(data), + dataType: "json", // html銆乯son銆乯sonp銆乻cript銆乼ext + contentType: "application/json", // "application/json", "application/x-www-form-urlencoded", + success: function (rs) { + isBusy = false; + + if (!rs || rs.code != 200) { + createCode(); + var msg = rs && rs.msg ? rs.msg : "鐧诲綍澶辫触锛�"; + $("#eMsg").html(msg); + return; + } + + var service = getQueryStr("service"); + if (service) { + service += (service.indexOf("?") > -1 ? "&" : "?") + "token=" + rs.result.token; + location.href = service; + return; + } + + location.href = location.href.replace("/sign/toLogin", "/sign/toIndex"); + }, + error: function (e) { + isBusy = false; + console.error(e); + alert("鐧诲綍鍑洪敊锛岃鑱旂郴绠$悊鍛橈紒"); + } + }); + } + + function ajax(url, type, data, dataType, contentType, fn, efn) { + $.ajax({ + url: url, + type: type, + data: data, + dataType: dataType || "json", // html銆乯son銆乯sonp銆乻cript銆乼ext + contentType: contentType || "application/json", // "application/x-www-form-urlencoded" + success: function (data) { + fn(data); + }, + error: function (e) { + console.error(e); + fn(); + } + }); + } + + // 鑾峰彇URL鍙傛暟 + function getQueryStr(name) { + var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); + var r = window.location.search.substr(1).match(reg); + if (r != null) { + return decodeURI(r[2]); + } + return null; + } + + document.onkeydown = function (e) { + var ev = window.event || e; + var code = ev.keyCode || ev.which || ev.charCode; + if (code == 13) { + sysLogin(); + } + } + + // 瀵嗙爜鏄惁鍚堣 + function isValid(pwd) { + if (pwd) { + var regex = new RegExp('^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{8,20}$'); + return regex.test(pwd) + } + return false; + } + </script> +</body> +</html> diff --git a/src/main/resources/static/sg/monitor.html b/src/main/resources/static/sg/monitor.html new file mode 100644 index 0000000..f51a23a --- /dev/null +++ b/src/main/resources/static/sg/monitor.html @@ -0,0 +1,1051 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>杩愮淮鐩戞帶</title> + + <link href="../css/main.css" rel="stylesheet" > + <link href="../css/jquery-ui.min.css" rel="stylesheet"> + <link href="../css/bootstrap/bootstrap.css" rel="stylesheet"> + + <script src="../js/jquery.min.js"></script> + <script src="../js/jquery-ui.min.js"></script> + <script src="../js/sockjs.min.js"></script> + <script src="../js/echarts.min.js"></script> + <script src="../js/bootstrap.min.js"></script> + <script src="../js/resourceAnalyse.js"></script> + <script src="../js/paramconfig.js"></script> + <script> + $.ajaxSetup({ + dataType: "json", + cache: false, + headers: { + // TODO + }, + xhrFields: { + withCredentials: false + }, + crossDomain: true + }); + + var errorsystemdata = ""; //寮傚父绯荤粺 + var onlineUser = null; //鍦ㄧ嚎浜哄憳 + var warningserver = ""; //寮傚父鏈嶅姟 + var cpuchart = null; //cpu鍥捐〃 + var memchart = null; //鍐呭瓨鍥捐〃 + var resstatuschart = null; //璧勬簮鐘舵�侀ゼ鐘跺浘 + var auditstatuschart = null; //璧勬簮瀹℃牳缁熻鍥� + var resUsagechart = null; //璧勬簮浣跨敤鎶樼嚎鍥� + var useractionchart = null; //鐢ㄦ埛璋冪敤鎶樼嚎鍥� + var resourceChart = null; //鐢ㄦ埛璋冪敤鎶樼嚎鍥� + + $(document).ready(function () { + auditstatuschart = echarts.init(document.getElementById("auditstatus")); + resUsagechart = echarts.init(document.getElementById("resinvokechart")); + useractionchart = echarts.init(document.getElementById("useractionchart")); + resourceChart = echarts.init(document.getElementById("resourceChart")); + servicestatus(); + resUsageAction(); + userAction(); + resource(); + //鍦ㄧ嚎浜哄憳鍜屽紓甯歌祫婧� 鏇村鍒楄〃 + $('.personcountmore').on("click", function () { + window.open("./onlineUser.html?data=" + encodeURI(encodeURI(JSON.stringify( + onlineUser)))); + console.log("鍦ㄧ嚎浜哄憳鍒楄〃"); + }) + $('.errorResNummore').on("click", function () { + window.open("./warningResource.html"); + console.log("寮傚父璧勬簮鍒楄〃"); + }) + $("#useractionbutton").on("click", function () { + + userAction($("#UserName").val()); + }) + $("#resactionbutton").on("click", function () { + resUsageAction($("#zyid").val()); + }) + }); + + function cpuEchart() { + var myChart = echarts.init(document.getElementById("Sys_cpu_chart")); + myChart.setOption({ + tooltip: { + trigger: 'axis' + }, + + toolbox: { + show: true, + + }, + calculable: true, + xAxis: [{ + type: 'category', + boundaryGap: false, + splitLine: { + show: false + }, + axisLine: { + show: false + }, + data: ['', '', '', '', '', '', ''] + + }], + yAxis: [{ + type: 'value', + axisLine: { + show: false + }, + show: false + }], + series: [{ + name: '鐢ㄩ噺', + type: 'line', + smooth: true, + itemStyle: { + normal: { + areaStyle: { + type: 'default' + } + } + }, + data: cpulist + }] + }) + } + + /** + * 鏈嶅姟鐘舵�� + */ + function servicestatus() { + $.get(LanCatalogBaseApiURL + 'monitor/jitmonitor/getGisResNumByResStatus', function (data) { + var map = data; + var resStatus = []; + map.resStatus.forEach(item => { + var temp = {}; + temp.name = item.resourcestatus == 0 ? "姝e父璧勬簮" : "寮傚父璧勬簮"; + temp.value = item.count; + resStatus.push(temp); + }) + ChartsPie('resstatus', resStatus); + activeStatusChart('auditstatus', map); + }); + } + + /** + * 姝e父璧勬簮 + * @param domid + * @param data + */ + function activeStatusChart(domid, data) { + var myChart = echarts.init(document.getElementById(domid)); + var colors = [' #d3e9af', '#ed9678', "#3DD1F9", "#BBA767", "#982CD5", "#FFD1B0", "#FFAD05", "#531477", + "#0066FF", + "#FFC200", "#E52F70", "#CA6821", "#FF3A3A", "#1EAD06", "#D04311", "#6D6815", "#49A7FF", "#FFF000", + "#1E7532", + "#FFA889", "#E986AA" + ]; + var total = 0; + data.resStatus.forEach(item => { + + total = item.count + total; + }) + + myChart.setOption({ + grid: [{ + width: "800px", + height: "800px" + }], + color: colors, + tooltip: { + trigger: 'item', + formatter: "{a} <br/>{b} : {c} ({d}%)" + }, + legend: { + orient: 'vertical', + x: 'left', + textStyle: { + color: '#73879a' + }, + data: ['娲昏穬璧勬簮', '涓嶆椿璺冭祫婧�'] + }, + + calculable: true, + + series: [{ + name: '璁块棶鏉ユ簮', + type: 'pie', + radius: ['50%', '70%'], + center: ['50%', '70%'], + bottom: '10%', + itemStyle: { + normal: { + label: { + show: false + }, + labelLine: { + show: false + }, + }, + emphasis: { + label: { + show: true, + position: 'center', + textStyle: { + fontSize: '20', + fontWeight: 'bold' + } + } + } + }, + data: [{ + "name": "娲昏穬璧勬簮", + "value": data.activeResourceNum + + }, { + "name": "涓嶆椿璺冭祫婧�", + "value": total - data.activeResourceNum + + }] + }] + }) + } + + + /** + * 鏈嶅姟璧勬簮鐘舵�� + */ + function ChartsPie(domid, data1) { + var myChart = echarts.init(document.getElementById(domid)); + var colors = [' #d3e9af', '#ed9678', "#3DD1F9", "#BBA767", "#982CD5", "#FFD1B0", "#FFAD05", "#531477", + "#0066FF", + "#FFC200", "#E52F70", "#CA6821", "#FF3A3A", "#1EAD06", "#D04311", "#6D6815", "#49A7FF", "#FFF000", + "#1E7532", + "#FFA889", "#E986AA" + ]; + + myChart.setOption({ + color: colors, + tooltip: { + trigger: 'item', + formatter: "{a} <br/>{b} : {c} ({d}%)" + }, + legend: { + orient: 'vertical', + x: 'left', + textStyle: { + color: '#73879a' + }, + data: ['姝e父璧勬簮', '寮傚父璧勬簮'] + }, + + calculable: true, + series: [{ + name: '璁块棶鏉ユ簮', + type: 'pie', + radius: ['50%', '70%'], + center: ['50%', '70%'], + bottom: "10%", + itemStyle: { + normal: { + label: { + show: false + }, + labelLine: { + show: false + } + }, + emphasis: { + label: { + show: true, + position: 'center', + textStyle: { + fontSize: '20', + fontWeight: 'bold' + } + } + } + }, + data: data1 + }] + }) + } + //-----------------------鐢ㄦ埛鎿嶄綔琛屼负--------------------------- + function userAction(username) { + $.get(restServerBaseURL + 'api/monitor/analysisUser?username=' + (username != undefined ? username : ""), + function (data) { + var map = data; + useractionchart.setOption(option = { + title: { + show: false, + text: '鐢ㄦ埛鎿嶄綔琛屼负缁熻鍥�', + left: '3%', + textStyle: { + color: '#73879a', + fontSize: 25 + }, + }, + + tooltip: { + trigger: 'axis' + }, + grid: { + // TODO + }, + xAxis: { + axisLabel: { + rotate: 50, + textStyle: { + color: '#73879a', + fontSize: 10 + }, + axisLine: { + lineStyle: { + color: '#73879a' + } + } + }, + data: map.map(function (item) { + return item.remark; + }) + }, + yAxis: { + type: 'value', + axisLabel: { + textStyle: { + color: '#73879a', + fontSize: 14 + } + } + }, + series: { + name: '鏌ヨ', + type: 'bar', + data: map.map(function (item) { + return item.count; + }), + markLine: { + silent: true, + lineStyle: { + color: '#333' + } + } + } + }); + }); + useractionchart.on("click", function (params) { + console.log("iframe 鐢ㄦ埛琛屼负椤甸潰"); + var frameSrc = "./useraction.html?username=" + $("#UserName").val(); + $("#serverstatusiframe").attr("src", frameSrc); + $('#serverstatusModal').modal({ + show: true, + backdrop: 'static' + }); + }) + } + + function resUsageAction(resid) { + $.get(LanCatalogBaseApiURL + 'monitor/jitmonitor/queryResourceLog?resourceid=' + (resid != undefined ? resid : + ""), function (data) { + var date_res = []; + var data_res = []; + var dataList = data.data; + for (var i = 0; i < dataList.length; i++) { + date_res.push(dataList[i].time) + data_res.push(dataList[i].count) + } + resUsagechart.clear(); + + setTimeout( + resUsagechart.setOption(option = { + + tooltip: { + position: function (pt) { + return [pt[0], '10%']; + }, + trigger: 'axis', + formatter: function (params) { + console.log(params[0].name); + + var data = dataList[params[0].dataIndex]; + var showcontent = data.time + "<br>" + "璧勬簮ID:" + data.userid + + " 璋冪敤娆℃暟: " + + data.count + "<br>"; + + return showcontent; + } + }, + title: { + show: false, + left: '4%', + textStyle: { + color: '#73879a', + fontSize: 25 + }, + text: '璧勬簮璋冪敤鐘舵��', + }, + xAxis: { + type: 'category', + boundaryGap: false, + data: date_res + }, + yAxis: { + type: 'value', + boundaryGap: [0, '100%'] + }, + dataZoom: [{ + type: 'inside', + start: 0, + end: 100 + }, { + start: 0, + end: 100, + handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z', + handleSize: '80%', + handleStyle: { + color: '#fff', + shadowBlur: 3, + shadowColor: 'rgba(0, 0, 0, 0.6)', + shadowOffsetX: 2, + shadowOffsetY: 2 + } + }], + series: [{ + name: '妯℃嫙鏁版嵁', + type: 'line', + smooth: true, + symbol: 'none', + sampling: 'average', + itemStyle: { + normal: { + color: 'rgb(255, 70, 131)' + } + }, + areaStyle: { + normal: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: 'rgb(255, 158, 68)' + }, { + offset: 1, + color: 'rgb(255, 70, 131)' + }]) + } + }, + data: data_res + }] + }) + ,500) + }); + + + resUsagechart.on("click", function (params) { + // debugger + console.log("iframe 鐢ㄦ埛琛屼负椤甸潰"); + var frameSrc = "./ziyuantrace.html?resourceid=" + $("#zyid").val(); + $("#serverstatusiframe").attr("src", frameSrc); + $('#serverstatusModal').modal({ + show: true, + backdrop: 'static' + }); + }) + } + //-----------------------鍦ㄧ嚎浜哄憳------------------------------- + function acptonlineUser(data) { + onlineUser = data.onlineUser; + + $("#personcount").text(`(${data.count})`); + $("#onlineUsertable tbody").empty(); + onlineUser.forEach((element, index) => { + console.log(index); + console.log(element); + + $("#onlineUsertable tbody").append("<tr>" + + "<td>" + element['userid'] + "</td>" + + "<td>" + element['chinesename'] + "</td>" + + "<td>" + element['time'] + "</td>" + + "</tr>"); + }); + + } + + function warningRes() { + $.get(LanCatalogBaseApiURL + 'monitor/jitmonitor/warning', function (response) { + + // var data = JSON.parse(response).data; + var data = response.data; + warningserver = data; + $("#errorResNum").text(`(${data.length})`); + $("#warningResNum").html(data.length); + $("#errorRestable tbody").empty(); + data.forEach((element, index) => { + // console.log(index); + // console.log(element); + + $("#errorRestable tbody").append("<tr>" + + "<td>" + element['resourceid'] + "</td>" + + "<td>" + element['title'] + "</td>" + + "<td>" + element['serverstatus'] + "</td>" + + "<td>" + element['time'] + "</td>" + + "</tr>"); + }); + }); + + } + setInterval(() => { + //warningRes(); + }, 1000) + + + function cpupieEchart(data) { + + var cpuinfo = { + "cpu鐢ㄦ埛浣跨敤鐜�": "6.53", + "cpu褰撳墠绛夊緟鐜�": "0", + "cpu褰撳墠浣跨敤鐜�": "14.6", + "cpu绯荤粺浣跨敤鐜�": "7.96" + }; + var objs = []; + Object.keys(cpuinfo).forEach(item => { + var temp = {}; + temp.name = item; + temp.value = cpuinfo[item]; + objs.push(temp); + }) + option = { + tooltip: { + trigger: 'item', + formatter: '{a} <br/>{b}: {c} ({d}%)' + }, + series: [{ + name: 'cpu鐘舵��', + type: 'pie', + radius: ['50%', '70%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center' + }, + emphasis: { + label: { + show: true, + fontSize: '30', + fontWeight: 'bold' + } + }, + labelLine: { + show: false + }, + data: objs + }] + }; + + return option; + } + + + function mempieEchart(data) { + + var obj = { + "鍓╀綑鍐呭瓨 ": "953.36MB", + "浣跨敤": "7GB", + "浣跨敤鐜�": "88.26%", + "鎬诲唴瀛�": "7.93GB" + }; + var objs = []; + Object.keys(obj).forEach(item => { + var temp = {}; + temp.name = item; + temp.value = obj[item]; + objs.push(temp); + }) + option = { + tooltip: { + trigger: 'item', + formatter: '{a} <br/>{b}: {c} ({d}%)' + }, + series: [{ + name: 'cpu鐘舵��', + type: 'pie', + radius: ['50%', '70%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center' + }, + emphasis: { + label: { + show: true, + fontSize: '30', + fontWeight: 'bold' + } + }, + labelLine: { + show: false + }, + data: objs + }] + }; + + return option; + } + var cpulist = []; + //---------------鏈嶅姟鍣ㄧ姸鎬�------------------------------- + function cpuandmem(data) { + var cpu = data.cpuinfo; + var mem = data.meminfo; + $("#usercpusge").html(cpu.cpuUserUsage); + $(".SysText_cpu").html(cpu.cpuUserUsage); + if (cpulist.length > 6) { + cpulist = cpulist.slice(1) + + + } + + cpulist.push(parseFloat(cpu.cpuUserUsage)) + + cpuEchart(); + + + var html = + '<div class="Syslabel">鎬诲唴瀛�</div><div><exclamationCircleOutlined><exclamationCircleOutlined/></div>'; + html += '<div class="SysText">' + mem.totalmem + '</div>'; + html += '<div class="Sys_Info">'; + html += '<div>宸蹭娇鐢� ' + mem.use + '</div>'; + html += '<div class="sys_sy">浣跨敤鐜� ' + ((parseFloat(mem.use) / parseFloat(mem.totalmem)).toFixed(2))*100 + + '%</div>'; + html += '</div>'; + $(".SystemNC").html(html); + } + + + + //----------------------socket閫氳------------------------ + var socket; + + function openSocket() { + if (typeof (WebSocket) == "undefined") { + console.log("鎮ㄧ殑娴忚鍣ㄤ笉鏀寔WebSocket"); + } else { + console.log("鎮ㄧ殑娴忚鍣ㄦ敮鎸乄ebSocket"); + + console.log(socketUrl); + if (socket != null) { + socket.close(); + socket = null; + } + socket = new WebSocket(socketUrl); + //鎵撳紑浜嬩欢 + socket.onopen = function () { + console.log("websocket宸叉墦寮�"); + }; + //鑾峰緱娑堟伅浜嬩欢 + socket.onmessage = function (msg) { + var obj = eval('(' + msg.data + ')'); + if (obj.cpuinfo !== undefined) { + cpuandmem(obj); + } + + if (obj.onlineUser !== undefined) { + acptonlineUser(obj); + } + + if (obj.errorsystem !== undefined) { + errorsystemdata = obj; + $("#errorsystem").text(obj.count); + } + + }; + //鍏抽棴浜嬩欢 + socket.onclose = function () { + console.log("websocket宸插叧闂�"); + }; + //鍙戠敓浜嗛敊璇簨浠� + socket.onerror = function () { + console.log("websocket鍙戠敓浜嗛敊璇�"); + } + } + } + + function sendMessage() { + + } + + function theclose() { + + //鍏抽棴浜嬩欢 + if (socket != null) { + socket.close(); + socket = null; + } + } + + openSocket(); + + function findUserByWord() { + var username = $("#UserName").val(); + $("#UserName").autocomplete({ + source: restServerBaseURL + 'org/user/findUserByWord?keyWord=' + encodeURI(encodeURI( + username)), //璇锋眰鐨剈rl + minLength: 1, + }); + } + </script> +</head> +<style> + html, + body { + background-color: rgb(240, 242, 245) !important; + } + + a { + /*color:black;*/ + color: black !important; + font-size: 14px !important; + } + + .table thead th { + vertical-align: bottom; + border-bottom: 1px solid #dee2e6; + border-top: 0px; + } + + .form-control { + display: block; + width: 100%; + height: 2rem !important; + padding: 0 !important; + font-size: 14px !important; + font-weight: 400; + line-height: 1.0 !important; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #6c757d !important; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + } + + .btn-primary { + /* color: #fff; + background-color: #007bff; + border-color: #007bff; + height: 2rem !important; + line-height: 2rem !important; + font-size: 14px !important; */ + } + + .btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; + padding: 0.265rem 0.55rem; + } + + .table-striped tbody tr:nth-of-type(odd) { + background-color: transparent !important; + } + + .table { + /* font-size: 14px !important; */ + } + + .SystemNC { + width: 70%; + height: 92%; + margin-left: 15%; + } + + .Syslabel { + width: 20%; + height: 22%; + font-family: sans-serif; + font-size: 13px; + color: gray; + text-align: left; + margin-left: 20px; + } + + .SysText { + width: 65%; + height: 48%; + font-family: sans-serif; + font-size: 27px; + color: #1b1e21; + text-align: center; + letter-spacing: 2px; + } + + .Sys_Info { + display: flex; + width: 90%; + height: 23%; + margin-left: 6%; + font-family: sans-serif; + font-size: 13px; + } + + .sys_sy { + margin-left: 25px; + } + + .System_cpu { + width: 70%; + height: 92%; + margin-left: 15%; + } + + .SysText_cpu { + width: 65%; + height: 34%; + font-family: sans-serif; + font-size: 27px; + color: #1b1e21; + text-align: center; + letter-spacing: 2px; + } + + #errorsystem { + width: 100%; + height: 74%; + font-family: sans-serif; + font-size: 31px; + color: #1b1e21; + text-align: center; + letter-spacing: 2px; + margin-top: 15px; + } + + #warningResNum { + width: 100%; + height: 74%; + font-family: sans-serif; + font-size: 31px; + color: #1b1e21; + text-align: center; + letter-spacing: 2px; + margin-top: 15px; + } + + #Sys_cpu_chart { + width: 100%; + height: 100%; + margin-top: -26px; + } +</style> + +<body style="background-color: #fff;"> + <div id="main"> + <div id="box"> + + <div id="left"> + <!-- 鏈嶅姟鍣ㄧ姸鎬�--> + <div id="severstatus"> + <div class="severstatus_left panel panel-default"> + <div class="partbox"> + <div class="SystemNC"> + </div> + <div class="divider"></div> + <div style="color: #6c757d;">绯荤粺鍐呭瓨</div> + </div> + <div class="partbox"> + <div class="System_cpu"> + <div class="Syslabel">CPU鐢ㄩ噺</div> + <div class="SysText_cpu"></div> + <div id="Sys_cpu_chart"></div> + </div> + <div class="divider"></div> + <div style="color: #6c757d;">cpu绯荤粺鐢ㄩ噺</div> + + </div> + <div class="partbox"> + <div class="System_cpu"> + <div class="Syslabel">寮傚父涓暟</div> + <div id="errorsystem"></div> + </div> + <div class="divider"></div> + <div style="color: #6c757d;">寮傚父绯荤粺涓暟</div> + </div> + <div class="partbox"> + <div class="System_cpu"> + <div class="Syslabel">鏈嶅姟鍛婅</div> + <div id="warningResNum"></div> + </div> + <div class="divider"></div> + <div style="color: #6c757d;">鏈嶅姟璧勬簮鍛婅</div> + </div> + </div> + </div> + + <div id="tabpanel"> + + <div class="title"> + + <div class="tabtitle active" data-item='tab2'>鏈嶅姟璧勬簮鐘舵��</div> + <div class="tabtitle " data-item='tab3'>鐢ㄦ埛鎿嶄綔琛屼负</div> + <div class="tabtitle " data-item='tab1'>璧勬簮璋冪敤鐘舵��</div> + <div class="tabtitle " data-item='tab4'>璧勬簮璋冪敤缁熻</div> + + </div> + + <div class="divider" style="width: 98%;"></div> + <div class="tabcontent" id="tabpanel-tab2"> + <div class="chart"> + <div id="resstatus"></div> + <div id="auditstatus"> + </div> + </div> + </div> + <div class="tabcontent" id="tabpanel-tab3" style="display: none;"> + <div style="margin-left: 20px; margin-top: 13px;"> + <input type="text" class="form-control useractionlabeltext" id="UserName" name="UserName" + onkeyup="findUserByWord()" onclick="findUserByWord()" placeholder="杈撳叆鐢ㄦ埛鍚嶃�佷腑鏂囧悕鎴栨嫾闊抽瀛楁瘝鏌ヨ"> + <a> </a> + <button type="button" id="useractionbutton" class="btn btn-primary">鏌ヨ</button> + </div> + <div class="useractionbox "> + <div id="useractionchart" class="panel-heading" + style="background-color: white; border-color: white; width: 1600px !important; height: 350px;"> + </div> + </div> + </div> + + <div class="tabcontent" id="tabpanel-tab4" style="display: none;"> + <div style="margin-left: 20px; margin-top: 13px;"> + <input type="text" class="form-control useractionlabeltext" id="resource" name="UserName" + onkeyup="findUserByWord()" onclick="findUserByWord()" placeholder="璇疯緭鍏ョ敤鎴峰悕绉版煡璇�"> + <a> </a> + <button type="button" id="resourceActionButton" class="btn btn-primary">鏌ヨ</button> + </div> + <div class="useractionbox "> + <div id="resourceChart" class="panel-heading" + style="background-color: white; border-color: white; width: 1600px !important; height: 350px;"> + </div> + </div> + </div> + <div class="tabcontent" id="tabpanel-tab1" style="display: block;"> + <div style="margin-left: 20px; margin-top: 13px;"> + <!-- <label class="control-label useractionlabel">璧勬簮ID</label> --> + <input type="text" class="form-control useractionlabeltext" id="zyid" name="zyid" + placeholder="杈撳叆璧勬簮id"> + <a> </a> + <button type="button" class="btn btn-primary" id="resactionbutton">鏌ヨ</button> + </div> + <div class="resUsagebox"> + <div id="resinvokechart"></div> + </div> + </div> + </div> + + <div style="margin-top: 15px;"> + <div id="onlineUser" class="panel panel-default"> + <div class="title panel-heading"> + <span>鍦ㄧ嚎浜哄憳<a id="personcount"></a> <a class="personcountmore" + style="float: right">鏇村>></a></span> + </div> + <table id="onlineUsertable" class="table table-striped table-hover"> + <thead> + <tr> + <td scope="col">鐢ㄦ埛ID</td> + <td scope="col">鐢ㄦ埛鍚�</td> + <td scope="col">涓婄嚎鏃堕棿</td> + </tr> + </thead> + <tbody> + </tbody> + </table> + </div> + + <div id="warnResource" class="panel panel-default"> + <div class="title panel-heading"> + <span>寮傚父璧勬簮<a id="errorResNum"></a><a class="errorResNummore" + style="float: right">鏇村>></a></span> + </div> + <table id="errorRestable" class="table table-striped table-hover "> + <thead> + <tr> + <td scope="col">璧勬簮ID</td> + <td scope="col">璧勬簮鍚嶇О</td> + <td scope="col">璧勬簮鐘舵��</td> + <td scope="col">寮傚父鏃堕棿</td> + </tr> + </thead> + <div class=" pre-scrollable"> + <tbody class="tbbox"> + </tbody> + </div> + </table> + </div> + </div> + </div> + </div> + + <!-- -----------------------iframe妯℃�佹------------------------------- --> + <div class="modal fade" id="NoPermissionModal"> + <div class="modal-dialog modal-lg"> + <div class="modal-content" style="width: 800px; height: 400px"> + <div class="modal-header"> + <h4 class="modal-title" id="NoPermissionModalLabel">绯荤粺娑堟伅</h4> + <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> + × + </button> + + </div> + <div class="modal-body"> + + <iframe id="NoPermissioniframe" width="100%" height="50%" frameborder="0"></iframe> + </div> + + </div> + </div> + </div> + + <div class="modal fade" id="serverstatusModal"> + <div class="modal-dialog modal-lg"> + <div class="modal-content" style="width: 800px; height: 400px"> + <div class="modal-header"> + <h4 class="modal-title" id="serverstatusModalLabel">绯荤粺娑堟伅</h4> + <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> + × + </button> + + </div> + <div class="modal-body"> + <iframe id="serverstatusiframe" width="100%" height="100%" frameborder="0"></iframe> + </div> + </div> + </div> + </div> + </div> +</body> + +</html> + +<script> + $('.tabtitle').on("click", function () { + $('.tabtitle').removeClass('active'); + $(this).addClass('active'); + + var tab = $(this).attr('data-item'); + $(".tabcontent").hide(); + $("#tabpanel-" + tab).show(); + try { + resUsagechart.resize() + } catch (ex) {} + try { + auditstatuschart.resize() + } catch (ex) {} + try { + resUsagechart.resize() + } catch (ex) {} + + try { + useractionchart.resize() + } catch (ex) {} + try { + resourceChart.resize() + } catch (ex) {} + }); +</script> diff --git a/src/main/resources/templates/druid.html b/src/main/resources/templates/druid.html new file mode 100644 index 0000000..85f890e --- /dev/null +++ b/src/main/resources/templates/druid.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="UTF-8"> + <title>绠¢亾鍩虹澶ф暟鎹钩鍙版湇鍔�-鏁版嵁搴撶洃鎺�</title> + <script> + location.href = "../druid/index.html"; + </script> +</head> +<body> +</body> +</html> diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html new file mode 100644 index 0000000..85fc5f3 --- /dev/null +++ b/src/main/resources/templates/index.html @@ -0,0 +1,50 @@ +<!DOCTYPE html> +<html lang="en" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"> +<head> + <meta charset="UTF-8"> + <title>绠¢亾鍩虹澶ф暟鎹钩鍙版湇鍔�-棣栭〉</title> + <script src="../js/jquery.min.js"></script> + <script> + window.onload = function () { + var href = $("#aLogin").attr("href") + location.pathname; + $("#aLogin").attr("href", href); + } + + function logout() { + $.get("logout", function (rs) { + alert("code: " + rs.code + ", msg: " + rs.msg + ", result: " + rs.result); + + if (rs.code == 200) { + location.href = location.origin + location.pathname; + } + }); + } + </script> +</head> +<body> + <h1>棣栭〉</h1> + <h2 th:text="${msg}"></h2> + + <div> + <!--<a th:href="@{/toLogin}">鐧诲綍</a>--> + <a id="aLogin" href="toLogin?service=">鐧诲綍</a> + </div> + <br /> + + <div> + <a href="../swagger-ui.html" target="_blank">Swagger-UI</a> + </div> + <br /> + + <div> + <a href="toDruid" target="_blank">toDruid</a> + </div> + <br /> + + <div> + <!--<a th:href="@{/logout}">娉ㄩ攢</a>--> + <a href="javascript:void(0);" onclick="logout(); return false;">鐧诲嚭</a> + </div> + <br /> +</body> +</html> diff --git a/src/main/resources/templates/login.html b/src/main/resources/templates/login.html new file mode 100644 index 0000000..22dbc03 --- /dev/null +++ b/src/main/resources/templates/login.html @@ -0,0 +1,75 @@ +锘�<!DOCTYPE> +<html> +<head> + <title>绠¢亾鍩虹澶ф暟鎹钩鍙版湇鍔�-鐧诲綍</title> + <meta http-equiv="Expires" content="0" /> + <meta http-equiv="Cache" content="no-cache" /> + <meta http-equiv="Pragma" content="no-cache" /> + <meta http-equiv="Cache-control" content="no-cache" /> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" /> + <link href="../favicon.ico" rel="icon" type="image/x-icon" /> + <link href="../css/earth/css.css" rel="stylesheet"> + <link href="../css/earth/style.css" rel="stylesheet"> + <script src="../js/jquery.min.js"></script> + <script src="../js/jquery.cookie.min.js"></script> + <script src="../js/rsa.min.js"></script> + <script src="../js/login.js"></script> + <script> + $(function () { + createCode(); + getPublicKey(); + document.getElementById('password').focus(); + }); + </script> +</head> +<body> + <div class="world"> + <div class="world-bg"></div> + <div class="world-globe"> + <div class="world-globe-pole"></div> + <div class="world-globe-doms-container"></div> + <div class="world-globe-halo"></div> + </div> + </div> + + <div id="main"> + <div class="main_title"> + <span>鐢ㄦ埛鐧诲綍</span> + <span id="eMsg"></span> + </div> + <form class="main_form"> + <div class="main_txt"> + <img src="../images/login/user.png" alt="" /> + <input id="username" type="text" value="admin" maxlength="30" placeholder="璇疯緭鍏ョ敤鎴峰悕" /> + </div> + + <div class="main_txt" style="margin-top: 48px;"> + <img src="../images/login/pwd.png" alt="" /> + <input id="password" type="password" maxlength="30" value="" placeholder="璇疯緭鍏ュ瘑鐮�" /> + </div> + + <div class="main_txt" style="margin-top: 48px;"> + <img src="../images/login/code.png" alt="" /> + <input id="inputCode" type="text" value="" maxlength="4" style="width: 218px;" placeholder="璇疯緭鍏ラ獙璇佺爜" /> + <div id="checkCode" onclick="createCode()"></div> + </div> + + <div class="main_txt" style="margin-top: 48px; padding: 0;"> + <input id="btnLogin" type="button" value="鐧� 褰�" onclick="sysLogin();" /> + </div> + </form> + </div> + + <div class="title"> + <img src="../images/login/lg_03.png" alt=""/> + </div> + + <script src='../js/earth/dat.gui.min.js'></script> + <script src='../js/earth/Stats.js'></script> + <script src='../js/earth/css_globe_PerspectiveTransform.js'></script> + <script src='../js/earth/TweenMax.min.js'></script> + <script src="../js/earth/script.js"></script> +</body> +</html> diff --git a/src/main/resources/templates/login_old.html b/src/main/resources/templates/login_old.html new file mode 100644 index 0000000..4229e48 --- /dev/null +++ b/src/main/resources/templates/login_old.html @@ -0,0 +1,368 @@ +<!DOCTYPE> +<html> +<head> + <title>绠¢亾鍩虹澶ф暟鎹钩鍙版湇鍔�-鐧诲綍</title> + <meta charset="utf-8" /> + <meta http-equiv="pragma" content="no-cache" /> + <meta http-equiv="cache-control" content="no-cache" /> + <meta http-equiv="expires" content="0" /> + <link href="../favicon.ico" rel="icon" type="image/x-icon" /> + <link href="../css/style.css" rel="stylesheet" /> + <script src="../js/jquery.min.js"></script> + <script src="../js/jquery.cookie.min.js"></script> + <script src="../js/zxcvbn.js"></script> + <script src="../js/rsa.min.js"></script> +</head> +<body style="background-color: #0059cf; overflow-y: hidden !important;"> + <form method="post" id="fm1" class="fm-v clearfix" action="/sign/login"> + <div class="loginheader" style='display: none;'> + <span class="loginname">鍗曠偣鐧诲綍</span> + <img class="devline" src="../images/login/loginline.png" /><span class="lognameE">Log in</span> + </div> + <div id="topBg" style="background-color: #1a65c9; height: 30%; display: none;"></div> + <div id='div_middle' class="loginmain"> + <div id='div_loginTitle' class="logintitle" style="display: none;"></div> + <div id="topBgColor" style="background-color: #1a65c9; height: 19%; display: none;"></div> + <div id='div_loginBox' class="logintable"> + <div id="loginBox_Title" style="height: 60px; line-height: 60px;"> + <span style="color: #fff; font-size: 50px; font-family: initial; font-weight: 700;">鐢ㄦ埛鐧诲綍</span> + </div> + <!-- 鐢ㄦ埛鍚� --> + <div class="loginid" style='width: 400px; margin-right: 50px; margin-top: 45px; border-bottom: 1px solid #fff;'> + <label for="username"></label> + <input class="required" id="username" placeholder="璇疯緭鍏ョ敤鎴峰悕" size="20" tabindex="1" + type="text" accesskey="n" autocomplete="off" name="username" value="admin" /> + </div> + <!-- 瀵嗙爜 --> + <section> + <div class="loginpwd" style='width: 400px; margin-right: 20px; margin-top: 30px; border-bottom: 1px solid #fff;'> + <label for="password"></label> + <input class="required" placeholder="璇疯緭鍏ュ瘑鐮�" type="password" id="password" size="20" tabindex="2" + accesskey="p" autocomplete="off" name="password" value="Admin@1234_lf" /><span id="capslock-on" style="display: none;"> + <i class="fa fa-exclamation-circle"></i> + <span>CAPSLOCK key is turned on!</span> + </span> + </div> + </section> + <section class="row check"> + </section> + <!-- 楠岃瘉鐮� --> + <section> + <div class="loginvalifield" style="width: 400px; margin-right: 20px; margin-top: 30px; border-bottom: 1px solid #fff;"> + <div class="loginvalicode"> + <label for="inputCode"></label> + <input id="inputCode" placeholder="璇疯緭鍏ラ獙璇佺爜" name="inputCode" class="required" tabindex="3" accesskey="v" type="text" value="" size="35" autocomplete="off" maxlength="6"> + </div> + <span class="code" id="checkCode" onclick="createCode()"></span> + </div> + </section> + <section> + <div id="eMsg" style="color: red; height: 40px; line-height: 40px; font-size: 15px; margin-bottom: -20px; margin-left: 45px;"></div> + </section> + <!-- 鐧诲綍鎸夐挳 --> + <section> + <input class="loginbtn" style="margin-top: 25px;" name="submit" accesskey="l" value="" tabindex="5" type="button" onclick="sysLogin();"> + </section> + </div> + </div> + <div id='div_foot' style="display: none;"> + <span>鎶�鏈敮鎸侊細鍥藉娴锋磱淇℃伅涓績</span> + </div> + </form> + <script> + var code; + function createCode() { + code = ""; + var codeLength = 4; //楠岃瘉鐮佺殑闀垮害 + var checkCode = document.getElementById("checkCode"); + /* var codeChars = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z', + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'); */ + var codeChars = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9); + for (var i = 0; i < codeLength; i++) { + var charNum = Math.floor(Math.random() * 10); + code += codeChars[charNum]; + } + if (checkCode) { + checkCode.className = "code"; + checkCode.innerHTML = code; + } + } + + var leftoffset = 474; + + // 绂佹鍦╥frame鎵撳紑 + function noIframe() { + if (top.location != self.location) { + window.top.location = self.location.href.split("?")[0]; + } + } + + function autoResize() { + var div_obj = document.getElementById("div_middle"); + //瀹藉害鑷�傚簲 + var fullWidth = document.body.offsetWidth; + var div_loginBox = document.getElementById("div_loginBox"); + var boxWidth = div_loginBox.offsetWidth; + var myWidth = div_obj.offsetWidth; + //if (fullWidth > 1920) { fullWidth = 1920; } + + var winWidht = window.innerWidth; + var winHeight = window.innerHeight - 100; + var bgHeight = 1080; + winWidht += 150; + if (winWidht >= 1920) { + $("#div_middle").css("background", "url(../images/NewGJXJlogin/1920/2bg.jpg) no-repeat").css("background-position", "center bottom").css("height", "800px"); + $("#div_middle").css("height", "980px"); + $(".logintable").css("margin-top", "170px"); + div_loginBox.style.left = ((fullWidth - 410) / 2 + 474) + "px"; + bgHeight = 980; //1080 + } else if (winWidht >= 1600) { + $("#div_middle").css("background", "url(../images/NewGJXJlogin/1600/2bg.jpg) no-repeat").css("background-position", "center bottom").css("height", "800px"); + $("#loginBox_Title span").css("font-size", "40px"); + $(".loginid").css("margin-top", "35px").css("height", "45px").css("width", "350px").css("background", "url(../images/NewGJXJlogin/1600/user.png) no-repeat").css("background-position", "3% 40%"); + $(".loginid input").css("width", "306px").css("margin-left", "45px").css("font-size", "18px"); + $(".loginpwd").css("margin-top", "20px").css("height", "45px").css("width", "350px").css("background", "url(../images/NewGJXJlogin/1600/password.png) no-repeat").css("background-position", "3% 40%"); + $(".loginpwd input").css("width", "306px").css("margin-left", "45px").css("font-size", "18px"); + $(".loginvalicode").css("height", "45px").css("width", "270px").css("background", "url(../images/NewGJXJlogin/1600/code.png) no-repeat").css("background-position", "4.5% 40%"); + $(".loginvalicode input").css("width", "215px").css("margin-left", "49px").css("font-size", "18px"); + $(".loginvalifield").css("margin-top", "20px").css("width", "350px").css("height", "45px"); + $("#inputCode").css("margin-left", "46px"); + $(".logintable").css("margin-top", "113px").css("width", "350px").css("height", "470px"); + //$(".logintable").css("margin-top", "210px").css("width", "350px").css("height", "470px"); + $("#carLink div").css("background", "url(../images/NewGJXJlogin/1600/add.png) no-repeat").css("background-position", "3% 40%"); + $("#carLink a").css("margin-left", "50px").css("font-size", "16px"); + $(".loginbtn").css("margin-top", "25px"); + leftoffset = 404; + bgHeight = 800; //900 + div_loginBox.style.left = ((fullWidth - 360) / 2 + leftoffset) + "px"; + } else if (winWidht >= 1440) { + $("#div_middle").css("background", "url(../images/NewGJXJlogin/1440/2bg.jpg) no-repeat").css("background-position", "center bottom").css("height", "810px"); + $("#loginBox_Title").css("height", "50px").css("line-height", "50px"); + $("#loginBox_Title span").css("font-size", "36px"); + $(".loginid").css("margin-top", "20px").css("height", "45px").css("width", "320px").css("background", "url(../images/NewGJXJlogin/1440/user.png) no-repeat").css("background-position", "3% 40%"); + $(".loginid input").css("width", "276px").css("margin-left", "45px").css("font-size", "16px"); + $(".loginpwd").css("margin-top", "20px").css("height", "45px").css("width", "320px").css("background", "url(../images/NewGJXJlogin/1440/password.png) no-repeat").css("background-position", "3% 40%"); + $(".loginpwd input").css("width", "276px").css("margin-left", "45px").css("font-size", "16px"); + $(".loginvalicode").css("height", "45px").css("width", "240px").css("background", "url(../images/NewGJXJlogin/1440/code.png) no-repeat").css("background-position", "4.5% 40%"); + $(".loginvalicode input").css("width", "185px").css("margin-left", "49px").css("font-size", "16px"); + $(".loginvalifield").css("margin-top", "20px").css("width", "320px").css("height", "45px"); + $(".logintable").css("margin-top", "201px").css("width", "320px").css("height", "420px"); + $("#carLink div").css("background", "url(../images/NewGJXJlogin/1440/add.png) no-repeat").css("background-position", "3.5% 40%").css("margin-top", "25px").css("height", "30px").css("line-height", "30px"); + $("#carLink a").css("margin-left", "50px").css("font-size", "16px"); + $(".loginbtn").css("margin-top", "25px").css("height", "50px"); + leftoffset = 357; + bgHeight = 810; + div_loginBox.style.left = ((fullWidth - 320) / 2 + leftoffset) + "px"; + } else if (winWidht >= 1366) { + $("#div_middle").css("background", "url(../images/NewGJXJlogin/1366/2bg.jpg) no-repeat").css("background-position", "center bottom").css("height", "668px"); + $("#loginBox_Title").css("height", "50px").css("line-height", "50px"); + $("#loginBox_Title span").css("font-size", "32px"); + $(".loginid").css("margin-top", "35px").css("height", "40px").css("width", "300px").css("background", "url(../images/NewGJXJlogin/1366/user.png) no-repeat").css("background-position", "3% 50%"); + $(".loginid input").css("width", "256px").css("margin-left", "45px").css("font-size", "14px"); + $(".loginpwd").css("margin-top", "20px").css("height", "40px").css("width", "300px").css("background", "url(../images/NewGJXJlogin/1366/password.png) no-repeat").css("background-position", "3% 50%"); + $(".loginpwd input").css("width", "256px").css("margin-left", "45px").css("font-size", "14px"); + $(".loginvalicode").css("height", "40px").css("width", "220px").css("background", "url(../images/NewGJXJlogin/1366/code.png) no-repeat").css("background-position", "4.5% 50%"); + $(".loginvalicode input").css("width", "165px").css("margin-left", "46px").css("font-size", "14px"); + $(".loginvalifield").css("margin-top", "20px").css("width", "300px").css("height", "40px"); + $(".logintable").css("margin-top", "83px").css("width", "300px").css("height", "390px"); + //$(".logintable").css("margin-top", "135px").css("width", "300px").css("height", "390px"); + $("#carLink div").css("background", "url(../images/NewGJXJlogin/1366/add.png) no-repeat").css("background-position", "3.5% 50%").css("margin-top", "25px").css("height", "30px").css("line-height", "30px"); + $("#carLink a").css("margin-left", "50px").css("font-size", "14px"); + $(".loginbtn").css("margin-top", "10px").css("height", "56px"); + leftoffset = 338; + bgHeight = 668; //731 + div_loginBox.style.left = ((fullWidth - 300) / 2 + leftoffset) + "px"; + } else { + //fullWidth = 1280; + $("#div_middle").css("background", "url(../images/NewGJXJlogin/1280/2bg.jpg) no-repeat").css("background-position", "center bottom").css("height", "620px"); + $("#loginBox_Title").css("height", "50px").css("line-height", "50px"); + $("#loginBox_Title span").css("font-size", "32px"); + $(".loginid").css("margin-top", "27px").css("height", "40px").css("width", "280px").css("background", "url(../images/NewGJXJlogin/1280/user.png) no-repeat").css("background-position", "3% 50%"); + $(".loginid input").css("width", "236px").css("margin-left", "45px").css("font-size", "14px"); + $(".loginpwd").css("margin-top", "20px").css("height", "40px").css("width", "280px").css("background", "url(../images/NewGJXJlogin/1280/password.png) no-repeat").css("background-position", "3% 50%"); + $(".loginpwd input").css("width", "236px").css("margin-left", "45px").css("font-size", "14px"); + $(".loginvalicode").css("height", "40px").css("width", "200px").css("background", "url(../images/NewGJXJlogin/1280/code.png) no-repeat").css("background-position", "4.5% 50%"); + $(".loginvalicode input").css("width", "145px").css("margin-left", "46px").css("font-size", "14px"); + $(".loginvalifield").css("margin-top", "20px").css("width", "280px").css("height", "40px"); + $(".logintable").css("margin-top", "70px").css("width", "280px").css("height", "380px"); + $("#carLink div").css("background", "url(../images/NewGJXJlogin/1280/add.png) no-repeat").css("background-position", "3.5% 50%").css("margin-top", "25px").css("height", "30px").css("line-height", "30px"); + $("#carLink a").css("margin-left", "50px").css("font-size", "14px"); + $(".loginbtn").css("margin-top", "0px").css("height", "50px"); + leftoffset = 314; + bgHeight = 620; + div_loginBox.style.left = ((fullWidth - 280) / 2 + leftoffset) + "px"; + $("body").css("overflow", "hidden"); + } + div_obj.style.width = fullWidth + "px"; + if (winHeight > bgHeight) { + div_obj.style.height = winHeight + "px"; + var marginTop = parseFloat($(".logintable").css("margin-top").replace("px")) + (winHeight - bgHeight); + $(".logintable").css("margin-top", marginTop + "px"); + } + //楂樺害鑷�傚簲 + var fullHeight = document.body.offsetHeight; + var myHeight = div_obj.offsetHeight; + if (fullHeight > myHeight) { + //div_obj.style.marginTop = ((fullHeight - myHeight) / 2) + "px"; + } + var div_loginTitle = document.getElementById("div_loginTitle"); + var titleWidth = div_loginTitle.offsetWidth; + div_loginTitle.style.left = (fullWidth - titleWidth) / 2 + "px"; + } + + window.onload = function () { + noIframe(); + createCode(); + autoResize(); + getPublicKey(); + $(window).on("resize", autoResize); + //document.getElementById('username').focus(); + document.getElementById('inputCode').focus(); + } + </script> + <script> + function getPublicKey() { + $.get("getPublicKey", function (rs) { + if (rs && rs.code == 200) { + window.encrypt = new JSEncrypt(); + encrypt.setPublicKey(rs.result); + } + }); + } + + function sysValidate() { + // 楠岃瘉鐢ㄦ埛鍚嶄笌瀵嗙爜 + var theUsername = document.getElementById("username").value; + if (theUsername.length <= 0) { + $("#eMsg").html("鎻愮ず锛氳杈撳叆鐢ㄦ埛鍚嶏紒"); + $("#username").focus(); + return false; + } + var thePassword = document.getElementById("password").value; + if (thePassword.length <= 0) { + $("#eMsg").html("鎻愮ず锛氳杈撳叆瀵嗙爜锛�"); + $("#password").focus(); + return false; + } + /*if (!isValid(thePassword)) { + $("#eMsg").html("鎻愮ず锛氬瘑鐮佷负8-20浣嶅寘鍚瓧姣嶃�佹暟瀛楀拰鐗规畩瀛楃锛�"); + $("#password").focus(); + return false; + }*/ + + // 楠岃瘉楠岃瘉鐮� + var inputCode = document.getElementById("inputCode").value; + if (inputCode.length <= 0) { + $("#eMsg").html("鎻愮ず锛氳杈撳叆楠岃瘉鐮侊紒"); + $("#inputCode").focus(); + return false; + } + if (inputCode.toUpperCase() != code.toUpperCase()) { + $("#eMsg").html("鎻愮ず锛氶獙璇佺爜杈撳叆鏈夎锛�"); + $("#inputCode").val("").focus(); + createCode(); + return false; + } + + return true; + } + + window.isBusy = false; + + function sysLogin() { + if (isBusy || !sysValidate()) { + return; + } + + isBusy = true; + var username = $.trim($("#username").val()); + var password = $("#password").val(); + var service = getQueryStr("service"); + + var data = { + "uid": encrypt.encrypt(username), + "pwd": encrypt.encrypt(password) + }; + + $.ajax({ + url: "login", + type: "POST", + data: JSON.stringify(data), + dataType: "json", // html銆乯son銆乯sonp銆乻cript銆乼ext + contentType: "application/json", // "application/json", "application/x-www-form-urlencoded", + success: function (rs) { + isBusy = false; + + if (!rs || rs.code !== 200) { + createCode(); + var msg = rs && rs.msg ? rs.msg : "鐧诲綍澶辫触锛�"; + $("#eMsg").html(msg); + return; + } + + if (rs.msg) alert(rs.msg); + + var service = getQueryStr("service"); + if (service) { + service += (service.indexOf("?") > -1 ? "&" : "?") + "token=" + rs.result.token; + location.href = service; + return; + } + + location.href = location.href.replace("/sign/toLogin", "/sign/toIndex"); + }, + error: function (e) { + isBusy = false; + console.error(e); + alert("鐧诲綍鍑洪敊锛岃鑱旂郴绠$悊鍛橈紒"); + } + }); + } + + function ajax(url, type, data, dataType, contentType, fn, efn) { + $.ajax({ + url: url, + type: type, + data: data, + dataType: dataType || "json", // html銆乯son銆乯sonp銆乻cript銆乼ext + contentType: contentType || "application/json", // "application/x-www-form-urlencoded" + success: function (data) { + fn(data); + }, + error: function (e) { + console.error(e); + fn(); + } + }); + } + + // 鑾峰彇URL鍙傛暟 + function getQueryStr(name) { + var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); + var r = window.location.search.substr(1).match(reg); + if (r != null) { + return decodeURI(r[2]); + } + return null; + } + + document.onkeydown = function (e) { + var ev = window.event || e; + var code = ev.keyCode || ev.which || ev.charCode; + if (code == 13) { + sysLogin(); + } + } + + // 瀵嗙爜鏄惁鍚堣 + function isValid(pwd) { + if (pwd) { + var regex = new RegExp('^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$'); + return regex.test(pwd) + } + return false; + } + </script> +</body> +</html> diff --git a/src/main/resources/templates/monitor.html b/src/main/resources/templates/monitor.html new file mode 100644 index 0000000..c3343a0 --- /dev/null +++ b/src/main/resources/templates/monitor.html @@ -0,0 +1,1062 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>杩愮淮鐩戞帶</title> + + <link rel="stylesheet" href="./css/main/main1.css"> + <link rel="stylesheet" href="./css/main/jquery-ui.min.css"> + <link rel="stylesheet" href="./js/ant-design-vue/antd.css"> + <script src="./js/jquery.js"></script> + <script src="./js/bootstrap/bootstrap.js"></script> + <script src="./js/sockjs.js"></script> + <script src="./js/jquery-ui.min.js"></script> + <script src="./js/echarts.js"></script> + <script src="./js/echarts.js"></script> + <script src="./js/resourceAnalyse.js"></script> + <script src="../lanwebapp/js/paramconfig.js"></script> + <link rel="stylesheet" href="./css/bootstrap/bootstrap.css"> + <link rel="stylesheet" href="./js/ant-design-vue/antd.css"> + <script> + $.ajaxSetup({ + dataType: "json", + cache: false, + headers: { + // TODO + }, + xhrFields: { + withCredentials: false + }, + crossDomain: true + }); + + var errorsystemdata = ""; //寮傚父绯荤粺 + var onlineUser = null; //鍦ㄧ嚎浜哄憳 + var warningserver = ""; //寮傚父鏈嶅姟 + var cpuchart = null; //cpu鍥捐〃 + var memchart = null; //鍐呭瓨鍥捐〃 + var resstatuschart = null; //璧勬簮鐘舵�侀ゼ鐘跺浘 + var auditstatuschart = null; //璧勬簮瀹℃牳缁熻鍥� + var resUsagechart = null; //璧勬簮浣跨敤鎶樼嚎鍥� + var useractionchart = null; //鐢ㄦ埛璋冪敤鎶樼嚎鍥� + var resourceChart = null; //鐢ㄦ埛璋冪敤鎶樼嚎鍥� + + $(document).ready(function () { + auditstatuschart = echarts.init(document.getElementById("auditstatus")); + resUsagechart = echarts.init(document.getElementById("resinvokechart")); + useractionchart = echarts.init(document.getElementById("useractionchart")); + resourceChart = echarts.init(document.getElementById("resourceChart")); + servicestatus(); + resUsageAction(); + userAction(); + resource(); + //鍦ㄧ嚎浜哄憳鍜屽紓甯歌祫婧� 鏇村鍒楄〃 + $('.personcountmore').on("click", function () { + + window.open("./onlineUser.html?data=" + encodeURI(encodeURI(JSON.stringify( + onlineUser)))); + console.log("鍦ㄧ嚎浜哄憳鍒楄〃"); + }) + $('.errorResNummore').on("click", function () { + window.open("./warningResource.html"); + console.log("寮傚父璧勬簮鍒楄〃"); + }) + $("#useractionbutton").on("click", function () { + + userAction($("#UserName").val()); + }) + $("#resactionbutton").on("click", function () { + resUsageAction($("#zyid").val()); + }) + }); + + + function cpuEchart() { + var myChart = echarts.init(document.getElementById("Sys_cpu_chart")); + myChart.setOption({ + + tooltip: { + trigger: 'axis' + }, + + toolbox: { + show: true, + + }, + calculable: true, + xAxis: [{ + type: 'category', + boundaryGap: false, + splitLine: { + show: false + }, + axisLine: { + show: false + }, + data: ['', '', '', '', '', '', ''] + + }], + yAxis: [{ + type: 'value', + axisLine: { + show: false + }, + show: false + }], + series: [{ + name: '鐢ㄩ噺', + type: 'line', + smooth: true, + itemStyle: { + normal: { + areaStyle: { + type: 'default' + } + } + }, + data: cpulist + }, + + + ] + }) + } + + /** + * 鏈嶅姟鐘舵�� + */ + function servicestatus() { + $.get(LanCatalogBaseApiURL + 'monitor/jitmonitor/getGisResNumByResStatus', function (data) { + var map = data; + var resStatus = []; + map.resStatus.forEach(item => { + var temp = {}; + temp.name = item.resourcestatus == 0 ? "姝e父璧勬簮" : "寮傚父璧勬簮"; + temp.value = item.count; + resStatus.push(temp); + }) + ChartsPie('resstatus', resStatus); + activeStatusChart('auditstatus', map); + }); + } + + /** + * 姝e父璧勬簮 + * @param domid + * @param data + */ + function activeStatusChart(domid, data) { + var myChart = echarts.init(document.getElementById(domid)); + var colors = [' #d3e9af', '#ed9678', "#3DD1F9", "#BBA767", "#982CD5", "#FFD1B0", "#FFAD05", "#531477", + "#0066FF", + "#FFC200", "#E52F70", "#CA6821", "#FF3A3A", "#1EAD06", "#D04311", "#6D6815", "#49A7FF", "#FFF000", + "#1E7532", + "#FFA889", "#E986AA" + ]; + var total = 0; + data.resStatus.forEach(item => { + + total = item.count + total; + }) + + myChart.setOption({ + grid: [{ + width: "800px", + height: "800px" + }], + color: colors, + tooltip: { + trigger: 'item', + formatter: "{a} <br/>{b} : {c} ({d}%)" + }, + legend: { + orient: 'vertical', + x: 'left', + textStyle: { + color: '#73879a' + }, + data: ['娲昏穬璧勬簮', '涓嶆椿璺冭祫婧�'] + }, + + calculable: true, + + series: [{ + name: '璁块棶鏉ユ簮', + type: 'pie', + radius: ['50%', '70%'], + center: ['50%', '70%'], + bottom: '10%', + itemStyle: { + normal: { + label: { + show: false + }, + labelLine: { + show: false + }, + }, + emphasis: { + label: { + show: true, + position: 'center', + textStyle: { + fontSize: '20', + fontWeight: 'bold' + } + } + } + }, + data: [{ + "name": "娲昏穬璧勬簮", + "value": data.activeResourceNum + + }, { + "name": "涓嶆椿璺冭祫婧�", + "value": total - data.activeResourceNum + + }] + }] + }) + } + + + /** + * 鏈嶅姟璧勬簮鐘舵�� + */ + function ChartsPie(domid, data1) { + var myChart = echarts.init(document.getElementById(domid)); + var colors = [' #d3e9af', '#ed9678', "#3DD1F9", "#BBA767", "#982CD5", "#FFD1B0", "#FFAD05", "#531477", + "#0066FF", + "#FFC200", "#E52F70", "#CA6821", "#FF3A3A", "#1EAD06", "#D04311", "#6D6815", "#49A7FF", "#FFF000", + "#1E7532", + "#FFA889", "#E986AA" + ]; + + myChart.setOption({ + color: colors, + tooltip: { + trigger: 'item', + formatter: "{a} <br/>{b} : {c} ({d}%)" + }, + legend: { + orient: 'vertical', + x: 'left', + textStyle: { + color: '#73879a' + }, + data: ['姝e父璧勬簮', '寮傚父璧勬簮'] + }, + + calculable: true, + series: [{ + name: '璁块棶鏉ユ簮', + type: 'pie', + radius: ['50%', '70%'], + center: ['50%', '70%'], + bottom: "10%", + itemStyle: { + normal: { + label: { + show: false + }, + labelLine: { + show: false + } + }, + emphasis: { + label: { + show: true, + position: 'center', + textStyle: { + fontSize: '20', + fontWeight: 'bold' + } + } + } + }, + data: data1 + }] + }) + } + //-----------------------鐢ㄦ埛鎿嶄綔琛屼负--------------------------- + function userAction(username) { + $.get(restServerBaseURL + 'api/monitor/analysisUser?username=' + (username != undefined ? username : ""), + function (data) { + + var map = data; + + + useractionchart.setOption(option = { + title: { + show: false, + text: '鐢ㄦ埛鎿嶄綔琛屼负缁熻鍥�', + left: '3%', + textStyle: { + color: '#73879a', + fontSize: 25 + }, + }, + + tooltip: { + trigger: 'axis' + }, + grid: { + // TODO + }, + xAxis: { + axisLabel: { + rotate: 50, + textStyle: { + color: '#73879a', + fontSize: 10 + }, + axisLine: { + lineStyle: { + color: '#73879a' + } + } + }, + data: map.map(function (item) { + return item.remark; + }) + }, + yAxis: { + type: 'value', + axisLabel: { + textStyle: { + color: '#73879a', + fontSize: 14 + } + } + }, + series: { + name: '鏌ヨ', + type: 'bar', + data: map.map(function (item) { + return item.count; + }), + markLine: { + silent: true, + lineStyle: { + color: '#333' + } + } + } + }); + }); + useractionchart.on("click", function (params) { + console.log("iframe 鐢ㄦ埛琛屼负椤甸潰"); + var frameSrc = "./useraction.html?username=" + $("#UserName").val(); + $("#serverstatusiframe").attr("src", frameSrc); + $('#serverstatusModal').modal({ + show: true, + backdrop: 'static' + }); + }) + } + + function resUsageAction(resid) { + $.get(LanCatalogBaseApiURL + 'monitor/jitmonitor/queryResourceLog?resourceid=' + (resid != undefined ? resid : + ""), function (data) { + var date_res = []; + var data_res = []; + var dataList = data.data; + for (var i = 0; i < dataList.length; i++) { + date_res.push(dataList[i].time) + data_res.push(dataList[i].count) + } + resUsagechart.clear(); + + setTimeout( + resUsagechart.setOption(option = { + + tooltip: { + position: function (pt) { + return [pt[0], '10%']; + }, + trigger: 'axis', + formatter: function (params) { + console.log(params[0].name); + + var data = dataList[params[0].dataIndex]; + var showcontent = data.time + "<br>" + "璧勬簮ID:" + data.userid + + " 璋冪敤娆℃暟: " + + data.count + "<br>"; + + return showcontent; + } + }, + title: { + show: false, + left: '4%', + textStyle: { + color: '#73879a', + fontSize: 25 + }, + text: '璧勬簮璋冪敤鐘舵��', + }, + xAxis: { + type: 'category', + boundaryGap: false, + data: date_res + }, + yAxis: { + type: 'value', + boundaryGap: [0, '100%'] + }, + dataZoom: [{ + type: 'inside', + start: 0, + end: 100 + }, { + start: 0, + end: 100, + handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z', + handleSize: '80%', + handleStyle: { + color: '#fff', + shadowBlur: 3, + shadowColor: 'rgba(0, 0, 0, 0.6)', + shadowOffsetX: 2, + shadowOffsetY: 2 + } + }], + series: [{ + name: '妯℃嫙鏁版嵁', + type: 'line', + smooth: true, + symbol: 'none', + sampling: 'average', + itemStyle: { + normal: { + color: 'rgb(255, 70, 131)' + } + }, + areaStyle: { + normal: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: 'rgb(255, 158, 68)' + }, { + offset: 1, + color: 'rgb(255, 70, 131)' + }]) + } + }, + data: data_res + }] + }) + ,500) + }); + + + resUsagechart.on("click", function (params) { + // debugger + console.log("iframe 鐢ㄦ埛琛屼负椤甸潰"); + var frameSrc = "./ziyuantrace.html?resourceid=" + $("#zyid").val(); + $("#serverstatusiframe").attr("src", frameSrc); + $('#serverstatusModal').modal({ + show: true, + backdrop: 'static' + }); + }) + } + //-----------------------鍦ㄧ嚎浜哄憳------------------------------- + function acptonlineUser(data) { + onlineUser = data.onlineUser; + + $("#personcount").text(`(${data.count})`); + $("#onlineUsertable tbody").empty(); + onlineUser.forEach((element, index) => { + console.log(index); + console.log(element); + + $("#onlineUsertable tbody").append("<tr>" + + "<td>" + element['userid'] + "</td>" + + "<td>" + element['chinesename'] + "</td>" + + "<td>" + element['time'] + "</td>" + + "</tr>"); + }); + + } + + function warningRes() { + $.get(LanCatalogBaseApiURL + 'monitor/jitmonitor/warning', function (response) { + + // var data = JSON.parse(response).data; + var data = response.data; + warningserver = data; + $("#errorResNum").text(`(${data.length})`); + $("#warningResNum").html(data.length); + $("#errorRestable tbody").empty(); + data.forEach((element, index) => { + // console.log(index); + // console.log(element); + + $("#errorRestable tbody").append("<tr>" + + "<td>" + element['resourceid'] + "</td>" + + "<td>" + element['title'] + "</td>" + + "<td>" + element['serverstatus'] + "</td>" + + "<td>" + element['time'] + "</td>" + + "</tr>"); + }); + }); + + } + setInterval(() => { + warningRes(); + }, 1000) + + + function cpupieEchart(data) { + + var cpuinfo = { + "cpu鐢ㄦ埛浣跨敤鐜�": "6.53", + "cpu褰撳墠绛夊緟鐜�": "0", + "cpu褰撳墠浣跨敤鐜�": "14.6", + "cpu绯荤粺浣跨敤鐜�": "7.96" + }; + var objs = []; + Object.keys(cpuinfo).forEach(item => { + var temp = {}; + temp.name = item; + temp.value = cpuinfo[item]; + objs.push(temp); + }) + option = { + tooltip: { + trigger: 'item', + formatter: '{a} <br/>{b}: {c} ({d}%)' + }, + series: [{ + name: 'cpu鐘舵��', + type: 'pie', + radius: ['50%', '70%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center' + }, + emphasis: { + label: { + show: true, + fontSize: '30', + fontWeight: 'bold' + } + }, + labelLine: { + show: false + }, + data: objs + }] + }; + + return option; + } + + + function mempieEchart(data) { + + var obj = { + "鍓╀綑鍐呭瓨 ": "953.36MB", + "浣跨敤": "7GB", + "浣跨敤鐜�": "88.26%", + "鎬诲唴瀛�": "7.93GB" + }; + var objs = []; + Object.keys(obj).forEach(item => { + var temp = {}; + temp.name = item; + temp.value = obj[item]; + objs.push(temp); + }) + option = { + tooltip: { + trigger: 'item', + formatter: '{a} <br/>{b}: {c} ({d}%)' + }, + series: [{ + name: 'cpu鐘舵��', + type: 'pie', + radius: ['50%', '70%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center' + }, + emphasis: { + label: { + show: true, + fontSize: '30', + fontWeight: 'bold' + } + }, + labelLine: { + show: false + }, + data: objs + }] + }; + + return option; + } + var cpulist = []; + //---------------鏈嶅姟鍣ㄧ姸鎬�------------------------------- + function cpuandmem(data) { + var cpu = data.cpuinfo; + var mem = data.meminfo; + $("#usercpusge").html(cpu.cpuUserUsage); + $(".SysText_cpu").html(cpu.cpuUserUsage); + if (cpulist.length > 6) { + cpulist = cpulist.slice(1) + + + } + + cpulist.push(parseFloat(cpu.cpuUserUsage)) + + cpuEchart(); + + + var html = + '<div class="Syslabel">鎬诲唴瀛�</div><div><exclamationCircleOutlined><exclamationCircleOutlined/></div>'; + html += '<div class="SysText">' + mem.totalmem + '</div>'; + html += '<div class="Sys_Info">'; + html += '<div>宸蹭娇鐢� ' + mem.use + '</div>'; + html += '<div class="sys_sy">浣跨敤鐜� ' + ((parseFloat(mem.use) / parseFloat(mem.totalmem)).toFixed(2))*100 + + '%</div>'; + html += '</div>'; + $(".SystemNC").html(html); + } + + + + //----------------------socket閫氳------------------------ + var socket; + + function openSocket() { + if (typeof (WebSocket) == "undefined") { + console.log("鎮ㄧ殑娴忚鍣ㄤ笉鏀寔WebSocket"); + } else { + console.log("鎮ㄧ殑娴忚鍣ㄦ敮鎸乄ebSocket"); + + console.log(socketUrl); + if (socket != null) { + socket.close(); + socket = null; + } + socket = new WebSocket(socketUrl); + //鎵撳紑浜嬩欢 + socket.onopen = function () { + console.log("websocket宸叉墦寮�"); + }; + //鑾峰緱娑堟伅浜嬩欢 + socket.onmessage = function (msg) { + var obj = eval('(' + msg.data + ')'); + if (obj.cpuinfo !== undefined) { + cpuandmem(obj); + } + + if (obj.onlineUser !== undefined) { + acptonlineUser(obj); + } + + if (obj.errorsystem !== undefined) { + errorsystemdata = obj; + $("#errorsystem").text(obj.count); + } + + }; + //鍏抽棴浜嬩欢 + socket.onclose = function () { + console.log("websocket宸插叧闂�"); + }; + //鍙戠敓浜嗛敊璇簨浠� + socket.onerror = function () { + console.log("websocket鍙戠敓浜嗛敊璇�"); + } + } + } + + function sendMessage() { + + } + + function theclose() { + + //鍏抽棴浜嬩欢 + if (socket != null) { + socket.close(); + socket = null; + } + } + + openSocket(); + + function findUserByWord() { + var username = $("#UserName").val(); + $("#UserName").autocomplete({ + source: restServerBaseURL + 'org/user/findUserByWord?keyWord=' + encodeURI(encodeURI( + username)), //璇锋眰鐨剈rl + minLength: 1, + }); + } + </script> +</head> +<style> + html, + body { + background-color: rgb(240, 242, 245) !important; + } + + a { + /*color:black;*/ + color: black !important; + font-size: 14px !important; + } + + .table thead th { + vertical-align: bottom; + border-bottom: 1px solid #dee2e6; + border-top: 0px; + } + + .form-control { + display: block; + width: 100%; + height: 2rem !important; + padding: 0 !important; + font-size: 14px !important; + font-weight: 400; + line-height: 1.0 !important; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #6c757d !important; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + } + + .btn-primary { + /* color: #fff; + background-color: #007bff; + border-color: #007bff; + height: 2rem !important; + line-height: 2rem !important; + font-size: 14px !important; */ + } + + .btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; + padding: 0.265rem 0.55rem; + } + + .table-striped tbody tr:nth-of-type(odd) { + background-color: transparent !important; + } + + .table { + /* font-size: 14px !important; */ + } + + .SystemNC { + width: 70%; + height: 92%; + margin-left: 15%; + } + + .Syslabel { + width: 20%; + height: 22%; + font-family: sans-serif; + font-size: 13px; + color: gray; + text-align: left; + margin-left: 20px; + } + + .SysText { + width: 65%; + height: 48%; + font-family: sans-serif; + font-size: 27px; + color: #1b1e21; + text-align: center; + letter-spacing: 2px; + } + + .Sys_Info { + display: flex; + width: 90%; + height: 23%; + margin-left: 6%; + font-family: sans-serif; + font-size: 13px; + } + + .sys_sy { + margin-left: 25px; + } + + .System_cpu { + width: 70%; + height: 92%; + margin-left: 15%; + } + + .SysText_cpu { + width: 65%; + height: 34%; + font-family: sans-serif; + font-size: 27px; + color: #1b1e21; + text-align: center; + letter-spacing: 2px; + } + + #errorsystem { + width: 100%; + height: 74%; + font-family: sans-serif; + font-size: 31px; + color: #1b1e21; + text-align: center; + letter-spacing: 2px; + margin-top: 15px; + } + + #warningResNum { + width: 100%; + height: 74%; + font-family: sans-serif; + font-size: 31px; + color: #1b1e21; + text-align: center; + letter-spacing: 2px; + margin-top: 15px; + } + + #Sys_cpu_chart { + width: 100%; + height: 100%; + margin-top: -26px; + } +</style> + +<body style="background-color: #fff;"> + <div id="main"> + <div id="box"> + + <div id="left"> + <!-- 鏈嶅姟鍣ㄧ姸鎬�--> + <div id="severstatus"> + <div class="severstatus_left panel panel-default"> + <div class="partbox"> + <div class="SystemNC"> + </div> + <div class="divider"></div> + <div style="color: #6c757d;">绯荤粺鍐呭瓨</div> + </div> + <div class="partbox"> + <div class="System_cpu"> + <div class="Syslabel">CPU鐢ㄩ噺</div> + <div class="SysText_cpu"></div> + <div id="Sys_cpu_chart"></div> + </div> + <div class="divider"></div> + <div style="color: #6c757d;">cpu绯荤粺鐢ㄩ噺</div> + + </div> + <div class="partbox"> + <div class="System_cpu"> + <div class="Syslabel">寮傚父涓暟</div> + <div id="errorsystem"></div> + </div> + <div class="divider"></div> + <div style="color: #6c757d;">寮傚父绯荤粺涓暟</div> + </div> + <div class="partbox"> + <div class="System_cpu"> + <div class="Syslabel">鏈嶅姟鍛婅</div> + <div id="warningResNum"></div> + </div> + <div class="divider"></div> + <div style="color: #6c757d;">鏈嶅姟璧勬簮鍛婅</div> + </div> + </div> + </div> + + <div id="tabpanel"> + + <div class="title"> + + <div class="tabtitle active" data-item='tab2'>鏈嶅姟璧勬簮鐘舵��</div> + <div class="tabtitle " data-item='tab3'>鐢ㄦ埛鎿嶄綔琛屼负</div> + <div class="tabtitle " data-item='tab1'>璧勬簮璋冪敤鐘舵��</div> + <div class="tabtitle " data-item='tab4'>璧勬簮璋冪敤缁熻</div> + + </div> + + <div class="divider" style="width: 98%;"></div> + <div class="tabcontent" id="tabpanel-tab2"> + <div class="chart"> + <div id="resstatus"></div> + <div id="auditstatus"> + </div> + </div> + </div> + <div class="tabcontent" id="tabpanel-tab3" style="display: none;"> + <div style="margin-left: 20px; margin-top: 13px;"> + <input type="text" class="form-control useractionlabeltext" id="UserName" name="UserName" + onkeyup="findUserByWord()" onclick="findUserByWord()" placeholder="杈撳叆鐢ㄦ埛鍚嶃�佷腑鏂囧悕鎴栨嫾闊抽瀛楁瘝鏌ヨ"> + <a> </a> + <button type="button" id="useractionbutton" class="btn btn-primary">鏌ヨ</button> + </div> + <div class="useractionbox "> + <div id="useractionchart" class="panel-heading" + style="background-color: white; border-color: white; width: 1600px !important; height: 350px;"> + </div> + </div> + </div> + + <div class="tabcontent" id="tabpanel-tab4" style="display: none;"> + <div style="margin-left: 20px; margin-top: 13px;"> + <input type="text" class="form-control useractionlabeltext" id="resource" name="UserName" + onkeyup="findUserByWord()" onclick="findUserByWord()" placeholder="璇疯緭鍏ョ敤鎴峰悕绉版煡璇�"> + <a> </a> + <button type="button" id="resourceActionButton" class="btn btn-primary">鏌ヨ</button> + </div> + <div class="useractionbox "> + <div id="resourceChart" class="panel-heading" + style="background-color: white; border-color: white; width: 1600px !important; height: 350px;"> + </div> + </div> + </div> + <div class="tabcontent" id="tabpanel-tab1" style="display: block;"> + <div style="margin-left: 20px; margin-top: 13px;"> + <!-- <label class="control-label useractionlabel">璧勬簮ID</label> --> + <input type="text" class="form-control useractionlabeltext" id="zyid" name="zyid" + placeholder="杈撳叆璧勬簮id"> + <a> </a> + <button type="button" class="btn btn-primary" id="resactionbutton">鏌ヨ</button> + </div> + <div class="resUsagebox"> + <div id="resinvokechart"></div> + </div> + </div> + </div> + + <div style="margin-top: 15px;"> + <div id="onlineUser" class="panel panel-default"> + <div class="title panel-heading"> + <span>鍦ㄧ嚎浜哄憳<a id="personcount"></a> <a class="personcountmore" + style="float: right">鏇村>></a></span> + </div> + <table id="onlineUsertable" class="table table-striped table-hover"> + <thead> + <tr> + <td scope="col">鐢ㄦ埛ID</td> + <td scope="col">鐢ㄦ埛鍚�</td> + <td scope="col">涓婄嚎鏃堕棿</td> + </tr> + </thead> + <tbody> + </tbody> + </table> + </div> + + <div id="warnResource" class="panel panel-default"> + <div class="title panel-heading"> + <span>寮傚父璧勬簮<a id="errorResNum"></a><a class="errorResNummore" + style="float: right">鏇村>></a></span> + </div> + <table id="errorRestable" class="table table-striped table-hover "> + <thead> + <tr> + <td scope="col">璧勬簮ID</td> + <td scope="col">璧勬簮鍚嶇О</td> + <td scope="col">璧勬簮鐘舵��</td> + <td scope="col">寮傚父鏃堕棿</td> + </tr> + </thead> + <div class=" pre-scrollable"> + <tbody class="tbbox"> + </tbody> + </div> + </table> + </div> + </div> + </div> + </div> + + <!-- -----------------------iframe妯℃�佹------------------------------- --> + <div class="modal fade" id="NoPermissionModal"> + <div class="modal-dialog modal-lg"> + <div class="modal-content" style="width: 800px; height: 400px"> + <div class="modal-header"> + <h4 class="modal-title" id="NoPermissionModalLabel">绯荤粺娑堟伅</h4> + <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> + × + </button> + + </div> + <div class="modal-body"> + + <iframe id="NoPermissioniframe" width="100%" height="50%" frameborder="0"></iframe> + </div> + + </div> + </div> + </div> + + <div class="modal fade" id="serverstatusModal"> + <div class="modal-dialog modal-lg"> + <div class="modal-content" style="width: 800px; height: 400px"> + <div class="modal-header"> + <h4 class="modal-title" id="serverstatusModalLabel">绯荤粺娑堟伅</h4> + <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> + × + </button> + + </div> + <div class="modal-body"> + <iframe id="serverstatusiframe" width="100%" height="100%" frameborder="0"></iframe> + </div> + </div> + </div> + </div> + </div> +</body> + +</html> + +<script> + $('.tabtitle').on("click", function () { + $('.tabtitle').removeClass('active'); + $(this).addClass('active'); + + var tab = $(this).attr('data-item'); + $(".tabcontent").hide(); + $("#tabpanel-" + tab).show(); + try { + resUsagechart.resize() + } catch (ex) {} + try { + auditstatuschart.resize() + } catch (ex) {} + try { + resUsagechart.resize() + } catch (ex) {} + + try { + useractionchart.resize() + } catch (ex) {} + try { + resourceChart.resize() + } catch (ex) {} + }); +</script> diff --git a/src/main/resources/wmts/empty.png b/src/main/resources/wmts/empty.png new file mode 100644 index 0000000..1da67ce --- /dev/null +++ b/src/main/resources/wmts/empty.png Binary files differ diff --git a/src/main/resources/wmts/nofound.png b/src/main/resources/wmts/nofound.png new file mode 100644 index 0000000..e49fa68 --- /dev/null +++ b/src/main/resources/wmts/nofound.png Binary files differ diff --git a/src/main/resources/wmts/web.xml b/src/main/resources/wmts/web.xml new file mode 100644 index 0000000..ed1b425 --- /dev/null +++ b/src/main/resources/wmts/web.xml @@ -0,0 +1,294 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Capabilities + xsi:schemaLocation="http://www.opengis.net/wmts/1.0 http://schemas.opengis.net/wmts/1.0.0/wmtsGetCapabilities_response.xsd" + version="1.0.0" xmlns="http://www.opengis.net/wmts/1.0" + xmlns:ows="http://www.opengis.net/ows/1.1" + xmlns:gml="http://www.opengis.net/gml" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink"> + <ows:ServiceIdentification> + <ows:Title>搴曞浘鏈嶅姟</ows:Title> + <ows:Abstract>鍩轰簬OGC 1.0.0</ows:Abstract> + <ows:Keywords> + <ows:Keyword>OGC</ows:Keyword> + </ows:Keywords> + <ows:ServiceType codeSpace="wmts">OGC WMTS</ows:ServiceType> + <ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion> + <ows:Fees>none</ows:Fees> + <ows:AccessConstraints>none</ows:AccessConstraints> + </ows:ServiceIdentification> + <ows:ServiceProvider> + <ows:ProviderName>娉扮憺鏁板垱绉戞妧(鍖椾含)鑲′唤鏈夐檺鍏徃</ows:ProviderName> + <ows:ProviderSite>https://www.smartearth.cn</ows:ProviderSite> + <ows:ServiceContact> + <ows:IndividualName>WuWW</ows:IndividualName> + <ows:PositionName>鍖椾含宸ョ▼涓績</ows:PositionName> + <ows:ContactInfo> + <ows:Phone> + <ows:Voice>010-64845922</ows:Voice> + <ows:Facsimile>010-64845922</ows:Facsimile> + </ows:Phone> + <ows:Address> + <ows:DeliveryPoint>鍖椾含甯傛捣娣�鍖哄ゥ鍖楃鎶�鍥鏅轰腑蹇傿搴�5灞�</ows:DeliveryPoint> + <ows:City>鍖椾含</ows:City> + <ows:AdministrativeArea>鍖椾含</ows:AdministrativeArea> + <ows:Country>涓浗</ows:Country> + <ows:PostalCode>100192</ows:PostalCode> + <ows:ElectronicMailAddress>info@terra-it.cn</ows:ElectronicMailAddress> + </ows:Address> + <ows:OnlineResource xlink:type="simple" xlink:href="https://www.smartearth.cn"/> + </ows:ContactInfo> + </ows:ServiceContact> + </ows:ServiceProvider> + <ows:OperationsMetadata> + <ows:Operation name="GetCapabilities"> + <ows:DCP> + <ows:HTTP> + <ows:Get xlink:href="{url}"> + <ows:Constraint name="GetEncoding"> + <ows:AllowedValues> + <ows:Value>KVP</ows:Value> + </ows:AllowedValues> + </ows:Constraint> + </ows:Get> + </ows:HTTP> + </ows:DCP> + </ows:Operation> + <ows:Operation name="GetTile"> + <ows:DCP> + <ows:HTTP> + <ows:Get xlink:href="{url}"> + <ows:Constraint name="GetEncoding"> + <ows:AllowedValues> + <ows:Value>KVP</ows:Value> + </ows:AllowedValues> + </ows:Constraint> + </ows:Get> + </ows:HTTP> + </ows:DCP> + </ows:Operation> + </ows:OperationsMetadata> + <Contents> + <Layer> + <ows:Title>鏁板瓧绾垮垝鍥�(DLG)</ows:Title> + <ows:Abstract>vec</ows:Abstract> + <ows:Identifier>vec</ows:Identifier> + <ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84"> + <ows:LowerCorner>-180.0 -85.0501809345812</ows:LowerCorner> + <ows:UpperCorner>180.0 85.0511287798065</ows:UpperCorner> + </ows:WGS84BoundingBox> + <Style> + <ows:Identifier>default</ows:Identifier> + </Style> + <Format>image/png</Format> + <TileMatrixSetLink> + <TileMatrixSet>w</TileMatrixSet> + </TileMatrixSetLink> + </Layer> + <Layer> + <ows:Title>鏁板瓧姝e皠褰卞儚鍥�(DOM)</ows:Title> + <ows:Abstract>img</ows:Abstract> + <ows:Identifier>img</ows:Identifier> + <ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84"> + <ows:LowerCorner>-180.0 -85.0501809345812</ows:LowerCorner> + <ows:UpperCorner>180.0 85.0511287798065</ows:UpperCorner> + </ows:WGS84BoundingBox> + <Style> + <ows:Identifier>default</ows:Identifier> + </Style> + <Format>image/png</Format> + <TileMatrixSetLink> + <TileMatrixSet>w</TileMatrixSet> + </TileMatrixSetLink> + </Layer> + <TileMatrixSet> + <!-- -180 85.05112878 --> + <ows:Identifier>w</ows:Identifier> + <ows:BoundingBox crs="urn:ogc:def:crs:EPSG:6.18:3:3857"> + <ows:LowerCorner>-20037508.3428 -20037508.3428</ows:LowerCorner> + <ows:UpperCorner>20037508.3428 20037508.3428</ows:UpperCorner> + </ows:BoundingBox> + <ows:SupportedCRS>urn:ogc:def:crs:EPSG:6.18:3:3857</ows:SupportedCRS> + <WellKnownScaleSet>urn:ogc:def:wkss:OGC:1.0:GoogleMapsCompatible</WellKnownScaleSet> + <TileMatrix> + <ows:Identifier>0</ows:Identifier> + <ScaleDenominator>559082264.029</ScaleDenominator> + <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner> + <TileWidth>256</TileWidth> + <TileHeight>256</TileHeight> + <MatrixWidth>1</MatrixWidth> + <MatrixHeight>1</MatrixHeight> + </TileMatrix> + <TileMatrix> + <ows:Identifier>1</ows:Identifier> + <ScaleDenominator>279541132.015</ScaleDenominator> + <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner> + <TileWidth>256</TileWidth> + <TileHeight>256</TileHeight> + <MatrixWidth>2</MatrixWidth> + <MatrixHeight>1</MatrixHeight> + </TileMatrix> + <TileMatrix> + <ows:Identifier>2</ows:Identifier> + <ScaleDenominator>139770566.007</ScaleDenominator> + <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner> + <TileWidth>256</TileWidth> + <TileHeight>256</TileHeight> + <MatrixWidth>4</MatrixWidth> + <MatrixHeight>2</MatrixHeight> + </TileMatrix> + <TileMatrix> + <ows:Identifier>3</ows:Identifier> + <ScaleDenominator>69885283.0036</ScaleDenominator> + <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner> + <TileWidth>256</TileWidth> + <TileHeight>256</TileHeight> + <MatrixWidth>8</MatrixWidth> + <MatrixHeight>4</MatrixHeight> + </TileMatrix> + <TileMatrix> + <ows:Identifier>4</ows:Identifier> + <ScaleDenominator>34942641.5018</ScaleDenominator> + <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner> + <TileWidth>256</TileWidth> + <TileHeight>256</TileHeight> + <MatrixWidth>16</MatrixWidth> + <MatrixHeight>8</MatrixHeight> + </TileMatrix> + <TileMatrix> + <ows:Identifier>5</ows:Identifier> + <ScaleDenominator>17471320.7509</ScaleDenominator> + <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner> + <TileWidth>256</TileWidth> + <TileHeight>256</TileHeight> + <MatrixWidth>32</MatrixWidth> + <MatrixHeight>16</MatrixHeight> + </TileMatrix> + <TileMatrix> + <ows:Identifier>6</ows:Identifier> + <ScaleDenominator>8735660.37545</ScaleDenominator> + <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner> + <TileWidth>256</TileWidth> + <TileHeight>256</TileHeight> + <MatrixWidth>64</MatrixWidth> + <MatrixHeight>32</MatrixHeight> + </TileMatrix> + <TileMatrix> + <ows:Identifier>7</ows:Identifier> + <ScaleDenominator>4367830.18773</ScaleDenominator> + <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner> + <TileWidth>256</TileWidth> + <TileHeight>256</TileHeight> + <MatrixWidth>128</MatrixWidth> + <MatrixHeight>64</MatrixHeight> + </TileMatrix> + <TileMatrix> + <ows:Identifier>8</ows:Identifier> + <ScaleDenominator>2183915.09386</ScaleDenominator> + <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner> + <TileWidth>256</TileWidth> + <TileHeight>256</TileHeight> + <MatrixWidth>256</MatrixWidth> + <MatrixHeight>128</MatrixHeight> + </TileMatrix> + <TileMatrix> + <ows:Identifier>9</ows:Identifier> + <ScaleDenominator>1091957.54693</ScaleDenominator> + <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner> + <TileWidth>256</TileWidth> + <TileHeight>256</TileHeight> + <MatrixWidth>512</MatrixWidth> + <MatrixHeight>256</MatrixHeight> + </TileMatrix> + <TileMatrix> + <ows:Identifier>10</ows:Identifier> + <ScaleDenominator>545978.773466</ScaleDenominator> + <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner> + <TileWidth>256</TileWidth> + <TileHeight>256</TileHeight> + <MatrixWidth>1024</MatrixWidth> + <MatrixHeight>512</MatrixHeight> + </TileMatrix> + <TileMatrix> + <ows:Identifier>11</ows:Identifier> + <ScaleDenominator>272989.386733</ScaleDenominator> + <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner> + <TileWidth>256</TileWidth> + <TileHeight>256</TileHeight> + <MatrixWidth>2048</MatrixWidth> + <MatrixHeight>1024</MatrixHeight> + </TileMatrix> + <TileMatrix> + <ows:Identifier>12</ows:Identifier> + <ScaleDenominator>136494.693366</ScaleDenominator> + <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner> + <TileWidth>256</TileWidth> + <TileHeight>256</TileHeight> + <MatrixWidth>4096</MatrixWidth> + <MatrixHeight>2048</MatrixHeight> + </TileMatrix> + <TileMatrix> + <ows:Identifier>13</ows:Identifier> + <ScaleDenominator>68247.3466832</ScaleDenominator> + <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner> + <TileWidth>256</TileWidth> + <TileHeight>256</TileHeight> + <MatrixWidth>8192</MatrixWidth> + <MatrixHeight>4096</MatrixHeight> + </TileMatrix> + <TileMatrix> + <ows:Identifier>14</ows:Identifier> + <ScaleDenominator>34123.6733416</ScaleDenominator> + <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner> + <TileWidth>256</TileWidth> + <TileHeight>256</TileHeight> + <MatrixWidth>16384</MatrixWidth> + <MatrixHeight>8192</MatrixHeight> + </TileMatrix> + <TileMatrix> + <ows:Identifier>15</ows:Identifier> + <ScaleDenominator>17061.8366708</ScaleDenominator> + <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner> + <TileWidth>256</TileWidth> + <TileHeight>256</TileHeight> + <MatrixWidth>32768</MatrixWidth> + <MatrixHeight>16384</MatrixHeight> + </TileMatrix> + <TileMatrix> + <ows:Identifier>16</ows:Identifier> + <ScaleDenominator>8530.91833540</ScaleDenominator> + <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner> + <TileWidth>256</TileWidth> + <TileHeight>256</TileHeight> + <MatrixWidth>65536</MatrixWidth> + <MatrixHeight>32768</MatrixHeight> + </TileMatrix> + <TileMatrix> + <ows:Identifier>17</ows:Identifier> + <ScaleDenominator>4265.45916770</ScaleDenominator> + <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner> + <TileWidth>256</TileWidth> + <TileHeight>256</TileHeight> + <MatrixWidth>131072</MatrixWidth> + <MatrixHeight>65536</MatrixHeight> + </TileMatrix> + <TileMatrix> + <ows:Identifier>18</ows:Identifier> + <ScaleDenominator>2132.72958385</ScaleDenominator> + <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner> + <TileWidth>256</TileWidth> + <TileHeight>256</TileHeight> + <MatrixWidth>262144</MatrixWidth> + <MatrixHeight>131072</MatrixHeight> + </TileMatrix> + <TileMatrix> + <ows:Identifier>19</ows:Identifier> + <ScaleDenominator>1066.36479193</ScaleDenominator> + <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner> + <TileWidth>256</TileWidth> + <TileHeight>256</TileHeight> + <MatrixWidth>524288</MatrixWidth> + <MatrixHeight>262144</MatrixHeight> + </TileMatrix> + </TileMatrixSet> + </Contents> +</Capabilities> diff --git "a/src/main/resources/wmts/\350\257\264\346\230\216.txt" "b/src/main/resources/wmts/\350\257\264\346\230\216.txt" new file mode 100644 index 0000000..f985c36 --- /dev/null +++ "b/src/main/resources/wmts/\350\257\264\346\230\216.txt" @@ -0,0 +1,26 @@ +娴嬭瘯鍦板潃锛� +http://127.0.0.1:12316/server/wmts/select/token/WMTSCapabilities.xml +http://192.168.20.106:12316/server/wmts/select/token/WMTSCapabilities.xml + +http://127.0.0.1:12316/server/wmts/select/token/tile?layer=img&tilematrix=1&tilerow=1&tilecol=1 + +http://127.0.0.1:12316/server/wmts/select/metas/token?service=WMTS&version=1.0.0&request=GetCapabilities + +QGIS锛氬畨瑁� HCMGIS 鍜� OSM 鎻掍欢銆� +----------------------------------------------------------------------------------------------- +http://103.85.165.99:8050/LFData/2d/tiles/img/{z}/{x}/{y}.png + +http://192.168.20.205:8088/geoserver/gwc/service/wmts?service=WMTS&version=1.0.0&request=GetCapabilities +http://localhost:8080/geoserver/gwc/service/wmts?layer=cite:beijing&style=&tilematrixset=EPSG:4326&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image/png&TileMatrix=EPSG:4326:7&TileCol=207&TileRow=35 + +鍏綉鍙敤鐨勶細https://www.bilibili.com/read/cv18093537/ +http://gis.sinica.edu.tw/tileserver/wmts +https://www.sdmap.gov.cn/tileservice/SDRasterPubMap?service=WMTS&request=GetCapabilities/1.0.0/WMTSCapabilities.xml +https://maps.ynmap.cn/arcgis/rest/services/TdtYn/tdtYnImg100cm2000/MapServer/WMTS/1.0.0/WMTSCapabilities.xml +https://hunan.tianditu.gov.cn/iserver/services/map-tdtnd/wmts100 +http://service.fjmap.net/img_fj/wmts/1.0.0/WMTSCapabilities.xml >> http://localhost:8001/img_fj/wmts/1.0.0/WMTSCapabilities.xml + +http://192.168.20.205:8088/server/wmts/select/token/WMTSCapabilities.xml +http://192.168.20.205:8088/geoserver/gwc/service/wmts + +http://t0.tianditu.gov.cn/cva_w/wmts?tk= -- Gitblit v1.9.3